Archiv verlassen und diese Seite im Standarddesign anzeigen : servo rn-control
aphex-world
11.04.2008, 22:29
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.
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
aphex-world
11.04.2008, 23:38
abend dirk
,erst mal danke
auch mit:
$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?:
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
aphex-world
12.04.2008, 12:09
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??? [-(
$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
aphex-world
12.04.2008, 17:08
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?
aphex-world
12.04.2008, 20:34
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
aphex-world
13.04.2008, 10:42
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.
Nächster Versuch:
1. Ist dein Netzteil stark genaug? So ein Servo zieht ganz schön Strom und kann zu Spannungseinbrüchen am rn-control führen.
2. Probier 'mal, das flashen des Progs erst OHNE das angeschlossene Servo zu machen. Klappt das dann?
3. Evtl. nimm die 5V für's Servo aus einer anderen Spannungsquelle.
Gruß Dirk
aphex-world
13.04.2008, 12:22
1/3. Auch mit einer externen SPanntungsquelle geht es nicht, hab natürlich auch den gnd mim board verbunden.
2. Ohne angeschlossenen servo bekomm ich auch noch die fehlermeldung und bascom stürzt ab.
so wie ich das sehe liegt es am bootloader, hab leider auch kein isp kabel um es mal damit zu versuchen.vielleicht kann jemand der das board hat mal versuchen ob es mit rs232 bei ihm geht.
ps:
wenn ich die zeile
Config Servos = 1 , Servo1 = Porta.0 , Reload = 10
aus meinem code entferne stürzt bascom nicht ab.
Vielleicht hilft eine etwas neuere Bascom-Demo-Version?
http://www.mcselec.com/index.php?option=com_content&task=view&id=14&Itemid=41
Gruß Dirk
aphex-world
13.04.2008, 17:31
so hab gerade die neue version getestet damit geht es auch nicht, bekomm zwar keine lästigen fehlermeldungen und das programm stürzt nicht mehr ab.
Ich bin hier wirklich am verzweifeln das muss doch klappen!
aphex-world
13.04.2008, 21:03
yeahh;)
hab gerade noch mal google angeschmissen und in nem anderen forum folgenedes programm gefunden
$regfile = "m32def.dat"
$framesize = 42
$swstack = 32
$hwstack = 32
$crystal = 8000000
$baud = 19200
Dim Sw As Byte
Config Pina.2 = Output
Enable Interrupts
Config Servos = 1 , Servo1 = Porta.2 , Reload = 10
Servo(1) = 100
For Sw = 40 To 140
Servo(1) = Sw
Waitms 100
Next Sw
For Sw = 140 To 40 Step -1
Servo(1) = Sw
Waitms 100
Next Sw
End
hiermit geht alles tadellos werd mir die kommandos jetz anpassen,trotzdem vielen vielen dank:) also wenn jemand mal probleme hat oben ist die lösung
... hiermit geht alles tadellos ...
Das ist doch fast identisch mit meinem geposteten Programm!
Bis auf 8 MHz Takt und die Baud-Zeile, und Pina.2 als Anschluß für das Servo...
Was soll da denn plötzlich so anders sein? Hast du 8 oder 16 MHz Quarz? Brauchst du 9600 oder 19200 Baud?
Ich blicke nicht durch. Kanst du erklären, warum das jetzt funktioniert???
Gruß Dirk
aphex-world
13.04.2008, 21:57
versteh ich auch nicht so ganz hab n 160000 quarz und normal 9600baud
hab aus schlusseligkeit, einfach das programm mit falschen anweisungen überspielt und es ging hab gar nix geändert außer den servo an port 2 geklemmt.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.