Forum: Mikrocontroller und Digitale Elektronik DMX steuerbaren RGB LED PAR oder Pinnspot selber bauen


von Dominik S. (x-domi-x)


Lesenswert?

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

von Konrad S. (maybee)


Lesenswert?

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!

von Uwe R. (aisnmann)


Lesenswert?

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

von Dominik S. (x-domi-x)


Lesenswert?

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?!

von Konrad S. (maybee)


Lesenswert?

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?

von Dominik S. (x-domi-x)


Lesenswert?

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

von spontan (Gast)


Lesenswert?

>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?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

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.

von Konrad S. (maybee)


Lesenswert?

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.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?


von Martin H. (marrtn)


Lesenswert?

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...

von Dominik S. (x-domi-x)


Lesenswert?

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

von Bernhard S. (b_spitzer)


Lesenswert?

Wie wäre es mit LEDs vom Chinamann:
3W RGB für unter 4€:
http://www.dealextreme.com/p/3w-50lm-rgb-multicolored-led-light-bulb-57330?item=4
(5er-Pack für 9€: 
http://www.dealextreme.com/p/rgb-multicolored-led-light-bulbs-5-piece-pack-133084?item=30)
5W RGB für ca. 5,50€:
http://www.dealextreme.com/p/5-watt-70-lumen-rgb-led-emitter-20999?item=2

Fertige RGB-Strahler:
http://www.dealextreme.com/p/3w-150-lumen-waterproof-rgb-led-underwater-lamp-light-12v-46683?item=20
http://www.dealextreme.com/p/9w-420lm-waterproof-rgb-led-underwater-lamp-12v-46669?item=18

Und das alles Versandkostenfrei ohne Mindestbestellmenge! Nur unter 23€ 
bleiben, sonst wird 19% Einfuhrumsatzsteuer fällig. => Auf mehrere 
Bestellungen aufteilen... :-)
Ich habe da schon oft bestellt, die versenden zuverlässig, es dauert 
halt 2-3 Wochen.

tschuessle
Bernhard

von Dominik S. (x-domi-x)


Lesenswert?

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

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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.

von Uwe R. (aisnmann)


Lesenswert?

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

von Dominik S. (x-domi-x)


Lesenswert?

Ich habe mir die billigen LEDs nochmal alle angeschaut.
Die beiden glaube ich währen ganz brauchbar:
- 
http://www.dealextreme.com/p/10w-450lm-colorful-rgb-led-emitter-metal-plate-66291?item=3
- 
http://www.dealextreme.com/p/10w-500-lumen-multi-color-rgb-led-emitter-metal-plate-60-70-degree-44042?item=252

Beide haben 10 Watt und ~500 Lumen und sind somit ein wenig heller als 
die billigen LED PARs.
Was mich aber bei beiden stört ist der Abstrahlwinkel. Am liebsten hätt 
ich den so zwischen 25° und 45° oder unter 10°. Meint ihr, bekommt man 
dafür ne passende und vorallem günstige optik?

MfG Domi

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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.

von Uwe R. (aisnmann)


Lesenswert?

Dominik S. schrieb:
> Ich habe mir die billigen LEDs nochmal alle angeschaut.
> Die beiden glaube ich währen ganz brauchbar:
> -
> 
http://www.dealextreme.com/p/10w-450lm-colorful-rgb-led-emitter-metal-plate-66291?item=3
> -
> 
http://www.dealextreme.com/p/10w-500-lumen-multi-color-rgb-led-emitter-metal-plate-60-70-degree-44042?item=252
>
> Beide haben 10 Watt und ~500 Lumen und sind somit ein wenig heller als
> die billigen LED PARs.
> Was mich aber bei beiden stört ist der Abstrahlwinkel. Am liebsten hätt
> ich den so zwischen 25° und 45° oder unter 10°. Meint ihr, bekommt man
> dafür ne passende und vorallem günstige optik?

Nein, keine Chance. Das Problem ist hier das die verschiedenen Farben 
sehr weit auseinander montiert sind. Mit einer optik hast du dadurch 
mehrere Lichtstrahen nebeneinander. Das ist sowieso immer das 
beschraenkende Problem bei kleinen Abstrahlwinkeln, und die Abhilfe 
schafft man idR dadurch das die Linse aus vielen kleinen Linsen besteht 
und sich so 100 bunte Lichtstrahlen ineinander vermischen.
Mit einer Einzellinse hast du im Extremfall die Farben nebeneinander, im 
besten Fall bunte Raender.
Deswegen ist das mit einem Pinspot in RGB generell schwirig.

