Die Alternative einen
Getriebemotor zu einzusetzten und dann auf der Welle das Poti anzubringen und sich so kwasi seinen Eigenen Servo zu Bauen.
Ja,selber was zu bauen macht immer spass aber dann kann man auch gleich eine sinvollere Methode wie angesprochene Getriebemotore nebst Gebern oder Stepper nehmen.
Servos sind zwar bequem aber im Grunde ungeeignet weil man bei Handelsüblichen Modellen nicht in den Regelkreis eingreifen kann.
Könnten den Digiservos (falls ich mir die leisten) kann das Problem mit dem Schiwngen/zittern eliminieren?
Eine konkrete aussage kann ich dir da nicht liefern da ich nicht weiß ob das Zitern bei dir qualitative Gründe hat (Mech. Spiel.Billiger Regelkreis/Poti usw.) oder wie vermutet aus einer überlastung resultiert.
Digitale Servos sind aber in der Regel präziser als die Herkömmmlichen und weisen meist eine feinere Auflösung auf.
@Radbruch
Ja,hatte ich auch erst gedacht und einfach mal mein einfaches Testprogramm mit einem alten Conrad S20 (Stammt noch von ca. 1985) probiert.
Code:
'Einfacher Servosteuerung über 2 Taster.
'
'Minimum,Maximum und Schrittweite sind Servospezifisch und müssen auf das
'jeweilige Modell angeglichen werden.
'Verzögerung ist Geschmackssache sowie der Startwert
'Das Programm ist absichtlich einfach gehalten um die Funktion zu verdeutlichen.
'also keine ausgefeilte Tastenabfrage oder sonstige Optimierung.
'
'Ratber 2005
'===============================================================================
$regfile = "M8def.dat"
$crystal = 8000000
$baud = 19200
Config Servos = 1 , Servo1 = Portb.1 , Reload = 10
Enable Interrupts 'Ist nötig
Config Portb.1 = Output 'Servoausgang
Config Pind.6 = Input 'Taster 1
Config Pind.7 = Input 'Taster 2
Portd.6 = 1 'Pullup aktiviert
Portd.7 = 1 'Pullup aktiviert
Dim Ist As Byte
Dim Minimum As Byte
Dim Maximum As Byte
Dim Schrittweite As Byte
Dim Pause1 As Byte
Dim Pause2 As Byte
Dim Z As Word
Minimum = 35 'Rechter Anschlag
Maximum = 155 'Linker Anschlag
Schrittweite = 1 'Schrittweite beim erhöhen
Pause1 = 10 'Verzögerungszeit in ms damits steuerbar bleibt
Pause2 = 50
Ist = Minimum 'Einfach nur Definierter Startwert
Do
If Pind.6 = 0 Then
Ist = Ist + Schrittweite
If Ist > Maximum Then Ist = Maximum
Waitms Pause1
End If
If Pind.7 = 0 Then
Ist = Ist - Schrittweite
If Ist < Minimum Then Ist = Minimum
Waitms Pause2
End If
Servo(1) = Ist
Loop
End
Der Servo lief ohne Last zitterfrei,mit leichter Last ebenfalls.
Nur wenn ich ihn überlaste dann gibts die bekannte Schwingneigung weil der Servo aufgrund der zu bewegenden Masse nicht mehr schnell genug gegenhalten kann.
@Phyton_Rocks
Ja,guter Hinweis.
Wenn der Controller zu langsam läuft stimmts Timing nicht mehr und der Servo läuft nicht richtig.
Allerdings würde er dann meist gar nicht laufen oder schon ohne Last wild tanzen.
Lesezeichen