mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ports einstellen beim debuggen


Autor: Moe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum,

Habe ein Problem beim debuggen...
Ich nutze das Atmel Evaluation Kit ATAVRMC320 mit AVR Studio4.17 mit 
WinAVR. Auf dem Board ist ein ATmega32M1 Controller. Steuere damit ein 
BLDC-Motor an.
So jetzt zu meinem Problem: Wenn ich das Programm laufen lasse, der 
Motor dreht sich und ich dann auf Reset drücke versucht das Programm 
noch die nächste Kommutierung auszuführen und der Motor fängt an zu 
zittern. Dazu kommt noch das der Strom den der Motor zieht auf kurzeitig 
8A hoch geht und ich mir dadurch schon paar mal die Sicherung 
zerschossen hab bzw. mein Netzgerät geht in die Begrenzung.

Habe mir auch schon das Bsp von Atmel angeschaut. Da tritt dieses 
Problem nicht auf und wenn man da beim debug auf reset drücke dann 
werden alle Ausgänge auf low gestetz und der Motor läuft schon ruhig 
aus.

Jetzt meine Frage ist das ein Fehler bei mir Programm oder sind da 
irgend welche Einstellungen bei mir Falsch?
Noch kurz zu eurer Info ich habe noch nicht viel mit µC gemacht aber 
meine jetztige Aufgabe erfordert es von mir.

Hoff ihr könnt mir Helfen.

Gruß Moe

: Verschoben durch Moderator
Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moe schrieb:
> Jetzt meine Frage ist das ein Fehler bei mir Programm oder sind da
> irgend welche Einstellungen bei mir Falsch?

Was sagt denn das Datenblatt deines Controllers dazu?

Normalerweise sind bei den üblichen Controllern alle Pins nach einem
/RESET im tristate-Zustand (bzw. als Eingang geschaltet), allerdings
könnten diese PWM-Controller Sonderschaltungen besitzen, bei denen
die PWM-Kanäle nach dem Reset andere Zustände einnehmen, weil der
Zustand "hochohmig" in der Applikation nicht wünschenswert ist.

Die Details müsste aber das Datenblatt verraten.

Kannst du nicht den Motorstromkreis von der Versorgung des Controllers
trennen und den Motor strombegrenzt mit einem Labornetzteil betreiben?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moe schrieb:
> Habe mir auch schon das Bsp von Atmel angeschaut. Da tritt dieses
> Problem nicht auf und wenn man da beim debug auf reset drücke dann
> werden alle Ausgänge auf low gestetz und der Motor läuft schon ruhig
> aus.

Laut Datenblatt ist Low-Pegel unmöglich:

"The port pins are tri-stated when reset condition becomes active, even 
if no clocks are running."


Willst Du bei Reset Low, mußt Du externe Pulldowns ranpappen.


Peter

Autor: Moe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Motorstromkreis ist seperat über ein Labornetzteil und der Strom ist 
begrenzt so das nichts mehr passieren kann.

Was ich nicht verstehe ist wenn ich das Atmelbsp AVR192 debugge und auf 
Pause drücke sind die Ausgänge des PSC-Moduls sofort auf 0V, d.h. sie 
geben keine PWM mehr aus.

Bei meinem Programm jedoch ist das nicht der Fall. Wenn ich dieses 
debugge und auf Pause drücke geben die PSC-Ausgänge weiterhin die PWM 
aus.
Ist das normal oder habe ich Fehler in meinem Programm oder sind irgend 
welche Einstellungen falsch?

Hätte es gerne auch das bei mir dann keine PWM mehr ausgegeben wird da 
der Motor den ich angeschlossen dann versucht sich weiter zu drehen es 
aber nicht geht da das Programm angehalten worden ist. Und ich glaube 
nicht das es dem Motor gut tun wenn er dann Pfeift und Quitscht.

Hoff ihr könnt nachvollziehen was ich meine und mir helfen...

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun schau doch endlich mal ins Datenblatt, Kapitel 28.3.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moe schrieb:
> Was ich nicht verstehe ist wenn ich das Atmelbsp AVR192 debugge und auf
> Pause drücke ...

Dann würde ich mal sagen, "Pause" macht irgendwas, aber bestimmt keinen 
Reset.
Was macht denn "Pause"?

Vielleicht hält der Debugger nur die Mainloop an und läßt die Interrupts 
weiter laufen.


Es gibt Programme, die mögen es nicht, wenn man sie unerwartet irgendwo 
anhält, z.B. Regelkreise.
Da sollte man besser keinen HW-Debugger nehmen, sondern Debugausgaben 
einprogrammieren, die den Ablauf nicht stören.


Peter

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.