Forum: Mikrocontroller und Digitale Elektronik Potentiometer mit Microcontroller auswerten, wie?


von Mikro F. (mikro-fan)


Lesenswert?

Hallo,

gibt es eine Möglichkeit, oder sogar fertige Projekte
die es ermöglichen den Widerstand eines Potentiometers auszuwerten?

Das Potentiometer soll als "Sensor" genutzt werden, um einen Winkel zu 
bestimmen.

Oder gibt es dafür bessere / geeignetere Möglichkeiten?

Der Microcontroller sollte auch über eine Schnittstelle (USB; RS232; 
I2C; …) zu einem PC haben.

Danke für jede Hilfe  Link  Empfehlung / Erfahrung usw.

Mikro-Fan.

von Johannes M. (johnny-m)


Lesenswert?


von Stefan (Gast)


Lesenswert?

poti an +5v und gnd, schleifer an den adc-eingang vom avr
dann hast kannst du die spannung als wert von 0...2^genauigkeit ablesen 
u. auf die spannung in 0...5v schließen u. daraus den winkel berechnen

von Mikro F. (mikro-fan)


Lesenswert?

Hallo,

danke für die Tips!

Was muß ich jetzt kaufen um mir eine solche Schaltung zusammenlöten zu 
können?

Muß und wenn ja woher und womit auf den Microkontroller noch eine 
"Firmeware" drauf?
Wenn ja was wird dafür benötigt an Hardware und Software?
Wo bekomme ich eine solche Software her?

Danke.

von Johannes M. (johnny-m)


Lesenswert?

http://www.mikrocontroller.net/articles/AVR
Da steht eigentlich alles was man wissen muss (vorausgesetzt, man möchte 
es mit AVRs machen. Es gibt aber auch andere Plattformen...)

von Matthias (Gast)


Lesenswert?

Oh mein Gott!

Entweder du lässt es bleiben, oder du erklärst mal genau die 
Randbedingungen. Wo kommt der WInkel her, was soll der machen? Also 
warum muss der über einen µC eingelesen werden?

Sonst reicht auch ein Ohmmeter zu...

von Frank (Gast)


Lesenswert?

sowas bekommt man durch selbstschreiben.

bye

Frank

von egal (Gast)


Lesenswert?

Wenn du den Einstieg suchst, empfehle ich dir solche rundumsorgloskits 
wie etwa halvedDisc oder myAVR. Sicher kannst du dr die Infos auch hier 
zusammensuchen, nur ist es halt einfacher mit diesen Einsteigerkits. 
Lass dich nur nicht von so etwas wie bascom (programmiersprache) 
einlullen.

von lötnix (Gast)


Lesenswert?

lass dich nicht von egal einlullen.

von Mikro F. (mikro-fan)


Lesenswert?

Hallo,

Matthias wrote:
> ... oder du erklärst mal genau die
> Randbedingungen. Wo kommt der WInkel her, was soll der machen? Also
> warum muss der über einen µC eingelesen werden?

Ich möchte gern die Stellung des Antennerotors der
- ca. 360 Grad +/- 10 Grad drehung hat ermitteln.
- der Rotor dreht sehr langsam mit ca. eine Umdrehung pro Minute
- eine Genauigkeit von ca. 1 Grad reicht völlig zu

Frank wrote:
> sowas bekommt man durch selbstschreiben.
>
> bye
>
> Frank

Tja, ich habe noch nie mit Microcontrollern bewusst gearbeitet,
ausser dem in der Mikrowelle zum Essen warm machen ;-) .

egal wrote:
> Wenn du den Einstieg suchst, empfehle ich dir solche rundumsorgloskits
> wie etwa halvedDisc oder myAVR. Sicher kannst du dr die Infos auch hier
> zusammensuchen, nur ist es halt einfacher mit diesen Einsteigerkits.
> Lass dich nur nicht von so etwas wie bascom (programmiersprache)
> einlullen.

lötnix wrote:
> lass dich nicht von egal einlullen.

Da ich wie gesagt noch nie einen Microcontroller programmiert habe,
wäre es sicher ratsam eine Kombination aus soft- und Hardware zu haben,
welche einem die typischsten Fehler oder Hürden zeigt oder umschifft.

Ungünstig wäre mit dem Projekt zu scheitern, nur weil für einen der 
schon länger mit Microcontrollern arbeitet tivialles Problem für einen 
Anfänger zum K.O. - Kriterium wird.

