PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Modellbauservo - Auflösung/Geschwindigkeit



Vbxler
20.12.2008, 19:32
Hallo Alle zusammen!

Ich habe gerade meinen ersten Modellbauservo in Betrieb genommen und habe da zwei Fragen.

1)
Die Ansteuerung mit Bascom funktioniert grundsätzlich, aber ich habe für den 180° Drehbereich
ca. 70 Schritte zur Verfügung. (links=30/rechts=100 => 2,5°/Schritt).
Gibt es da eine Möglichkeit eine bessere Auflösung zu erhalten? (< 1° mit anderen Modellbauservos)

2)
Gibt es, ausser einer schrittweisen Erhöhung der Zielposition durch eine Schleife, eine Möglichkeit
die Geschindigkeit bei der Positionierung zu steuern?


So wie mich die Dinger anschauen, sind sie gut für PtP - Positionierung mit ihrer Bauartgeschindigkeit.
Um eine gleichmässige und langsame Fahrt zu erhalten, ist es besser einen Schrittmotor zu verwenden

Danke für Eure Hilfe

Vbxler

Hummel
20.12.2008, 20:40
Hallo,
Digitalsevos haben eine bessere Auflösung, sind erheblich schneller 0,08 sek/60Grad, 12kg/cm Drehmoment, aber auch teuer. Ca. 160 Euro das Stück. Bei einem Schrittmotor brauchst Du ein Getriebe, sonst hast Du zu wenig Drehmoment.
Gruß Hummel

goara
20.12.2008, 22:08
Was ist das denn für ein Servo ? die Auflösung ist schon sehr gering.
2. nein, das musst du mit der Schleife machen.
Was willst du denn damit machen? dann kann man eher abschätzen was geeigent ist.

Vbxler
21.12.2008, 07:35
Hallo,

danke für eure Antworten.

Ich will mit dem Motor eine Tachonadel nachbilden.
Der Ablauf soll möglichst realistisch sein.
Die Rotormasse und die Tachonadel sind die einzigen Belastungen des Antriebs,
daher kann ich auf ein Getriebe verzichten.

Ich habe schon Erfahrung mit Schrittmotoren, angesteuert mit Trinamic Controllern
und mit dieser Kombination bekommt man tolle Ergebnisse bei den Bewegungsabläufen.
Nur muss ich zusätzlich noch einen Referenzschalter verwenden
und den hätte ich mir mit dem Servo gerne erspart.

Noch eine Frage zu den digitalen Servos:
Die scheiden zwar aufgrund des Preises aus, aber

* welche Auflösung kann ich damit erreichen?
* kann ich die aktuelle Position der Servos abfragen?


Danke für Eure Hilfe



Vbxler

Willa
21.12.2008, 12:37
Digitalservos sind nicht prinzipiell besser als Analog servos. Das ist bei günstigeren Servos nur ein Marketingargument. Schließlich kommt es immer noch auf die Qualität des Motors/Getriebes und vor allem auf die Genauigkeit des Potis an. Und die Potis sind in beiden Fällen analog. Nur die Ansteuerung des Motors geschieht unterschiedlich. Dadurch hat ein Digitalservo Vorteile - aber nur wenn der Rest des Servos ebenfalls von hoher Qualität ist!
Jedenfalls ist ein billiges (schlechtes Digiservo) nicht so gut wie ein gutes Analoges.
Maximale Auflösung ist schwer zu sagen... Ich schätze auf 90° schaffst du so 200 Schritte. Das ist aber sehr grob geschätzt und natürlich extrem von der Qualität der Servos abhängig. Jedenfalls wirst du mit dem Servo-Befehl von Bascom nicht weit kommen, da musst du dir selber was mit nem Timer programmieren. Die aktuelle Posotion der Servos kann man mit einigem Aufwand aus den Potis auslesen. Aber wieso brauchst du das? Ist-Position = Soll-Position solange das Servo nicht überlastet ist (abgesehen von kleinen Stellfehlern).

