Archiv verlassen und diese Seite im Standarddesign anzeigen : Mehr als 5 Servos ansteuern
minium :)
15.04.2007, 12:31
Hallo,
ich möchte mehr als 5 Servos ansteuern. Aber Bascom kann mit dem Programm von RN-Wiki nur 5 ansteuern (hier das Bsp. von RN-Wiki):
Config Servos = 2 , Servo1 = Portb.0 , Servo2 = Portb.1 , Reload = 10
Config Portb = Output
Enable Interrupts
Servo(1) = 100
Servo(2) = 100
waitms 1000
Kennt jmd. eine Möglichkeit mehr als 5 Servos anzusteuern ? (die nicht so schwer ist)
Viele Grüße und danke im vorraus
molleonair
15.04.2007, 13:17
Hallo minium
laut Bascom Language reference können mit dem config servos
Befehl bis zu 14 Servos gesteuert werden.
Probiert hab ichs auch noch nicht
Gruß Daniel
Es gehen bis zu 15 Servos ohne Probleme.
Im Programm nur "Config Servo=15" schreiben und dann für alle 15 Servos den Pinn angeben.
jon
minium :)
15.04.2007, 18:36
Hi,
liegt es vielleicht an der Versionvon Bascom, ich benutze 1.11.8.3 ?
Viele Grüße
Verwende ich auch noch. Gab noch keine Probleme.
Poste mal dein Programm mit den 6 Servos.
jon
minium :)
15.04.2007, 20:00
Hallo,
hier das Programm:
$regfile = "m32def.dat"
$crystal = 16000000
$framesize = 32
$swstack = 32
$hwstack = 32
Config Servos = 6 , Servo1 = Portb.0 , Servo2 = Portb.4 , Servo3 = Portb.1 , Servo4 = Portb.2 , Servo5 = Portb.3 , Servo6 = Portb.4 , Reload = 5
Config Portb = Output
Dim Variable As Byte
Enable Interrupts
Do
Servo(1) = 97
Servo(2) = 97
Servo(3) = 100
Servo(4) = 97
Servo(5) = 100
Servo(6) = 100
Wait 5
Loop
End
P.S.: Das ist die gekürzte form ;)
Viele Grüße
1.Warum setzt du das ganze in eine Do-Loop schleife? Die Position kann nur einmal angefahren werden.
2. Ist Reload richtig? Bei mir führt "5" immer zum Ruckeln der Servos.
Mehr kann ich aber nicht entdecken. Ich werde das Programm mal morgen testen.
jon
P.S.:Was kommt da denn für eine Fehlermeldung? Sagt die Hilfe noch mehr zum Ansteuern von mehreren Servos?
minium :)
15.04.2007, 20:21
Hi,
da kommt gar keine Fehlermeldung, aber der Servo bewegt sich nicht, wenn ich 6 ansteuere, wenn ich aber 5 ansteuere bewegt er sich. Was meinst du mit Sagt deine Hilfe... ?
Viele Grüße
da kommt gar keine Fehlermeldung, aber der Servo bewegt sich nicht, wenn ich 6 ansteuere, wenn ich aber 5 ansteuere bewegt er sich.
Bullshitt. Ich werde es mal morgen probieren.
Was meinst du mit Sagt deine Hilfe... ?
Was sagt die Hilfe? In der BASCOM-Hilfe steht, dass 15 Servos maximal angesteuert werden können. Ich weiß aber gerade nicht, ob es Besonderheiten beim Ansteuern von mehr als 5 Servos gibt.
jon
minium :)
15.04.2007, 20:29
Wo findet man denn das über die Servos in der Bascom Hilfe ?
EDIT: ich habe mit der Suche nach Servo gesucht, da kommt jetzt nur Config servos und config aber das bringt mir nicht viel, da sonst nichts steht
Viele Grüße
auf "F1" Drücken und dann in einem der Register mal "Config Servo" eingeben.
jon
minium :)
15.04.2007, 20:35
Hi,
habe ich gemacht, da steht jetzt config servos und wenn ich auf anzeigen klicke kommt nichts.
Viele Grüße
Zweimal daraufklicken. Nicht einmal ;)
jon
EDIT: Wird auch Doppelklick genannt ;)
minium :)
15.04.2007, 20:40
JA, das habe ich auch gemacht ;) aber es kommt nichts :(
Viele Grüße
HÄ??? Bei mir kommt das was.
Ich werde es mal rauskopieren. Und hier Posten.
jon
EDIT: Das, was in der Hilfe steht:
Habs probiert. Geht aber nicht.
Ist es vielleicht ein Bug??
Kann das jemand mal mit der aktuellen Version testen?
jon
minium :)
16.04.2007, 17:11
Hi,
das prog. ist aber korekt. Wieso funktioniert es nicht ?
@jon, kannst du bitte dein Prog. mal schicken, wenn du damit 15 Servos ohne Probleme ansteuern kannst.
Viele Grüße
Ich habe es so wie du gemacht, nur habe ich insgesamt 14 Servos verwendet. Definitionen und das andere so, wie du es gemacht hast. War ne ältere BASCOM Version. Mittlerweile habe ich auch nur noch 6 Servos. Die anderen sind bei Experimenten hops gegangen (zu hoche Spannung, zu hohe Last etc.).
Deswegen vermute ich, dass es ein Bug ist.
jon
EDIT: Es können maximal 14 Servos angesteuert werden. (Lesen muss man können *g*) Versuche mal hinter "reload = 5" noch ", Timer = Timer1" zu schreiben. Vielleicht ist etwas am Timer0 defekt (kann ich mir aber ehrlich gesagt nicht vorstellen)
minium :)
16.04.2007, 18:03
Es gehen bis zu 15 Servos ohne Probleme.
Im Programm nur "Config Servo=15" schreiben und dann für alle 15 Servos den Pinn angeben.
jon
Es können maximal 14 Servos angesteuert werden. (Lesen muss man können *g*)
Habe das von dir gelesen und da stehen 15 ;) Könnte es vll. mal jmd. mit der neuen Bascom Version testen ?
Das es am Timer liegt glaube ich nicht, weil sonst müsste bei dir ja auch der timer defekt sein.
Viele Grüße
Probier es aber bitte trotzdem mal mit Timer1. Bei mir ist der nämlich belegt.
jon
minium :)
16.04.2007, 21:07
Hi,
ok, werde ich morgen machen, schreibe dann was passiert ist. Aber die anderen 5 funktionieren doch, dann muss der Counter doch ok sein, oder ?(aber ich probiers)
Viele Grüße
Stimmt eigentlich auch wieder. werde es morgen nochmal an einem anderen µC mit der neuen BASCOM Version testen.
jon
minium :)
16.04.2007, 21:46
Hi,
danke, hast du die Vollversion von Bascom ? oder gibt es doch eine Demo ?
Viele Grüße
Ich habe die Vollversion gekauft. War schön teuer. Ist aber auch billiger, wenn man es direkt beim Hersteller kauft. Dauert nur etwas länger.
jon
hallo,
mach doch mal den relaodwert höher und die schleife weg.
mfg jeffrey
Hi,
sicher daß es an der Software liegt ?
Hast du eine Controller mit JTAG Interface, daß vielleicht noch an ist? ;)
Gruß
Christopher
minium :)
17.04.2007, 14:19
Hi,
ich habe das RN-Board, mit einem Mega 32 Mikrocontroller ;) da ist kein JTAG Interface.
Oder doch ?
Viele Grüße
minium :)
17.04.2007, 15:06
Hi,
ich habe jetzt das mit dem Timer geändert. Da bewegt sich dann auch kein Servo wenn ich 6 ansteuern möchte.
Viele Grüße
JTAG hat jeder ATMega32.
Dies muss man aber nicht nutzen. JTAG muss, wenn du die Pins anderweitig verwenden willst, deaktiviert werden.
jon
Hallo minium,
du weißt schon, dass du sowohl servo2 als auch servo6 für portb.4 konfiguriert hast?
Gruß
Rolf
*Sprung aus Fenster*
Warum bitteschön habe ich das nicht gesehen??
Ich habe die Servos nach und nach an Port B angeschlossen.
Also an B.0 B.1 B.2 B.3 B.4
Kein wunder, dass das nicht ging.
Also änder das mal. Dann sollte es eigentlich gehen.
jon
P.S.: Das mit dem "*Sprung aus Fenster*" habe ich jetzt nicht wirklich vor, aber es regt mich trotzdem ziemlich auf, dass mit das nicht aufgefallen ist *g*
minium :)
17.04.2007, 18:15
Hi,
nein, was für ein Fehler !! Vielen Dank.
Viele Grüße
Auch ein blindes Huhn findet... ;-)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.