Forum: Mikrocontroller und Digitale Elektronik Drehpoti an usb/seriell


von Johannes H. (suntrust)


Lesenswert?

hallo,

ich möchte die werte eines drehpotis oder drehreglers in visual basic 
auslesen.

d.h. einen wert zwischen 0 und 10 mit einem externen regler in visual 
basic steuern.

gibt es eine einfache lösung evt. ohne externen avr oder ein kompaktes 
(kleines) board um so etwas zu realisieren.

das board muss wirklich nur 5 dieser regler steuern können.

wenn jemand einen tip hat???

die bauweise sollte wirklich klein und kompakt sein, da es ein kleines 
interface werden soll... am besten über den usb-port angeschlossen, 
damit es am laptop funktioniert...

johannes

von Michael F. (startrekmichi)


Lesenswert?

Wenn ich das richtig verstehe, dürfte es am einfachsten sein einen 
billigen usb-Joystick zu schlachten bzw einen selber zu bauen (Stichwort 
mjoy).

USB ist digital, das kann mit einem analogen Signal (wie es vom Poti 
kommt) erst mal nichts anfangen. Da muss zwingend ein Controller 
dazwischen.

mfg
 michi

von Christian R. (supachris)


Lesenswert?

Der SpinWarrior von Codemercs wäre vielleicht was. Ist für inkrementelle 
Geber, also solche Endlosdrehgeber...

von Michael F. (startrekmichi)


Lesenswert?

Wenn SMD kein Problem ist, wird der mjoy auch sehr kompakt:
http://www.mictronics.de/?page=avr_usb_joystick

@Christian: Stimmt, an Codemercs hatte ich auch gedacht, nur war mir der 
Name net eingefallen.

von Johannes H. (suntrust)


Lesenswert?

gibt es den spinwarrior auf einer fertigen platine mit usb anschluß? auf 
der seite von codemercs sieht es so aus als sei es nur der controller 
mit der option n-drehregler anzuschließen... ?

von vbx (Gast)


Lesenswert?

Hallo Johannes,

wenn es einfache Potis an einer (echten) RS232 sein
können schau dir mal diesen Tread an:

Beitrag "8-kanaliger 10-Bit-AD-Wandler von Conrad (Nr 190226) unter Windows (VB) nutzen"

Da wird ein AD-Wandler direkt mit VB eingelesen.
Es sind genug Kanäle um deine 5 Potis mehr als
ausreichend genau einzulesen.

vbx

von Johannes H. (suntrust)


Lesenswert?

dann ist wäre der USB 10-BIT-DATENERFASSUNGSSYS. BAUSTEIN von conrad 
eine gute lösung...

meine vorstellung:

1. ich schließe das board an den usb an, installiere den treiber

2. ich lege an eine spannung an ground und einer der acht anschlüsse und 
schalte dazwischen meinen drehpoti welcher die spannung regelt?

3. über die dll kann ich die werte in vb auslesen

leider bin ich noch ein einsteiger und nicht ganz vom fach, deshalb 
vielleicht etwas dilettant:

muss ich eine externe stromversorgung dafür aufbauen und diese an den 
ground sowie mit dazwischengschalteten drehpotis an die acht pins 
anschließen? oder hat das board eine eigenspannung die ich zwischen pin 
und ground messe (wäre eleganter :))?

vielen dank auf jeden fall für die bisherige hilfe!

johannes

von Christian R. (supachris)


Lesenswert?

Ja das geht natürlich noch einfacher. Du musst die Potis so schalten, 
dass sie 0 bis 2,047V einstellen. Am besten gleich aus der ohnehin auf 
dem Board vorhandenen Referenz-Spannungsquelle nehmen.
DLL brauchts da nicht mal, die Werte bekommst du über eine virtuelle 
serielle Schnittstelle.

von zwieblum (Gast)


Lesenswert?

geht noch einfacher, ein poti (10k) zwischen dtr und cts, ein 
kondensator mit 1uF zwischen cts und gnd. messen tust du die ladezeit 
des kondensators, also zuerst dtr auf 0, warten, dtr auf hi, messen bis 
cts auf hi geht, dtr wieder auf 0. das ist alles.

von Johannes H. (suntrust)


Lesenswert?

hallo zwieblum,

das klingt wikrlich gut und recht einfach (so hab ich mir das 
vorgestellt).
aber... wie schon gesagt ich bin leider bin ich ein einsteiger und nicht 
ganz vom fach.... ;)

also ich besorg mir den poti(10k) und einen 1uF....