das hier:
http://www.led-tech.de/de/High-Power-LEDs/Avago-High-Power/Avago-Moonstone-Tri-Color-Power-LED-LT-1511_55_150.html
http://www.led-tech.de/de/High-Power-LEDs/ACULED/ACULED-RGGB--3chip-RGGB-LED--LT-661_55_66.html
http://de.farnell.com/cree/mce4ct-a2-0000-00a4aaab1/led-high-power-red-green-blue-white/dp/2118659
veranschaulicht ganz gut wie die Emitter dicht beieinander liegen 
(..sollten, zumindest fuer deinen Anwendungszweck).

bye uwe

von Dominik S. (x-domi-x)


Lesenswert?

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.

von David .. (david1)


Lesenswert?


von Dominik S. (x-domi-x)


Lesenswert?

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?!

von Konrad S. (maybee)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

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

von Konrad S. (maybee)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Lesenswert?

> 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

von Konrad S. (maybee)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Lesenswert?

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

von Dominik S. (x-domi-x)


Lesenswert?

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?

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

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?

von Konrad S. (maybee)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Lesenswert?

@ 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.

von Konrad S. (maybee)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Lesenswert?

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

von Uwe R. (aisnmann)


Lesenswert?

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

von Konrad S. (maybee)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Lesenswert?

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

von Konrad S. (maybee)


Lesenswert?

Dominik S. schrieb:
> Wenn das mit dern 12 PWM Ausgängen stimmt

8x 12-Bit (PSC)
2x 16-Bit (Timer 1)
2x 8-Bit (Timer 0), davon einer TxD

von Dominik S. (x-domi-x)


Lesenswert?

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

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

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

von Konrad S. (maybee)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

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

von Konrad S. (maybee)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Lesenswert?

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

von Konrad S. (maybee)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Lesenswert?

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.

von Ralf (Gast)


Lesenswert?

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?

von Ralf (Gast)


Lesenswert?

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

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

@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

von Christian (Gast)


Lesenswert?

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.

von Dex (Gast)


Angehängte Dateien:

Lesenswert?

Frage: ist das orangene dreibeinige etwas wirklich ein Quarz? - Hätte 
das eher für nen Filter gehalten..

von Dominik S. (x-domi-x)


Lesenswert?

Jein. Was Quarzähnliches. Ist ein Keramikresonator. Habe in einem Thread 
auf Mikrocontroller.net gelesen, der solle für DMX vollkommen 
ausreichen.

PS: Dieser hier ist es: 
http://www.reichelt.de/Filter/CST-8-00/3/index.html?;ACTION=3;LA=5;ARTICLE=37861;GROUPID=3175;artnr=CST+8%2C00;SID=10T8FaZH8AAAIAAEI9B@0af6bb8937368cd0feaec9fba31741c2c

MfG Domi

von Chris (Gast)


Lesenswert?

8Mhz Resonator, braucht keine extra Kondensatoren, deshalb auch der 
Masseanschluss in der Mitte.

von Dominik S. (x-domi-x)


Lesenswert?

Mhm...
AVR Studio meldet, dass die Target Voltage mit 1,1V zu klein ist. Es 
will 1,8-5,5V.
Hat jemand ne Idee, woran das liegen könnte?

MfG Domi

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

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?
1
#include <avr/io.h>
2
3
int main(void)
4
{
5
    while(1)
6
    {
7
        DDRB = 0b111;
8
        PORTB = 0b111;
9
    }
10
}

