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
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.
hi, okay also software PWM via attiny2313 =) der attiny2313 hat doch aber nur einen 8bit counter... 12 prescaler ?
@ 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
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 :/
@ 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
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.
> 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.
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
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.