PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Winkelmesser mit Poti oder mit ... ?



Robo-Fan
18.07.2007, 10:40
Hallo,

laut Forum ist es möglich ein Potentiometer als Winkelmesser einzusetzen.
Gibt es dafür Beispielprojekte?

Gibt es Alternativen dazu?
Gibt es dafür Beispielprojekte?

Das ganze soll wenn Möglich am PC ausgewertet werden können oder
einen Motor überwachen und gegebenenfalls diesen Motor steuern können zur Korrektur.

Danke.

HannoHupmann
18.07.2007, 11:17
Beispiele sind z.b. Servos die haben für ihre Stellung immer ein Poti. Nur bei Potis ist zu beachten, es gibt lineare, exponentielle oder Logarithmische. Für Winkelmessung sind wohl lineare am besten.
Außerdem sind nicht alle Potis für viele Bewegungen gedacht sondern nur für 1000 Stellvorgänge (was schnell erreicht ist bei Winkelsensoren). Also entsprechende Potis suchen.

Weiter ist zu beachten, Potis können nicht kontinuierlich gedreht werden und müssen zurückgestellt werden.

Alternativ kann man Inkrementalgeber verwenden und Resolverschaltungen.

PS: Was erwartest du eigentlich bei so einem Thread für eine Antwort? Dass dir jemand alles schön in häppchen präsentiert und raussucht? Vielleicht bekommst du zukünftig mehr Hilfe, wenn du nicht nur fragen stellst sondern auch sagst wozu du das ganze wissen willst.

Felix G
18.07.2007, 11:37
Naja, ein Beispiel habe ich jetzt nicht dafür, aber prinzipiell ist die Sache ganz simpel...

Du musst das Poti ja nur mit den Enden an 0 und +5V anschließen, dann ist die Spannung am Schleifer proportional zum Drehwinkel.

Natürlich geht das nur, wenn man keine vollen 360° braucht (denn ein normales Poti kann man ja nicht beliebig weit drehen)


Eine Alternative dazu, wäre eine optische Abtastung. Dazu bringt man an der Achse im einfachsten Fall eine Scheibe an, die eine bestimmte Anzahl von Schlitzen (bzw. alternativ dazu schwarze Streifen) hat, und eine Lichtschranke. Wenn sich die Achse dreht, liefert die Lichtschranke natürlich eine Folge von Impulsen. Wenn man die zählt, und weiss, wie viele Streifen/Schlitze auf der Scheibe sind, kann man daraus den relativen Drehwinkel bestimmen. Braucht man absolute Angaben, kann man statt der einfachen Streifen einen Gray-Code auf der Scheibe anbringen, und diesen mit mehreren Lichtschranken abtasten. Dann erhält man den Drehwinkel direkt als gray-codierte Binärzahl.

Eine solche Scheibe kann dann z.B. so aussehen:
http://upload.wikimedia.org/wikipedia/commons/thumb/5/58/BCD-Scheibe.png/180px-BCD-Scheibe.png Quelle: http://de.wikipedia.org/wiki/Gray-Code

Diese Scheibe ist natürlich nicht sehr genau, da sie nur 3 "Bit" hat. Das bedeutet die 360° werden nur in 8 Segmente zu je 45° unterteilt. Um eine höhere Auflösung zu erreichen muss man die Scheibe entsprechend erweitern. (für eine Auflösung von 1° oder besser wären also 9 Bit nötig)


Man kann das natürlich auch kombinieren, und z.B. eine gray-codierte Scheibe noch um einen sehr fein unterteilten Streifen ergänzen, der dann wie in der ersten Variante genutzt wird. (in diesem Fall hat man durch den Gray-Code, allerdings mehrere Referenzpunkte)

jwarta
11.08.2007, 09:52
Eine recht elegante Loesung und vor allem kontaktfreie ist die mit Hallsensoren. Gute Loesungen mit Entwicklungsboard und Software fuer USB gibt's bei Austriamicrosystems -> http://www.austriamicrosystems.com/03products/20_rotary_encoders.htm

