Hallo.
Ich spiele mit dem Gedanken mir einen über DMX steuerbaren LED PAR oder
Pinnspot zu bauen. Die Farben sollen gemischt werden können
(warscheinlich am sinvollsten und auch am verbreitesten ist RGB). Mein
wunsch Ziel währe, dass die Helligkeit mit einer normalen 100W Glühbirne
vergleichbar ist.
Wenns ein Par wird, darf das Licht ruhig ein wenig verstreut sein
(30-50° Abstrahlwinkel). Wenns ein Pinnspot wird, sollte es eher ein
scharfkantiger, schmaler Lichtkegel sein (~ 10°). Mal sehen, was
einfacher realisierbar ist.
Das mit dem DMX sollte ich irgendwie hinbekommen.
Woran ich zurzeit scheitere ist die Elektronik, die per 5V TTL gesteuert
werden soll.
Das zurzeit größte Problem: die LED(s)
Viele kleine oder wenige stärkere? Je drei einfärbige oder je eine
tricolor LED?
Kann mir jemand günstige, dafür geeignete LEDs vorschlegen?
Würde mich über eure Unterstützung sehr freuen ;)
MfG Domi
Dominik S. schrieb:> Viele kleine oder wenige stärkere?
"viele kleine" haben den Vorteil, dass die leuchtende Fläche groß ist
und somit keine Blendung auftritt. Zudem ist keine spezielle Kühlung
notwendig. Ich habe 10m RGB-LED-Strips in fünf Bahnen nebeneinander auf
ein 2m langes Alu-Vierkantrohr 20mm x 50mm geklebt. Ausgangsbasis für
die Ansteuerung war Zabex' Sofabeleuchtung
http://www.zabex.de/site/sofabeleuchtung.html und als Stromversorgung
dient ein 72W-Universal-Schaltnetzteil.
"wenige stärkere" sind kompakt im Aufbau, müssen aber gezielt gekühlt
werden. Zusätzlich muss man dafür sorgen, dass kein direkter Blick auf
eine LED möglich ist, auch nicht von der Seite. Berührungsschutz ist
wegen der hohen Temperatur der LED ebenfalls notwendig. Ich habe hier
10W-LED-Module, die Dinger sind wirklich gemein hell!
Dominik S. schrieb:> Hallo.>> Ich spiele mit dem Gedanken mir einen über DMX steuerbaren LED PAR oder> Pinnspot zu bauen. Die Farben sollen gemischt werden können> (warscheinlich am sinvollsten und auch am verbreitesten ist RGB). Mein> wunsch Ziel währe, dass die Helligkeit mit einer normalen 100W Glühbirne> vergleichbar ist.> Wenns ein Par wird, darf das Licht ruhig ein wenig verstreut sein> (30-50° Abstrahlwinkel). Wenns ein Pinnspot wird, sollte es eher ein> scharfkantiger, schmaler Lichtkegel sein (~ 10°). Mal sehen, was> einfacher realisierbar ist.
Vermitlich ist der PAR-Strahler einfacher. Die Frage ist, ob man mit
Bauteilkosten gegen sowas:
http://shop.lmp.de/de_DE/002000000/002390000/002390100/00161468.html
mithalten kann.
Oder so:
http://shop.lmp.de/de_DE/002000000/002390000/002390100/00184694.html
wenn es etwas enger sein soll. Es ist aber nicht scharf begrenzt.
bye uwe
Ja aber welche LEDs genau? Die sind ja alle Ar*** teuer!!
Auch die Ledstripes.
Ich habe mal grob nachgerechnet - wenn ich so viel lichtleistung haben
möchte, wie ich sie bei einem 39€ teuren fertigen LED PAR bekomme,
kosten alleine schon die Leds (c.a. 100stk) schon 30€!!
Hat jemand ne Idee, woher man brauchbare, helle aber sehr günstige LEDs
bekommt?
Wenn mir das Projekt über 50€ kosten würde, könnte ich mir das ja auch
schon fertig kaufen...
//EDIT1:
@Uwe: Neee, viel zu teuer!! Leider. Solch teure LED Pars sind wirklich
toll (kenne jemanden der welche in dieser Preisklasse hat), kommen für
mich aber nicht in frage.
Ich bewege mich eher im dem ganz unteren Preissegment...
//EDIT2:
So etwas in der Art, währe glaube ich ganz brauchbar:
http://www.led1.de/shop/led-rainbow-rgb-ultrahell/power-rgb-leds/prolight-power-rgb-led-3-watt-emitter-6-pin-106-lumen.html
Nur halt viel zu teuer. Würden die nur 5€ kosten, würde ich 9 davon
nehmen und gut ists. Aber für 14€ je Stück?!
Dominik S. schrieb:> Wenn mir das Projekt über 50€ kosten würde, könnte ich mir das ja auch> schon fertig kaufen...
Wenn du es für 50€ kaufen kannst, mach das! Ich glaube nicht dass selber
bauen billiger wird. Leistungsstarke LEDs haben ihren Preis, besonders
bei kleinen Stückzahlen. Hab ich schonmal die Kühlung erwähnt?
Mhm... eigentlich hatte ich erhofft, das ich mit selber bauen günstiger
komme...
Aber ich versteh das nicht. Die Hersteller solcher billig LED PARs
benötigen ~150 LEDs, eine Hauptplatine, die das DMX Signal empfängt,
auswertet und die LEDs steuert und ein Gehäuse mit Trafo und Netzkabel.
Das alles muss dann noch zusammengebaut und nach Europa transportiert
werden. Weiters wollen der Importeur und der Verkäufer auch noch Gewinn
machen.
Und dann können die das noch billiger verkaufen, als wenn man das selber
baut?!
Ich denke, ich werde das mit dem selber bauen wohl oder übel bleiben
lassen. Ich habe nichts davon, wenn es nur mehr kostet, aber auch nicht
besser ist als z.B. sowas:
http://www.musicstore.de/de_DE/EUR/Licht/PAR-64-LED/lightmaXX-LED-Par-64-RGB-Black-Short-5mm-LEDs/art-LIG0007616-000
>Und dann können die das noch billiger verkaufen, als wenn man das selber>baut?!
Und was ist daran so schwer zu verstehen?
Die Bauteile, die Du einkaufen müßtest, nehmen den geleichen Weg. Nur
kaufst Du davon 10 Stück ein. Jeder Zwischenhändler verdient an Dir.
Bei den Bauteilekosten wirst Du immer teurer einkaufen. Was Du Dir
einsparen kannst sind alleine die Kosten für die Arbeitszeit, weil Du es
selbst fertigst. Nur die Arbeitszeit kostet nix. Entweder bestücken
Maschinen so unglaublich billlig, oder moderne Sklaven in China.
Wo kannst Du jetzt billiger sein als das fertige Massenprodukt?
Es ist ganz einfach: sparen kann man beim Selbstbau bestenfalls bei
exotischen Geräten oder bei Einzelstücken. Niemals kommst du aber gegen
Massenware an. Es kann sein, du bekommst es billiger hin, dann aber
sicher nicht besser oder annähernd gleich gut. Und Led-PAR Leuchten
sind Massenware...
Selberbauen macht dann nur Sinn, wenn "Lernen" im Vordergrund steht.
Dominik S. schrieb:> aber auch nicht> besser ist als z.B. sowas:> http://www.musicstore.de/de_DE/EUR/Licht/PAR-64-LE...
Grübel, grübel...
"183 RGB 5mm LEDs"
"156 RGB 5mm LEDs"
Also was jetzt?
"DMX-Controller möglich"
Also keiner drin?
"1070 Farben möglich"
Komische Zahl.
"Geringe Leistungsaufnahme"
Wieviel denn?
183 LEDs x 3 Farben x 20mA x ca. 2V = 22W, dazu noch die Verluste, macht
geschätzt 30 bis 50 Watt.
"Minimale Wärmeentwicklung"
Mhm! Vorne zu, aber immerhin ein paar Lüftungsschlitze.
OK, mehr ist zu dem Preis wohl kaum zu bekommen. Darf man nicht meckern,
es ist gut abzuschätzen, dass das qualitativ kein High-End-Produkt sein
kann. Also kauf das Teil, probier es aus und schick es zurück, wenn es
die Erwartungen nicht erfüllt.
Zum "Selberbauen":
Das machst du aus Spass an der Sache oder weil es das, was du haben
willst, so nicht gibt oder weil es als kommerzielle Spezialanfertigung
nicht bezahlbar ist. Gegen moderne Massenproduktion kannst du preislich
nicht mithalten. Und den Aufwand einer Spezialanfertigung wirst du erst
zu würdigen wissen, wenn du so ein Teil mal selbst gebaut hast und dir
die aufgewendete Zeit vor Augen hältst.
Meine Meinung: Es bleibt der Spass an der Sache. Und den kann auch mit
den vernünftigsten Argumenten keiner wegdiskutieren. ;-)
Wär' schön, wenn du berichten würdest, wie es am Ende ausgeht.
Naja, IMHO sind NUR die dreipoligen XLR vernünftig. Bei fünfpolig wird
"im Alltag" dann doch wieder ein Adapter auf dreipolig draufgesteckt, um
dann mit Mikrokabel weiterzugehen...
Mein ausgangspunkt war: Ich möchte ein paar günstige LED PARs für kleine
Partys.
Selberbauen kahm mir in den Sinn, weil ich dachte, ich komme billiger,
kann das Teil genau so bauen, wie ICH es möchte, nicht wie es ein
Hersteller vorgibt und eifach auch wegen dem selber bauen.
Aber nachdem ich noch Schüler bin (und somit nicht gerade viel Geld
habe), werde ich in diesem Fall warscheinlich fertige LED PARs nehmen.
Und warum ich dachte, mit selber bauen kommt man billiger? Ganz einfach:
- 8 Kanal DMX Dimmerpack kann man etwas günstiger als das billigste
fertig 4 Kanal Dimmerpack bauen.
- USB-to-DMX Interface kann man auch billiger bauen, als das billigste
fertig Interface.
Ich kenne jemanden, der die beiden Geräte gebaut hatt, deshalb kann ich
das mit sicherheit sagen.
Daraus schlussfolgerte ich, das sich die LED PARs auch günstiger
herstellen lassen sollten... dabei lag ich anscheinend aber falsch.
Aber irgend ein DMX Projekt werde ich demnächst zustande bringen. Weiß
nur noch nicht welches.
Vielen Dank für eure schnellen Antworten ;)
Auch wenn aus meinem Vorhaben doch nichts geworden ist - hier wird einem
echt toll geholfen!! ;)
MfG Domi
WTF!!
Das sind ja mal preise!!
Vielen Dank für die Links, der Onlineshop ist von den Preisen her ja der
Wahnsinn!!
Ja wenn der Versnad kostenlos ist (wie auch immer das gehen mag?!)
müsste ich im Notfall halt mehrere Bestellungen machen.
Die LED finde ich ganz interessant:
http://www.dealextreme.com/p/15w-15-led-rgb-light-plate-dc-10-18v-107905?item=31
Aber es stehen keine genauen technischen Daten dabei. :(
Und das grün scheint mir dunkler zu sein, als die restlichen Farben. Im
vergleich dazu, die Helligkeiten eines 0815 LED PAR:
- Leistungsintensität: Rot 30,5 Lm; Grün 317,2 Lm; Blau 48,8 Lm
(Quelle:
http://www.thomann.de/at/eurolite_led_par_64_rgb_10_mm_leds.htm)
Genau diesen PAR habe ich schon gesehen, da sind alle Farben ungefähr
gleich hell.
Aber zu diesen Preisen ist das wohl doch noch ne Überlegung wert,
vileicht nicht doch selber nen LED PAR oder Pinspot zu bauen :)
MfG Domi
Martin H. schrieb:> Naja, IMHO sind NUR die dreipoligen XLR vernünftig. Bei fünfpolig wird> "im Alltag" dann doch wieder ein Adapter auf dreipolig draufgesteckt, um> dann mit Mikrokabel weiterzugehen...
Das Problem ist dabei, das Mikrofonkabel eigentlich nicht dafür geeignet
ist, und das die Herren Lichttechniker dann in Versuchung kommen, ihren
DMX Kram über mein Multicore zu ziehen und damit meine schöne Tonerde zu
verseuchen :-)
Noch ein Tipp zu Stairville: Ersatzteile gibts dafür so gut wie nicht,
der nette Thomann Techniker sagte zur defekten CPU in meinem LED Matrix
Beamer, das sie die Dinger komplett entsorgen und den Kunden neue
ausliefern. Also den MC (war bei mir ein gesockelter (!) 8051) gleich
auslesen und kopieren :-)
Ausserdem fallen gerne mal ein-zwei LEDs aus. Bei nem PAR ist das nicht
schlimm, bei meiner LED Matrix aber doch störend.
Dominik S. schrieb:> //EDIT1:>> @Uwe: Neee, viel zu teuer!! Leider. Solch teure LED Pars sind wirklich> toll (kenne jemanden der welche in dieser Preisklasse hat), kommen für> mich aber nicht in frage.>> Ich bewege mich eher im dem ganz unteren Preissegment...
Hmm, Lightcraft ist das ganz untere Preissegment. Also ich meine, die
Geraete sind auch benutzbar, im gegensatz zu den 5mm-dingern. Bei
letzteren, eben mit diesen 5mm LEDs, das kommst du beim Selberbasteln
mit Sicherheit besser hin. Das geht schon bei der PWM-Frequenz los und
hoert nicht bei der Dimmkurve auf. Beispielsweise um Weiss zu machen
muss man oft das Gruen runterregeln, was aber in der Leuchte, nicht im
DMX-Sequenzer passieren sollte.
Richtig geil finde ich z.B. eine Hue-Saturation-Brightness Ansteuerung.
Das bekommt man aber erst bei richtigen Leuchten, nicht bei Lightcraft
;o) Beim Selberbasteln kann man das ja relativ einfach implementieren.
bye uwe
Dominik S. schrieb:> Meint ihr, bekommt man> dafür ne passende und vorallem günstige optik?
Nur, wenn du selber über Flohmärkte und durch Optikläden mit
Gebrauchtzeugs streifst. Grosse Sammellinsen sind recht teuer, vor allem
wenn sie aus Glas sein sollen. Die Befestigung einer Linse ist auch
nicht ganz unproblematisch. +
Ich hab jetzt nicht genau geschaut, aber mögl. passt so ein LED Array in
die Rückseite einer 6*6 Kamera. Dann strippst du das Objektiv bis auf
eine Linse (wg. Lichtverlust) und hast einen kleinen Scheinwerfer.
Ne, ich weiß nicht so recht... ich glaube das Projekt würde mir nur viel
kosten, aber dann nicht so sein, wie ich es gerne hätte.
Mir ist gerade aufgefallen, dass selbst eine 1W LED schon verdammt
blendet wenn man hineinsieht. Bei 10W währe das warscheinlich
entsprechend heftiger. Deshalb haben LED PARs warscheinlich auch mehrere
nicht ganz so starke LEDs.
Was ich mir aber viel eher vorstellen könnte - ein DMX steuerbarer RGB
LED Stripe.
Konkret dachte ich an den da:
http://www.dealextreme.com/p/30w-waterproof-150x5050-smd-led-colorful-light-strip-with-remote-controller-5-meter-dc-12v-51940?item=16
Was mich ein wenig stört - da ist schon ein controller dabei, den ich
mitbezahlen muss. Aber wenn man schaut, was solche LED Stripes bei uns
in Europa kosten ist man schnell wieder zufrieden :)
Aber der Zoll... :( Weiß jemand mit wieviel ich da in Österreich rechnen
muss? Ich glaube 19%. Das währen dann gesammtkosten von fast 40€ :(
PS: Haltet ihr einen neuen Thread für angebracht? Ist ja kein LED PAR.
Die Ansteuerung währe aber vom prinzip her die selbe.
Oh ja, das sieht ja mal gut aus!! Danke für den Link!! ;)
Weiß von euch zufällig jemand, woher ich günstig ein 4-Adriges
Flachbandkabel herbekomme? Oder ein anderes 4-Adriges Kabel ohne unnötig
viel Isolierung herum? Gesammtstrom (wenn alle 3 Farben an sind) wird
c.a. 3A sein. Ich würde mal sagen, dafür sollten 0,5mm² noch reichen.
Ich finde einfach in keinen der gängien Shops ein brauchbares Kabel?!
Dominik S. schrieb:> Mir ist gerade aufgefallen, dass selbst eine 1W LED schon verdammt> blendet wenn man hineinsieht. Bei 10W währe das warscheinlich> entsprechend heftiger.
Ja, wie ich oben schon geschrieben habe. Selbst eine einzelne
20mA-Cool-White-LED ist bei 10° Öffnungswinkel unangenehm hell.
Dominik S. schrieb:> Weiß von euch zufällig jemand, woher ich günstig ein 4-Adriges> Flachbandkabel herbekomme?
Zwischen LEDs und Kontroller? Setz' den Kontroller lieber ganz dicht an
die LEDs ran, wenn das irgendwie möglich ist. Spart Ärger und Verluste.
Ja, das Kabel hätt' ich zwischen Controller und und den LEDs getan.
Den Controller direkt zu den LEDs wird schwierig... die Zuleitung sollte
mindestens 2,5m sein, im Idealfall sogar 4m. Der Controller und
Leitungen lassen sich da schlecht halbwegs versteckt platzieren, wo die
LEDs hin sollen. Und ein dünnes 4-Adriges Kabel lässt sich besser
verstecken als zwei DMX Kabel mit ~7mm durchmesser und die Zuleitung für
den Strom.
Könnte bitte schnell jemand nen Blick über die Schaltung werfen, ob eh
alles passt? Vorallem bei der ISP Buchsenleiste bin ich mir nicht
sicher, ob die richtig angschlossen ist, denn das wird mein erstes
Projekt mit programmierbaren µC.
Im großen und ganzen ist die Schaltung aber an dieser hier angelehnt:
http://www.ulrichradig.de/home/index.php/avr/dmx-led-strip
MfG Domi
ISP-Belegung ist OK.
Der IRFR1205 hat zwar einen guten R-DS-on, aber nur bei 10V
Ansteuerspannung. Du brauchst einen, der bei 5V sicher schaltet.
Vom Gate der MOSFETs noch einen 100k nach GND (definierter Zustand
während Reset des µC).
Der Kondensator an Reset wird kontrovers diskutiert, ich habe da nie
einen dran. Dafür finde ich einen Reset-Taster nützlich.
Abblock-Kondensator zwischen VCC und GND muss sein.
Den R5 zur Bus-Terminierung würde ich mit einem Jumper in Reihe
schalten.
Nur einer der Pins für die MOSFET-Ansteuerung ist PWM-tauglich
(Hardware), das auch nur mit 8-Bit-PWM. Wenn das reicht, ist's gut.
Sonst hier nochmal der Tipp mit Zabex' Sofabeleuchtung
http://www.zabex.de/site/sofabeleuchtung.html.
> Der IRFR1205 hat zwar einen guten R-DS-on, aber nur bei 10V> Ansteuerspannung. Du brauchst einen, der bei 5V sicher schaltet.
Gibt es da nen passenden MOSFET im selben Gehäuse und nach Möglichkeit
mit gleicher Pinbelegung? Ich habe mit MOSFETs noch nicht wirklich was
zu tun gehabt und kenne mich somit auch nicht unbedingt gut aus...
> Der Kondensator an Reset wird kontrovers diskutiert, ich habe da nie> einen dran. Dafür finde ich einen Reset-Taster nützlich.
Ich habe zwar noch nie was mit programmierbaren µCs zu tun gehabt,
unlogisch finde ich das aber nicht. Ich habe vor kurzem was mit einem
CS8406 gemacht, der wollte beim Einschaltun auch im Reset-Zustand sein.
Aber für was ein Reset Taster?
> Abblock-Kondensator zwischen VCC und GND muss sein.
Oh, das währ mir garnicht aufgefallen. 100n Keramik sollte passen, oder?
> Den R5 zur Bus-Terminierung würde ich mit einem Jumper in Reihe> schalten.
Für was ist der überhaupt gut? Meines Wissens hat man nur am Ende der
DMX Kette einen 120 Ohm Abschlusswiderstand?!
> Nur einer der Pins für die MOSFET-Ansteuerung ist PWM-tauglich> (Hardware), das auch nur mit 8-Bit-PWM. Wenn das reicht, ist's gut.
Was meinst du mit "nur einer der Pins ist PWM-tauglich"?
8 Bit sollte reichen. Je DMX Kanal kann man einen Wert von 0-255
übertragen. Da passt das mit 8 Bit doch ganz gut, oder?
> Sonst hier nochmal der Tipp mit Zabex' Sofabeleuchtung> http://www.zabex.de/site/sofabeleuchtung.html.
Danke für den Hinweis, aber ich habe den Print schon geroutet und möchte
ihn auch so kelin als möglich halten (-> SMD µC).
Meinst du ist der ATtiny2313 wirklich nicht geeignet?
Ich hoffe, ich nerfe euch nicht mit meinen Anfängerfragen...
MfG Domi
Dominik S. schrieb:> Gibt es da nen passenden MOSFET im selben Gehäuse und nach Möglichkeit> mit gleicher Pinbelegung?
Z.B. IRLR2905.
> Aber für was ein Reset Taster?
Wie gesagt, ich finde den nützlich. Muss aber nicht sein.
> 100n Keramik sollte passen, oder?
Ja.
> Für was ist der überhaupt gut? Meines Wissens hat man nur am Ende der> DMX Kette einen 120 Ohm Abschlusswiderstand?!
An beiden Enden des RS-485- bzw. DMX-Bus. Zusätzliche
Abschlusswiderstände auf dem Bus machen Ärger.
> Was meinst du mit "nur einer der Pins ist PWM-tauglich"?> 8 Bit sollte reichen. Je DMX Kanal kann man einen Wert von 0-255> übertragen. Da passt das mit 8 Bit doch ganz gut, oder?
Die Software von Ulrich Radig macht 8-Bit-Soft-PWM. Probier es aus, dann
siehst du, ob es für deine Zwecke ausreichend ist.
Zabex' Sofabeleuchtung macht mit einem ATmega*8 auf drei Kanälen jeweils
eine 16-Bit-PWM in Hardware, nutzt aber nur 256 Helligkeitsstufen, die
geeignet über den Bereich der 65536 Möglichkeiten verteilt sind, um für
das Auge einen gleichmäßigen Helligkeitsanstieg zu bewirken.
Selbst falls sich zeigen sollte, dass du mit der 8-Bit-Soft-PWM nicht
zufrieden bist, ist das nicht sonderlich schlimm. So hoch sind die
Investitionen in die Controller-Hardware auch wieder nicht. Bau das Ding
und bring es zum Laufen. Dann siehst du, ob du einen besseren Controller
brauchst.
Danke für den vorgeschlagenen MOSFET ;)
Achso, am Anfang der DMX Kette ist normalerweise auch ein 120 Ohm
Widerstand?
Ja dann kann (oder soll?) ich den 120 Ohm Widerstand weglassen und löte
einen im DMX Pult nach, sofern da nicht schon einer ist. Und einen XLR
Endstecker mit eingelöteten 120 Ohm Widerstand hab ich eh.
Worin liegt genau der unterschied zwischen Software- und Hardware-PWM?
Welche Vorteile hat man denn mit der Hardware-PWM?
Mehr als 8-Bit PWM sind meines Erachtens unnötig, da ich mit DMX eh nur
256 Werte und somit auch nur 256 Helligkeitsstufen übertragen kann (also
8 Bit). Oder versteh ich da was falsch?
MfG Domi
Eine Frage bezüglich Maximalstrom habe ich auch noch: Würden für maximal
10A gesammtbelastung 4x22µ Tantal zur Spannungsstabilisierung und 76µ
(also ~2mm) Leiterbahnbreite reichen?
Dominik S. schrieb:> Eine Frage bezüglich Maximalstrom habe ich auch noch: Würden für maximal> 10A gesammtbelastung 4x22µ Tantal zur Spannungsstabilisierung und 76µ> (also ~2mm) Leiterbahnbreite reichen?
Ich verstehe die Frage nicht. Suchst Du eine Formel oder jemanden, der
einen Tachenrechner hat?
Dominik S. schrieb:> den 120 Ohm Widerstand weglassen
Ja.
> im DMX Pult nach, sofern da nicht schon einer ist.
Vmtl. ist da schon einer drin.
> Endstecker mit eingelöteten 120 Ohm Widerstand hab ich eh.
Mehr ist nicht nötig.
> unterschied zwischen Software- und Hardware-PWM?
Mit PWM schaltest du einen µC-Ausgang für eine bestimmte Zeit ein, dann
wieder aus. Das Verhältnis zwischen ein und aus liefert - durch die
Trägheit des Auges gemittelt - unterschiedliche Helligkeiten.
Hardware-PWM nutzt einen Timer, der mit einer vorgebbaren Frequenz
hochzählt und bei einem vorgebbaren Wert ein- bzw. ausschaltet. Ist das
einmal konfiguriert, dann hat der µC nichts mehr damit zu tun.
Software-PWM bildet den Timer und die Umschalt-Schwellen per Programm
nach. Der µC hat ordentlich zu tun.
Damit bei der LEDs kein Flackern vom Schalten zu erkennen ist, muss das
ziemlich schnell passieren, so 100 mal pro Sekunde oder mehr
(PWM-Frequenz). Wenn sich entweder die LEDs bewegen oder das Auge über
die LEDs drüberstreicht (z.B. weil du in Bewegung bist), muss die
PWM-Frequenz höher sein, damit kein/wenig Flackern zu sehen ist.
Für eine PWM-Frequenz von 100Hz bei einer 8-Bit-PWM muss der Timer mit
25600Hz zählen (2^8 * 100). Das ist bei Software-PWM sportlich, aber
machbar.
Zabex' Sofabeleuchtung macht 16-Bit-PWM bei 122Hz, also 8Mhz Timer-Takt
(2^16 * 122). Da ist ohne Hardware-PWM nichts zu machen.
> 256 Helligkeitsstufen
256 Helligkeitsstufen ist schon OK, nur siehst du bei einer 8-Bit-PWM
zwar den Unterschied zwischen 1 und 2, aber den Unterschied zwischen 254
und 255 bemerkst du nicht mehr. Das liegt am Lichtempfinden des Auges,
das etwa logarithmisch verläuft. Man könnte es auch so sagen: 2 ist
doppelt soviel wie 1, dagegen ist 255 nur ein kleinwenig mehr als 254.
Unterm Strich hast du 256 Ansteuerungsstufen, aber keine 256
(wahrnehmbare) Helligkeitsstufen.
Zabex' Sofabeleuchtung nutzt 256 Helligkeitsstufen, verteilt diese aber
logarithmisch über den 16-Bit-PWM-Bereich.
> Würden für maximal> 10A gesammtbelastung
Wo kommen jetzt die 10A her? Ein typischer 5m-RGB-LED-Strip liegt bei
3-mal 1A. Wenn das 3 Strips parallel sind, dann hast du bis ca. 400mW
Verlustleistung (=Wärme) pro MOSFET: I²*R (I ist der Strom durch einen
MOSFET, R ist R-DS-on bei der gewählten Drain-Source-Spannung). Bei
einem LED-Strip liegt die Verlustleistung bei jeweils nur max. 40mW, das
verläuft sich. Bei 400mW Verlustleistung muss man sich langsam Gedanken
machen, wie man die Wärme loswird.
> 4x22µ Tantal zur Spannungsstabilisierung
Spannungsstabilisierung brauchst du nur für den µC. Einmal die
Beschaltung, wie du sie im Schaltplan hast und dann den
Abblockkondensator direkt am µC.
> 76µ> (also ~2mm) Leiterbahnbreite reichen?
Kann ich nichts dazu sagen.
@ Konrad S:
Danke für deine Ausführlichen Antworten! ;)
Welchen Atmel µC (vorzugsweise SMD) währe für meinen zweck besser
geeignet? Also z.B. mit 16 Bit Hardware PWM.
Wenn die LEDs so oft und schnell Ein- und Ausgeschaltet werden, bricht
da nicht jedesmal die Spannung ein? Aufgrund dieser Vermutung hätte ich
die 4x 22µ Tantal als zusätzliche Stütze genommen. Versorgung kommt von
einem 12V Steckerschaltnetzteil, das maximal 2,25A liefern kann. Solte
reichen, denn laut einem user review soll der LED Strip 1,5A ziehen.
@ Torsten C:
Würde mich über beides freuen ;)
Zur Leiterbahnbreite...
Einen Lösungsansatz habe ich ja:
- Spezifischer Cu Widerstand: 1,678*10^−2 Ω*mm²/m
- Leiterbahnquerschnitt bei 67mil: A = 2mm * 35µm = 0,07mm²
- Leiterbahnwiderstand: R = 0,0678 / 0,07 = 0,239 Ω/m
- Spannungsabfall: U = R*I = 2,4 V/m
- Verlustleistung: P = U*I = 2,4V * 10A = 24 W/m
Aber weiter weis ich nicht. Ich werde auf der Platine c.a. 10cm Leitung
bei der Leistungselektronik haben. Also 0,24V Spannungsabfall und 2,4W
Verlustleistung. Aber wie man ausrechnet, wie warm die Kupferbahn dabei
wird - keine Ahnung.
Ich habe zurzeit eh nich geplant, so viel Strom zu ziehen, aber ich
wollte halt ein paar Reserven einplanen. Zurzeit sind ~2A Gesammtstrom
geplant.
Dominik S. schrieb:> Welchen Atmel µC (vorzugsweise SMD) währe für meinen zweck besser> geeignet? Also z.B. mit 16 Bit Hardware PWM.
ATmega{8|16|32}8, hat 2 16-Bit-PWM, der dritte Kanal lässt sich über
zwei 8-Bit-Timer kaskadiert betreiben. Nur für den Fall, dass ich es
noch nicht erwähnt haben sollte: Zabex' Sofabeleuchtung ist eine
interessante Lektüre und am Ende des Artikel gibt es ein ZIP-Archiv mit
Schaltplan und Quellcode. Der Quellcode enthält auch noch ein paar
Erläuterungen.
Na wenn schon, will ich alles mit HW PWM.
Ja, Zabex' Sofabeleuchtung habe ich mir eh schon angesehen ;)
Die mag ja ganz gut sein, aber der verwendete µC ist im DIL Gehäuse
ziemlich rieseig und im MLF Gehäuse so klein, dass ich ihn nicht mehr
löten kann. (Reichelt hat den µC nur in den beien Gehäusen und ich
möchte nicht extra noch wo anders bestellen) :(
Selbst µCs mit 1,27mm Rastermaß finde ich schon nicht mehr besonders
leicht zu löten...
Aber wenn's sein muss, muss ich halt ein größeres Gehäuse suchen und
mich mit einem entwas plumperen Controller zufrieden geben. Ist ja kein
Weltuntergang, aber ich hätt halt gerne alles ein bisschen kompakter
gehabt.
Würde sich ein AT90PWM3B für einen DMX RGB LED Controler eignen? Den hat
Reichelt im SOIC Gehäuse.
Laut Atmel ist der für den Einsatz in der Lichttechnik gedacht und hat
12 PWM Ausgänge. Jedoch konnte ich nicht herausfinden, ob das Hardware
oder Software PWM ist. Aber ich vermute mal, dass es HW-PWM ist, wenn es
so viele PWM Ausgänge gibt.
MfG Domi
Dominik S. schrieb:> Würde sich ein AT90PWM3B für einen DMX RGB LED Controler eignen? Den hat> Reichelt im SOIC Gehäuse.> Laut Atmel ist der für den Einsatz in der Lichttechnik gedacht und hat> 12 PWM Ausgänge. Jedoch konnte ich nicht herausfinden, ob das Hardware> oder Software PWM ist. Aber ich vermute mal, dass es HW-PWM ist, wenn es> so viele PWM Ausgänge gibt.
Es ist Hardware-PWM, denn software PWM kannst du immer und auf jedem
Ausgang machen. Das haette nix mit dem Datenblatt zu tun.
bye uwe
Dominik S. schrieb:> der verwendete µC ist im DIL Gehäuse
Die ATmega*8 gibt es als PDIP, MLF und TQFP.
Momentan bei csd-electronics: ATMEGA328P-AU 1,69€.
> Selbst µCs mit 1,27mm Rastermaß finde ich schon nicht mehr besonders> leicht zu löten
Was jetzt? SMD bei ICs ist 1.27mm und kleiner.
> Würde sich ein AT90PWM3B für einen DMX RGB LED Controler eignen?
Ich habe auf die Schnelle im Datenblatt nichts gefunden, was diesen µC
geeigneter erscheinen lässt.
Ja sagen wir mal so, am liebsten habe ich ICs in einem Gehäuse mit
1,27mm Rastermaß (SOIC, ...). Da sind die im vergleich zu DIL schon
gewaltig geschrumpft, sind für mich aber noch lötbar. Vileicht könnte
ich mit der richtigen Technik auch noch kleinere SMD ICs löten. Muss
mich mal diesbezüglich schlau machen.
Konrad S. schrieb:>> Würde sich ein AT90PWM3B für einen DMX RGB LED Controler eignen?>> Ich habe auf die Schnelle im Datenblatt nichts gefunden, was diesen µC> geeigneter erscheinen lässt.
Gibt es was, was ihn ungeeigneter erscheinen lässt? Wenn nein, würde ich
den aufgrund der vielen Hardware PWM Kanäle bevorzugen. Dann hätte ich
die möglichkeit, später noch Ausgänge für weitere LEDs nachzurüsten.
Wenn das mit dern 12 PWM Ausgängen stimmt (im Internet habe ich auch
schon was von 8 und 10 gelesen), könnte ich damit bis zu 4 LED Strips
oder RGB LEDs getrennt ansteuern.
MfG Domi
Das mit den verschiedenen PWM Kanälen bei den AVRs verstehe ich
irgendwie nicht ganz...
Wie erkenne ich, wieviele Kanäle mir mit wieviel Bit Auflösung zur
Verfügung stehen?
Im Datenblatt des ATtiny2313 lese ich bei 4 Pins "The XXXX pin is also
the output pin for the PWM mode timer function."
Und im Kapitel "16-bit Timer/Counter1" lese ich "True 16-bit Design
(i.e., Allows 16-bit PWM)".
Soweit ich das mitbekommen habe klappt das aber nicht, denn sonst hätte
ich ja eh beim ATtiny2313 bleiben können. Ich blicke da irgendwie nicht
durch...
Würde mich freuen, wenn mir das jemand sagen könnte, worauf man da
achten muss. Google wollte mir das nicht verraten.
Gibt es denn keinen AVR mit 3 PWM Kanälen mit mindestens 10 Bit?
Vorzugsweise in DIL(28 oder kleiner) oder in SOIC.
Ansonsten nehm ich halt einen ATmega88 im DIL28 Gehäuse (lieber währ mir
alerdings SOIC. bei TQFP weiß ich nicht, ob ich das noch löten kann).
Der scheint mir etwas verbreiteter zu sein als der AT90PWM3B.
Aber wo ist der Unterschied zwischen ATMEGA 88V-10 PU und ATMEGA 88-20
PU? Erster ist um 40cent teurer.
MfG Domi
Konrad S. schrieb:> ATmega{8|16|32}8, hat 2 16-Bit-PWM, der dritte Kanal lässt sich über> zwei 8-Bit-Timer kaskadiert betreiben.
Würde die Schaltung mit entsprechender Software so wie im Anhang zu
sehen funktionieren?
Im Schaltplan ist ein ATmega8, weil ich den ATmega88 in keiner Eagle lib
hatte. Der müsste aber soweit ich das richtig mitbekommen habe die selbe
Pinbelegung und Funktionen wie der 88er haben, nur halt mit weniger
Speicher. Ich hoffe, ich hab mich da nicht geirrt.
MfG Domi
Dominik S. schrieb:> Würde mich freuen, wenn mir das jemand sagen könnte, worauf man da> achten muss.
Da musst du wohl im jeweiligen Datenblatt nachsehen: welche
Hardware-Einheit, in welcher Anzahl, wieviele Kanäle, wieviele Bits. Die
Übersichten bei Atmel verraten dir nur, wieviele PWM-Kanäle ein µC
insgesamt hat.
> ATMEGA 88V-10 PU
Low-Power-Ausführung, bis 10MHz
> ATMEGA 88-20 PU
Standard-Ausführung, bis 20MHz
Dominik S. schrieb:> Schaltung mit entsprechender Software so wie im Anhang
Wenn du den MOSFET an PB0 statt an PB3 anschließt, dann hast du Zabex'
Belegung und kannst seinen PWM-Code ohne große Anpassungen verwenden.
Der ISP steuert dann auch keine LEDs an.
Den RS-485-Treiber schließ mal besser an PD0/RXD und PD1/TXD und benutz
den Hardware-USART.
> nur halt mit weniger> Speicher.
8k == 8k
Der Preis für den ATmega168 ist übrigens bei Reichelt nur wenige Cent
höher als der Preis für den ATmega88.
Konrad S. schrieb:> Dominik S. schrieb:>> Würde mich freuen, wenn mir das jemand sagen könnte, worauf man da>> achten muss.>> Da musst du wohl im jeweiligen Datenblatt nachsehen: welche> Hardware-Einheit, in welcher Anzahl, wieviele Kanäle, wieviele Bits. Die> Übersichten bei Atmel verraten dir nur, wieviele PWM-Kanäle ein µC> insgesamt hat.
Ja, das Atmel diesbezüglich nicht wirklich was in der Übersicht stehen
hat, hab ich auch schon gemerkt ;)
Aber nach was ich im Datenblatt (Eigentlich schon fast Datenbuch) suchen
muss weiß ich nicht. Denn irgendwie steht beispielsweise nirgens
explizit "three 12-Bit PWM Channels" oder ähnliches. Ich finde nur so
angaben wie z.B. folgendes:
Dominik S. schrieb:> Im Datenblatt des ATtiny2313 lese ich bei 4 Pins "The XXXX pin is also> the output pin for the PWM mode timer function."> Und im Kapitel "16-bit Timer/Counter1" lese ich "True 16-bit Design> (i.e., Allows 16-bit PWM)".
Soweit ich das richtig mitbekommen habe, hat der ATtiny2313 aber nicht 4
16-Bit PWM Kanäle. Dem Datenblatt nach würde ich das aber so verstehen.
Deshalb würde mich interessieren, nach welchen Angaben ich suchen muss,
um solche Infos bezüglich PWM zu erhalten.
Ich hoffe, ich stelle mich aus eurer Sicht nicht total blöd an, aber da
blicke ich jetzt wirklich nicht durch...
Schaltplan habe ich geändert (siehe Anhang), müsste jetzt passen.
Würde mich freuen, wenn da nochmal jemand nen Blick drüber werfen
könnte.
Ich möchte mich an dieser Stelle mal bei allen bedanken, die mir bis
jetzt geholfen haben. Vorallem bei Konrad - du warst und bist eine große
Hilfe ;)
Ich denke hardwareseitig solle alles gelöst sein (sofern mein Schaltplan
jetzt stimmt). Dann werd ich mich mal ans routen machen und die Bauteile
bestellen.
Zum programmieren der Atmel AVRs sollte das AVR ISP 2 von Atmel reichen,
oder benötige ich da noch was?
Über die Programmierung von den AVRs muss ich mich in den nächsten Tagen
noch ein wenig belesen. Aber ich denke, das sollte machbar sein, denn
grundkentnisse in C sind vorhanden.
Mal sehen welche Probleme sich dann bei der Programmierung ergeben...
MfG Domi
Dominik S. schrieb:> Deshalb würde mich interessieren, nach welchen Angaben ich suchen muss,> um solche Infos bezüglich PWM zu erhalten.
Bei den AVR-µC schaust du nach den Timern: 8- und/oder 16-Bit. Jeder
Timer kann PWM-fähig sein und hat dann für jeden PWM-Kanal ein
Output-Compare-Register in der Breite des Timers. Manche Timer sind
mehrfach vorhanden, können sich aber in der Anzahl der PWM-Kanäle
unterscheiden.
Bei den AT90PWM... gibt es noch die PSC. Die musste ich auch erst im
Datenblatt nachsehen.
> Ich hoffe, ich stelle mich aus eurer Sicht nicht total blöd an,
Alle außer dir sind schon mit dem Wissen über µC auf die Welt gekommen!
;-)
> Zum programmieren der Atmel AVRs sollte das AVR ISP 2 von Atmel reichen
Ok.
(Viele 22µF auf der Eingangsseite des Spannungsreglers.)
Leg die Schalter, die jetzt auf dem ISP liegen, auf die freien Pins vom
Port D, dann musst du die Adresse nicht umschalten, wenn du
programmieren willst.
Der AVCC braucht noch einen Abblockkondensator gegen GND.
Ah, jetzt weiß ich das mit dem PWM auch ;)
Die Schalter würde ich gerne so lassen, denn so liegen alle Pins vom µC
an denen ein DIP Switch angeschlossen wird in einer Reihe auf der selben
Seite. Und das erleichtert das routing enorm. Einen Print mit
zweiseitiger Leiterbahnführung würde ich gerne meiden...
Ich denke, damit kann ich leben, das ich beim Programmieren alle
Switches auf 0 stellen mus...
Müsste statt den Quarz nicht auch ein Keramik Resonator reichen?
Der hier:
http://www.reichelt.de/Filter/CST-8-00/3/index.html?;ACTION=3;LA=446;ARTICLE=37861;GROUPID=3175;artnr=CST+8%2C00;SID=10T8FaZH8AAAIAAEI9B@0af6bb8937368cd0feaec9fba31741c2c
schwingt mit 8MHz +-0,5% Toleranz und +-0,4% Frequenzstabilität. Müsste
passen, oder?
PS: Ich währe euch über eine möglichst schnelle Antwort bezüglich
Resonator sehr dankbar!! ;)
MfG Domi
Dominik S. schrieb:> Müsste statt den Quarz nicht auch ein Keramik Resonator reichen?
Hab ich noch nie probiert, wegen der paar Cent mach ich mich nicht nass.
Evtl. reicht sogar der interne RC-Oszillator.
Google hat mir jetzt doch noch geholfen (zuvor habe ich nichts
gefunden). Für DMX sollte ein Keramikresonator reichen. Wenn man glück
hat, kann es sogar mit dem internen Oszilator funktionieren.
Den Keramikresonator will ich aber weniger aus kostengründen, sondern
aus platz- und routinggründen.
Mit Quarz und den beiden Kondensatoren habe ich das nicht brauchbar
hinbekommen, mit dem Keramikresonator ist mir das bestücken
platzsparrender gelungen und eine Drahtbrücke habe ich mir auch
ersparrt.
Am Wochenende werd ich mal die Platine ätzen.
Das Bestücken wird aber noch ein weilchen dauern, denn seit heute sind
bei Reichelt 2 Artikel nicht mehr lieferbar, die ich bei keinem anderen
gängigen Shop zu einem vernünfigen Preis bekomme.
Hallo,
also ich habe auch vorgehabt, sowas selbst zu bauen.
Doch dann fand ich dies hier: American DJ Revo 4 (bzw. REVO IV).
http://sunlight-online.de/pdf/revo4.pdf
Das Teil kann genau das, was ich brauche und kostet nur rund 170,- €.
Entscheidende Features:
64x64 LED Matrix RGBW also 256 LEDs mit ca. 30Watt
Riesige Speziallinse, stabiles Gehäuse.
Und das Beste: im DMX Modus 2 kann auf 256 Kanälen jede einzelne LED
gedimmt werden. Ich denke, besser gehts nicht.
Meine Selbstbauambitionen werde ich auf einen DMX-Handcontroller
umleiten, mit dem ich das Teil mit selbstgeschriebenen Programmen
füttern kann.
Durch dieb Dimm-Möglichkeit sehen ich schon einen blauen Wolkenhimmel
mit zuckenden Blitzen vor mir, oder unser Band-Logo :-)
Was haltet Ihr davon?
Hallo,
weg die Euphorie! Gestern kam mein Revo 4. Da ist nix mit dimmen :-(
Weder der von mir genannte noch irgendein anderer LED-Matrix-Strahler
sind einzeln dimmbar.
Das schaffen die verbauten Controller auch garnicht, bei der vielzahl
müsste es ja schon softwaremößiges (PWM) sein.
Also, ich bin dabei. Mein Vorschlag: Sehr Euch mal die Geräte auf dem
Markt mit großen Linsen an, da hätte man den ganzen Gehäusekram nebst
Platinebefestigung, Anschlüssen, Schaltnetzteil erschlagen. Und die sind
echt super.
Z.B. der hier: Varytec Over 3 Magic LED oder Eurolite FX-250 LED RGBW
DMX
liegen so um 100,- Euro.
Ich teste jetzt mal mit der DMX-Steuerung herum. Vielleicht kann man
ein Dimmeffekt hierüber erzeugt werden. Schließlich hat man eine
ziemlich hohe Übertragungsrate auf dem DMX.
Öbrigens, nach intensiver Recherche habe ich noch einen Geheimtip:
-www.pcdimmer.de
Nicht jeder muss das Rad neu erfinden...
Ralf
@Ralf:
Das wundert mich nicht, dass man bei einem DMX Matrix effekt die LEDs
nicht einzeln dimmen kann. Dafür würde man bei einer 10x10 Matrix ja
schon 100 DMX kanäle belegen. Mit 5 solchen Effekten würdest du dann
schon ein GESAMMTES DMX UNIVERSUM belegen - das währ schon ein bisschen
viel ;)
Mein DMX RGB LED Controler ist jetzt fertig aufgebaut.
Insgesammt Hat das Teil mit allen Bauteilen, Anschlüssen und Gehäuse
gerade mal 10€ gekostet. Ein 12V 2,25A Steckernetzteil hat nochmal
weitere 10€ gekostet. Also mit den Kosten bin ich vollkommen zufrieden
;)
Aber das Gehäuse hab ich leider kaputt gemacht :(
Ich wollte senkungen bohren, damit die Senkkopfschrauben zur Befestigung
der Platine nicht vorstehen. Dabei hat sich blöderweise der Bohrer
verkantet und hat ein großes Loch ins Gehäuse gerissen :(
Bilder vom Controler sind im Anhang.
Jetzt scheitert es nurnoch an der Software...
Ich bin gerade am überfliegen des AVR-GCC Tutorials, denn bei der
Firmware der RGB LED Controler von Zabex und von Ulrich Radig blicke ich
noch nicht durch.
C Grundkenntnisse sind aber vorhanden. (so sachen wie z.B. Pointer,
Arrays, Funktionen, Strukturen sind kein Problem. Aber sonst weiß ich
glaube ich nicht mehr besonders viel, was mir bei den AVRs nützlich sein
könnte)
MfG Domi
Software ist eigentlich nicht so schwierig. Stückweise erstellen!
Als erstes würde ich bei dir vielleicht erstmal die IOs für die LED
Ausgänge schalten, dann sollte da schon mal was leuchten. Anschliessend
kannst du dich mit PWMs Ausgabe befassen. Dann siehst du schon mal ob
das geht. Wenn man erstmal die richtigen Registereinstellungen gefunden
hat macht den Rest die Hardware.
Und für den DMX Empfang gibt es eigentlich auch genug Beispielcode. DMX
Adresse über Dippschalter generieren ist einfache Bitverknüpfung. Das
sollte mit dem Tutorial machbar sein
Der Empfang läuft dann über die UART. Also auf die passende Baudrate
stellen, Startbyte abwarten, dann fängst du entweder an zu Zählen bis
der passende Kanal zu deiner Adresse kommt, oder du schreibst dir
einfach den kompletten DMX Kanalsatz in einen Buffer und suchst die
anschliessend die passenden Bytes raus.
Datenbytes in PWM Register schreiben... und schon dimmt man LEDs per
PWM.
Problem Gefunden. Der 78L05 liefert nur 1,08V. Aber wieso?! Werde morgen
mal nen neuen einlöten...
Würde man von der Schaltung im Anhang mit dieser Software schon erste
Lebenszeichen sehen?
Dominik S. schrieb:> #include <avr/io.h>>> int main(void)> {> while(1)> {> DDRB = 0b111;> PORTB = 0b111;> }> }
Möglicherweise, aber da sind 2 Haken drin. Erstens ist es unnötig, den
Code in der Hauptschleife auszuführen, einmal reicht völlig. Und
zweitens ist die Schreibweise nicht eindeutig. Also besser so:
1
intmain(void)
2
{
3
DDRB=0b00000111;
4
PORTB=0b00000111;
5
while(1)
6
{
7
}
8
}
Übrigens ist es normalerweise üblich, die Bits eines Registers so zu
beschreiben:
DDRB = (1<<PB2) |(1<<PB1) |(1<<PB0) ;
Sieht auf den ersten Blick unnötig kompliziert aus, aber zahlt sich aus,
wenn es komplexer wird. Das Ergebnis ist das gleiche wie
DDRB = 0x07; oder
DDRB = 0b00000111;
Danke für den Hinweis ;)
Ich dachte ja gestern, der 78L05 sei kaputt, weil er nur 1,1V geliefert
hat. Ja, ich DACHTE es. Habe ihn ausgelötet und getestet - 4,97V kommen
raus.
Naheliegenste Vermutung: es ist irgendwo irgendwas schiefgelaufen, sodas
so viel Strom fließt, dass der 78L05 überfordert ist. Deshalb habe ich
zum Testen die Schaltung mit einem externen 5V Netzteil betrieben. Ich
denke 7mA sind ok, oder?
Also ich bin mit meinen Wissen jetzt echt am Ende. Habe momentan keinen
Plan, was da schief läuft...
MfG Domi
Ich habe jetzt testweise den ausgelöteten Festspannungsregler mal mit
50mA belastet (mit einem kleinen Glühlämpchen). Es wurden immer noch
4,7V geliefert.
Ich versteh das nicht!! Wesshalb liefert der Festspannungsregler in der
Schaltung nur 1,1V?!
Welche L und C würde daür passen?
Ja ein anderes Netzteil nehmen ist nicht so leicht. Ich habe sonst kein
12V Netzteil, dass mindestens 2A kann.
Aber ich habe jetzt was neues festgestellt:
- Wenn ich zuerst das Netzteil anstecke, dann die Schaltung ans Netzteil
funzt es nicht
- Wenn ich die Schaltung ans Netzteil schließe und dann erst das
Netzteil einstecke funktioniert es schon
- Mit meinem Regelbaren Netzteil funktioniert es auch nicht, wenn ich
zuerst Netzteil einschalte und dann erst die Schaltung anschließe. Erst
wenn ich die Spannung kurz ein wenig rauf oder runter drehe funzt es
plötzlich!!
eigenartige sache. Scheint so, als braucht der 78L05 eine kurze
Spannungsschwankung um zu funktionieren...
Was mus ich machen, damit der Keramikresonator zur Taktung verwendet
wird? Irgendwie finde ich dazu nicht besonders viel...
Würde mich über eure Hilfe freuen.
MfG Domi
Dominik S. schrieb:> Würden die Einstellungen wie im Anhang zu sehen für meinen 8MHz> Keramikresonator passen?
Würde mich echt freuen, wenn mir da jemand die richtige Einstellung
sagen könnte. Ich mag mir den AVR nicht verfusen. Alles andere kann man
ja einfach probieren, aber da bin ich schon ein bisschen vorsichtiger...
MfG Domi
Das Ziel "PreBuildEvent" wurde übersprungen, da die Bedingung "false" war . ('$(PreBuildEvent)'!='') wurde als (''!='') ausgewertet.
6
Ziel "CoreBuild" in Datei "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\Vs\Compiler.targets" aus Projekt "C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.cproj" (Ziel "Build" ist davon abhängig):
7
RunCompilerTask-Aufgabe
8
C:\Program Files (x86)\Atmel\Atmel Studio 6.0\make\make.exe all
9
Building file: .././Firmware_v1.2.c
10
Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.0_663) 4.6.2
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(52,1): 'UBRRH' undeclared (first use in this function)
14
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(52,1): each undeclared identifier is reported only once for each function it appears in
15
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(53,1): 'UBRRL' undeclared (first use in this function)
16
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(54,1): 'UCSRC' undeclared (first use in this function)
17
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(54,14): 'URSEL' undeclared (first use in this function)
18
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(54,25): 'UCSZ0' undeclared (first use in this function)
19
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(54,36): 'USBS' undeclared (first use in this function)
20
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(55,1): 'UCSRB' undeclared (first use in this function)
21
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(55,14): 'RXEN' undeclared (first use in this function)
22
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(55,24): 'RXCIE' undeclared (first use in this function)
23
.././Firmware_v1.2.c: In function 'get_dips':
24
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(80,8): 'UCSRB' undeclared (first use in this function)
25
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(80,19): 'RXCIE' undeclared (first use in this function)
26
.././Firmware_v1.2.c: In function 'UART_RX_vect':
27
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(104,24): 'UCSRA' undeclared (first use in this function)
28
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(105,24): 'UDR' undeclared (first use in this function)
29
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_v1.2\Firmware_v1.2\Firmware_v1.2.c(108,21): 'FE' undeclared (first use in this function)
30
make: *** [Firmware_v1.2.o] Error 1
31
Die Ausführung der RunCompilerTask-Aufgabe ist abgeschlossen -- FEHLER.
32
Die Erstellung des Ziels "CoreBuild" im Projekt "Firmware_v1.2.cproj" ist abgeschlossen -- FEHLER.
33
Die Erstellung des Projekts "Firmware_v1.2.cproj" ist abgeschlossen -- FEHLER.
34
35
Fehler beim Erstellen
36
========== Build: 0 erfolgreich oder aktuell, Fehler bei 1, 0 übersprungen ==========
Ahh, ist ein blöder Fehler. Google hat schlussendlich doch noch
geholfen.
Code lässt sich jetzt kompilieren.
Aber der DMX empfang klappt trotzdem nicht. Ich bekomme immer einen DMX
Wert von ~9999999999999999999999999999999.
Hat jemand ne Idee, was da falsch ist?
>
Das ist kein Deppenkram, sondern die mir am einfachsten erscheinende
Möglichkeit folgendes herauszufinden:
Dominik S. schrieb:> Ich bekomme immer einen DMX> Wert von ~9999999999999999999999999999999.
Nehme ich eine 9 weg, leuchtet die LED nicht mehr.
Ich habe nun versucht, den Code für den DMX Empfang von Ulrich Radig auf
den ATmega168 zu portieren - funzt auch nicht.
(Code -> siehe Anhang)
Würde mich über eure Hilfe echt sehr freuen ;)
Vielen Dank im Voraus!
MfG Domi
Ja, das würde schon so passen, wie du schreibst.
Das mit den vielen 9ern hab ich gemacht, um ungefähr herauszufinden,
welcher Wert in DmxRxField[0] gespeichert ist. Denn wenn ich eine 9
wegnehme, leuchtet die LED nicht mehr.
Aus welchen Grund auch immer, ist der Wert um über eine Miliarde mal
größer als er sollte. Aber warum??
Aber auch wenn ich da einen Wert zwischen 0 und 255 rein schreibe funzt
nichts. (Deshalb hab ich ja was anderes probiert)
Hat denn niemand ne idee, woran es scheitert?
MfG Domi
Dominik S. schrieb:> Nehme ich eine 9 weg, leuchtet die LED nicht mehr.
Also mit einer 9 mehr leuchtets immer und mit einer weniger nie?
Also Du hast DmxRxField[0] mit einem Wertebereich von 0..255 und eine
Konstante (ohne Typangabe, also int) mit einem Wertebereich von
-32768..32767.
Da Du Deine Konstante so gewählt hast, dass man nicht ersehen kann,
welchen Wert sie tatsächlich hat (wie viel ist denn 99...999 & 0xFFFF?),
können wir nur Vermutungen anstellen, was tatsächlich passiert.
Meine Vermutung lautet so:
Die Konstante liegt im einen Fall (als int) im Bereich 3277..32767 und
im anderen Fall -32768..-3277 . Somit leuchtet im einen Fall die LED und
im anderen nicht. Nur ob Du DMX-seitig irgendwas empfängst, kannst Du
mit diesem "if" aber nicht feststellen.
Hast Du einen Debugger (z.B. AVR-Dragon) oder programmierst Du blind vor
Dich hin, schreibst das Kompilat ins Flash und schaust was passiert?
Im ersten Fall würde ich einfach mal einen Breakpoint setzen und
schauen, was im Array steht. Im zweiten Fall würde ich mir einen
Debugger kaufen...
Gruß
Martin
Wo kommt dein DMX signal her?
if ( DmxRxField[0] > 127 )
Lass diesen Wert auf 127, dass entspricht dem halben Faderweg.
Dein Problem liegt woanders.
Toggle doch einfach mach an verschiedenen Stellen der ISR einen Ausgang,
dann kannst du verstehen was der uC macht.
Martin H. schrieb:> Hast Du einen Debugger (z.B. AVR-Dragon) oder programmierst Du blind vor> Dich hin, schreibst das Kompilat ins Flash und schaust was passiert?> Im ersten Fall würde ich einfach mal einen Breakpoint setzen und> schauen, was im Array steht. Im zweiten Fall würde ich mir einen> Debugger kaufen...
Hab keinen Debugger. Habe ehrlichgesagt auch (noch) nicht vor einen zu
kaufen, da ich (zur Zeit noch) im großen und ganzen eher ganz simple
Projekt vorhabe.
Das mit dem DMX ist mehr oder weniger eine Ausnahme.
Manuel schrieb:> Toggle doch einfach mach an verschiedenen Stellen der ISR einen Ausgang,> dann kannst du verstehen was der uC macht.
Werde ich versuchen. Aber an welchen Stellen?
(Ich blicke bei der ganzen USART Geschichte ehrlichgesagt nicht so ganz
durch...)
PS: Ich glaube, ich werde an der zweiten von mir geposteten Firmware
(Firmware_v1.3.c) weiterarbeiten. Die basiert auf der von Ulrich Radig
(http://www.ulrichradig.de/home/index.php/avr/dmx-led-strip) und
erscheint mir irgendwie etwas einfacher
MfG Domi
//EDIT:
Ich sehe gerade, das Ulrich Radig (http://www.ulrichradig.de) für seinen
DMX Dimmer und Switch einen ATmega88 genommen hat. (beim LED Dimmer war
es ja ein ATtiny 2313) Ich werde mir mal den Sourcecode ansehen. Im
idealfall sollte ich den Abschnitt für den DMX Empfang ja 1:1 übernehmen
können, oder?
Das gibt's ja nicht!!
Ich habe den Code jetzt fast 1:1 von Ulrich Radigs DMX Switch kopiert,
nur die CPU Freq habe ich von 12 auf 8MHz geändert, eine fixe DMX
Adresse gemacht und die Pinns der LEDs geändert. Sonst habe ich nichts
geändert.
Und trotzdem wird die Bedingung "if(dmx_lost==DMX_LOST_TIMEOUT)" erfüllt
(entsprechende LED leuchtet).
Ich weiß echt nicht mehr weiter.
Der max485 bekommt 40°C und der 78L05 50°C. Ist das normal?
Vileicht ist der max485 kaputt?
Eine weitere Feststellung: wenn ich NUR die DMX leitung angeschlossen
habe (und auf der anderen Seite ein Pult) flackern meine LEDs?!?!
Wenn ich das richtig versteh, saugt der max485 Strom aus der DMX
Datenleitung und speißt sie in das Board ein?!
Das kann doch nicht normal sein, oder??
MfG Domi
40 und 50 °C sind für Halbleiter erstmal keine Gefahr. Gerade für den
7805 ist es schon normal das warm werden. Je nach Belastung dann auch
mal gerne 80°C.
Aber das beste wär vermutlich wenn du dich mal mit jemanden zusammen
setzt der ein Scope hat, dann kannst du dir das Signal am max485
anschauen. Der Chip macht normal nur eine Signalkovertierung zu TTL
Pegel, mit dem dein Controller was Anfangen kann.
Die Belastung der DMX Leitung ist eher gering. Probleme bekommst du nur
wenn du den CHip auf senden verdrahtest oder eingestellt hast. Dann
arbeiten dein DMX Pult und dein Chip gegeinander auf der DMX Leitung.
Wenn du sicher bist das die Hardware läuft kannst du weiter an der
Software arbeiten.
Woher kommst du denn?
Kenne niemanden mit einem Scope...
Verdrahtet ist alles so wie hier zu sehen:
Beitrag "Re: DMX steuerbaren RGB LED PAR oder Pinnspot selber bauen"
Aber wenn ich die Software, die auf einen ATmega88 läuft fast 1:1 auf
den ATmega168 übernehme, müsste das doch funktionieren?!
Ich glaube, dass entweder irgend was mit den Frequenzen nicht passt (die
Firmware kommt von einem mit 12MHz betriebenen ATmega88) oder irgendwas
hardwareseitig nicht passt (defekt o.ä.).
Könnte sich bitte jemand die Software (Firmware_v1.4.c aus meinem
vorigen post) ansehen ob mögliche Fehler zu finden sind? Oder ob die so
eigentlich funktionieren müsste.
PS: clkdiv8 habe ich ausgeschaltet, somit sollte alles mit 8MHz arbeiten
Vielen dank im Voraus!! ;)
MfG Domi
Hardware sieht soweit ganz ok aus.
Mach mal am Anfang von deinem Main Programm mal erstmal ein richtiges
Port Init damit sämtliche deiner Ein- und Ausgänge alle richtig stehen.
(RS485 auf Empfang)
PORTB = 0x00;
DDRB = 0xE0;
PORTC = 0x00;
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x06;
Als UART Init kannst du mal das hier testen:
UCSR0B = 0x00;
UCSR0A = 0x00;
UCSR0C = 0x06;
UBRR0L = 0x01;
UBRR0H = 0x00;
UCSR0B = 0x90;
Vielleicht bringt das schon was.
Das ist schade. Ohne Debbuger (JTAG, AVR Dragon...) ist das natürlich
schwierig.
Generell kann man einen Code vom Mega 88 auch für nen Mega 168 nehmen.
Neu compilieren sollte reichen. Ich gehe auch davon aus der Code von
Herrn Radig funktioniert. Seine Beispiele laufen eigentlich immer auf
anhieb.
Hardwareseitig ist halt der Unterschied der Adressierung und das er
seinen RS485 Chip Hardwareseitig auf Empfang gestellt hat. Das Problem
sollte also mit dem richtigen Port define gelöst sein.
Wichtig ist auf jeden Fall das du das DMX Signal richtig angelegt hast.
Wenn man die Eingänge A + B vertauscht, geht der Empfang nicht mehr
richtig. Ohne Scope ist das aber schwer zu messen. Kann man nur einfach
mal vertauschen.
Viel mehr kann man aus der ferne dann nicht machen.
Wichtige Punkte bei der Fehlersuche sind immer:
Steht meine Versorgungspannung an den ICs sauber?
(Du hast ja schon geschrieben das du Probleme mit den 5V hattest. Was
auch schon verwunderlich ist. Die Linearregler wie ein 7805 laufen
eigentlich fast immer wenn Sie ensprechnde Kondensatoren am Eingang
haben)
- Platine optisch und ggf. mit einem Messgerät noch mal auf Kurzschlüsse
etc überprüfen.
Für weitere Tests muss man dann schon mal ein passenden Meßgerät haben.
Frequenz nachmessen (8Mhz), RXD Signal nachmessen (Pin 2)
Mit der Debugwire Schnittstelle könnte man sich halt auch mal die Werte
ansehen die der Controller empfängt. Aber ohne JTAG oder AVR Dragon geht
da leider auch nichts.
An RXD (pin2) messe ich 0,035V und 0Hz. Würden da 8MHz sein, sollte ich
das mit meinem Multimeter problemlos messen können. Laut
bedienungsanleitung geht das bis 10MHz und ich konnte auch schon mal
17MHz zuverlässig messen.
MfG Domi
Hi
>An RXD (pin2) messe ich 0,035V und 0Hz. Würden da 8MHz sein, sollte ich>das mit meinem Multimeter problemlos messen können.
Am RXD-Pin können und sollen keine 8MHz anliegen. Das hast du falsch
interpretiert.
MfG Spess
Mhm... hardwareseitig sollte alles passen. Nur die Funktion vom RS485 IC
bzw vom ATmega168 kann ich nicht wirklich überprüfen...
Aber ich habe noch einen zweiten RS485 IC und einen zweiten ATmega168.
Ich kann ja morgen (oder vileicht sogar noch heute) mal versuchen ein
minimalsystem zusammenzubauen, das nur DMX empfangen soll und einen LED
Ausgang zum Funktionstest hat (ohne DIP-Switches und den anderen nicht
unbedingt nötigen sachen).
PS: Ich glaube, ich werde mir wirklich in naher zukunft mal ein oszi
besorgen müssen...
MfG Domi
Wenn Du schon Geld für ein Oszi in die Hand nimmst, könntest Du ja auch
die 55€ für einen AVR-Dragon spendieren.
Ich versuche zwar auch, Debugging beim AVR weitestgehend zu vermeiden
(da ich Lauterbach-verwöhnt bin ;-), aber manchmal führt halt kein Weg
daran vorbei...
Mal sehen, wieviel Geld vom Ferialpraktikum noch übrig bleibt. (Meine
Wunschliste ist seeehr lang^^)
Aber das kann doch nicht sein, das man für so ne blöde Schaltung, für
die es schon fast exakt die passende Firmware gibt, Oszi und/oder AVR
Debugger benötigt?!
Nun ja, werde morgen mal ne Schaltung aufbauen, die nur aus diesen
Teilen besteht:
- ATmega168
- 75176AP
- ein paar 100nF Keramikkondensatoren
- ein paar LEDs (20mA Standardtypen)
Betrieben wird das direkt mit einem stabilisierten 5V Netzteil.
Mal sehen, was dabei raus kommt.
holger schrieb:>>An RXD (pin2) messe ich 0,035V und 0Hz.>> Wenn keine Daten gesendet werden sollte an RXD ca. 5V liegen.
Geschieht das über die USART funktionen vom AVR oder muss ich den Pin
auf 1 setzen? (Sry, mit USART kenn ich mich noch nicht aus...)
MfG Domi
>> Wenn keine Daten gesendet werden sollte an RXD ca. 5V liegen.>Geschieht das über die USART funktionen vom AVR oder muss ich den Pin>auf 1 setzen? (Sry, mit USART kenn ich mich noch nicht aus...)
Nein, die 5V kommen von deinem RS485 IC. Wenn das nicht dran ist
floatet der RXD Eingang. Wenn dein IC dran ist und nichts
gesendet wird, dann müssen am RXD 5V liegen.
Hallo Dominik,
Was mir aufgefallen ist:
An deinem RS485 Treiber SN75176 oder MAX485 (sind ja Baugleich) muss
definitiv PIN2, PIN3, PIN4 auf GND ! PIN1 des Treibers kommt an RXD des
AVR !
Dann sollte dein Programm mit der Initialisierung der PORT's, so wie du
es dir jetzt geändert hast, passen.
Wenn du deine Schaltung allerdings so aufgebaut hast wie in der
Schaltung deines Postes hier:
Beitrag "Re: DMX steuerbaren RGB LED PAR oder Pinnspot selber bauen"
dann muss man auch PD1 und PD2 als OUTPUT delarieren und auf '0' setzen.
Erweiterung deiner Initialisierung des AVR:
Danke für den Hinweis ;)
Ja meine Schaltung ist genau so, wie im verlinkten Anhang zu sehen.
Es funz aber leider immer noch nicht. Es leuchtet immer die LED an PB2.
Ich frage mich nur warum?!
PS: Wenn ich zwischen GND und Pin2/3 vom RS485 IC bzw Pin4 vom AVR die
Spannung messen will bricht irgendwas zusammen, denn dann geht plötzlich
die LED (die sonst eigenartiger Weise immer leuchtet) aus. Nach ein paar
Sekunden geht sie wieder an...
Schalte mal eine LED mit Widerstand von RXD bzw Pin1 des MAX485 nach
Masse. Wenn DMX Signal anliegt sollte diese blinken und je nach größe
deiner DMX Universe eine größere On-als off Zeit haben.
Wo kommt dein DMX signal her? Billige Lightcommander haben an der
rückseite einen Schalter um die Polung des Signals zu vertauschen. -
Ausprobieren!
dann Toggle einen Ausgang des AVRs sobald die ISR aufgerufen wird.
Manuel schrieb:> Schalte mal eine LED mit Widerstand von RXD bzw Pin1 des MAX485 nach> Masse. Wenn DMX Signal anliegt sollte diese blinken und je nach größe> deiner DMX Universe eine größere On-als off Zeit haben.
Da leuchtet und blinkt garnichts :(
Ich habe die selbe Schaltung (nur halt ohne Dip-Switches, Mosfets, ...)
mit neuen Bauteilen aufgebaut und die Firmware raufgespielt. (siehe
Anhang)
Die LED zwischen VCC und PB0 leuchtet immer (-> PB0 ist 0). Über DMX
lässt sich da nichts ändern :(
MfG Domi
Hallo Dominik,
Ich bin vorgestern mal grob der Empfangsroutine von dem Herrn Radig
durchgegangen. Ich bin der Meinung, diese hat Fehler. Wo z.B wird denn
dort das FrameError (FE) Flag wieder auf '0' gesetzt?
Hast du mal die Firmware von Henne ausprobiert? Die Firmware ist zwar
für einen Stepper-Motor geschrieben, aber ich denke die DMX receive
Routinen kann man ja für dein Projekt mißbrauchen. Diese sind immerhin
in 'c' geschrieben.
http://www.hoelscher-hi.de/hendrik/light/dmxstep.htm
Ansonsten gibt es bei Ihm auch noch andere Firmware für alle möglichen
DMX Aufgaben. Allerdings alles in ASM.
Gruß Steffen
Danke für den Hinweis, werd ich mal versuchen ;)
Aber ich fürchte, beim umschreiben für den ATmega168 baue zumindest ich
irgendwelche Fehler ein...
(Wie bereits erwähnt - bin noch totaler neuling in dem Bereich)
Projekt "Firmware_Steffen_v1.cproj" (Standardziele):
4
Erstellung mit der Toolsversion 2.0.
5
Das Ziel "PreBuildEvent" wurde übersprungen, da die Bedingung "false" war . ('$(PreBuildEvent)'!='') wurde als (''!='') ausgewertet.
6
Ziel "CoreBuild" in Datei "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\Vs\Compiler.targets" aus Projekt "C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_Steffen_v1\Firmware_Steffen_v1\Firmware_Steffen_v1.cproj" (Ziel "Build" ist davon abhängig):
7
RunCompilerTask-Aufgabe
8
C:\Program Files (x86)\Atmel\Atmel Studio 6.0\make\make.exe all
9
Building file: .././Firmware_Steffen_v1.c
10
Invoking: AVR/GNU C Compiler : (AVR_8_bit_GNU_Toolchain_3.4.0_663) 4.6.2
In file included from .././Firmware_Steffen_v1.c:52:0:
13
c:\program files (x86)\atmel\atmel studio 6.0\extensions\atmel\avrgcc\3.4.0.65\avrtoolchain\bin\../lib/gcc/avr/4.6.2/../../../../avr/include/util/delay.h(90,3): #warning "F_CPU not defined for <util/delay.h>" [-Wcpp]
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_Steffen_v1\Firmware_Steffen_v1\Debug/.././Firmware_Steffen_v1.c(63,1): undefined reference to `init_ind'
20
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_Steffen_v1\Firmware_Steffen_v1\Debug/.././Firmware_Steffen_v1.c(64,1): undefined reference to `init_DMX_RX'
21
C:\Users\Domi\Documents\DMX\DMX RGB LED Controller\meine Firmware\Firmware_Steffen_v1\Firmware_Steffen_v1\Debug/.././Firmware_Steffen_v1.c(65,1): undefined reference to `get_dips'
22
collect2: ld returned 1 exit status
23
make: *** [Firmware_Steffen_v1.elf] Error 1
24
Die Ausführung der RunCompilerTask-Aufgabe ist abgeschlossen -- FEHLER.
25
Die Erstellung des Ziels "CoreBuild" im Projekt "Firmware_Steffen_v1.cproj" ist abgeschlossen -- FEHLER.
26
Die Erstellung des Projekts "Firmware_Steffen_v1.cproj" ist abgeschlossen -- FEHLER.
27
28
Fehler beim Erstellen
29
========== Build: 0 erfolgreich oder aktuell, Fehler bei 1, 0 übersprungen ==========
Ich glaube es ist besser, wenn ich erst garnicht versuche, da was herum
zu bessern, denn ich mache es warscheinlich nur noch schlimmer...
PS: Clkdiv8 habe ich ausgeschaltet, es läuft also alles mit 8MHz. Passt
das, oder soll ich Clkdiv8 für deine Firmware einschalten? F_CPU wird da
ja mit 1MHz definiert...
MfG Domi
Funzt leider auch nicht :(
LED Bleibt dauerhaft aus.
Auch das ändern der nächsten paar kanäle nach 1 oder vertauschen der
beiden DMX Datenleitungen bringt nichts...
Hallo Dominik,
Wenn ich es schaffe, werd ich es heut Abend selber mal testen. Hab ja
noch ein USB->DMX und ein LPT->DMX Dongle rumliegen.
Ansonsten hab ich hier noch eine Firmware in [ASM] für einen ATtiny2313
da. 4 DMX Kanäle.
DMX.CH 1 -> Intensität R
DMX.CH 2 -> Intensität G
DMX.CH 3 -> Intensität B
DMX.CH 4 -> Strobo Effekt ON-OFF/Geschwindigkeit
Gruß Steffen
Hallo Dominik,
Es konnte nicht funktionieren. Ich habe die PINs für die RGB LEDs nicht
als Ausgang konfiguriert. Da ich mich in C nicht besonders gut auskenne,
hat es leider ein weilchen gedauert, eh ich es gefunden hatte.
Ich hab es zwar nur an einem ATmega48 testen können, aber der sollte ja
bis auf die Speichergrößen kompatibel zum ATmega168 sein.
Das ".hex" im Anhang ist allerdings für deinen ATmega168 kompiliert!
Steffen
Danke für deine Mühen!! ;)
Sorry, das ich mich so lange nicht mehr gemeldet habe. Hatte in letzter
Zeit wenig Zeit.
Am Wochenende kann ich das proieren.
MfG Domi
Der DMX Empfang funktioniert jetzt!! :)
Vielen Dank für deine Hilfe!!
Ich kann über Kanal 1, 2 und 3 die jeweiligen LEDs ein- und ausschalten.
Könntest du mir eventuell den Sourcecode geben?
Ich würde gerne noch eine Dimmerfunktion und ein paar andere
kleinigkeiten mit ein bauen...
MfG Domi
Dominik S. schrieb:> Könntest du mir eventuell den Sourcecode geben?> Ich würde gerne noch eine Dimmerfunktion und ein paar andere> kleinigkeiten mit ein bauen...
Sorry, dass ich mich jetzt erst melde, Urlaub.. Im Anhang findest du den
Sourcecode.
Gruß Steffen
Hat jemand ne Idee, woher diese Fehler kommen?
Wie öffne ich Steffen's Projekt (DMX_SWITCH_v2.0) richtig? Meine
bisherigen Projekte bestanden nur aus einer einzigen .c Datei. Mit
mehreren Source Dateien habe ich noch nie was gemacht, eigene Header
noch garnie verwendet.
Ich vermute, dass ich da irgendwas bei öffnen falsch mache, sodass beim
kompilieren nicht alles gefunden wird, was benötigt wird...
MfG Domi
Füge alle *.c Dateien von Steffen dem Sourcecode Ordner hinzu.(Rechte
Maustaste auf den Source Ordner->Add existing file->Zur '*.c'
durchhangeln). Im Moment fehlt anscheinend noch die Datei, in der die
Funktionen drinstehen, die als 'undefined reference' in den
Fehlermeldungen erscheinen.
Es schadet auch nicht, die *.h Dateien dem Headerfiles Ordner
hinzuzufügen.
Danke für eure Tipps, ich glaube das importieren hat soweit geklappt.
Alerdings stehe ich jetzt vor einem neuen Problem... (screenshot im
anhang).
Währe euch echt dankbar, wenn mir da auch noch jemand sagen könnte, was
ich anders machen muss ;)
Habe nämlich kein WinAVR. Ich habe nur Atmel Studio 6.0 Installiert.
PS: Ich hoffe, ich stelle mich gerade nicht so blöd an, wie ich es
momentan empfinde...
MfG Domi
Hallo,
Na ich hab AVR Studio4 und halt WinAVR20100110 auf F: installiert. Und
genau daraufhin zeigt der Eintrag im Makefile.
Ich weiß nicht, ob AVR Studio6 einen C-Compiler mitliefert. Wenn ja,
müsstest du den Eintrag im Makefile einfach anpassen.
Steffen
Also ich würde die Leds auf eine Leiterbahn setzen. Bei dem par 64 den
ich z. B. habe sind die Leds alle einzeln auf einer Leiterbahn angebrach
und parallel geschaltet. Die Platine köntest du also selber ätzen und
einlöte.
Die Seuerung könnte man dann mit einem Arduino nano (auch fake)
vollziehen den man auch mit dmx buxen versieht.