MfG Domi

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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
 int main(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;

von Dominik S. (x-domi-x)


Lesenswert?

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

von Dominik S. (x-domi-x)


Lesenswert?

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?!

von Dominik S. (x-domi-x)


Lesenswert?

Ahaa, mit einem einfachen Trafo-Gleichrichter-Siebkondensator-Netzteil 
funktioniert der 78L05 auch in der Schaltung einwandfrei!! Aber mit 
diesem Steckerschaltnetzteil zickt er: 
http://www.reichelt.de/Festspannungsnetzteile/SNT-2250-12V/3/index.html?;ACTION=3;LA=5;ARTICLE=111184;GROUPID=4946;artnr=SNT+2250+12V;SID=13Tyga738AAAIAAEpXEto5f857706b80d1547aae638bbb538d716

Hat jemand ne Idee, wesshalb das so ist, und wie ich das ändern kann?

von TestX .. (xaos)


Lesenswert?

nimm einfach nen anderes netzteil...
ansonsten kannst du es mal mit einer LC filter kombination am eingang 
probieren

von Dominik S. (x-domi-x)


Lesenswert?

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...

von Dominik S. (x-domi-x)


Lesenswert?

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

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

Würden die Einstellungen wie im Anhang zu sehen für meinen 8MHz 
Keramikresonator passen?

MfG Domi

von Dominik S. (x-domi-x)


Lesenswert?

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

von Konrad S. (maybee)


Lesenswert?

Die Einstellung sollte passen (habe aber noch nie einen Keramikresonator 
verwendet). Lediglich die CKDIV8 solltest du noch ausschalten.

von Dominik S. (x-domi-x)


Lesenswert?

Danke für die Antwort, hat geklappt ;)
nur irgendwie läuft jetzt alles 8x so schnell?!

von Konrad S. (maybee)


Lesenswert?

Dominik S. schrieb:
> irgendwie läuft jetzt alles 8x so schnell

Das ist der Sinn von CKDIV8. Lies mal nach.

von Dominik S. (x-domi-x)


Lesenswert?

Das gibt's ja nicht!! Wenn das so weiter geht, scheitert das Projekt 
noch an der Software...
Ich versteh das mit dem DMX empfang einfach nicht... :(

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

Hat jemand ne Idee, woher die unten aufgelisteten Fehler kommen?
Quellcode ist im Anhang.

Währe euch über Hilfe echt sehr dankbar!! ;)
1
------ Erstellen gestartet: Projekt: Firmware_v1.2, Konfiguration: Debug AVR ------
2
Der Buildvorgang wurde gestartet.
3
Projekt "Firmware_v1.2.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_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
11
    "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -MD -MP -MF "Firmware_v1.2.d" -MT"Firmware_v1.2.d" -MT"Firmware_v1.2.o"  -mmcu=atmega168a   -o"Firmware_v1.2.o" ".././Firmware_v1.2.c" 
12
    .././Firmware_v1.2.c: In function 'init_DMX_RX':
13
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 ==========

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

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?

von holger (Gast)


Lesenswert?

Was ist das denn für ein Deppenkram?
1
    if (DmxRxField[0] <= 9999999999999999999999999999999)    //enable LED if 1st DMX val is >127

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

holger schrieb:
> Was ist das denn für ein Deppenkram?
1
if (DmxRxField[0] <= 9999999999999999999999999999999)    //enable
2
LED if 1st DMX val is >127
>

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

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Als außenstehender würde ich sagen:
1
if ( DmxRxField[0] > 127 ) //enable LED if 1st DMX val is >127
Alles andere finde ich erklärungsbedürftig.

von Dominik S. (x-domi-x)


Lesenswert?

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??

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

uint8_t ist wohl ein Byte, also 0..255. Andere Werte machen m.E. keinen 
Sinn und ergeben nur Müll.

von Dominik S. (x-domi-x)


Lesenswert?

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

von Martin H. (marrtn)


Lesenswert?

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

von Manuel (Gast)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Lesenswert?

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?

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

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

von Christian (Gast)


Lesenswert?

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?

von Dominik S. (x-domi-x)


Lesenswert?

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

von Christian (Gast)


Lesenswert?

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.

von Christian (Gast)


Lesenswert?

Sorry... nicht an die 2 Stoppbits gedacht. Uart Init neu:

 UCSR0B = 0x00;
 UCSR0A = 0x00;
 UCSR0C = 0x0E;
 UBRR0L = 0x01;
 UBRR0H = 0x00;
 UCSR0B = 0x90;

von Christian (Gast)


Angehängte Dateien:

Lesenswert?

Probier mal das abgewandelte Prog im Anhang.

von Dominik S. (x-domi-x)


Lesenswert?