Robo-Fan
13.08.2007, 12:00
Hallo,

danke für die Infos.

Gibt es den sonst noch andere Projekte die ein solches Problem schon mal gelösst haben?
Gibt es eine fertige Schaltung zum kaufen oder nachbauen die per RS232 oder sogar per USB die Winkelstellung eines Potis liefert?

Danke.

Hessibaby
13.08.2007, 13:24
Jetzt verrate doch einmal welchen Drehwinkel und mit welcher Genauigkeit Du ermitteln willst ????
Den meisten im Forum ist ein konkretes Projekt mit einer konkreten sauber formulierten Fragestellung.
Je genauer Du beschreibst, desto präziser die Antwort, manchmal gibt es zur Belohnung eine echte Nachbauanleitung.
Gruß

Robo-Fan
13.08.2007, 14:53
Hallo,

Ziel:
es soll eine kleine Richtfunkantenne gedreht werden.

- ca. 360 Grad Drehung + / - 10 Grad
- sehr langsame Drehung, ca. 1 Umdrehung pro Minute
- Genauigkeit von 1 Grad sollte vollkommen genügen

Jetzt gibt es ja 2 Arten von Messungen, oder?
- echtes Messen, sprich es wird wirklich der tatsächliche Wert abgelesen
- Verhältnismessen, es wird ein Nullpunkt angefahren und dann werden Schritte gezählt

Ich möchte gern ein echtes Messverfahren verwenden,
wie es eben bei Craycodescheiben oder Potis der Fall ist.

Diese Scheiben mit den den ringsum Schlitzten und einer Lichtschranke möchte ich weniger verwenden, da diese wider einen Nullpunkt und zählen voraussetzten.

Danke.

HannoHupmann
13.08.2007, 14:58
Bei echtem Messen wie du es willst, wirst du ne relativ genaue Gray-Code Scheibe brauchen, allerdings ist deine Toleranz recht gut gewählt und daher könnte es sogar mit Ausdrucken noch klappen.

Robo-Fan
13.08.2007, 16:03
Hallo,

Bei echtem Messen wie du es willst, wirst du ne relativ genaue Gray-Code Scheibe brauchen, allerdings ist deine Toleranz recht gut gewählt und daher könnte es sogar mit Ausdrucken noch klappen.
die Herstellung der Scheibe ist das eine Problem.

Viel größer ist die Auswertung und Übertragung an den PC und das wenns geht unter Linux.

Danke.

1hdsquad
15.08.2007, 14:57
Okay, bitte noch mehr Infos. Was soll mit dem Winkel vom Poti etc angefangen werden? Motor steuern? Was soll Linus machen? Seinerseits den Motor steuern? Oder nur überwachen oder sowas? Sollen µC eingesetzt werden?

ezfox
15.08.2007, 17:56
Vll. wäre Dir ja mit einem Schrittmotor am besten geholfen.
Läßt sich vom PC aus gut steuern und durch mitzählen der Schrittimpulse
hast Du ne sehr genaue Angabe vom Drehwinkel.

Anleitung dazu: https://www.roboternetz.de/schrittmotoren.html

Robo-Fan
21.08.2007, 17:03
Hallo,

ich habe einen Motor und ein Getriebe.
Jetzt möchte ich an die Abtriebswelle des Getriebes ein Poti anbringen um den Winkel messen zu können.

Der Motor soll später gegen eine Schrittmotor ausgetauscht werden.
Dennoch möchte ich gern das Poti einbauen.

Gruß.

Klingon77
21.08.2007, 18:49
hi,

wenn Du die Auflösung verbessern möchtest, kannst Du auch ein sog.
Mehrgang-Poti verwenden.

Die machen so um die 10 Umdrehungen.

Mit einem entsprechendem Getriebe vornedran kannst Du dann
z.B: 360 Grad Antennendrehung in 9 Potiumdrehungen umwandeln.

Big "C" hat so was.

Gurß, Klingon77

