www.mikrocontroller.net

Forum: Compiler & IDEs Probleme mit PWM Ausgabe. "Signal" nur an PINB


Autor: pg-zonk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi zusammen

Ich probiere gerade meine ersten Gehversuche in GCC. Nach ein wenig üben 
währe ich nun beim ersten Projekt in C

Und zwar geht es um eine Ansteuerung eines DC-Motors. Der Motor wird 
einen Wasserwerfer drehen. Die Grundversion, welche einfach nur einen 
Analogwert eines Potis in einen PWM umwandelt funktioniert schonmal.
Da der DC Motor mit etwa 200W erhebliche Spannungsspitzen erzeugt möchte 
ich nebst entstörung durch Drosseln, Kondensatoren und TVS Diode einen 
Sanftanlauf + abschaltung konzipieren.

Soweit so gut...

Nun ist es leider so dass nicht einmal ein PWM ausgegeben wird. 
Ausgangswerte werden zwar ins OCR2 Register des ATmega8 geschrieben, das 
PWM Signal kommt in der Simulation allerdings nur im PINB Register auf 
PB3 an. PB3 im PortB Register wird nicht getoggelt. DDRB habe ich 
übrigens auf Ausgang gesetzt. Auch der Controller gibt keinen PWM aus. 
Kennt jemand dieses Problem?

Etwas ähnliches habe ich bereits hier gefunden.

http://www.roboternetz.de/phpBB2/viewtopic.php?p=300655

Wenn ihr es wünscht lade ich morgen die Software hoch als Demoprojekt.

Noch einen Schönen Abend

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
pg-zonk schrieb:

> einen Wasserwerfer drehen. Die Grundversion, welche einfach nur einen
> Analogwert eines Potis in einen PWM umwandelt funktioniert schonmal.


> Nun ist es leider so dass nicht einmal ein PWM ausgegeben wird.


Was jetzt?
Kriegst du eine PWM hin oder nicht.

Softanlauf ist ja nichts anderes als dass der OCR Wert einfach nur 
langsam ansteigt. Anstatt dass in deinem ersten Beispiel der OCR Wert 
vom Poti per ADC kommt, wird er jetzt einfach sukzessive erhöht, bis er 
einer Vorgabe (Vollgas) entspricht. Aber das ist ja wieder der PWM egal, 
wie du zu deinem OCR Wert kommst.

Autor: Jörg G. (joergderxte)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@OP: Erwartest du, dass die Hardware-PWM das PORTx Register verändert?

Das wird nicht passieren - im Datenblatt gibt's dazu ein Bild (z.B. beim 
Atmega48 heißt das 'Compare Match Output Unit, Schematic') im Kapitel 
'Output compare unit'.

Autor: pg-zonk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halleluja es läuft...

Erstmal Danke für eure Antworten!

> @OP: Erwartest du, dass die Hardware-PWM das PORTx Register verändert?

Genau das habe ich erwartet. Aber wie richtig schriebst passiert dies 
nicht weil ja die logische Verknüpfung zwischen PORTBx und OCx drin ist 
und nicht vor PORTx wovon ich zuerst ausgegangen bin.
Der Grund das ich keine PWM bekam lag natürlich an mir und meiner 
Software. Ein & verhängt und schon machts nicht das was man will
Tja... Datenblattlesen täte manchmal nicht schlecht.


> Softanlauf ist ja nichts anderes als dass der OCR Wert einfach nur
> langsam ansteigt. Anstatt dass in deinem ersten Beispiel der OCR Wert
> vom Poti per ADC kommt, wird er jetzt einfach sukzessive erhöht, bis er
> einer Vorgabe (Vollgas) entspricht. Aber das ist ja wieder der PWM egal,
> wie du zu deinem OCR Wert kommst.

Genau so habe ich das auch geplant. Nur ist es halt so eine Sache wenn 
man von Assembler auf GCC umsteigt und die Erfahrung fehlt. Da ist es 
auch am einfachsten die Entwicklugsumgebung zu beschuldigen ;-P

Tja dann

Prost und einen schönen Abend

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.