mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik atmega8a Servo ansteuern AVR


Autor: Jannik Karl (janni_kar_19)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi alle zusammen,

Zu erst einmal, ich bin neu hier und möchte mich mit dem Thema etwas 
genauer beschäftigen. Ich programmiere in Bascom-AVR und habe ehrlich 
gesagt noch nicht all zu viel Ahnung, also bitte etwas Rücksicht.

Nun zu meinem Problem:

Ich möchte den Mikrocontroller dazu bringen einen Servo zu bewegen. Um 
das zu schaffen habe ich mir ein Buch gekauft, in dem es steht und viele 
Internet-anleitungen befolgt, bisher ohne Erfolg.

- Der verwendete Servo ist vom Conrad : Artnr.: 404753 - 62
- Mein Programmer ist selbstgebaut und funktioniert.
- Strom kommt auch an.
- am Prozessor ist zweimal + und zweimal - angeschlossen

Nun zu meinem Programm:

$regfile = "m8adef.dat"
$crystal = 8000000

$hwstack = 32
$swstack = 10
$framesize = 40

Config Servos = 1 , Servo1 = Portb.1 , Reload = 10 , Timer = Timer0
Config Portb = Output
Enable Interrupts


Do

Servo(1) = 30
Wait 1
Servo(1) = 100
Wait 1

Loop

End                                                         'end program 

wäre super, wenn mir jemand helfen könnte, denn ich hab echt keine 
Ahnung woran es liegen könnte.

Mfg Jannik

Autor: Matthias S. (Firma: matzetronics) (mschoeldgen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jannik K. schrieb:
> - am Prozessor ist zweimal + und zweimal - angeschlossen

Du hast natürlich auch die obligatorischen Abbblockkondensatoren von 
100nF zwischen beide Versorgungspärchen geschaltet?

Zu Bascom kann ich nichts sagen - null Ahnung.

Autor: Schnupftabak (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ahnung woran es liegen könnte.

Woran was liegen könnte?
Was ist Deine Frage?

Autor: Cyblord ---- (cyblord)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit einer Blinkenden LED könntest du mal schauen ob der Cntroller läuft 
und das Programm überhaupt korrekt ausführt.  Und du würdest sehen ob 
das Timing stimmt.

Autor: Cyborg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht nicht danach aus, als wenn der Programablauf da Sinn macht.

Ist Google kaputt? Da gibts doch Beispiele im Netz.
http://www.jacob-pirna.de/avr-8-bit/modellbau-serv...

Autor: Bascom? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soll das nicht
Config Portb.1 = Output
heißen?

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin Jannick,

ich hab das mit nem Olimex-Testboard und dem AVR-Tutorial, insbesondere
https://www.mikrocontroller.net/articles/AVR-Tutorial:_Servo geschafft. 
Schön ist es, wenn Du gleichzeitig ein Poti auswertest und du mit dem 
Poti das Servo bewegen kannst. Ist echt kein Hexenwerk, braucht aber ein 
bisschen Gehirnschmalz und Ausdauer. Nur zu!

Gruß Thomas

Autor: Bascom? (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und das
 , Timer = Timer0
kannste dir schenken, es wird sowieso Timer0 verwendet.

Autor: Jobst M. (jobstens-de)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bild vom Aufbau, Schaltplan.


Gruß

Jobst

Autor: M. Köhler (sylaina)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit Bascom kenne ich mich auch nicht aus aber wenn ich mir mal obigen 
Code anschaue erscheint es mir so, als fehle da noch was.
In der Config wird einmal Servos und einmal Servo1 definiert, ich der 
Schleife dann wird aber ein Servo(1) angesprochen der anscheinend zuvor 
noch gar nicht definiert wurde. Ist das wirklich so richtig?
Und die Zahlenwerte, da tu ich mir auch schwer mit denn ich kann hier 
nicht das typische Servosignal (20 ms Periode mit einem 1-2 ms Impuls) 
erkennen.
Daher Jannik: Ist dir das Steuersignal für einen Servo denn bekannt? 
Lies dir doch mal diesen Artikel durch: 
https://www.mikrocontroller.net/articles/Modellbau...

Autor: Heinz L. (ducttape)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Meine Glaskugel sagt mir dass sich der Servo nicht bewegt. Informier 
mich bitte ob die Kugel recht hat oder in die Reinigung muss...

Erste Frage bei sowas ist halt immer, stimmt der Frequenzteiler? Ob der 
das tut kannst leicht feststellen wenn Du mal 'n Led-Blinkprogramm in 
den Chip lädst wo die LED, sagen wir mal, 4x die Sekunde blinken soll. 
LED dranhalten, schauen ob's flackert. Wenn's statt 4x die Sekunde nur 
alle 2 Sekunden blinkt wissen wir schon mal was es ist, sonst halt was 
es nicht ist.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.