www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 12 kanal PWM?


Autor: Michael P. (mpl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich bin derzeit an ner LED Beleuchtung fürs Aquarium dran... die 
leuchtet nur abends zur Deko Zwecken wenn die Röhren aus sind.

jetzt hab ichn kleineres problem... da ich da verschiedene "effekte" 
hinzufügen möchte bräuchte ich nen 12 Kanal PWM der per I2C gesteuert 
werden kann auf attiny/atmega basis jetzt könnte ich

a) 3 attiny2313 (1 für 4 PWM's) nehmen
b) meinen gestern erhaltenen atmega1281 mit 12 PWM's nehmen (sehr 
ungern)
c) eventuell etwas mit den hier liegenenden Atmega644p/atmega32 
anstellen?
d) ???

der atmega1281 soll eigentlich als I2C master dienen und etliche 
kleinere controller verwalten... wie z.b. aquarien steuerungen (pH, 
Temperatur, Licht, Lüftung, Filter) Wetterstation, Wecker, LED zimmer 
beleutungen LCD'S usw... also so ne art Hausbus (Bascom) eventuell 
umstieg auf C je nach aufwand un "einlern zeit"

zur verfügung an unverbauten atmel produkten habe ich wie o.g.

3 x attiny2313
1 x atmega1281
2 x atmega644p
1 x atmega32
1 x hühnerfutter

mfg

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigentlich müsste ein ATTiny doch für alle 12 Kanäle a 8 bit ausreichen, 
du musst ihn halt in Assembler und nicht Bascom programmieren.

Da du ihn per I2C ansteueren willst, reichen die Pins, sie reichen nur 
nicht er auch noch das Bedieninterface sein soll.

Autor: Michael P. (mpl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

okay also software PWM via attiny2313 =)

der attiny2313 hat doch aber nur einen 8bit counter... 12 prescaler ?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Michael P. (mpl)

>jetzt hab ichn kleineres problem... da ich da verschiedene "effekte"
>hinzufügen möchte bräuchte ich nen 12 Kanal PWM der per I2C gesteuert
>werden kann auf attiny/atmega basis jetzt könnte ich

Viele Wege führen nach ROM. Soft-PWM oder ein TLC5922 oder einer 
seiner Brüder. Wenn du große Power-LEDs hast, brauchst du eine 
Konstantstromquelle fuer Power LED.

>3 x attiny2313

Reicht. Ist aber zu klein, wenn du dein anderes Zeug noch reinpacken 
willst (Flash 2k).

>1 x atmega32

Der reicht für alles.

MFG
Falk

Autor: Michael P. (mpl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner schrieb:
> Wenn du große Power-LEDs hast

sind 5mm ultrahell LED's

Falk Brunner schrieb:
> Ist aber zu klein, wenn du dein anderes Zeug noch reinpacken
> willst

der attiny2313 wird nur der PWM Treiber und die I2C Routinen haben

Falk Brunner schrieb:
> Der reicht für alles.

joa :D aber hat zu viele freie Pins dann

MaWin schrieb:
> musst ihn halt in Assembler

kann isch nischt :/

habs mir auch schon qualvoll beibringen wollen aber ging in die Hose und 
hat mich bestimmt 500blatt A4 gekostet :/

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Michael P. (mpl)

>> Wenn du große Power-LEDs hast

>sind 5mm ultrahell LED's

Das sind "normale" LEDs mit 20mA. High Power geht ab 100mA++ los.

>der attiny2313 wird nur der PWM Treiber und die I2C Routinen haben

Kann man machen, ist aber Overkill. Pack das mit in deinen "Haupt"AVR 
und gut. Dieses Multiprozessorgetue ist nix für Anfänger. Bringt mehr 
Ärger als Gewinn.

>joa :D aber hat zu viele freie Pins dann

Ach herje.

>> musst ihn halt in Assembler

Braucht man nicht. Siehe Artikel Soft-PWM.

MfG
Falk

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

Bewertung
0 lesenswert
nicht lesenswert
Michael P. schrieb:

> der attiny2313 wird nur der PWM Treiber und die I2C Routinen haben

Warum I2C

I2C ist gedacht für Kommunikation auf einer Platine. Also dort wo kurze 
Wege herrschen.

So wie ich das verstanden habe, hast du irgendwo eine Art Zentrale, von 
der aus (nicht nur) dein Aquarium gesteuert werden soll.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> der attiny2313 hat doch aber nur einen 8bit counter

Der Counter ist doch sowieso nicht für Hawrdware-PWM tauglich,
du wirst die 12 Kanäle (PB0..PB7, PD0..PD3) schon in Software 
zusammenklackern, dann braucht man keinen Timer mehr.

Den einen Timer setzt man ein, damit man bei den 2 laufenden
Jobs (I2C und PWM) beim einen die Zeit des anderen
berücksichtigen kann, also als Synchronisierung des
Programms mit einem unveränderlichen Zeitpunkt.

Ohne Assembler tut man sich aber mit Sicherheit schwer,
schlisslich sind beide Jobs, I2C und PWM, vor allem
Bitklackerei, die am einfachsten in Assembler geht.

Autor: avr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Tiny2313 hat einen Vorteil, er hat UART.
Das sollte man (evtl. als RS485) nutzen.
Damit ist die Übertragung einfach und der Timer
kann als Zeitgeber für eine Soft-PWM verwendet werden.

Bei 12 LEDs a 20 mA ist der Tiny schon überfahren. Er darf
nur 200 mA. (Evtl. einige gegen GND andere gegen VCC)

avr

Autor: Michael P. (mpl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Karl heinz Buchegger schrieb:
> I2C ist gedacht für Kommunikation auf einer Platine. Also dort wo kurze
> Wege herrschen.


das wusste ich leider nicht... aber die paar meter wird es hoffentlich 
schaffen falls nicht müsste ich das ganze umdenken ala RS485 RFM12 für 
controller die weiter weg sind und I2C nicht mehr schaffen...

ich schau jetzt erstmal wieweit ich alles optimieren kann

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.