wenn ich richtig liege sind rts und cts doch leitungen von meinem usb??
so nun wieder etwas dilettantisch:
sind das anschlüsse auf meinem board von 1-8? oder wo schließe ich sie 
auf dem board an? besser gesagt: wo finde ich sie auf dem board?
ground = grnd (9)

board: 
http://www2.produktinfo.conrad.com/datenblaetter/175000-199999/191028-an-01-de-USB_10-BIT-DATENERFASSUNGSSYS_BAUSTEIN.pdf

vielen dank
johannes

von zwieblum (Gast)


Lesenswert?

rts/cts/gnd sind rs232, also auf der anderen seite eines ziemlich 
beliebigen usb/rs232-kabels :-)

von Jörg S. (joerg-s)


Lesenswert?


von Johannes H. (suntrust)


Lesenswert?

ein PhidgetEncoder ist von baugröße und funktionalität genau das wonach 
ich gesucht habe... nachteil sind nur die hohen kosten.

brauche vorraussichtlich 5 regler, die parallel werte verändern können. 
da ist die erste frage ob fünf PhidgetEncoder über einen usb hub 
funktionieren? und die kosten von jeweils etwa 25 euro gegenüber dem USB 
10-BIT-DATENERFASSUNGSSYS von conrad sind enorm.

der vorteil ist, das es wirklich smart ist. funktion und aufwand stehen 
dabei in einem guten verhältnis.

ich werde wohl auf das USB 10-BIT-DATENERFASSUNGSSYS zurückgreifen.

von Christian R. (supachris)


Lesenswert?

Da kommst du mit einem SpinWarrior24R6 günstiger. Der kostet 14€ und 
gibts in DIL gehäuse, also notfalls auch für Lochraster schnell zusammen 
gebaut. Da kannst du die 5 Geber anschließen.

von Rainer (Gast)


Lesenswert?

Könnte dies eine Lösung sein?

http://sprut.de/electronic/pic/projekte/usb4all/usb4all.htm

Rainer

von Johannes H. (suntrust)


Lesenswert?

hallo,

also ich bin zu folgendem Ergebnis gekommen:

ich habe mir bei conrad das 10-bit datenerfassungssystem geholt, eine 
batterie mit einem 10kOhm Poti dran gehangen und kann nun die mv 
zwischen 0 und 1570 mit dem drehregler steuern und am pc auslesen. Noch 
weitere 4 anschließen und das Ziel ist erreicht.


Frage:

- Ich habe auf dem Board eine Spannung von 5V und will diese in 4 
gleiche Teile je 1,25V teilen. Soweit ich mich an die Schulzeit 
errinnere muss ich dann 4 gleiche Wiederstände zwischen +5V und Ground 
setzten und kann jeweils dazwischen meine 1,25V abnehmen... Nur wie groß 
müssen die Wiederstände sein? Geht mir nicht um die Ampere....

- Drehimpulsgeber? Dürften eleganter sein und sich in einem UI besser 
machen... nur wie kann ich durch den Impuls den 10kOhm Wiederstand 
steuern?

von Christian R. (supachris)


Lesenswert?

Johannes Kuhnen schrieb:
> - Ich habe auf dem Board eine Spannung von 5V und will diese in 4
> gleiche Teile je 1,25V teilen. Soweit ich mich an die Schulzeit
> errinnere muss ich dann 4 gleiche Wiederstände zwischen +5V und Ground
> setzten und kann jeweils dazwischen meine 1,25V abnehmen... Nur wie groß
> müssen die Wiederstände sein? Geht mir nicht um die Ampere....

Naja, kommt drauf an, was du dann damit machen willst. Die Potis 
anschließen?

> - Drehimpulsgeber? Dürften eleganter sein und sich in einem UI besser
> machen... nur wie kann ich durch den Impuls den 10kOhm Wiederstand
> steuern?

Gar nicht. Dafür hättest du die digitale Lösung (z.B. den SpinWarrior) 
nehmen müssen

von Johannes H. (suntrust)


Lesenswert?

ich will de 5V nehmen um meine insgesamt vier potis zu betreiben. dann 
muss ich mir keine zusätzliche stromquelle suchen.

jetzt ist nur die frage wie ich die 5v am geschicktesten aufteile da die 
eingänge vom board maximal 2,047V vertragen...

von Christian R. (supachris)


Angehängte Dateien:

Lesenswert?

So wird das was. Die Schleifer an die Eingänge.

von zwieblum (Gast)


Lesenswert?

wozu sind die 15k da?

von Paul Baumann (Gast)


Lesenswert?

Die 10k sind der "Anschlag", damit er nicht mehr als 2Volt einstellen 
kann.
>da die eingänge vom board maximal 2,047V vertragen...

MfG Paul

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.