mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
hallo,Zitat von JensK
ich halte von dem code recht wenig. vorallem mschaffszt du damit maixmal 10 servo, wenn du dich an die servo signalkonventioenen halten möchtest.
meiner meinung wäre es sinnvoller, die Servos dann nach der signallänge aufsteigend zu ordnen, und dann die Servos gleichzeitig einschalten, und nacheinander dann wieder aus.
mfg jeffrey
nein bisher nicht. also das rnboard steuert nur über den sd21 die 18 servos. später sollen evtl. noch Sensoren hinzukommen. aber erstmal reicht mir die servosteuerung.Zitat von PicNick
ich seh schon da kommt mit Bascom einiges auf mich zu. lohnt es sich nicht da lieber mit c zu beschäftigen?
@jeffrey: wie sähe denn deine idee ohne die signalkonventionen aus? (vllt ein beispiel mit 2 servos?!)
gruß
Hallo JensK!Zitat von JensK
Das bedeutet nur, dass du nicht den Bascom-Highlevelbefehl dafür verwenden kannst, außer du passt ihn dir selber (in Assembler) an.
Das bedeutet nicht, dass du dein Problem nicht in Bascom lösen kannst. Du musst nur auf den Highlevelbefehl verzichten und die Ansteuerung der Servos per Hand machen. Das müsstest du in C auch.
Anderer Vorschlag: Teile die Arbeit auf. Nimm zwei ATmega8 (das kostet dich drei Euro) und nimm den Bascom-Highlevelbefehl. Dann brauchst du dir keine Gedanken um das Timing machen -- macht alles Bascom für dich.
Oder du beschäftigst dich mit der Servoansteuerung (welche Signale erwartet werden) und programmierst die Servoansteuerung selbst. Nimm auf jeden Fall den schnellsten Quarz der zum µC passt. Auch wenn du Bascom-Highlevelbefehle dafür verwendest.
mfg
Gerold
:-)
ich würde schon gerne beim rncontroller und sd21 bleiben. da kann ich doch nicht 2 atmega8 benutzen oder?
im assembler stehen ja schon die anderen highlevebefehle. dann ist das doch im prinzip nur copy and paste anpassung oder?
gruß
Hallo JensK!Zitat von JensK
Diese "höchstwichtige" Information habe ich überlesen. Das SD21 (http://www.shop.robotikhardware.de/s...roducts_id=198) steuert ja schon die Servos an. Also musst du gar nichts mehr dafür tun. Du musst nur die gewünschte Position der Servos per I²C an das SD21 übermitteln. Das war's schon.
mfg
Gerold
:-)
Ja also sollte doch Bascom das hinbekommen oder?
Also auch mit deren highlevel befehlen ?!
weil der Befehl
Declare Function Sd21_version() As Byte
Declare Sub Setzeservoposition(byval Servo As Byte, Byval Postion As Word)
Declare Sub Setzeservospeed(byval Servo As Byte, Byval Speed As Word)
Setzeservoposition 20, 500
hab den anderen kram der programms weggelassen. aber das steuert den 20 anschluss am sd21 auf die position 500.
Damit kann ich doch 18 Servos steuern oder?
also von kanal 1-18 dann alle
Hallo Jens,
mach dir keine Sorgen, ich habe es gestern mit 21 Servos probiert und alles hat problemlos funktioniert.
Ich habe sowohl alle gleichzeitig, als auch gemischt drehen lassen und es lief einwandfrei.
Hi Pinsel,
das ist eine sehr gute Nachricht.Hatte schon "Angst" gehabt, das ich das nicht mit Bascom hinbekomme. Dann mach ich mich mal ans programmieren. (Hab ja noch nicht den starken akku für die 18 servos. daher konnte ich es nicht testen)
gruß und danke für eure hilfe!
Lesezeichen