www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Software PWM mit mehr als 8 channeln


Autor: Froghut (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Ich weiss das es schon Software-PWM's für mehr als 8 channel gibt (z.B. 
von atmel etc), allerdings hätte ich gerne das in dem Artikel 
Soft-PWM beschriebene erweitert, weil das ja doch recht performant 
ist =)
Ich bin zwar kein Programmieranfänger, allerdings komme ich aus der 
Windows-Welt (C#), und dieses hardware-nahe programmieren fällt mir 
teilweise noch ein bisschen schwer. Grade das oben erwähnte Soft-PWM 
verstehe ich zwar vom Prinzip her, vom Code her wills mir aber leider 
noch nicht wirklich in den Kopf. Deswegen meine Frage:
Hat vielleicht schon jemand das im Artikel beschriebene Soft-PWM so 
erweitert das man mehr als 8 Kanäle benutzen kann, falls nicht 
vielleicht hat ja jemand lust drauf, oder will mal jemand den 
source-code im Artikel noch ausführlicher kommentieren um ihn Anfängern 
noch begreiflicher zu machen?

Danke schonmal,

Björn

Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falls es dir nicht zu spät ist.. ich bin gerade an sowas dabei.

Man kann soviele Channels definieren wie man möchte. Jedem Channel kann 
man einen Port und einen Portpin zuteilen.

Ich werde mich melden wenn ich fertig bin und interesse besteht.
lg PoWl

Autor: Björn V.d.o. (froghut)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

das klingt ja mal Spitze!
Intresse bestünde immernoch, geb doch einfach nochma bescheid, hier im 
Forum oder wie auch immer, wenn du was fertig hast, wäre super!
Danke schonmal

Björn

Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, hier ein erster Vorgeschmack. Hab es nun erstmals zum Laufen 
gebracht. Das ganze ist für einen ATmega8. Geschaltet werden im Moment 
noch nicht die PORTs sondern nur die DDRs, weil ich damit die Gates von 
Feldeffekttransistoren auf Masse ziehe um mir nen zusätzlichen 
Transistor pro FET zu sparen. Kann man leicht umändern indem man die 
DDRs standardmäßig mit 0xFF besetzt und alle DDRB und DDRC Anweisungen 
durch PORTB und PORTC ersetzt.

Um weitere Ports hinzuzufügen muss man ein wenig umprogrammieren, ist 
aber mit ein bisschen Copy&Paste schnell erledigt.

Das ganze Ding kann man per RS-232 Steuern. Es hört auf

on <Channel>
off <Channel>
pwm <Channel> <PWM-Value>

also z.B.

pwm 1 100
pwm 2 150

Habe heute leider keine Zeit mehr. Am Code gibt es sicher noch eine 
ganze Menge zu verbessern und zu optimieren. Morgen bastel ich mal eine 
Standalone-Demo, u.A. eine für einen ATmega16 in dem ich dann einen 
Sinusartigen PWM-Verlauf auf 32 LEDs darstellen werde.

Ach ja, die PWM läuft bei 8 Mhz internem RC-Oszi mit 244Hz (!!) 
Eventuell sind sogar 488Hz drin, hab noch nicht gemessen wie lange die 
ISRs brauchen ;-)

lg PoWl

Autor: Paul H. (powl)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Huch, Anhang vergessen.

Das ganze gibt übrigens ein Stromanschlusspanel für meinen PC hinten an 
dem ich 5V und 12V abgreifen und per Software Steuern kann. Ist ganz 
Praktisch für 5V und 12V Verbraucher wie meine Schaltungen, Lampen, 
TFT-Monitor, ext. TV-Karte, Minilötkolben, Lüfter.

lg PoWl

Autor: Paul H. (powl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, fertig

ist in der Codesammlung

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.