Hallo ich habe ja gesehen, dass es viele Threads zu Servos im Forum gibt, doch leider passte nicht ein einziger auf meine Bedürfnisse. Nun zur Situation: Ich möchte einen Servo (C577) mit einem ATTiny13 ansteuern. Ich hätte es gerne so, dass der Chip die eigene Taktungs verwendet und einfach drei Eingaänge und einen Ausgang hat. Auf die Eingänge kommen drei Tasten für Links, Mitte und Rechts. Der Ausgang gibt das Servo-Ansteuerungssignal aus. ich habe mich also drangesetzt, doch weiß ich nicht, wie ich die Schleife gestalten soll. einmal einen Wert auf einem Port ausgeben und dass zählen? Hält der Port den Wert dann oder wie? Und wie die 1.5ms Impuls für die Mittelstellung realisieren? Ich habe versucht es in AVR-GNU-Asm zu realisieren, vielleicht kann mir jemand mit Tipps oder Quellcode (bitte im txt-Format) weiterhelfen. Fertige Programme zum Download mag ich zwar auch, doch dann solltet ihr bitte eine Anleitung beilegen. Wie immer hoffe ich auf euch... Nitnelav.
> doch leider passte nicht ein einziger auf meine Bedürfnisse. Dann heißt es Selbermachen oder Dienstleistung kaufen. ;-) Schau mal hier: Beitrag "Re: Servo C577 mit Attiny13 ansteuern (Assembler)" Das lässt Dir schonmal ein Servo nach Zeit hin- und herfahren. Schmeiß die Zeitsteuerung raus und füge eine ordentliche Tastenabfrage mit Entprellung und Tasten-Repeat ein (z.B. den Dannegger-Algorithmus, siehe hier:). Beitrag "Re: Hilfe zur Tastenentprellung von P.Dannegger" Nun kannst Du mittels Tasten die Servoposition zwischen 75 und 150 variieren, wobei die Tasten per Autorepeat auch Dauerdruck zulassen. ...
@ Hannes Lux Wonit hast du dein Programm bitte geschrieben? Mein gutes "altes" Sisy-AVR hat beim Linken schon über zwanzig Feher gefunden: Kompiliere die Datei Servo_Ansteuerung.s. Assembler Meldungen: Servo_Ansteuerung.s:26 Fehler: expected comma after "clk_ss" Servo_Ansteuerung.s:27 Fehler: expected comma after "clk_val" Servo_Ansteuerung.s:28 Fehler: expected comma after "tvt0" Servo_Ansteuerung.s:31 Fehler: unknown pseudo-op: `.def' Servo_Ansteuerung.s:32 Fehler: unknown pseudo-op: `.def' Servo_Ansteuerung.s:35 Fehler: unknown pseudo-op: `.def' Servo_Ansteuerung.s:36 Fehler: unknown pseudo-op: `.def' Servo_Ansteuerung.s:37 Fehler: unknown pseudo-op: `.def' Servo_Ansteuerung.s:39 Fehler: unknown pseudo-op: `.def' Servo_Ansteuerung.s:40 Fehler: unknown pseudo-op: `.def' Servo_Ansteuerung.s:44 Fehler: unknown pseudo-op: `.cseg' Servo_Ansteuerung.s:63 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:64 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:65 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:66 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:69 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:70 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:71 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:72 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:73 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:75 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:76 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:78 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:79 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:80 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:81 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:82 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:83 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:84 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:85 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:89 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:91 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:92 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:93 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:95 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:96 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:99 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:101 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:110 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:111 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:113 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:114 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:115 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:117 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:122 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:127 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:128 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:129 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Erwarte Register ab: 15 Servo_Ansteuerung.s:130 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:132 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Servo_Ansteuerung.s:133 Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Fehler: ein konstanter Wert wird erwartet: Kontrollieren Sie bitte die Schreibweise dieser Zeile. Ende. Wie könnte man DAS berichtigen. Trotzdem... das ganze hat mir schon SHER weitergeholfen und einen sehr guten DEnkansatz gegeben! Vielen Dank! Doch kurz mal eine andere Frage: Haben die Ausgänge des ATTiny einen Buffer, der die Ausgänge solange konstant hält, wie kein neuer Wert eingegeben wird?
Valentin Buck schrieb: > Wie könnte man DAS berichtigen. Entweder die Assembler Syntax auf Sysi anpassen. Oder Sysi wegschmeissen und den Assembler nehmen, den geschätze 90% aller Assembler-Programmierer auch nehmen: Den von Hersteller des Chips > Doch kurz mal eine andere Frage: Haben die Ausgänge des ATTiny einen > Buffer, der die Ausgänge solange konstant hält, wie kein neuer Wert > eingegeben wird? Was anderes wär ja wohl ziemlich witzlos. Aber warum probierst du das nicht einfach aus?
> @ Hannes Lux > Wonit hast du dein Programm bitte geschrieben? Mit AVR-Studio4. Deine Frage beweist übrigens, dass Du den verlinkten Thread nicht gelesen, sondern nur den Quelltext heruntergeladen hast. Denn in dem Thread gab es auch Probleme mit der Assemblierung, die auf Fehlbedienung des AVR-Studios beruhten. > Mein gutes "altes" Sisy-AVR hat beim Linken schon über zwanzig Feher > gefunden: Ich möchte wissen, was daran "gut" sein soll. Die Fehler liegen nicht an meinem Quelltext, sondern an der Inkompatiblität von Sisy-AVR. Nimm ordentliches Werkzeug, dann lässt sich auch ordentlich arbeiten. ...
> Doch kurz mal eine andere Frage: Haben die Ausgänge des ATTiny einen > Buffer, der die Ausgänge solange konstant hält, wie kein neuer Wert > eingegeben wird? hat jemand diese frage verstanden? ausgänge des ATTinys sind high oder low, jenachdem was im programm des µC steht. solange ausgänge nicht neu gesetzt werden, bleiben sie in dem zustand den sie hatten. ein schalter schaltet doch auch nicht wenn keiner draufdrückt
>hat jemand diese frage verstanden?
ja, ich.
Die Antwort ist: ja. Die Ausgänge sind gepuffert, da die CPU sonst ja
die ganze Zeit damit beschäftigt wäre, diese auf dem aktuellen Stand zu
halten.
> hat jemand diese frage verstanden?
Ja, habe ich. Aber da Karl-Heinz sie bereits erschöpfend beantwortet
hat, bin ich nicht weiter darauf eingegangen.
Betreffs Sisy-Software... Es tut natürlich weh, einen Haufen Geld für
ein Lernpaket bezahlt zu haben und dann festzustellen, dass es (da
inkompatibel) wertlos ist. Nun ist nicht nur das Geld futsch, sondern
auch das bereits Gelernte... ;-(
...
Nun gut, das mit dem Buffer habe ich verstanden. Aber welches Programm soll ich jetzt nehmen. Hat mal einer einen Link?
> Aber welches Programm soll ich jetzt nehmen. AVR-Studio 4, siehe Beitrag "Re: Servoansteuerungschip-Selbstbau" > Hat mal einer einen Link? http://www.atmel.com/dyn/resources/prod_documents/AVRStudio4.16SP1.exe ...
@ Hannes Lux Das Programm ist aber nicht das, was man auch installieren soll, sondern nur das Update mit dem SP1. Die Versionen darunter, da muss man sich registrieren, bevor man da was downloaden kann. Sind die kostenpflichtig? Nitnelav
Tja, ich habe lange keine neue Version mehr geholt, die vorhandene tut es noch. Registrieren musste man sich damals noch nicht. ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.