1hdsquad
21.08.2007, 19:20
Du willst auf jeden Fall ein Poti nehmen, trtz Verschleiss, Toleranzen und der Tatsache, dass sie Kraft "verbrauchen", um gedreht zu werden? Sonst könnte man absolute Magnetencoder nehmen, git es zwischen 8 und 12 bit...
MFG

Robo-Fan
21.08.2007, 22:28
Hallo,

hi, wenn Du die Auflösung verbessern möchtest, kannst Du auch ein sog.
Mehrgang-Poti verwenden.
Die machen so um die 10 Umdrehungen.
Mit einem entsprechendem Getriebe vornedran kannst Du dann
z.B: 360 Grad Antennendrehung in 9 Potiumdrehungen umwandeln.
Big "C" hat so was.
Gurß, Klingon77

so ein Mehrgang-Poti habe ich mit beim Big "C" schon angesehen.
Ein passendes Getriebe habe ich beim Big "C" noch nicht gesehen,
hast du dafür noch eine Bestellnummer?


Du willst auf jeden Fall ein Poti nehmen, trtz Verschleiss, Toleranzen und der Tatsache, dass sie Kraft "verbrauchen", um gedreht zu werden? Sonst könnte man absolute Magnetencoder nehmen, git es zwischen 8 und 12 bit...
MFG
gibt es für so etwas fertige Produkte?

Danke.

1hdsquad
21.08.2007, 23:38
Was heisst fertige Produkte? Du hast einen IC und einen Magneten, der darüber gedreht wird. Sowas gibt es auch in einem Gehäuse, aber das kostet dich hunderte Euros...
Hier mal der Link: http://www.austriamicrosystems.com/03products/20_rotary_encoders.htm
Ich werde sie die Tage ordern und einsetzten, zumindest testweise.
MFG

jwarta
22.08.2007, 07:29
Hallo Robo-Fan,
diese Firma setzt beispielsweise diese Technologie ein. Bin mir aber nicht sicher welches elektrisches Interface die nutzen, koennte 0-10Volt sein. Musst mal pruefen.
http://www.megatron.de/Impuls1/Produkt_Neuheiten/produkt_neuheiten.html

Klingon77
22.08.2007, 19:50
hi

ein passendes Getriebe muß man sich aus entsprechendn Zahnrädern oder Riemenscheiben zusammenbauen.

Die Magnetencoder (zwischen 8 und 12 Bit) scheinen mir dann aber doch
die vernünftiger Methode zu sein.

Gruß, Klingon77

1hdsquad
23.08.2007, 18:26
Ich habe schon welche geordert, werde die Tage davon berichten.

Robo-Fan
28.08.2007, 13:21
Hallo,

danke für die vielen Antworten!


Vll. wäre Dir ja mit einem Schrittmotor am besten geholfen. Läßt sich vom PC aus gut steuern und durch mitzählen der Schrittimpulse hast Du ne sehr genaue Angabe vom Drehwinkel. Anleitung dazu: https://www.roboternetz.de/schrittmotoren.html

So folgendes ist jetzt bei meinem Projekt vorgeschritten:

- Linux-PC mit USB-Schnittstelle, eventuell über USB zu RS232 oder andere Konverter auch andere Schnittstellen verfügbar
- Getriebe => eine Selbsthaltendes Schneckengetriebe
- Mechanik => Spritzwassergeschütztes Gehäuse
- Motorwahl => es ist ein Schrittmotor
Durch die starke Übersetzung des Getriebes kann der Schrittmotor auch, so angesteuert werden das er pro Takt / Schritt eine Vollumdrehung macht und nicht nur einen Teil einer Umdrehung.
Würde das eine Ansteuerung des Schrittmotors erleichtern?


