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
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.