-         

Ergebnis 1 bis 6 von 6

Thema: Mein ATmega32-Controller spinnt!

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    08.12.2006
    Beiträge
    12

    Mein ATmega32-Controller spinnt!

    Anzeige

    Hallo,

    ich habe den Beitrag auch schon im AVR-GCC-Forum gepostet. Ich denke allerdings der Beitrag ist hier besser aufgehoben.

    Verwendeter Conroller: ATmega32

    Problembeschreibung:
    Ich habe ein Programm in C geschrieben, welches eigentlich auch ohne Probleme funktioniert. Nur kurz zur Info: Bei dem Programm handelt es sich um eine Schrittmotorsteuerung zur Messung von Mikroschaltern.

    Das Programm ist so aufgebaut, das es über RS232-Schnittstelle mit dem Controller kommunizieren kann. Ich sende also Befehle an den Controller und bekomme Ergebnisse von meinem Conrollerboard (Eigenentwicklung) zurückgeliefert.

    Jetzt kam es schon einige Male vor, das z.B. nicht alle Zeichen, die der Controller an den PC senden sollte vom PC empfangen wurden.
    So wurde z.B. statt: "Fehler: Kreuzstellung" nur die Zeichen "Feh" auf dem Hyperterminal des PC empfangen. Oder es wurde ein falsches Zeichen angezeigt, z.B. statt eines "i" wurde das Ascii-Zeichen peek? gesendet.

    Und das schlimmste was passiert war, ist, dass sich der Motor selbständig gemacht hatte. Das hätte eigentlich nie passieren dürfen, da das Programm in einer Schleife auf ein externes Startereignis wartet und sich erst dann bewegt. Allerdings fuhr der Schrittmotor auch in die entgegengesetzte Richtung. Das Schrittsignal wird im Übrigen auch softwaretechnisch erzeugt.

    Ich hab schon alles kontrolliert, ich habe mir die Controllerkarte nochmals angeschaut, überhaupt alle Leitungen überprüft, den gesamten Aufbau geerdet, nichts.

    Der Austausch des Conrollers führte zumindest zu einer Verbesserung, für zwei Tage. Nun wieder dasselbe Problem.

    Vielleicht liegt es an meinem Conrollerboard, ich habe die Kondensatoren und den Oszillator nicht direkt am Conroller sitzen, sonder etwas weiter davon entfernt.

    Bitte um Hilfe

    Ich weiß nicht mehr weiter.

    Gruß Oliver

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Klingt nach Baudraten-Fehler . Versuch mal eine andere Rate, je langsamer, desto besser, logo.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    08.12.2006
    Beiträge
    12
    OK,

    danke für den ersten Tipp werde ich versuchen. Außerdem habe ich einen 8MHz Quarz drin. Irgendwo habe ich mal gelesen, dass es besser ist einen 7,3728MHz Quarz zu nehmen. Kann das auch ein Problem sein?

    Gruß Oliver

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Irgendwo gibt's eine Liste, welche Abweichung bei welcher Baudrate bei welchem Quarz entsteht.
    Bei dir scheint es einfach kritisch knapp zu sein, weil meistens geht es ja.
    Irgendwelche Schwankungen möglich ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Die Baudratenfehler und UBRR-Settings stehen im Datenblatt unter USART / Examples of Baud Rate Settings
    Fehlende oder ungünstig Positionierte Kondensatoren lassen sich sehr oft durch SMD-Kondensatoren die man zwischen Pins oder direkt auf Leiterbahnen plaziert ergänzen.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    30.01.2005
    Ort
    Tokyo
    Alter
    59
    Beiträge
    242
    Zitat Zitat von oliher
    OK,

    danke für den ersten Tipp werde ich versuchen. Außerdem habe ich einen 8MHz Quarz drin. Irgendwo habe ich mal gelesen, dass es besser ist einen 7,3728MHz Quarz zu nehmen. Kann das auch ein Problem sein?

    Gruß Oliver
    Ja, verwende einen Baudratenquarz. Und vergiss die Bemerkung, dass es besser geht, wenn die Baudrate langsamer ist. Das ist falsch, auch wenn es hier im Forum ständig wiederholt wird. Entscheidend ist die prozentuale Abweichung von der Sollfrequenz. Diese findest Du im Datenblatt.
    Eine andere Möglichkeit ist natürlich auch, daß der Quarzoszillator nicht sauber schwingt. Aber fang erst einmal mit dem Baudratenquarz an.
    Warum macht sich der Motor selbstständig ? Weil er einen falschen Befehl empfangen hatte ?

    Gruß
    pctoaster
    Gruß
    pctoaster

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •