DC-Motoransteuerung per PC

Alle allgemeinen Themen zu Elektronik und Elektro

Alle allgemeinen Themen zu Elektronik und Elektro

Moderator: Moderatorengruppe

Re: DC-Motoransteuerung per PC

Neuer Beitragvon gerold am Montag 1. September 2008, 23:00

Thom hat geschrieben:der LC224 war nich richtig eingerastet

Hallo Thom!

Ich hoffe, dass du dich verschrieben hast und den HC244 meinst. :-)

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
gerold
33798
Bronze Mitglied
 
Beiträge: 127
Registriert: Montag 30. Juli 2007, 11:19
Wohnort: Oberhofen im Inntal (Tirol)
Postleitzahl: 6410
Land: Austria / Österreich

Re: DC-Motoransteuerung per PC

Neuer Beitragvon Thom am Dienstag 2. September 2008, 14:21

Jepp, genau den meinte ich. Kann den Beitrag aber nich mehr ändern, naja egal.
Jetzt grade siehts so aus: mega48 programmieren klappt wunderbar (ich kann die Motoren auch schon beliebig schnell vor/zurücklaufen lassen, das ist total super), aber der rs232 Teil will nicht :(
Also ich sende beispielsweise per c# (oder auch windows hyperterminal - ist das da normal dass man nie sieht was man eintippt/sendet?) einen Buchstaben an port 1, mit 115200 baud. Mit nem Oszilloskop seh ich auch dass der übertragen wird (12V,-12V Spannungslevel) und von max232 mit 5V,-5V Spannung an den pin 2 des mega48 übertragen wird. Das Signal kommt also 100% irgendwie im Chip an. Allerdings empfängt der µc das nie mit Waitkey() oder mit Serial0charmatch. Was kann da nicht stimmen? In c# und bascom hab ich 115200 baud eingestellt.
Zusätzlich hab ich es auch mal mit default fuse bits, ohne quarz, und $crystal=8000000 und $baud=19200 probiert, ging auch nicht.

Was auch komisch ist, ist dass ich mal (als das da oben schon nicht funktierte) den T1in vom max232 mit PD1 vom mega48 verbunden habe, um per "Print" in bascom was ausgeben zu können. Das komische war, dass das Signal gut am max232 ankam, aber auch nur mit etwa 5V,-5V (also nicht auf das PC-level angepasst) an die rs232 weitergeleitet wurde. Aber das ist nur eine Nebensache. Außer es ist ein Hinweis dass der max232 kaputt ist, aber selbst dann... die Übertragung in die andere Richtung ging ja gut.

Also was kann da alles nich stimmen? Ich wüsste nur die baudrate, aber die is doch richtig eingestellt... naja ich probier mal weiter, und wär dankbar für jede Hilfe...
ciao
Thomas


ps. das http://i38.tinypic.com/j742ms.png sind meine Fusebits, und das hier http://i37.tinypic.com/6h2rgn.jpg sind die com-port Einstellungen in c# .Das Signal sende ich dann zB über "serial1.Write("a");" und Bascom hat als Hauptschleife ein Waitkey() und danach die Anweisung, nen Motor zu starten.
Thom
Threadstarter
33805
Junior Mitglied
 
Beiträge: 20
Registriert: Freitag 15. August 2008, 18:45

Re: DC-Motoransteuerung per PC

Neuer Beitragvon gerold am Dienstag 2. September 2008, 15:21

Thom hat geschrieben:Mit nem Oszilloskop seh ich auch dass der übertragen wird (12V,-12V Spannungslevel) und von max232 mit 5V,-5V Spannung an den pin 2 des mega48 übertragen wird.

Hallo Thomas!

Eine Frage zwischendurch: Hast du den GND des MAX232 auch wirklich mit dem GND des ATmega48 verbunden?

Denn am ATmaga48 sollte 5 Volt oder 0 Volt ankommen. -5 Volt können den Eingang des ATmega48 evt. zerstören.

Der MAX232 lässt sich leicht überprüfen. Legst du an T1in 5 Volt an, dann muss an T1out -5 Volt oder weniger anliegen. Legst du an T1in GND an, dann muss am T1out +5 Volt oder mehr anliegen. Das gleiche Spiel mit T2in.

Umgekehrt läuft es in die andere Richtung. Legst du an R1in +5 Volt an, dann muss an R1out GND anliegen. Legst du an R1in GND oder eine negative Spannung an, dann muss an R1in +5 Volt anliegen. Gleiches Spiel mit R2in.

Nimm zum Testen mal eine kleine Baudrate z.B. 1200 Baud.

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
gerold
33809
Bronze Mitglied
 
Beiträge: 127
Registriert: Montag 30. Juli 2007, 11:19
Wohnort: Oberhofen im Inntal (Tirol)
Postleitzahl: 6410
Land: Austria / Österreich

Re: DC-Motoransteuerung per PC

Neuer Beitragvon Thom am Dienstag 2. September 2008, 16:46

Ohmann. Danke für die Antwort, ich hab daraufhin nochmal die Leitungen überprüft und mit dem Schaltplan verglichen. Dabei ist mir aufgefallen, dass eine kleine Nebensächlichkeit fehlte, nämlich die 5V Versorgung für die Elkos am max232 selbst :bang:
Gibts ja nicht. Naja das kommt wohl davon, wenn man sich beim löten sagt "ok den Teil mach ich später zuende, erstmal den nächsten Schritt anfangen"... argh!
ABER: Jetzt läufts. Unglaublich. Auch der Teil mit Serial0charmatch() und allem. Zur Zeit ist das Protokoll so, dass als Befehl drei byte übertragen werden - erstes byte hat motornummer*4 und zwei bits für die Richtung (also bits1-6 für die Motor-ID und bits 7,8 für die Richtung; in bascom krieg ich die über temp/4 und temp mod 4), ein byte für die PWM und eins als stopbyte. Da hab ich einfach die Zahl 77 genommen, wenn jetzt ne PWM von 77 gesendet werden soll ändert c# die vorher in 78, das wird kaum auffallen, und als steuerbyte kann 77 bei 11 Motoren nicht auftreten. Mit strings wollt ich das lieber nich machen, damit einfach nur so wenig wie nötig übertragen wird. Ich schätze ich könnte, um traffic zu sparen, auch das stopbyte irgendwie wegfallen lassen, das werd ich mir mal überlegen wenn alles andere schon fertig ist.
Wie auch immer, es läuft, das ist schonmal Wahnsinn. Vielen Dank nochmal. Ich schätze wenn ich mit der Nummer hier fertig bin, geb ich mich an irgend ein neues Projekt, ich wollt vielleicht was mit nem digitalen Kompass machen oder so. Jetzt erstmal das hier fertiglöten.
Bis denne, ciao
Thomas
Thom
Threadstarter
33810
Junior Mitglied
 
Beiträge: 20
Registriert: Freitag 15. August 2008, 18:45

Re: DC-Motoransteuerung per PC

Neuer Beitragvon gerold am Dienstag 2. September 2008, 17:24

Thom hat geschrieben:Mit strings wollt ich das lieber nich machen, damit einfach nur so wenig wie nötig übertragen wird.

Hallo Thomas!

Du sparst hier an der falschen und machst dadurch das Programm evt. komplizierter als es sein müsste. Aber so lange du durchsteigst ist alles klar. :-)

Deine erste Anfrage hier im Forum war am "Fr 15. Aug". Heute ist der "2. Sep.".

Es freut mich sehr, dass du das Projekt so zügig vorangebracht hast und jetzt schon die ersten Tests Ergebnisse liefern. Erst recht, da du ja bei Null angefangen hast. :D Weiter so!

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Benutzeravatar
gerold
33811
Bronze Mitglied
 
Beiträge: 127
Registriert: Montag 30. Juli 2007, 11:19
Wohnort: Oberhofen im Inntal (Tirol)
Postleitzahl: 6410
Land: Austria / Österreich

Vorherige

Zurück zu Elektronik Allgemein

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 44 Gäste