-
servo rn-control
hi,
ihr werdet jetzt denken, der schon wieder*g:D was ich auch voll verstehen kann.
Ich hab einen graupner modellbauservo am Porta.0(orangene kabel) die anderen 2 am gnd und +5V für externe hardware(die 2 pins neben porta).
leider bekomm ich den servo nicht bewegt, ich glaub es liegt auch keine spannung an sonst würd ich ihn ja nich drehen können.
Code:
Config Servos = 1 , Servo1 = Porta.0 , Reload = 10
Config Portb = Output
Enable Interrupts
Servo(1) = 100
waitms 1000
das lad ich aufs board, wobei aber nichts passiert.
muss ich die externe spannungsversorgung irgendwie " freischalten"?
vielen dank im vorraus:P
-
Hallo aphex-world,
wenn du einen Pin von PortA für das Servo nimmst, must du den (oder den ganzen Port) auch als Ausgang definieren:
Config Porta = Output
Gruß Dirk
-
abend dirk
,erst mal danke
auch mit:
Code:
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 9600
Config Servos = 1 , Servo1 = Porta.0 , Reload = 10
Config Porta = Output
Enable Interrupts
Servo(1) = 100
Waitms 1000
dreht sich nichts, inzwichen weiß ich aber das strom am servo ankommt, beim einstecken zuckt er;)
übrigens erkennt bascom die ganze erste code zeile als fehler?:
Code:
Config Servos = 1 , Servo1 = Porta.0 , Reload = 10
ich bekomm den "code" auch gar nich mehr aufs board wenn die reset chip anweisung kommt und ich resete kommt "com1 can not beopend" und bascom stürzt ab
"Bascom AVR 1.11.8.7"
-
Hallo aphex-world,
wenn du den Code nicht geflasht bekommst und Bascom abstürzt, ist das ein anderes Problem.
Die Config Servos Zeile ist ok.
Ich gehe davon aus, dass das nicht dein ganzer Code ist. Wenn du nur Servo(1) = 100 schreibst, bewegt sich ja da auch nichts, sondern das Servo wird nur auf diese Position gestellt. Das ist ja dann kein sinnvoller Test, außerdem fehlt dann noch ein End oder Do-Loop.
Nimm zum Testen das Beispiel aus der Hilfe zu Config Servos.
Gruß Dirk
-
das is doch aus der hilfe.. und warum soll es so nicht gehen? wenn ich den servo drehe und resete muss er doch auf die position "100" fahren?
währ echt super wenn jemand den code berichtigt und vollendet so das sich was tuht.. denn jedes andere Programm bekomm ich rüber..
vielen dank im vorraus:)
-
Hallo
gibt es irgend einen Grund, warum du nicht erst einmal das Beispiel aus der Hilfe nimmst??? [-(
Code:
$regfile = "m32def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
Config Servos = 1 , Servo1 = Porta.0 , Reload = 10
Config Porta = Output
Enable Interrupts
Dim I As Byte
Do
For I = 0 To 100
Servo(1) = I
Waitms 200
Next
For I = 100 To 0 Step -1
Servo(1) = I
Waitms 200
Next
End
Wenn es damit auch noch Übertragungsprobleme geben sollte, dann müßtest du 'mal in die Doku zu deinem Board gucken. Ist evtl. Porta noch für andere Zwecke genutzt? Z.B. für die RS232-Kommunikation? Dann müßtest du dir einen anderen Pin für das Servo suchen oder zumindest nicht den ganzen Porta zum Ausgang machen.
Gruß Dirk
-
hey dirk,
es klappt an keinem der8 ports ich versteh das einfach nicht... jedesa andere programm bekomm ich aufs board nur das obige nicht..
hat sonst jemand ähnliche programme mit seinem rn-control1.4?
-
mir ist gerade noch ein einfall gekommen, kann es daran liegen das ich mit rs232 das programm rüber lade?
-
Probier 'mal, die Zeile ...:
Config Porta = Output
... zu ersetzen durch ...:
Config Pina.0 = Output
Gruß Dirk
-
morgen dirk,
hab die zeile ersetzt und bekomm immer noch COM1 can not be opened und dann später division by zero.... ...
ist zum verzweifeln.