Danke.

von bascom-looser (Gast)


Lesenswert?

kauf dir das pollin board 14.95 und das programmierste mit
bascom.

von Xaver (Gast)


Lesenswert?

>Ich möchte gern die Stellung des Antennerotors der
>- ca. 360 Grad +/- 10 Grad drehung hat ermitteln.

Welches Poti möchtest du da verwenden? Mir machen die 360° Sorgen, denn 
die meißten haben doch max. 300° Drehwinkel und zudem beidseitig einen 
Anschlag. Höchstens Mehrgangpotis kämen in Frage.

Könntest du nicht einfach einen Drehimpulsgeber nehmen? Der erzeugt dir 
pro volle Umdrehung eine bestimmte Anzahl an Impulsen (z. B. 64), die du 
nur zählen mußt.

von Michael W. (wiebel42)


Lesenswert?

Mikro Fan wrote:
> Ich möchte gern die Stellung des Antennerotors der
> - ca. 360 Grad +/- 10 Grad drehung hat ermitteln.
Knifflig Potis haben normalerweise keine 360°, 
Mehrwendlinge/Spindelpoties verschenken zuviel Dynamikumfang, ein 
Getriebe ist sehr aufwendig.
Wenn der Rotor durchdrehen können soll, wirst du evtl. auf ein 
inkrementalgeber zurückgreifen müssen (Maus ausschlachten) ist aber um 
Längen aufwendiger als ein stumpfer Poti.

> - der Rotor dreht sehr langsam mit ca. eine Umdrehung pro Minute
Naja solange du nicht schneller als 1000 U/min arbeitest solltest du auf 
keinen Fall Probleme bekommen.

> - eine Genauigkeit von ca. 1 Grad reicht völlig zu
Mit nem Poti kommst du auf eine weit höhere Genauigkeit, mit dem 
Inkrementalgeber musst du halt schauen ob das evtl per Reibrad oder 
Zahnrad abgenommen wird.

> Tja, ich habe noch nie mit Microcontrollern bewusst gearbeitet,
> ausser dem in der Mikrowelle zum Essen warm machen ;-) .
Das wird schon ;)


> egal wrote:
>> Wenn du den Einstieg suchst, empfehle ich dir solche rundumsorgloskits
>> wie etwa halvedDisc oder myAVR. Sicher kannst du dr die Infos auch hier
>> zusammensuchen, nur ist es halt einfacher mit diesen Einsteigerkits.
>> Lass dich nur nicht von so etwas wie bascom (programmiersprache)
>> einlullen.
>
> lötnix wrote:
>> lass dich nicht von egal einlullen.
>
> Da ich wie gesagt noch nie einen Microcontroller programmiert habe,
> wäre es sicher ratsam eine Kombination aus soft- und Hardware zu haben,
> welche einem die typischsten Fehler oder Hürden zeigt oder umschifft.
Alles was du mit Microcontrollern machst ist per se eine Kombination aus 
SW und HW.

> Ungünstig wäre mit dem Projekt zu scheitern, nur weil für einen der
> schon länger mit Microcontrollern arbeitet tivialles Problem für einen
> Anfänger zum K.O. - Kriterium wird.
? Das seh ich nicht, wenn du vernünftige Fragen stellst bekommst du auch 
entsprechende Antworten.
Ein Lötkolben sollte kein Fremdwort für dich sein und Logik wäre auch 
wichtig, aber dann ...
-wiebel

von Mikro F. (mikro-fan)


Lesenswert?

Hallo,

bascom-looser wrote:
> kauf dir das pollin board 14.95 und das programmierste mit
> bascom.

ok, wäre das Pollin-Bord dann auch gleich anschlußfertig für ein Poti 
und meinetwegen noch ein Netzteil oder so?

Oder muß ich den Microcontroller (zum Beispiel ein Atmel 2313 geht der?) 
in dem Bord programmieren und dann eine extra Schaltung entwickeln und 
dann den Chip umstecken?

Wie ist das mit der PC-Anbindung,
gibt es dafür fertige Programmteile?
Ich muß ja dafür sicherlich nicht das Fahrad neu erfinden oder?
Was ist einfacher USB oder RS232 in den Microcontroller rein zu 
bekommen?