Was noch fehlt:
- Schrittmotor – PC– Interface / Schaltung, um den Schrittmotor mit dem Linux PC steuern zu können
- Endanschlag / Sensoren / Taster – PC – Interface / Schaltung (2-mal, einer für rechten + einer für linken Endanschlag)
- Winkelsensor – PC – Interface
- Winkelsensor (Mehrgang-Potentiometer mit Zusatzgetriebe, Drehgeber, Winkelsensor, Gray-Code, Magnetencoder, oder … )
Wobei hier mir das Prinzip des Gray-Codes sehr gut gefällt, oder auch das Hall-Sensor-Prinzip, wenn diese wirklich wesentlich länger halten als ein Mehrgangpotentiometer.

Ist es richtig zu sagen ich suche einen Absolutwertgeber für das Drehwinkelproblem, da ich ja die Schritte des Schrittmotors ab dem Endanschlag zählen kann?



Magnetencoder:

ELV – Positions - Encoder mit magnetischem Drehwinkel-Sensor AS 5020; universell einsetzbare Schaltung zur Erfassung von bis zu 64 Positionen je Umdrehung ELV – Heft 1 / 2002 Seite: 80
Scheinbar gibt es das nicht mehr zu bestellen bei ELV und laut einem anderen Forum ist auch der Bausatz mit Fehlern behaftet gewesen oder das mitgelieferte Auswertprogramm war sehr fehlerhaft. Leider ist der ELV Winkelmesser für meine Zwecke zu ungenau.

Eine recht elegante Lösung und vor allem kontaktfreie ist die mit Hallsensoren. Gute Loesungen mit Entwicklungsboard und Software fuer USB gibt's bei Austriamicrosystems -> http://www.austriamicrosystems.com/03products/20_rotary_encoders.htm

AS5040 DB 125.00 Euro Demoboard for AS5040
AS5043-ASST 9999 8.30 Euro 10-bit programmable 360° magnetic angle encoder with absolute digital and analog outputs
Die 8,30 Euro für den Sensor sind denke ich vertretbar, so ein Entwicklungsbord ist aber schon etwas teuerer mit seinen 125,- Euro. Oder geht das irgendwie etwas Preiswerter?


Bascom und Kompass-Modul CMPS03
https://www.roboternetz.de/wissen/index.php/Bascom_und_Kompass_CMPS03
im Shop:
Elektronischer Kompass CMPS03 (Fertigmodul)[cmps03] 40.95EUR
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=137
Kann ich das Modula auch direkt am PC über den USB Port betreiben, eventuell über einen USB zu I2C Konverter?


GrayCode
GrayCode - Sensor + Schaltung / Mikrocontrollerprogramm / Firmware, wo kaufen oder nachbauen?

... eine optische Abtastung. Dazu bringt man an der Achse im einfachsten Fall eine Scheibe an, die eine bestimmte Anzahl von Schlitzen (bzw. alternativ dazu schwarze Streifen) hat, und eine Lichtschranke. Wenn sich die Achse dreht, liefert die Lichtschranke natürlich eine Folge von Impulsen. Wenn man die zählt, und weiss, wie viele Streifen/Schlitze auf der Scheibe sind, kann man daraus den relativen Drehwinkel bestimmen. Braucht man absolute Angaben, kann man statt der einfachen Streifen einen Gray-Code auf der Scheibe anbringen, und diesen mit mehreren Lichtschranken abtasten. Dann erhält man den Drehwinkel direkt als gray-codierte Binärzahl.
Ich habe im Netz folgendes gefunden:
Windrichtungs- und Windgeschwindigkeitsmessung mit programmierbarer Logik
http://www.ces.ka.bw.schule.de/schule/tg/seminarkurs/2000/wind.html

Wo kann ich so etwas in der Art fertig kaufen?


Digi-Bee +
http://www.pc-control.co.uk/digibee_plus_info.htm
Simply connect the Digi-Bee+ to any free USB port to give immediate access to 16 standard digital inputs and 16 standard digital outputs and 4 Analogue Inputs
Bei dieser Schaltug müsste dann noch der Linux-PC die Umrechung der Gray-Code-Scheibe übernehmen, oder?
Wäre es mit einer annderen Schaltung (Microcontrollerschaltung + Mircorcontroller-firmware) möglich die Dezimale Grtadzahl direkt an den Linux-PC zu senden?