Funktioniert leider auch nicht :(

von Christian (Gast)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Lesenswert?

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

von spess53 (Gast)


Lesenswert?

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

von Dominik S. (x-domi-x)


Lesenswert?

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

von Martin H. (marrtn)


Lesenswert?

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...

von holger (Gast)


Lesenswert?

>An RXD (pin2) messe ich 0,035V und 0Hz.

Wenn keine Daten gesendet werden sollte an RXD ca. 5V liegen.

von Dominik S. (x-domi-x)


Lesenswert?

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

von holger (Gast)


Lesenswert?

>> 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.

von Steffen H. (avrsteffen)


Lesenswert?

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:
1
//############################################################################
2
//Hauptprogramm
3
int main (void) 
4
//############################################################################
5
{  
6
  unsigned int dmx_adresse_tmp;
7
  
8
  //Init usart DMX-BUS
9
  UBRR0   = (F_CPU / (DMX_BAUD * 16L) - 1);
10
  UCSR0B|=(1 << RXEN0 | 1<< RXCIE0);
11
  UCSR0C|=(1<<USBS0); //USBS0 2 Stop bits  
12
  sei();//Globale Interrupts Enable
13
  
14
  //Timer2 Timecounter für DMX Ausfall
15
  TCCR2A |= (1<<WGM21);
16
  TCCR2B |= (1<<CS22|1<<CS21|1<<CS20);
17
  TIMSK2 |= (1<<OCIE2A);
18
  OCR2A = F_CPU/1024/1000 - 1; //Tick 1ms
19
    
20
  DDRB |= ((1<<PB2) | (1<<PB1) | (1<<PB0));
21
        DDRD |= ((1<<PD2) | (1<<PD1));
22
        PORTD &= ~((1<<PD2) | (1<<PD1));
23
  
24
  //Endlosschleife
25
  while(1)
26
  {
27
    dmx_adresse_tmp = 1; //0 **************************************

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

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...

von Steffen H. (avrsteffen)


Lesenswert?

Welchen AVR nimmst du nochmal?

von Dominik S. (x-domi-x)


Lesenswert?

ATmega168A-PU

von Manuel (Gast)


Lesenswert?

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.

von Dominik S. (x-domi-x)


Lesenswert?

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 :(

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

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

von Dominik S. (x-domi-x)


Lesenswert?

Hat denn niemand eine Idee, was da nicht funktioniert, bzw. wie man das 
beheben kann?

MfG Domi

von Steffen H. (avrsteffen)


Lesenswert?

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

von Dominik S. (x-domi-x)


Lesenswert?

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)

von Steffen H. (avrsteffen)


Lesenswert?

Muss es unbedingt in 'C' sein?

von Dominik S. (x-domi-x)


Lesenswert?

Wenns ne fertige Firmware gibt, an der ich nichts mehr ändern muss - 
nein, muss nicht unbedingt c sein.

von Steffen H. (avrsteffen)


Angehängte Dateien:

Lesenswert?

So, hier probier die hier mal. Kann es leider nicht selber testen da ich 
keine DMX-Quelle habe.
PIN-Belegung findest du in der DMX_SWITCH.c

Steffen

von Dominik S. (x-domi-x)


Lesenswert?

Danke für deine Mühen!!

Lässt sich aber nicht kompilieren...

1
------ Erstellen gestartet: Projekt: Firmware_Steffen_v1, Konfiguration: Debug AVR ------
2
Der Buildvorgang wurde gestartet.
3
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
11
    "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-gcc.exe" -funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2 -Wall -c -std=gnu99 -MD -MP -MF "Firmware_Steffen_v1.d" -MT"Firmware_Steffen_v1.d" -MT"Firmware_Steffen_v1.o"  -mmcu=atmega168a   -o"Firmware_Steffen_v1.o" ".././Firmware_Steffen_v1.c" 
12
    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]
14
    Finished building: .././Firmware_Steffen_v1.c
15
    Building target: Firmware_Steffen_v1.elf
16
    Invoking: AVR/GNU Linker : (AVR_8_bit_GNU_Toolchain_3.4.0_663) 4.6.2
17
    "C:\Program Files (x86)\Atmel\Atmel Studio 6.0\extensions\Atmel\AVRGCC\3.4.0.65\AVRToolchain\bin\avr-gcc.exe" -o Firmware_Steffen_v1.elf  Firmware_Steffen_v1.o   -Wl,-Map="Firmware_Steffen_v1.map" -Wl,--start-group -Wl,-lm  -Wl,--end-group  -mmcu=atmega168a  
18
    Firmware_Steffen_v1.o: In function `init_system':
19
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

von Steffen H. (avrsteffen)


Lesenswert?

Also mit AVR-Studio4 wird es kompiliert. Wo ist denn F_CPU auf 1MHz 
gestellt?

von Steffen H. (avrsteffen)


Angehängte Dateien:

Lesenswert?

rm -rf DMX_SWITCH.o lib_dmx_in.o lib_indicator.o  DMX_SWITCH.elf dep/* 
DMX_SWITCH.hex DMX_SWITCH.eep DMX_SWITCH.lss DMX_SWITCH.map
Build succeeded with 0 Warnings...
avr-gcc  -mmcu=atmega168p -Wall -gdwarf-2 -std=gnu99 
-DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct 
-fshort-enums -MD -MP -MT DMX_SWITCH.o -MF dep/DMX_SWITCH.o.d  -c 
../DMX_SWITCH.c
avr-gcc  -mmcu=atmega168p -Wall -gdwarf-2 -std=gnu99 
-DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct 
-fshort-enums -MD -MP -MT lib_dmx_in.o -MF dep/lib_dmx_in.o.d  -c 
../lib_dmx_in.c
avr-gcc  -mmcu=atmega168p -Wall -gdwarf-2 -std=gnu99 
-DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct 
-fshort-enums -MD -MP -MT lib_indicator.o -MF dep/lib_indicator.o.d  -c 
../lib_indicator.c
avr-gcc -mmcu=atmega168p -Wl,-Map=DMX_SWITCH.map DMX_SWITCH.o 
lib_dmx_in.o lib_indicator.o     -o DMX_SWITCH.elf
avr-objcopy -O ihex -R .eeprom -R .fuse -R .lock -R .signature 
DMX_SWITCH.elf DMX_SWITCH.hex
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" 
--change-section-lma .eeprom=0 --no-change-warnings -O ihex 
DMX_SWITCH.elf DMX_SWITCH.eep || exit 0
avr-objdump -h -S DMX_SWITCH.elf > DMX_SWITCH.lss

AVR Memory Usage
----------------
Device: atmega168p

Program:     658 bytes (4.0% Full)
(.text + .data + .bootloader)

Data:         13 bytes (1.3% Full)
(.data + .bss + .noinit)


Build succeeded with 0 Warnings...

von Steffen H. (avrsteffen)


Lesenswert?

Ach ja, hier mal noch die Anschlussbelegung:
1
/*
2
                   ATmega168A @ 8MHz
3
                        ---v---
4
         (Reset) <- PC6|1    28|PC5 -> S1
5
          DMX RX <- PD0|2    27|PC4 -> S2
6
          DMX TX <- PD1|3    26|PC3 -> S3
7
          DMX EN <- PD2|4    25|PC2 -> S4
8
          LED gn <- PD3|5    24|PC1 -> S6
9
          LED rt <- PD4|6    23|PC0 -> S6
10
                    VCC|7    22|GND
11
                    GND|8    21|AREF
12
          Quartz <- PB6|9    20|AVCC
13
          Quartz <- PB7|10   19|PB5 -> S7
14
             S10 <- PD5|11   18|PB4 -> S8
15
                    PD6|12   17|PB3 -> S9
16
                    PD7|13   16|PB2 -> gruen
17
            blau <- PB0|14   15|PB1 -> rot
18
                        -------
19
*/

Die DIP Schalter für die Adresse hab ich jetzt erst mal raus gelassen. 
Die Startadresse steht fest auf 1

von Dominik S. (x-domi-x)


Lesenswert?

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...

von Steffen H. (avrsteffen)


Lesenswert?

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

von Steffen H. (avrsteffen)


Angehängte Dateien:

Lesenswert?

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

von Dominik S. (x-domi-x)


Lesenswert?

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

von Dominik S. (x-domi-x)


Lesenswert?

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

von Steffen H. (avrsteffen)


Angehängte Dateien:

Lesenswert?

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

von Dominik S. (x-domi-x)


Lesenswert?

Vielen Dank!! ;)

Am Wochenende meld ich mich nochmal, wenn alles oder nichts so funzt, 
wie es soll. :D

MfG Domi

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

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

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

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.

von Martin (Gast)


Angehängte Dateien:

Lesenswert?

Geht sogar noch einfacher. Das Archiv in einen beliebigen Ordner 
entpacken und dann das Projektfile im Studio importieren...

von Dominik S. (x-domi-x)


Angehängte Dateien:

Lesenswert?

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

von Steffen H. (avrsteffen)


Lesenswert?

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

von Simoncaspar (Gast)


Lesenswert?

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.

von Simoncaspar (Gast)


Lesenswert?

außerdem könntest du dann die leds über pwm dimmen

von spess53 (Gast)


Lesenswert?

Hi

Mal auf Datum der vorherigen Beiträge geschaut?


MfG Spess

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
Noch kein Account? Hier anmelden.