Hat das Pollin-Bord ein Art Schutzfunktion durch zum Beispiel Optokopler 
und einen getrennten Stromkreis für die Anschlußseite von exterenen 
Sensoren und Aktoren wie der Poti einer ist?
Oder kann ein anderes Bord das, oder gibt es sowas gar nicht?

In wie weit kann mit das hier helfen "USB-Treiber für AVR Micros"?
http://obdev.at/products/avrusb/index-de.html
Dieses Produkt ist anders: Es handelt sich um Firmware, die auf einem 
Mikrocontroller läuft, nicht um Software für einen PC oder eine 
Workstation. AVR-USB ist eine nur-Firmware Implementation des USB 1.1 
Standards auf Atmels AVR Mikrocontrollern.

Ist es möglich soetwas in einem Gruppen-Projekt zu entwickeln mit 
mehreren Leuten?

Wäre dieses Projekt auch umbaubar für mein Projekt?
http://www.sprut.de/electronic/pic/8bit/18f/programm/usb2550/usb2550.htm
Würde hier das Pollin-Bord auch funktionieren zum Programmieren der 
Firmeware in den Microcontroller?


Xaver wrote:
>>Ich möchte gern die Stellung des Antennerotors der
>>- ca. 360 Grad +/- 10 Grad drehung hat ermitteln.
>
> Welches Poti möchtest du da verwenden? Mir machen die 360° Sorgen, denn
> die meißten haben doch max. 300° Drehwinkel und zudem beidseitig einen
> Anschlag. Höchstens Mehrgangpotis kämen in Frage.
>
> Könntest du nicht einfach einen Drehimpulsgeber nehmen? Der erzeugt dir
> pro volle Umdrehung eine bestimmte Anzahl an Impulsen (z. B. 64), die du
> nur zählen mußt.

Bei Conrad.de hat mir ein netter Verkäufer einen Servo gezeigt den er 
als Segelwinde mit einem Mehrgangpoti umgebaut hat, so konnte er mehrere 
Runden mit dem Servo drehen nachdem er noch die Endanschläge abgesägt 
hatte.
Das könnte doch dann auch ein Poti für mein Projekt sein, oder?

Der Rotor hat bei ca. 360 Grad eine Mechanischen Anschlag, es soll 
keinen mehreren Drehungen durchführbar sein.

Sind Drehimpulsgeber nicht zum messen von indirekten Größen da?
Sprich wenn der Wind die Antenne dreht ist nix mehr mit zählen?

Michael Waiblinger wrote:
> Ein Lötkolben sollte kein Fremdwort für dich sein und Logik wäre auch
> wichtig, aber dann ...
> -wiebel
Ein Lötkolben ist auf keinen Fall ein Fremdwort, ganz im Gegenteil, nur 
halt Microcontoller waren noch nicht in seiner Beabeitung, zumindest 
nicht von mir selbst programmierte oder mit Firmeware bespielte.

Danke.

von Thorsten (Gast)


Lesenswert?

Hallo Mikro Fan,
wenn Deine Anforderung wirklich darauf beschränkt ist, mit bescheidener 
Genauigkeit ein Poti einzulesen und mit einem PC auszuwerten, kannst Du 
den ganzen Mikrocontrollerwahnsinn eigentlich vergessen. Dafür reicht 
nämlich ein normaler Joystick! Du kannst z.B. einen JoyWarrior Chip von 
www.codemercs.com nehmen (die haben auch einen mit externem ADC und 
10bit Auflösung, aber für Deine Anforderungen reichen wohl 8bit aus). 
Wahlweise einen Joystick schlachten. Programmbeispiele zum Auslesen der 
Joystickposition gibts zuhauf im Internet zu finden, d.h. Du musst auch 
PC-seitig noch nicht mal gross was programmieren.
Wenn Du dieses Projekt jedoch zum Einstieg in die wunderbare Welt der 
Mikrocontroller nutzen willst, ignoriere obigen Absatz bitte ;-)
Gruss,
Thorsten

von Michael W. (wiebel42)


Lesenswert?

Mikro Fan wrote:
> ok, wäre das Pollin-Bord dann auch gleich anschlußfertig für ein Poti
> und meinetwegen noch ein Netzteil oder so?
> Oder muß ich den Microcontroller (zum Beispiel ein Atmel 2313 geht der?)
> in dem Bord programmieren und dann eine extra Schaltung entwickeln und
> dann den Chip umstecken?

Du machst Dir immer noch kein Bild davon WIE einfach der Anschluss eines 
Potis ist, das ist keine Schaltung sonder lediglich ein Anschliessen.

