sorry war das falsche prog... hatte garnicht richtig geguckt... also das ist jetzt genau das programm aus der hilfe... und wenn ich kompilieren will siehts so aus wie oben... hab das bild ausgetauscht...
Hmmm....
...was heißt´n das??Code:10 = 200 Us on
Und warum gibst Du Dir so viel Mühe mit dem Code ab
"Dim I as Byte"
...
...
- da kommt das Programm sowieso niemals hin, weil davor ´ne Do - Loop-Schleife ist...
Außerdem fehlt irgendwo das "enable interrupts".
sorry war das falsche prog... hatte garnicht richtig geguckt... also das ist jetzt genau das programm aus der hilfe... und wenn ich kompilieren will siehts so aus wie oben... hab das bild ausgetauscht...
Eigenartig: Ich hab´s mal genau so abgetippt - und bei mir wird´s anstandslos kompiliert. Ich habe die Version 1.11.8.8. (nicht mehr gaaaanz neu...).
kannst du mal gucken, ob im programmordner lib irgend ne datei mit servo drin steht?
...hab´ ich gemacht - nichts dergleichen. Auch nichts, wass nur annähernd nach Servo klingt
BTW: Wenn Du nur 2 Servos ansteuern möchtest - hast Du schon mal über Hardware-PWM nachgedacht? Das ist ultragenau (habe ich schon in Modellflugzeugen angewendet), und es läuft vor allem immer im Hintergrund, ohne den Controller von was anderem abzuhalten...
wie läuft das denn? ich brauche sogar nur 1 servo.. und da nur 2 positionen... und das auch nicht sonderlich genau
bin halt noch nicht besonders gut im programmieren und brauche daher immer programm schnipsel die ich mir zusammen setzten und dann nach belieben anpassen kann.
Guckst Du hier:
https://www.roboternetz.de/wissen/in...Bascom_und_PWM
Besser kann man´s nicht erklärt bekommen - damit hab´s sogar ich verstanden
Zu den Impulsen von (Standard)-Servos muss man eigentlich nur wissen, dass deren Frequenz etwa 30 - 50 Hz betragen sollte (unkritisch), während sich die Impulsdauer etwa zwischen 0,8 und 2,2 ms bewegen sollte. Mit diesem Bereich deckt man den "normalen" Drehbereich eines Servos gut ab.
Hab ich das richtig verstanden:
müsste jenachdem was man für Compare1a einsetzt, das servo nach rechts oder links ausschlagen lassen? das kann man ja ausprobierenCode:$regfile = "m32def.dat" $crystal = 16000000 Config Portb.1 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1024 Do Compare1a = 205 Loop End
Also mir ging es um die config zeile... ob die richtig ist... damit kommt man auf 30,51xx Hz
wofür sind die 30 -50 hz entscheidend? wenn man daneben liegt, zuckt das nervo oder macht garnix?
Die Config-Zeile scheint mir absolut o.k. zu sein.
Etwa 30Hz sind genau richtig. Davon hängt nur ab, wie oft pro Sekunde das Servo seine aktuelle Stell-Information bekommt. Würde das im Extremfall nur ale 10 Sekunden passieren, wäre die sache halt irre träge. 30 mal in der Sekunde ist absolut gbräuchlich.
Wie weit es sich drehen soll, hängt von der Impulslänge ab, wie gesagt zwischen 0,8 und 2,2ms.
Ich würd´s mal mit Compare1a-Werten zwischen 10 und 20 versuchen. Kann´s jetzt leider nicht genauer erklären, da ich erstmal weg muss.
Viel Erfolg!!
dankeschön... ich glaub das mit mit dem 10 und 20 hab ich soweit verstanden... bekommt das servo ein impuls von 0.8ms ist es ganz links... und bei etwas 2,2 ganz rechts... und errechnen kann man den wert in dem man die 10 / die bit länge teilt... mein ich zumindest gestern so verstanden zu haben
Lesezeichen