mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD und Software-PWM an Atmega gleichzeitig?


Autor: C4ve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag!

ich bin mal wieder am Basteln und stehe vor einem Problem...
Ich möchte gern mit einem Atmega8 gern zum einen ein Display (Samsung 
2138A - 50530) mit Menüs und Tasten ansteuern, dies läuft auch soweit 
super - nun würde ich aber gern zusätzlich noch 8PWM-Kanäle für LED's 
verwenden, die man dann einstellen kann. Da so viel Kanäle benötigt 
werden ist wohl Software-PWM nötig.
Das Display verwendet den Interupt TIM1_COMPA für die Ausgabe. 
(Abgeguckt bei Hannes.Lux - 
http://www.hanneslux.de/avr/stopuhr/index.html ) ;-)

Es ist kein Problem, wenn sinnvoll auch auf eine Atmega32 umzusteigen.

Wie mache ich das am besten? Hat jemand einen Tip für mich?


Mit Dank schon mal im Vorraus
C4ve

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

Bewertung
0 lesenswert
nicht lesenswert
C4ve schrieb:

> Das Display verwendet den Interupt TIM1_COMPA für die Ausgabe.
> (Abgeguckt bei Hannes.Lux -
> http://www.hanneslux.de/avr/stopuhr/index.html ) ;-)
>
> Wie mache ich das am besten? Hat jemand einen Tip für mich?

Die Grundsatzfrage lautet:
Mit welcher Frequenz soll die PWM laufen, bzw. eng damit 
zusammenhängend: wieviele Bits soll die PWM umfassen.

Die vorhandene ISR wird zur Zeit mit ~800Hz aufgerufen. Da wird das dann 
schon eng, mit einer Software-PWM.
Ich würde einen anderen Timer nehmen und in dessen ISR eine Software-PWM 
aufbauen

> Es ist kein Problem, wenn sinnvoll auch auf eine Atmega32 umzusteigen.

Wozu soll das gut sein?
Die Anforderungern an deinen µC lauten:
Taktfrequenz so hoch wie möglich.
Genug Pins um 8 LED + Display + Tasten anzuschliessen.

32kByte Flash brauchst du nie und nimmer.
Ausser natürlich, du hast einen Mega32 rumliegen, den du sonst für 
nichts anderes brauchst.


Im AVR-Tutorial findest du einen Artikel, der sich mit Software-PWM 
beschäftigt.

Autor: Hannes Lux (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> (Abgeguckt bei Hannes.Lux -

Na dann bist Du ja schon etwas in Übung (an meinen unkonventionellen 
Programmierstil gewöhnt)... ;-)

Aus dem halbfertigen (aber funktionsfähigen) Ding im Anhang kannst Du 
Dir ja dann auch das Konzept für die PWM abgucken. Es ist zwar nicht 
mehr mit Mega8 (sollte da aber reinpassen), weil da noch eine Menge 
Lichtshow-Sequenzen ins Flash sollen, auch nicht mit dem 24x8-LCD, 
sondern mit 40x4 (weil das so schön blau ist). Durch Umstellen der 
Ausgaberoutinen sollte es auch mit dem 24x8 laufen, allerdings sind die 
LCD-Routinen der Stoppuhr schon ganz schön alt, inzwischen nutze ich für 
LCD-Routinen einen Bildschirmspeicher im AVR-SRAM, das macht die ganze 
Ausgabe "sorgenfrei".

...

Autor: C4ve (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Antworten!

Ich bin leider noch nicht dazugekommen, weiter zu machen... werde wohl 
in den nächten Tagen mal reinschauen.


MfG
C4ve

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.