> Wie ist das mit der PC-Anbindung,
> gibt es dafür fertige Programmteile?
> Ich muß ja dafür sicherlich nicht das Fahrad neu erfinden oder?
> Was ist einfacher USB oder RS232 in den Microcontroller rein zu
> bekommen?
Ja Jein, UART selbst ist in den meisten AVRs Hardwareseitig bereits 
vorbereitet d.h. du kannst mit sehr einfachem Code schon sehr viel 
erreichen. Hab ich selbst allerdings auch noch nicht allziviel mit 
gemacht.

> Hat das Pollin-Bord ein Art Schutzfunktion durch zum Beispiel Optokopler
> und einen getrennten Stromkreis für die Anschlußseite von exterenen
> Sensoren und Aktoren wie der Poti einer ist?
> Oder kann ein anderes Bord das, oder gibt es sowas gar nicht?
Wen oder was willst du denn vor wem oder was schützen? Dich/den Poti vor 
den ungeheurene 5V des uCs oder den uC vor statischen Entladungen? 
Beides ist völlig überflüssig, mach dir das Leben nicht schwerer als es 
ist. (Wenn du den uC direkt am 230V Netz betreibst gilt das natürlich 
nicht)

> In wie weit kann mit das hier helfen "USB-Treiber für AVR Micros"?
> http://obdev.at/products/avrusb/index-de.html
> Dieses Produkt ist anders: Es handelt sich um Firmware, die auf einem
> Mikrocontroller läuft, nicht um Software für einen PC oder eine
> Workstation. AVR-USB ist eine nur-Firmware Implementation des USB 1.1
> Standards auf Atmels AVR Mikrocontrollern.
Das ist definitiv was für später, bleib erstmal bei Seriell.

> Bei Conrad.de hat mir ein netter Verkäufer einen Servo gezeigt den er
> als Segelwinde mit einem Mehrgangpoti umgebaut hat, so konnte er mehrere
> Runden mit dem Servo drehen nachdem er noch die Endanschläge abgesägt
> hatte.
> Das könnte doch dann auch ein Poti für mein Projekt sein, oder?
Jein, wie ich schon geschrieben hab versaust du dir damit den 
Dynakumfang, soll heissen wenn du von 10 Drehungen nur eine nutzt hast 
du auch nur ein Zehtel deines AD Wandlerbereichs. Also wenn du mit nem 
Poti deine 5V teils hast du erstmal einen Bereich von 0 bis 5V was auch 
gut für dein ADC ist der wird dir dann 0b0000000000 bis 0b1111111111 
(also 10bit bei AVR) ausgeben, wenn du jetzt nut 1/10tel nutzt hast du 
nur noch 0.5V um damit zu arbeiten das wären z.B. 0b000000000 
0b0001011111 (geschäzt) dadurch verlierst du natürlich an Auflösung. 
Dagegen könnte man natürlich die Spannung erhöhen und die 
Referenzspannung verringern (intern meist mit 2.56V) dann könnte man mit 
25V schon wieder ganz gut arbeiten. Was natürliuch bleibt ist die 
Tatsache, dass der Poti auch nur zu einem Zehtel genutzt wird und 
dadurch auch nicht mehr so exakt ist. Ideal wäre an der stelle dann doch 
eine Übersetzung, also einfach ein Zahnrad an den Mast und ein Zahnrad 
mit einem Zehntel an die Potiaxe, dann läuft (abgesehen vom 
Zahnradspiel) alles ideal.


> Der Rotor hat bei ca. 360 Grad eine Mechanischen Anschlag, es soll
> keinen mehreren Drehungen durchführbar sein.
Gut dann würd ich es auch mit nem Poti versuchen.

> Sind Drehimpulsgeber nicht zum messen von indirekten Größen da?
> Sprich wenn der Wind die Antenne dreht ist nix mehr mit zählen?
Ich weiss nicht was du meinst, aber ein drehimpulsgeber gibt pro 
Umdrehung eine bestimmte Anzahl von Impulsen. Also z.B. 360 Pulse/U also 
hast du einen Puls/°, d.h. wann immer sich das Rad um ein ° dreht wird 
ein Impuls ausgegeben, egal wodurch sich das Rad dreht. Das wäre an sich 
sehr gut für dich geeignet.
Ich verstehe nicht was du mit "messen indirekter Grössen" meinst.

