Forum: Mikrocontroller und Digitale Elektronik Attiny 2313 Servotreiber


von rockster (Gast)


Lesenswert?

Hallo liebe Forenmitglieder,
Zur zeit programmiere ich in C# und wollte nun ein kleines Hobbyprojekt
starten bei dem ich ein paar servos über RS232 steuere. Am einfachsten
schien es mir den RNS1 (µC = Atiny 2313) von Robotikhardware zu nehmen
da ich mich primär auf die Win-Aplikation fokusieren wollte.

Der RNS1 wird relativ einfache angesteuert. Man sendet einfach 4 Byte
Byte 1+2 "#s"
Byte 3 Servonummer zwischen 1 und 10
Byte 4 Position zwischen 1 und 255 (0 -> undefiniert)

Beschaltet hab ich ihn einfach wie in der Anleitung (im Anhang, konnte
keinen Link geben da der Shop den Controller seit kürze nicht mehr
vertreibt). Seinen RXD hab ich einfach mit den TXD meines PCs verbunden.
Als Pegelwandler fungiert ein MAX232. Nun ist das Problem dass der
Controller keine Anweisungen entgegennimmt. Wenn ich Vdd anleg dreht der
Servo auf Position 255 und zittert dort vor sich hin. Erst hab ich
gedacht das mein PC crap sendet, was ich mit einem 2 Testterminal
überprüft habe. Mein Programm sendet sauber. Als Eingabe erhielt ich
(#s☺☺) was richtig ist da ja ASCII code 1 ☺ ist. Der Befehl sollte also
den servo 1 (PB0) auf position 1 setzen. Anschließend habe ich den
Ausgang für Servo 1 (PB0) mit dem Oszi überprüft und musst feststellen
das ich ein 6ms langes HIGH Signal bekomme also der Servo übersteuert
wird. Ich vermute es gibt ein Problem mit dem Takt was erklären würde
warum das Servo signal zu lang ist und die RS232 übertragung nicht funkt
da eine falsche Baudrate herauskommt. Der Controller soll ja mit eine 4
MHz Quarz zwischen XTAL 1 und XTAL 2  beschaltet werden aber als Fuse
ist der interne 8 MHZ Quaroszillator angegeben.

Hat jemand eine Idee was mit den Takt los ist oder was isch falsch mach
?

Würde mich über erste Antworten freuen.

Mfg rockster

von Modellbauer (Gast)


Lesenswert?

Und laufen tut er anscheinend mit 1 MHz

von Michael A (Gast)


Lesenswert?

rockster schrieb:
> Der Controller soll ja mit eine 4 MHz Quarz zwischen XTAL 1 und XTAL 2
> beschaltet werden aber als Fuse ist der interne 8 MHZ Quaroszillator
> angegeben.

Die CKDIV8 Fuse hast du noch vergessen - mal abgesehen davon, dass der 
µC keinen internen Quarz hat, was wegen der Genauigkeit leicht zu 
Problemen bei der RS232-Kommunikation führen kann (spätestens, wenn sich 
die
Temperatur ändert).
(Datenblatt Absatz "Default Clocl Source")

von rockster (Gast)


Lesenswert?

Ich hab den CKDIV8 Fuse mal rausgehaun und der µC gibt bei 8 MHZ 
interner Takt 0,8~ ms High aus. Passt schon fast aber über rs232 lässt 
er sich noch nicht ansprechen. Ich glaube ich brauche den externen 4 MHz 
takt des Quarz und der beiden Kondensatoren. Wie heißt die 
Fuseeinstellung in AVR studio für externer 4 MHz takt aus Quarz und zwei 
Kondensatoren.

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
Noch kein Account? Hier anmelden.