Edit: Hier (http://members.aon.at/flug.fiala/servo.html) gibt es mehr Infos über die Auflösung von Servos

vohopri
21.12.2008, 12:54
Hallo VBX,

wo kommt denn die Beschränkung auf 70 "Schritte" eigentlich, her. Was sind das für Schritte? Deine Beschreibung versteh ich da nicht ganz. Vermutlich ist das eine softwaremässige Beschränkung bei der Erzeugung der Impulse.

Wenn du die Auflösung des Servos testen willst, musst du ihm einmal Impuse mit feinerer Abstufung zur Verfügung stellen.

Vielleicht genügt es dir, die Impulerzeugung so weit zu ändern, dass Anfangseinstellung und Endeinstellung der Impulserzeugung mit den Grenzen des vom Servo nutzbaren Bereichs zusammen fällt. Das macht man allgemein so.

grüsse,
vohopri

Vbxler
21.12.2008, 14:38
Die 70 Schritte habe ich empirisch ermittelt.

Ich steuere den Servo mit Bascom so an:


Config Servos = 1 , Servo1 = Portb.0 , Reload = 20
Enable Interrupts

Const byLinks = 35
Const byMitte = 65
Const byRechts = 100

Do
Servo(1) = byLinks
Waitms 1500

Servo(1) = byMitte
Waitms 1500

Servo(1) = byRechts
Waitms 1500
Loop
Wobei ca. 30 der linke Anschlag (0°) und ca. 100 der rechte Anschlag (180°) bilden.
Ich vermute auch, dass es hier eine starke Einschänkung durch Bascom gibt,
aber selbst wenn die vollen 255 Schritte zur Verfügung hätte, ergibt das eine ruckelige Bewegung.
Wenn ich eine Schrittmotor mit 400 Vollschritten verwende, erhalte ich mit dem TMC222 6400 Schritte/Umdr.
Vor allem kann die Geschwindigkeit besser gesteuert werden.

.

vohopri
21.12.2008, 15:09
Ok . ,
das ist so nachvollziehbar.
Die Begrenzung macht dir die servo() routine. Die löst zu grob auf und sollte ersetzt werden, wenn sie nicht entsprechend konfigurierbar ist. Das bedeutet natürlich etwas Programmieraufwand.

Wenn deine Tachonadel 40 mm lang ist, und du die 180 Grad mit 256 bit auflöst, dann bewegt sich die Nadel in Schritten von einem halben Millimeter. Aus welcher Entfernung wird sie betrachtet, dass das dann so stört? Das ist doch ausreichend gut für das Ablesen eines Analoginstruments.

grüsse
v.

oberallgeier
21.12.2008, 15:09
Die 70 Schritte habe ich empirisch ermittelt ... selbst wenn die vollen 255 Schritte zur Verfügung hätte, ergibt das eine ruckelige Bewegung ...Weißt Du was mir manchmal an Bascom so gefällt? Dass ich es nicht nutze. Ich habe mir in C auf (m)einem tiny2313 einen Servotester mit Timer1 gemacht, der theoretisch feiner als 1/10° auflöst. D.h. für etwas mehr als den maximal möglichen Stellbereich üblicher Servos habe ich über 3000 Ticks (Schritte). Das braucht eigentlich kein Mensch - und kein Servo kann das genau nachfahren - aber laufen tun sie damit. Hier steht etwas mehr. (https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=412101#412101)

Hummel
21.12.2008, 17:40
Hallo,
von der Fa. Hitec gibt es Servos die über einen Bus ausgelesen werden. Aber der Preis ist auch relativ hoch. Digitalservos benutze ich im Hubschrauber. Sie sind so gut wie spielfrei im Getriebe. Haben super Potis.( Vibration vom Verbrennungsmotor ) und einen Brushlesmotor. Gute Analogservos reichen in Deinem Fall aber mit Sicherheit auch.
Schrittmotoren kannst Du im Microschrittbetrieb betreiben. Je nach Motor kommst Du auf 0,1 Grad Auflösung.
Gruß Hummel