Eine Suche nach CrayCode beim Big "C" brachte kein Ergebniss, eine Suche nach WINKELSENSOR jedoch nur Sensoren über 75,- Euro und dann immer noch ohne Auswertschaltung, bei der Suche nach Drehgeber erst ab 126,- Euro um auf 1 Grad Genau messen zu können.


… diese Firma setzt beispielsweise diese Technologie ein. Bin mir aber nicht sicher welches elektrisches Interface die nutzen, koennte 0-10Volt sein. Musst mal pruefen. http://www.megatron.de/Impuls1/Produkt_Neuheiten/produkt_neuheiten.html

Serie MAB25: Preisgünstiger 360° Absolutwertgeber mit 10 Bit Auflösung und Synchron serieller Microcontroller Schnittstelle
- Grundpreis ab 10 Stück: 22,40*€/St.
- hohe Lebensdauer durch Hochleistungs-Polymergleitlager
Der Preis von 22,40 Euro pro Stück und 360 Grad und 10 Bit Auflösung klingt mit Synchroner serieller Mikrocontroller Schnittstele klingt gut, nur habe ich kein PC – Interface und keine Auswertesoftware gefunden? Müsste die selber konstruiert und geschrieben werden?



Okay, bitte noch mehr Infos.
Was soll mit dem Winkel vom Poti, etc angefangen werden?
Der vom Sensor + wenn nötig Auswerteschaltung Zurückgelieferte
Winkelwert soll zur Kontroll-Anzeige an den Linux-PC übermittelt werden.


Motor steuern?
Eine Motorsteuerung, in der Art einer Nachführung wie bei Servo-Motoren ist vorerst nicht gedacht.


Was soll Linux machen?
Den Winkelwert entgegennehmen und in einer Anzeige darstellen.


Seinerseits den Motor steuern? Oder nur überwachen oder sowas?
Überwachen.
Bei einem Stromausfall der Anlage und Wiederkehr desselben, soll durch diesen Sensor dann der aktuelle Drehstellungswert dem System zur Verfügung stehen. So das dann der Schrittmotor wieder „weiß“ wo er steht, oder man ihm die Schrittzahl mitteilen kann die er von der Nullposition aus zurückgelegt hat, welche er ja durch den Stromausfall vergessen hat, bevor man ihn wieder drehen lässt.
Oder wenn extrem starker Wind die Antenne verdreht haben sollte. Es ist schon ein Schneckengetriebe verbaut, was dies eigentlich verhindern soll (das Verdrehen der Antennen durch den Wind).


Sollen µC eingesetzt werden?
Sicherlich wird es ohne solche schwer werden dies umzusetzen, oder?


… Hier mal der Link: http://www.austriamicrosystems.com/03products/20_rotary_encoders.htm
Ich werde sie die Tage ordern und einsetzten, zumindest testweise. MFG
Kannst du uns darüber mit weiteren Informationen / Preisen / Bildern usw. auf dem Laufenden halten?

Danke.

1hdsquad
28.08.2007, 13:24
Sie sind da :-)

Hessibaby
28.08.2007, 16:01
@Robo-Fan

Mit einem Schneckengetriebe kannst Du nur untersetzen also runter mit der Drehzahl. Du willst aber rauf.
Wenn Du einen Schrittmotor z.B. 400:1 übersetzt hat der kein nutzbares Drehmoment mehr.
Bei einem optimalen Getriebe blieb Dir nur 1/400 des Drehmomentes über.
Gruß

Robo-Fan
28.08.2007, 17:28
Hallo Hessibaby,

ich habe ein Getriebe und ein Schneckengetreibekombination.
Der Schrittmotor muß sich extem viele mal drehen ehe sich der Rotor für die Antenne 1 x gedreht hat.

Sie sind da :-)
Na dann berichte bitte mal :-) .

Gruß Robo-Fan.