PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : servo steuern mit attiny13



epos
03.11.2007, 18:29
Hallo! für ein neues projekt möchte ich einen servo mit einem attiny13 steuern.
hat jemand eine idee wie ich das machen kann? ](*,)

radbruch
03.11.2007, 19:39
Hallo

Ich mache das seit gestern so (allerdings in C):

https://www.roboternetz.de/phpBB2/viewtopic.php?p=324867#324867

Gruß

mic

Jon
03.11.2007, 21:02
Schau doch mal in der BASCOM Hilfe oder in der Wiki. Da ist das ganz genau erklärt.

jon

epos
03.11.2007, 21:10
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?

oberallgeier
03.11.2007, 23:45
Hallo! für ein neues projekt möchte ich einen servo mit einem attiny13 steuern.
hat jemand eine idee wie ich das machen kann? ](*,)

ach, da wären die nächsten Fragen:

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/zeigebeitrag.php?t=34751&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:

...Ich mache das seit gestern so ...

epos
04.11.2007, 10:31
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!

radbruch
04.11.2007, 11:55
Hallo


hat jemand eine idee wie ich das machen kann?
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.

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

epos
04.11.2007, 14:06
Hallo! @ radbruch: hast du ein beispiel?
gruß epos

radbruch
04.11.2007, 15:20
Hier ein Beispiel für 3 Servos mit einem 8Mhz-ATMega32:

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?p=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

Sauerbruch
05.11.2007, 14:55
Wenn´s nur ein einziges Servo ist, kannst Du das auch über die PWM-Funktion machen. Ist es denn ein herkömmliches Modellbau-Servo?

manude
18.03.2009, 20:51
Hilft dir das:
http://halvar.at/elektronik/servo_mit_bascom_avr/

python_rocks
19.03.2009, 10:01
Hilft dir das:
http://halvar.at/elektronik/servo_mit_bascom_avr/
Hallo!

Ich glaube, dass dieses Beispiel *nicht* auf dem ATtiny13 laufen wird. Der ATtiny13 ist so abgespeckt, dass man die Servoansteuerung damit wahrscheinlich händisch machen muss.

Aber zum Glück steht im RoboterNETZ-Wiki (https://www.roboternetz.de/wissen/index.php/Servo#Ansteuerung), wie man Servos ansteuern kann.

mfg
Gerold
:-)

oberallgeier
19.03.2009, 16:20
Tja - leider kann ich mit Ba scom (auch) nicht helfen. Aber ich habe mehrfach 5ervos am tiny13 betrieben, Programmiersprache Assembler. Habe auch einen Servotester mit t13 und einem Poti gebaut, interner Takt mit 9,6 MHz, ca. 120 Schritte über den ganzen Servoausschlag - das funktioniert sehr gut. In C habe ich das (noch) nicht versucht, weil der vorhandene Tester gut und feinauflösend genug geht.