> Ein Lötkolben ist auf keinen Fall ein Fremdwort, ganz im Gegenteil, nur
> halt Microcontoller waren noch nicht in seiner Beabeitung, zumindest
> nicht von mir selbst programmierte oder mit Firmeware bespielte.
Dann steht dem Spass ja nix mehr im Weg. ;) -wiebel

von Karoly Kovacs (Gast)


Lesenswert?


von guest (Gast)


Lesenswert?

Funktioniert dies nur mit einem MikroController, der einen ADC-Pin 
besitzt oder geht das auch mit niedrigern typen wie ATtiny 12 oder 
ATTiny 2313??

von Thomas E. (thomase)


Lesenswert?

guest schrieb:
> Funktioniert dies nur mit einem MikroController, der einen ADC-Pin
> besitzt oder geht das auch mit niedrigern typen wie ATtiny 12 oder
> ATTiny 2313??

Analoge Werte kannst du nur mit ADC einmessen. Wenn der Controller 
keinen ADC-Eingang hat, muss man einen externen AD-Wandler nehmen. Macht 
allerdings bei den AVRs meist wenig Sinn, da die meisten einen ADC 
integriert haben. Es sei denn die Auflösung und/oder die Geschwindigkeit 
sind zu gering.

mfg.

von spess53 (Gast)


Lesenswert?


von Frank K. (fchk)


Lesenswert?

Mikro Fan schrieb:
> Hallo,
>
> danke für die Tips!
>
> Was muß ich jetzt kaufen um mir eine solche Schaltung zusammenlöten zu
> können?
>
> Muß und wenn ja woher und womit auf den Microkontroller noch eine
> "Firmeware" drauf?
> Wenn ja was wird dafür benötigt an Hardware und Software?
> Wo bekomme ich eine solche Software her?

Ich denke, Du solltest Dir erstmal ein Grundlagenbuch kaufen und dieses 
verarbeiten. Foren sind eher dafür geeignet, konkrete Fragen beantwortet 
zu bekommen. Um sinnvoll Fragen zu stellen und die Antworten auch zu 
verstehen, brauchst Du schon etwas an Wissen.

Wie gesagt, der Trend geht zum Zweitbuch. Schau Dich einfach mal in 
einem Buchladen um.

fchk

von JojoS (Gast)


Lesenswert?

Ist es nicht sinnvoller für so ein Projekt gleich eine komplette 
DigiseqC Steuerung zu nehmen? Oder ist das für eine kleinere portable 
(Wohnwagenschüssel) gedacht? Sonst kommt für so eine Anwendung doch noch 
die Wind- und Wetterfestigkeit dazu wenn es einigermassen robust sein 
soll. Ansonsten ist die Poti-Lösung nicht schwierig, für ein 
Standardpoti mit 270° muss halt eine Untersetzung dran, evtl. mit 
Zahnriemen (Conrad).

von Tip (Gast)


Lesenswert?

Thomas Eckmann schrieb:
> guest schrieb:
>> Funktioniert dies nur mit einem MikroController, der einen ADC-Pin
>> besitzt oder geht das auch mit niedrigern typen wie ATtiny 12 oder
>> ATTiny 2313??
>
> Analoge Werte kannst du nur mit ADC einmessen. Wenn der Controller
> keinen ADC-Eingang hat, muss man einen externen AD-Wandler nehmen. Macht
> allerdings bei den AVRs meist wenig Sinn, da die meisten einen ADC
> integriert haben. Es sei denn die Auflösung und/oder die Geschwindigkeit
> sind zu gering.

Widerstände kannst du auch mit einem uC ohne ADC-Eingang messen. Lade 
einen Kondensator über deinen unbekannten Widerstand auf und entlade ihn 
über einen bekannten Widerstand. Aus dem Verhältnis von Lade- und 
Entladezeit kannst du den unbekannten Widerstand ausrechnen.

von Walter S. (avatar)


Lesenswert?

Mikro Fan schrieb:
> Ist es möglich soetwas in einem Gruppen-Projekt zu entwickeln mit
> mehreren Leuten?

eine Kommission kann man immer gründen ...

im Ernst:
kauf dir z.B. das Pollinboard, da setzt du nicht viel in den Sand, wenn 
Du es damit schaffst die LED blinken zu lassen kannst du auch ein 
Potentiometer einlesen.
Also fang Mal damit an und dann stell Fragen ...

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.