www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik STK500 + Servo Problem


Autor: Gerrit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

habe folgendes Problem.

Ich möchte ein wenig mit einer Servosteuerung mit einem Microcontroller 
spielen. Dafür habe ich das STK500 und einen modellbauservo.

ich habe schon diversere (bascom) programme geschrieben / gefunden und 
auf den controller geschrieben, allerdings tut sich am servo rein gar 
nichts... muss man noch irgendetwas beim stk500 beachten? die 
stromversorgung für den servo läuft über ein externe netzteil (kabel 
alle garantiert richt). wenn ich eine led an den eigentlichlichten 
servopin stecke, flackert diese led in sehr kurzen abständen, also 
scheint schon ein signal da zu sein... och weioß absolut nicht weiter...

auch ein programm, bei dem ich die leds per taster an und ausschalten 
kann funktioniert... nur halt der servo macht gar nicht (funktioniert 
aber!)
mfg gk

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schaltplan? Code?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Masse von STK500 und ext. Netzteil verbunden? Oder klassisches 
one-wire?:-)

Autor: Gerrit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also das stk mit dem normalen mitgelieferten netzteil, den servo über 
nen eigenes netzteil... ;)

ge

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frage nicht beantwortet.

Autor: Albrecht H. (alieninside)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bringen wirs auf den Punkt:

Die Masse des Servos muss zusätzlich noch mit der Masse des 
Mikrocontrollers verbunden sein.

Der Mikrocontroller-Portpin der den Servo steuern soll, muss 
selbstverständlich auch mit dem Signaleingang des Servos verbunden sein, 
(das sieht man ja vielleicht nicht immer gleich bei den ganzen 
Anschlüssen, Käbelchen und Jumpern, auf dem STK500).

Nur weil irgendwelche LEDs auf dem STK500 im Takt blinken, heißt das 
noch lange nicht, dass der Mikrocontroller auch mit der richtigen 
Taktfrequenz läuft und an den richtigen Takterzeuger, (intern, extern 
Quarz, extern Oszillator?), angeschlossen ist. Und nur weil der 
Mikrocontroller richtig an den externen Quarz auf dem STK500 
angeschlossen ist, heißt das noch lange nicht, dass der Mikrocontroller 
nicht doch einfach mit dem internen Oszillator läuft, 
(Fuses-Einstellungen überprüfen!). Und selbstverständlich muss der 
tatsächliche Mikrocontrollertakt dann auch noch im Compiler bzw. 
Programm eingestellt werden.

Autor: Gerrit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ersteinmal danke für die antworten...

also die masse des servos muss an dem netzteil UND dem stk500 
angeschlossen werden? habe ich das so richtig verstanden? wieso läuft 
das denn so?

und wie funktioniert das mit diesen fuses? was muss man dort denn 
einstellen?

so sieht mein programm aus:

$crystal = 4000000

$regfile = "m163def.dat"

Config Portc.0 = Output

Config Portb = Input

Portb = &H03

Config Servos = 1 , Servo1 = Portc.0 , Reload = 10
Enable Interrupts

Dim Winkel As Byte

Winkel = 70
Servo(1) = Winkel

Do
 If Pinb.1 = 0 Then

  If Winkel > 30 Then Decr Winkel
 Elseif Pinb.0 = 0 Then

  If Winkel < 110 Then Incr Winkel
 End If
 Servo(1) = Winkel
 Waitms 10
Loop

End

Autor: Mark (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine beiden Schaltnetzteile, die du wahrscheinlich verwendest, sind 
beide galvanisch getrennt. Um aber Signale zu übertragen, müssen die 
Bezugspotentiale gleich sein. Du verbindest also die Masse des Servos 
mit der vom STK und den Signal-Pin des Servos mit dem Pin, den du 
benutzen willst.

Zu den Fuses findest du massig Informationen im Netz. Wenn du einen ganz 
neuen  Controller hat, läuft der intern mit 1MHz. Wenn du das in deinem 
Code änderst, brauchst du an die Fuses erstmal nicht ran.

Autor: AVRFan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>also die masse des servos muss an dem netzteil UND dem stk500
>angeschlossen werden? habe ich das so richtig verstanden? wieso läuft
>das denn so?

Alles, was einen Masseanschluss hat (Netzteil, STK500, Sensoren mit 
Eigenelektronik, Zusatzbausteine, aber auch Messgeräte wie ein 
Multimeter oder ein Oszilloskop), muss elektrisch mit der Masse des 
Gesamtsystems ("Ground", abgekürzt "GND") verbunden sein, um 
ordnungsgemäß funktionieren zu können.

>und wie funktioniert das mit diesen fuses? was muss man dort denn
>einstellen?

Das findest Du im Datenblatt Deines Controllers ausführlich beschrieben.

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

>also die masse des servos muss an dem netzteil UND dem stk500
>angeschlossen werden? habe ich das so richtig verstanden? wieso läuft
>das denn so?

Seit "Erfindung" des Stromkreises muß dieser geschlossen sein, damit was 
passiert.
Das Steuersignal ist auch hier nur die Spannungsquelle eines 
Stromkreises, dessen "Verbraucher" der Signaleingang des Servos ist. Die 
Rückleitung um diesen zu schließen ist Masse oder GND.

Oder auch anders: gesteuert wird das Sevro durch Spannungsimpulse an 
seinem Eingang. Eine Spannung ist die Potenzialdifferenz zwischen 2 
Punkten. Ein Punkt ist der Steuereingang, der andere ist Masse oder GND.

Gruß aus Berlin
Michael

Autor: Gerrit (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
so, werde diese tage wieder dazu kommen, an meinem stk500 
weiterzubasteln.

danke für die tipps, werd die stromversorgung mal überabrbeiten ;)

hat jemand zufällig eine nette beschreibung was es mit diesen fuses auf 
sich hat?

wie stellt man diese ein, was machen diese?

mfg gk

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gerrit wrote:

> hat jemand zufällig eine nette beschreibung was es mit diesen fuses auf
> sich hat?

Ja, das Datenblatt des verwendeten Controllers.

>
> wie stellt man diese ein, was machen diese?

Man liest das Datenblatt (die Absätze zu den Fusebits und zu den 
Features, die per Fusebits in ihrer Funktionsweise verändert werden 
können) und versucht es zu verstehen. Man öffnet den Programmier-Dialog 
des (zum STK500 gehörenden) AVR-Studios, geht auf den Tab "Fuses", 
versucht, die dort aufgelisteten Kombinationen zu verstehen und schlägt 
deren Wirkung im Datenblatt nach.

Man kann aber auch dieses Forum (und das zugehörige Wiki) mit den 
entsprechenden Stichworten durchsuchen. Denn verstellte Fusebits sind 
hier Dauerbrenner, da wurde schon hunderte mal erschöpfend drüber 
diskutiert. Ist fast so ergiebig wie "LCD geht nicht"...

...

Autor: Michael H* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

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.