Letztes Jahr hab ich mir einen Swimmingpool mit vier Unter-Wasser-Scheinwerfern gebaut. Jede der Leuchten ist mit je 6 roten, grünen und blauen 1-Watt-LEDs bestückt. Nun war ich schon länger auf der Suche nach einem Fader, mit dem ich die vier Leuchten ansteueren kann. Das, was es so fertig auf dem Markt zu kaufen gibt, bot nicht, was ich mir vorstelle. Also hab ich mich dran gemacht, selber einen Fader zu entwickeln, welcher vier mal drei LED-Stränge mit 16 Bit PWM ansteuern kann, also insgesamt 12 Kanäle. Ausstattung und Funktion: - Zustandsanzeige mit 2-zeiligem Punktmatrix-LCD-Display - zwei Tasten auf/ab zum Auswählen des Fading-/Farbprogramms - zwei Tasten langsamer/schneller - eine Taste zum ein-/ausschalten der LED-Scheinwerfer - fünf verschiedene Farbverläufe RGB (es wird zyklisch von R nach G und B durchgefadet) RGB subtraktiv (es leuchten alle Farben, währans R, G, oder B zyklisch aus-/eingeblendet wird -> gibt Pastell-Farbverläufe) das ganze dann jeweils noch sequenziell und zeitversetzt über die vier Scheinwerfer verteilt RGB nacheinander einzelne Farbe an-/abschwellend Konstante Farbwiedergabe von 10 vorgegebenen Farben. Fading- und Farbverläufe werden in Structs definiert, also beleibig um neue Sets erweiterbar (solange das Flash vom Controller reicht g). Hardware und Entwicklungsplattform: Compiler: AVR-GCC 4.3.2 mit gnu99-flag, AVR-LIBC 1.6.2 Entwicklungsplattform: Kontrollerlab unter Kanotix (Linux-Debian 5.0) Wichtig: Konstante F_CPU muss vom Compiler mit der Prozessorfrequenz angegeben werden. Sonst kennen sich die Delayroutinen in <util/delay.h> nicht aus. AVR: Atmega8, 8 MHz int. RC-Osz., Fuse-Bytes: Low:0xD4 High:0xE9 Display: Lehner Dabitros YL#202-17/A7 (2 x 20 Z), baugleich mit DEM20231 (gibt's z. B. bei www.elpro.org) PWM-Controller: MBI5030 von Macroblock Mit diesem Projekt wird die Steuereinheit vorgestellt, welche zunächst nur für jeden Kanal eine Status-LED ansteuert. Die 12 LEDs sind auf der Platine in vier Gruppen zu jeweils R/G/B angeordnet. ALs nächstes werde ich noch den Leistungsteil entwickeln (Linear-Konstantstrom-Quellen mit 350 mA, taktbar), aufbauen und vorstellen, mit dem man dann 12 ganze Stränge von jeweils 6 hinter einander geschalteten 1-Watt-LEDs treiben kann. Aber das hat dann nix mehr mit AVR und Software zu tun :). ALs Programmbasis habe ich Routinen von roboternetz.de für die Tasterabfrage verwendet, die pwmtable_16[] vom Artikel "LED-Fading" hier auf'm Board, sowie eine auf 4-bit-io für den KS0066 umgeschriebene LCD-lib von P. Fleury. Die Bit-Banging-Routinen für die SPI-Ansteuerung des PWM-Controllers sind selber gebastelt, ebenso wie der Rest. Die C-Profis hier auf'm Board mögen hier sicher manche Programmierarbeit als stark verbesserungswürdig einstufen. Aber ich hab gegeben, was ich kann :) Ich hab mich nach langem Suchen und Recherchieren auch hier auf'm Board für einen Hardware-PWM-Controller entschieden. Die üblichen ATmegas bieten 16-Bit-PWM nur auf einem Kanal - soweit ich das verstanden habe. und 12-Kanal-Soft-PWM in 16-Bit Auflösung mit einem 8-Bit-AVR hab ich nirgends gefunden, auch keine Anregungen dazu. Das wird ein 8-Bit-µC auch ned mit brauchbarem PWM-Zyklus < 10 ms schaffen. Der MBI5030 schafft 16 Kanäle in 16-Bit-SPWM. Das heißt Scrambling PWM und bedeutet, dass mit einer überlagerten 10+6-Bit-PWM sehr hohe PWM-Zyklus-Frequenzen in effektiver 16-Bit-Auflösung erreicht werden. Ich hab mal nachgemessen: bei einem Takt von 0,5 MHz am GCLK-Eingang des MBI (für die PWM-Ansteuerung vorzugebender Takt) werden die LEDs bei 16-Bit-SPWM mit 500 Hz angesteuert und das auf 16 Kanälen. Der GCLK darf aber laut Datenblatt bis 8 MHz betragen, das ergäbe 8 kHZ an den LEDs (!!). Ich denke, da hört die Diskussion über 16-Bit-Software-PWM und LED-Flackern wirklich auf. Der MBI5030 kostet bei neumüller.com in Musterstückzahlen 1,00€/Stück + 12,80€ einmalig für Mindermengenzuschlag und Versand, das ganze + MwSt.. Dafür z. B. 12 tiny2313 herzunehmen und einzeln zu proggen lohnt echt ned. Sourcen für die Firmware sind im zip angehängt. Viel Spaß damit, Fragen und Anregungen gerne. Aber bitte nicht: "Wozu is denn sowas gut ... wer braucht denn das überhaupt .." und ähnlichen Quatsch. Wenn jemand die EAGLE Schaltplan- und Board-Files will -> PM an mich Grüße Jürgen
Jürgen Oelkoch schrieb:
> Wenn jemand die EAGLE Schaltplan- und Board-Files will -> PM an mich
Warum denn nicht öffentlich?
kleiner hunger schrieb: >> Warum denn nicht öffentlich? > Warum denn? Warum stellst Du es dann hier vor, wenn Du nicht alles veröffentlichen willst?
Nun, in der Eingabeseite beim Thread anlegen steht, dass man keine EAGLE-Files einstellen darf. Ich hab mich d'ran gehalten. Was ist so schlimm d'ran ? Traust dich nicht, mir eine Mail zu schreiben ?
Hallo Jürgen, ich hatte Dir vor einigen Tagen eine mail geschickt, aber noch keine Antwort bekommen. Hast Du die mail erhalten? Gruss Peter
Hallo Peter am 27.01. mailte mich ein anderer Gast an, seither nix erhalten. Grüße Jürgen
Hallo Jürgen, meine pn war vom 02.02. Hier meine mail-Adresse: Peter Punkt Zabel ät t-online.de Gruss Peter
Bekomme leider auch keine Antwort auf meine Mails.. der Schaltplan würde mir echt helfen.
Peter Fischer schrieb: > Bekomme leider auch keine Antwort auf meine Mails.. der Schaltplan würde > mir echt helfen. Juergen hat meine PM auch nicht bekommen, aber aufgrund meines Posts hier direkt mit mir Kontakt aufgenommen. Super Sache :) Vielleicht hat das Board ja ein Problem mit dem "__" im Benutzernamen
Hallo Jürgen, ich habe auch Interesse an dem Schaltplan und dem Board. andy.kr-at-gmx.net Danke Andreas
Moin, ich habe Interesse an dem Layout. Bitte via Email jpp-weber@web.de Vielen Dank
Hallo! Anscheinend wurde auch meine PM "geschluckt"... . Ich bin auch an dem Schaltplan und am Layout interessiert! der_halunke ät gmx.de Vielen Dank!
Hallo Jürgen! Ich möchte auch gern Schaltplan und Layout haben. Danke Dir schon mal, Gruss Frank beta-temp ät gmx.de
Sagt mal - hat jemand von Euch eine Antwort vom OP bekommen, oder will hier jemand nur E-Mail Adressen sammeln. Hab - wie viele andere auch - ne PM geschickt, aber keine Rekation.
Hi Leute Ich weiß nicht warum, aber es kommt nie eine PM bei mir an. Daher vervollständige ich jetzt mal die Adressen-Sammlung um meine eigene: j.oe@gmx.de. Sonst wird der Thread wirklich noch zum Adressen-Grab. Und das ist ja nicht Sinn der Sache. Also, wenn jemand die EAGLE-Files braucht oder Fragen zum Projekt hat, dann mailt mir. Grüße und schönes WoEnde Jürgen
Den MBI5030 setze ich derzeit versuchsweise ein, um vom Software-PWM wegzukommen. Mit einem ATMEGA8@16MHz konnte ich zwar eine PWM-Frequenz von 250Hz gut erreichen. Allerdings wird es dabei insbesondere bei niedrigen Helligkeitswerten von der Taktrate her schon ziemlich eng. Außerdem will ich eine PWM-Frequenz oberhalb von 600Hz erzielen, um mit RGBW-LEDs eine ruhige Beleuchtung zu erreichen. Um der Diskussion gleich vorzubeugen: nein, eine PWM-Frequenz von 100Hz reicht mir nicht, da ich das "Flackern" quasi aus dem Augenwinkel wahrnehmen kann, insbesondere bei Kopfbewegungen. Der MBI5030 bietet dazu einige interessante Features an, aber der maximale Ausgangsstrom von 60mA reicht für Highpower-LEDs natürlich nicht. Wie müsste ein entsprechender Booster für eine gepulste Konstantstromquelle auf MOSFET-Basis aussehen, damit Highpower-LEDs damit angesteuert werden können? Einige fiktive Anforderungen als Anhalt: - Eingangsstrom für den Booster 5-60mA (MBI5030) - Festlegung eines konstanten Ausgangsstroms (z.B. 700mA) - Versorgungsspannung bis 48V (für Reihenschaltung von mehreren Highpower-LEDs) - minimaler Energieverbrauch bei ausgeschalteten LEDs
ich würde auch sehr sehr gerne den Schaltplan und das Layout erhalten.. möchte aber meine e-Mail nicht posten und PM scheint ja nicht zu tun
Lieber Gott im Himmel, nun stell doch die zwei Files hier rein. So ein Affentanz Rudi
rudi schrieb: > Lieber Gott im Himmel, nun stell doch die zwei Files hier rein. > So ein Affentanz > Rudi Nana, Rudi, mal kein Stress. Ich häng die Files ja schon ran. Kann ja jeder haben. Man darf's eigentlich nicht, drum hab ich's bisher gelassen. Einen Leistungsteil dazu hab ich auch schon entworfen. Funktioniert von der Schaltung her mit den getakteten Konstantstromquellen bereits in einer anderen Anwendung. Mit dem 4-fach-Fader hab ich's noch nicht fertiggebaut und getestet. Grundsätzlich sind mit dem Emitterwiderstand im Leistungspfad beliebige Konstantströme einstellbar. 1,5 Ohm machen so ca. 320 mA. Platine ist geätzt, Bauteile liegen daneben, weiter bin ich noch ned gekommen. Grüße Jürgen
Jürgen Oelkoch schrieb: > Man darf's eigentlich nicht, drum hab ich's bisher gelassen. Das hab ich hier schon öfters gelesen, aber wo steht das? In den Nutzungsbedingungen kann ich nichts finden. Und warum sollte man das nicht dürfen?
Hä? schrieb: > Jürgen Oelkoch schrieb: >> Man darf's eigentlich nicht, drum hab ich's bisher gelassen. > > Das hab ich hier schon öfters gelesen, aber wo steht das? In den > Nutzungsbedingungen kann ich nichts finden. Und warum sollte man das > nicht dürfen? Wenn man zu einem Beitrag 'n File hochlädt, dann kommt das als Hinweis in einem Popup-Window.
Hallo, Offtopic: es geht doch mehr darum, der Platzverschwendung Einhalt zu gebieten. .sch Dateien sind Text Dateien, die sich sehr gut komprimieren lassen. LED_4fach_Fader_Pool.sch -> Zip 71 kB; 7z 51kB
Jürgen Oelkoch schrieb: > Hä? schrieb: >> Jürgen Oelkoch schrieb: >>> Man darf's eigentlich nicht, drum hab ich's bisher gelassen. >> >> Das hab ich hier schon öfters gelesen, aber wo steht das? In den >> Nutzungsbedingungen kann ich nichts finden. Und warum sollte man das >> nicht dürfen? > > Wenn man zu einem Beitrag 'n File hochlädt, dann kommt das als Hinweis > in einem Popup-Window. Hab das gerade mal mit einer Dummy-Datei (Endung passend, Inhalt nicht) getestet, bei mir kommt keine Meldung was vermutl. an Noscript liegen dürfte. Aber egal, die Frage warum man das nicht darf bleibt... Wirklich nur um Platzverschwendung zu vermeiden?!?
Jürgen Oelkoch schrieb: > Wenn man zu einem Beitrag 'n File hochlädt, dann kommt das als Hinweis > in einem Popup-Window. Nein! Es kommt ein Hinweis, das man für Bilder ein sinnvolles Format wälen soll: Für Photos: JPEG Für Schaltpläne und Zeichnungen: PNG Das heißt aber nicht das man keine Schaltpläne (ob gezippt oder nicht) hochladen darf...
Falk Brunner schrieb: > Sags doch einfach kurz. Siehe Bildformate. Ich wollte mich aber auf den Inhalt der Nachrichtenbox beziehen wo es heißt:
1 | 'Bitte beachten, sonst wird der Beitrag gelöscht: |
2 | 1. JPG-Dateien NUR für Fotos und Scans verwenden, Schaltpläne und Zeichnungen nur als PNG oder GIF. |
3 | 2. sinnvolle Bildgröße wählen. |
Die der TE wohl etwas zu streng ausgelegt hat ;)
Naja stimmt, zippen hätt' ich se auch noch können - hab nicht d'rangedacht. Aber nun habt ihr die Files verfügbar - und - jetzt baut mal los und habt Spass damit :) Übrigens: Das mit den getakteten Konstantstromquellen hab ich in einer selbst konstruierten Zimmerleuchte mit 24 1-W-LEDs in 4 Strängen á 6 LEDs laufen. Schaltet sauber als Rechteck durch, ohne verlustreiche Flanken - auch mit nicht ultraschnellen bipolaren Kleinleistungstransistoren à la BD675 o. ä. . Dazu wird ein ATtiny2313 mit 14-Bit-PWM an OC1A betrieben. 14-bit deswegen, weil man so mit PWM-clock = CPU-clock, 8MHz intern und Fast-PWM auf ne flimmerfreie PWM-Frequenz kommt. Bei 16-bit werden's nur 122 Hz - und das ist zu wenig. Selbst im 15-Bit-Modus mit 244 Hz sieht man noch leichtes flimmern, wenn man den Blickwinkel schnell vorbeigleiten lässt - hätt' ich ned gedacht. D'rum 14-bit mit 488 Hz, da is Ruhe. Ansonsten wertet der AVR einen Digitaleingang mit Taster gegen GND aus, womit sich der AVR (fast) wie ein gewohnter Tastdimmer benimmt. Also: kurz drücken = ein/aus, lang = auf/abdimmen - Ausnahme: Lang drücken bei ausgeschalteter Leuchte schaltet sofort auf volle Helligkeit ein. Hat mich nämlich bei den Tastdimmern genervt, wenn man da dunkel abgedimmt ausgeschaltet hat und nach dem einschalten erst aufs Hochdimmen warten muss, wenn man's hell will. Grüße Jürgen
Läubi .. schrieb: > Das heißt aber nicht das man keine Schaltpläne (ob gezippt oder nicht) > hochladen darf... Danke, hab mich schon gewundert...
Hallo, hab ich´s übersehen oder ist das HEX file nicht mit dabei? Wäre leichter wenn es auch hochgeladen werden würde. dann kann ichs gleich in den avr schreiben. Danke schon mal
Cool project. Good job. Thanks to you I did my project in SMD version. I really like your code. You're a good programmer. My version of Your project: http://www.elektroda.pl/rtvforum/viewtopic.php?p=9395250#9395250
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.