PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Waitms-problem



minium :)
10.03.2007, 12:32
Hallo,

wollte ein Programm mit 4 Servos und dem Timer schreiben. Hier erst mal das prog.:


$regfile = "m8def.dat"
$crystal = 16000000
$baud = 9600


Config Servos = 4 , Servo1 = Portd.0 , Servo2 = Portb.0 , Servo3 = Portd.2 , Servo4 = Portd.3 , Reload = 10

Config Pind.0 = Output
Config Pinb.0 = Output
Config Pind.2 = Output
Config Pind.3 = Output

Enable Interrupts

Do

Servo(1) = 100
Servo(2) = 100
Servo(3) = 145
Servo(4) = 100

Waitms 200

Servo(1) = 145
Servo(2) = 100
Servo(3) = 145
Servo(4) = 100

Waitms 500

Servo(1) = 145
Servo(2) = 120
Servo(3) = 145
Servo(4) = 100


Waitms 20000



Loop

Das untere (Waitms 500 Servo(1) = 145,....) funkt nicht, warum nicht ?
Was ist der fehler ?

Viele Grüße und Danke

Dirk
10.03.2007, 12:51
Das untere (Waitms 500 Servo(1) = 145,....) funkt nicht, warum nicht ?

Wenn es den 3. Stellschritt nicht macht, liegt es daran, dass im 2. Schritt auch 145 als Position für Servo1 angegeben ist. (Das gilt auch für andere Servos.)
Gib doch unterschiedliche Positionen vor, wenn du was sehen willst!

minium :)
10.03.2007, 13:04
Hi,

es soll nur der 2.Servo sich verändern, soll ich dann auch nur den 2.Servo hinschreiben ? Und die anderen weglassen ?

Viele Grüße und danke

Dirk
10.03.2007, 13:20
es soll nur der 2.Servo sich verändern

???? :-s

Das 2. Servo ändert seine Position von 100 auf 100 (bewegt sich erstmal nicht) und dann auf 120, bewegt sich also nur 1x in deiner Schleife, obwohl du 3 Stellbefehle gibst. Also: Was funktioniert da nicht? Bewegt sich gar nichts?

Deine 1. Frage bezog sich aber auf Servo1:

Das untere (Waitms 500 Servo(1) = 145,....) funkt nicht

P.S.: Mit reload=10 solltest du keine höheren Werte als 100 nehmen, weil das Servo evtl. schon am Anschlag ist.

Gruß Dirk

minium :)
10.03.2007, 14:06
Hi,

das ober funktioniert alles, nur wenn das 2. Servo sich auf 120 drehen soll funktioniert das nicht also er bleibt auf 100.

Bei der ersten frage schrieb ich",..." das dieser Abschnitt nicht funktioniert. Was muss ich machen das der 2.Servo sich nach 120 dreht ?

Viele Grüße

Dirk
10.03.2007, 14:45
Probier mal niedrigere Werte: Z.B. 50 und 80.

minium :)
10.03.2007, 17:01
Hi,
das funktioniert alles nicht. Ich habe jetz mal eine LED angeschlossen und es probiert mit waitms aber es funktioniert auch nicht mit der LED. Was ist falsch, oder liegt es nicht am programm ? Ich habe die Schaltung vom Snugboard, und da ist ein Quarz mit 16Mhz. also müsste es doch eigentlich funktionieren, oder ?

Viele Grüße und Danke

Jon
10.03.2007, 17:07
Die Wartezeit dürfte zu lang sein. Probiere es mal bei allen waitms mit 200.

jon

minium :)
10.03.2007, 17:11
Hi,

habe es bei der LED mit 100 gemacht und es hat trotzdem nicht funktioniert :(

Woran liegt es ?

Viele grüße und Danke

Jon
10.03.2007, 17:15
Probiere es mal so:

$regfile = "m8def.dat"
$crystal = 16000000
$baud = 9600


Config Servos = 4 , Servo1 = Portd.0 , Servo2 = Portb.0 , Servo3 = Portd.2 , Servo4 = Portd.3 , Reload = 10

Config Pind.0 = Output
Config Pinb.0 = Output
Config Pind.2 = Output
Config Pind.3 = Output

Enable Interrupts

Servo(3) = 145
Servo(4) = 100
waitms 500

Do

Servo(1) = 100
Servo(2) = 100

Waitms 500

Servo(1) = 145

Waitms 500

Servo(2) = 120

Waitms 500

Loop

jon

minium :)
10.03.2007, 17:25
Hi,

danke, aber die Servos machen alles auf einmal.

Viele grüße und Danke

P.S.: Kommst du zum Robotest am 31.März ?

Jon
10.03.2007, 17:54
danke, aber die Servos machen alles auf einmal.
Dann versuche mal in 250ms schritten die Wartezeit zu erhöhen.


P.S.: Kommst du zum Robotest am 31.März ?
Wo ist das?

jon

minium :)
10.03.2007, 18:06
Hi,

probiere es gleich aus,

der robotest ist in frankfurt (www.robotest.de)

Viele Grüße und Danke

P.S: Nehme wahrscheinlich auch teil

minium :)
10.03.2007, 18:12
Hi,

leider funktioniert es immer noch nicht.

viele grüße

Jon
10.03.2007, 18:28
Dann fällt mir nichts mehr ein.
Vielleicht findet noch jemand anderes einen Fehler?



der robotest ist in frankfurt (www.robotest.de)

P.S: Nehme wahrscheinlich auch teil
Ich werde sehr wahrscheinlich kommen!!

jon