schau mal in der Bascom hilfe..
CONFIG RC5 = pin [,TIMER=2]
Kannst den Timer 2 für den RC5kram nehmen Timer0 für die Servos!
Timer 1 bleibt dann für den PWM übrig!
MfG
Ringo
Hallo
Möchte meinen Roboter mit RC5 verwenden. (mit Mega
Dazu bräuchte ich noch eine Servoansteuerung.
Da RC5 von Bascom ja mit Timmer 0 läuft ,müsste ich die Servosache per Hand programmieren .
Timmer 1 wäre vermutlich gut für eine feinere Auflösung von den Servos.
Timmer 2 hat leider nur 8 bit...
Also wird es vermutlich mit zusätzlich 2 PWM ausgängen für den Motor , schlecht werden.
Ausser ich nehme nur Timmer2 für die Servos..?!
(und Timer1 für die 2 PWM)
Gibt es da schon einen fertigen Code, wie man die Servos mit Timer 1 oder 2 anspricht ?
Hat jemand einen Tip zu dieser Problematik ?
l.G. Roberto
schau mal in der Bascom hilfe..
CONFIG RC5 = pin [,TIMER=2]
Kannst den Timer 2 für den RC5kram nehmen Timer0 für die Servos!
Timer 1 bleibt dann für den PWM übrig!
MfG
Ringo
Nobody is Perfect
Visit www.ringo.roboterbastler.de last update: 23.05.2009
Hallo,
ich würde jetzt sagen, das drehen der Servos hat nix mit dem Timer zu tun,
der Timer ist dafür da, das die Zeit eingehalten wird wie oft die Signale zum Servo aktualisiert werden, also hilft ein 16Bit Timer auch nicht viel weiter.
10 µs sind auch bei 16 Bit 10µs
Meiner Meinung hängt das vom Servo selber ab wie fein der dreht, oder Du baust in dein Programm einen Zähler ein, der die Werte Softwaremässig von einem Wert zum neuen Wert zählt, dann dreht der Servo feiner.
Hallo
mmhh..
Soweit ich jetz weis bekommt das Servo ein Signal im Berreich von 1ms bis 2ms
https://www.roboternetz.de/wiki/pmwi...n.Servomotoren
Beim Servo Befehl hätte ich da ca. 120 Schritte zwischen Bereich 1 und 2ms
Mit Timmer0 hätte ich ca. 255 Schritte
Beim Timer1 ...?
Oder ginge das alles auch mit Timer 0 oder 2 ?
Dann musst Du einfach den Reloadwert kleiner machen, und schaun obs was bringt.
Was ist die Reload Zeit jetzt eigentlich?!
Die 20mS bleiben immer gleich ?
Wo anders habe ich gelesen.. :
>der Reload bezieht sich auf die Auflösung des Servoimpulses.
verändern sich dann auch die möglichen max. Werte für das Servos .
Z.B. 30-120 bei Reload 10
Bei Reload 5 dann vielleicht mehr, für den gleichen Weg ?
Muss jetzt direkt mal probieren..
Zitat von Roberto
Bevor du einen riesen Aufwand betreibst solltest du bedenken das die
Servoauflösung noch eine Rolle spielt und die ist abhängig vom Modell bzw.
genauer gesagt ,von der verwendenten Servoelektronik.
Mit einer einfachen Testschaltung und einem Mehrgangpoti bzw.
Spindeltrimmer läst sich ein Servo recht gut in dieser Richtung überprüfen.
Gruß
Ratber
@Roberto
Die 20ms bleiben immer gleich, sonst würde ja der Servo nimmer gehen,
der Reloadwert heisst ja Reloadwert, weil sooft der Wert reloadet wird
und zwar alle X µs (Micro!)
Wenn du aber den PositionsWert trotzdem gleich von 30 auf 120 änderst ist es egal was Du im Programm einstellst, dann hängt das ganz vom Servo ab wie schön der dreht.
Hallo
Habe jetzt getestest
Reload : links : mitte : rechts : Bereich
20: 23 : 55 : 85 : 62
15 : 27 : 68 : 108 : 81
10 : 35 : 86 : 140 : 105
5 : 47: 118: 196 : 149
4 : 50 : 128 : 210 : 160
3 : 55 : 139 : 230 : 175
Also bei Reload 3 hätte ich max. 175 Positionen.
Würde es nix bringen , wenn man die us händisch per Timmer programmiert ?! Damit die us feiner unterteilt werden ?
Oder kann das Servo selber nicht mehr Aufteilungen/Auflösung ?
Lesezeichen