PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : exakte Winkelangabe



nux
17.10.2004, 08:57
Hallo,

Ich habe ein Gelenk dass von einem recht Starken Getriebemotor mit aufgesetzter Gewindestange bewegt wird. Das Gelenk soll folgendermaßen Funktionieren.

Linksausschlag,
Nullstellung,
Rechtsausschlag

Jetzt würde mein MicroController gerne immer ganz genau wissen
in Welcher Stellung sich das Gelenk den genau befindet damit er den
Motor exakt Nachstellen kann um Beispielsweise genau eine Position
zu halten.

Zu Verfügung habe ich Analoge Ports, Digitale, I²C. Das Ganze sollte
relativ genau sein.

Das einfachste ist dann Wahrscheinlich einfach einen Linearen Servo
zu nehmen. Doch ist die Auflösung genau genug? Wie schließ ich den an,
Wie ermittle ich seine Größe (Analoger Port Von CCM2).

Wie ihr seht viele Fragen. Ich freue mich auf Antworten,

Grüße, nux.

Felix G
17.10.2004, 10:14
Also ich würd da einfach ein Poti dran bauen...

Schaltungstechnisch das Poti zwischen GND und Betriebsspannung,
dann die Betriebsspannungsseite und den Schleifer an je einen ADC Eingang hängen.
(eventuell noch mit je einem Verstärker dazwischen um den ADC möglichst gut auszunutzen)

So, nochmal schnell ein paar Abkürzungen definieren (ja, ich bin schreibfaul ;))

ADCg = ADCgesamt (also Betriebsspannungsseite)
ADCs = ADCschleifer (sollte klar sein)

In deiner Software ist das Verhältnis ADCg/ADCs dann schon direkt die Positionsangabe in % (naja, nicht ganz... mal 100 sind es dann %).
Du brauchst aber natürlich noch eine Kalibrierung, um möglichst exakte Werte zu erhalten.

Dabei ist wichtig, daß man wo es geht immer nur mit Verhältnissen rechnet, nicht mit absoluten Werten.
(es sollte also nirgends in dem Programm direkt mit den ADC-Werten gerechnet werden)
Bei der Kalibrierung speicherst du dann die beiden Werte (Volausschlag-links/rechts) jeweils als (ADCg/ADCs)*x.
Das x ist einfach nur dein Wert für 100%, denn du willst ja sicherlich einen Integer dafür benutzen. (wegen der Performance)


wenn du deine Kalibrierwerte dann hast, kannst du dir die exakte Position ausrechnen.
(in Abhängigkeit von ADCg, ADCs und halt den zwei Werten)

Man könnte meinen das ADCg sei unnötig, aber dadurch brauchen dich Spannungsschwankungen und andere Störungen erstmal nicht mehr zu interessieren.
Denn wenn sich die Spannung über dem Poti ändert, ändert sich zwar dein Wert für ADCs, aber eben auch der für ADCg.
Und da die berechnete Potition von beiden abhängig ist, verschwindet der Fehler einfach.
(d.h. jede beliebige Störung die beide Werte gleich beeinflusst kann man ignorieren)



Also ich jedenfalls würde das so machen

nux
17.10.2004, 16:45
wow, erstmal vielen Dank für diese Ausführliche Lösung.
Der Vorschlag klingt für mich sehr gut.
Der Poti sollte am Besten linear sein um dumme Rechnungen zu vermeiden.

Jetzt nur noch ein Problem, wie groß soll der Poti sein?
Bzw mit welchen Daten kann ich das Berechnen?

Brauche ich da die Leistung des Potis und UB?

Danke. nux.