Hallo! für ein neues projekt möchte ich einen servo mit einem attiny13 steuern.
hat jemand eine idee wie ich das machen kann? ](*,)
Druckbare Version
Hallo! für ein neues projekt möchte ich einen servo mit einem attiny13 steuern.
hat jemand eine idee wie ich das machen kann? ](*,)
Hallo
Ich mache das seit gestern so (allerdings in C):
https://www.roboternetz.de/phpBB2/vi...=324867#324867
Gruß
mic
Schau doch mal in der BASCOM Hilfe oder in der Wiki. Da ist das ganz genau erklärt.
jon
Hallo! ich hab natürlich schon in der wiki gesucht! es gibt nen beitrag zur servosteuerung mit:
config servos........
allerdings kann ich das nicht auf den attiny13 übertragen!
im allgemeinen hab ich schon sehr viel nach einer servosteuerung in bascom gesucht, aber nichts gefunden.
viele sagen auch, dass bascom zu ungenau für eine servosteuerung ist. ander widerum sagen es geht doch. hab aber noch kein programm gefunden.
was denkt ihr?
ach, da wären die nächsten Fragen:Zitat:
Zitat von epos
Welche Eingangsdaten sind vorhanden?
Welche Bandbreite darf denn maximal gefahren werden, nee, besser: kannst Du die Minimalzeit und die Maximalzeit selber einstellen?
Ich habe in
https://www.roboternetz.de/phpBB2/ze...751&highlight=
im letzten posting (m)einen code hereingestellt. Assembler. Und der läuft - zumindest auf meinem kleinen Carson 502001 (Na ja, mit dem Interrupt gehts schicker - und es sieht so aus, als ob er dann runder läuft, zumindest die beiden, die ich gleichzeitig dran habe). Da hättest Du ja Deine Anregung. Und die Eingangsdaten und "min" und "max" kannst Du sicher selber reinkriegen.
Aber da steht ja schon ein besserer Code:
Zitat:
Zitat von radbruch
hallo! danke für die antwort! daten über den servo sind leider keine vorhanden. und was die programmiersprache betrifft wäre ich eigentlich auf der suche nach einem programm in bascom. extra wegen einer servosteuerung die programmiersprache zu ändern, naja!
Hallo
Das war ja deine ursprüngliche Frage. Das du in bascom programmierst kann man bestenfalls aus der Rubrik schliessen, in der du deine Frage gestellt hast.Zitat:
hat jemand eine idee wie ich das machen kann?
Welche Programmiersprache man verwendet, sollte eigentlich egal sein. Auch in Basic sollte man doch den Timer programmieren und die Ports ansprechen können. Wenn nicht, dann ist das eine ungeeignete Programmiersprache für kleine AVRs.
Alternativ und viel einfacher kann man Servos auch mit Zählschleifen ansteuern. Kurze Schleife für den Impuls, lange Schleife für die Pause. Das Timeing kann man im RN-Wissen nachschlagen (1ms zu 20ms war's wohl).
Gruß
mic
Hallo! @ radbruch: hast du ein beispiel?
gruß epos
Hier ein Beispiel für 3 Servos mit einem 8Mhz-ATMega32:
https://www.roboternetz.de/phpBB2/ze...=321483#321483
Die Ausführungszeit der Zählschleifen hängt vom Systemtakt und dem vom jeweiligen Compiler erzeugten Code ab. Die Dummy-Zuweisung soll die Schleife etwas verzögern und verhindern, das die Schleifen "rausoptimiert" werden.
(Die RP6-Sleep(1)-Funktion wartet 0,1ms. In der servo()-Funktion ist dies die Zeit des Low-Teils der Servoimpulse.)
Gruß
mic
Wenn´s nur ein einziges Servo ist, kannst Du das auch über die PWM-Funktion machen. Ist es denn ein herkömmliches Modellbau-Servo?