Forum: Mikrocontroller und Digitale Elektronik LED DMX-Controller mit STC 11L04E-35I-PDIP20


von annD (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe einen günstigen DMX-Controller WS-DMX-HLB-4CH-V2 mit 4x 
350mA/700mA Kanäle, wie er oft in der Bucht und in China erhältlich ist. 
Mit einer Ansteuerung per Netzwerk (Art-Net) über einen Art-Net-Node 
(z.B. von Ulrich Radig) eine interessante Lösung auch für den 
Wohnbereich. Die Funktion ist grundsätzlich ganz gut gegeben - nur stört 
mich eine Sache:

Beim Einschalten der Spannungsversorgung werden alle Ausgänge für ca. 1 
Sekunde auf 100% angesteuert bis das anliegende DMX-Signal richtig 
verarbeitet wird. Gäbe es Möglichkeiten, dieses Verhalten zu 
unterdrücken?

Auf dem Controller sind ein STC 11L04E-35I-PDIP20 und ein SP3485E 
(RS485) verbaut.

Gruß, annD

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


Lesenswert?

Leider hast du die Platine nur teilweise fotografiert. Eine mögliche 
Lösung wäre ein einschaltverzögertes Relais, mit dem du die LED Speisung 
verzögert einschaltest - und nur die. Denn der MC sollte natürlich schon 
loslaufen.

Fotografiere mal Ober- und Unterseite der Platine komplett, dann kann 
man evtl. sehen, wo man so ein Relais einschleifen könnte.

von Michael (Gast)


Lesenswert?

Hallo! Das ist meines Wissens eine Funktionalität des Art Net 
Controllers von Radig. Kann mE irgendwie abgeschalten werden. Ich würd 
mal da nachschauen

von Michael (Gast)


Lesenswert?

In der Bedienungsanleitung steht:

Danach ist die Art Net Box betriebsbereit und gibt auf allen 512 Kanälen
den Wert 255 Dezimal aus.

Das lässt sich umprogrammieren, vgl. Bedienungsanleitung 
(Doku\ArtNetBox.pdf) unter folgendem Link:

http://www.ulrichradig.de/home/uploads/File/ArtNetBox/Art_Net_Box.zip

von annD (Gast)


Lesenswert?

Danke für die Hinweise. Die Art-Net Box von Ulrich Rading habe ich aber 
gleich zu Beginn umgestellt und  sie funktioniert mit einem anderen 
DMX-Empfänger einwandfrei. Am Node kann man beliebige Startwerte 
speichern.

In diesem Fall läuft das DMX-Signal auch ständig durch. Ich möchte nur 
die einzelnen DMX-Empfänger während des Nichtgebrauchs abschalten. Nach 
dem Einschalten (bei anliegendem DMX-Signal) machen diese das kurze 
Ansteuern auf 100% wahrscheinlich als eine Art "Selbsttest". Bei anderen 
Controllern (z.B. 12CH 24V) tritt dies nicht auf.

Ich werde noch genauere Fotos machen.

von annD (Gast)


Angehängte Dateien:

Lesenswert?

Die Fotos haben jetzt länger gedauert ;-) Ich habe mir den 
DMX-Controller nochmal angesehen. Es ist dort eine Konstantstromquelle 
mit einem PAM2861 (P2861 TDC41) in einem SOT89-5 verbaut. Das Datenblatt 
[[http://www.diodes.com/_files/datasheets/PAM2861.pdf]] weist ein paar 
Ähnlichkeiten mit dem IS31LT3360 von ISSI auf.

In der Beschaltung vom P2861 gibt es eine Diode, eine Induktivität und 
zwei brückbare Widerstande für die Stromauswahl. Es ist im Datenblatt 
auch eine "Soft Start Time" mit einem Kondensator am Eingang 
beschrieben. Bei 1nF sollte es 1,5ms ergeben. Lässt sich das evtl. noch 
massiv vergrößern auf z.B. 1s? Gibt es eine andere Möglichkeit die 
Einschaltzeit zu verzögern?

Gruß annD

von annD (Gast)


Lesenswert?

Ich habe nun mal versucht, den Eingang VSET der Konstantstromquelle mit 
einem Pull-Down Widerstand gegen GND zu versehen.

Bei 10K war zwar das Einschaltblinken weg, aber auch die Helligkeit war 
wesentlich geringer. Dann habe von 1M stufenweise reduziert und bin bei 
15K angekommen. Dort ist das Einschaltblinken weg und die Helligkeit 
noch gleich wie ohne Pull-Down.

Leider treten damit ein paar Störungen (Flimmern) auf, d.h. alle paar 
Sekunden wird es für einen Moment dunkel. Es sieht so aus, dass einzelne 
Takte unterdrückt werden. Ist das jetzt zu empfindlich gegen fremde 
Einflüsse?

Soll ich versuchen den Widerstand weiter zu verringern und so den besten 
Kompromiss finden, oder neue Tests mit Kondensatoren gegen GND zwischen 
1nF und 100nF machen?

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


Angehängte Dateien:

Lesenswert?

Ich habe dir mal im Foto die Versorgungsschiene der Endstufen in rot 
eingezeichnet. Würdest du an der mit dem grün markierten Viereck einen 
Schalter einfügen, kannst du die Endstufen solange stromlos machen, bis 
der Startzyklus des MC abgeschlossen ist.
Der 'Schalter' könnte ein Relais oder ein P-Kanal MOSFet sein, die z.B. 
von der DMX LED angesteuert werden, wenn diese erst leuchtet, sobald der 
Prozessor soweit ist.
Ein P-Kanal MOSFet kann z.B. mit der simplen Schaltung im zweiten Bild 
aktiviert werden durch ein 'High' vom MC.

annD schrieb:
> Ich habe nun mal versucht, den Eingang VSET der Konstantstromquelle mit
> einem Pull-Down Widerstand gegen GND zu versehen.

Wenn überhaupt, wäre hier ein Elko zielführend, der sich beim 
Einschalten auflädt und VSET nur langsam ansteigen lässt. Mit 
Widerständen veränderst du dauerhaft die Einstellung, was du ja 
eigentlich nicht willst.

> oder neue Tests mit Kondensatoren gegen GND zwischen
> 1nF und 100nF machen?

Eher viel grösser. Wenn 1nF etwa 1,5ms verzögert, dann also 1µF-4,7µF.

: Bearbeitet durch User
von annD (Gast)


Lesenswert?

Danke für deine Antwort. Bei der Versorgungsschiene muss ich schauen, 
wie ich diese auftrennen kann (Anbohren bzw. Abfräsen).

Ich habe jetzt noch mit anderen Widerständen probiert und bei ca. 12,2 
kiloohm an einem Kanal Erfolg gehabt. Es gibt kein Einschaltblinken und 
die Helligkeit ist zumindest mit dem Auge nicht feststellbar. Leider 
geht es bei einem zweiten Kanal mit gleichem Wert nicht störungsfrei. 
Dort gibt es ein leichtes Flimmern.

Mit einem 100nF ist die Helligkeit leider schon wesentlich geringer, 
aber das Einschaltblinken tritt trotzdem auf. In diesem Fall wird eine 
größere Kapazität wahrscheinlich auch nicht erfolgversprechend sein.

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


Lesenswert?

annD schrieb:
> In diesem Fall wird eine
> größere Kapazität wahrscheinlich auch nicht erfolgversprechend sein.

Ist allerdings viel leichter zu testen als das Anbohren der Platine. 
Widerstand wieder auf den ursprünglichen Wert und einen Elko 
ausprobieren wäre zumindest mal einen schnellen Versuch wert. Den Elko 
von VSET nach Masse, nicht etwa gegen die +5V.

: Bearbeitet durch User
von Lothar (Gast)


Lesenswert?

annD schrieb:
> STC11L04E

Das ist ein 8051 mit seriellem Bootloader der einfach mit einem 
USB-seriell Kabel auf TX/RX/GND neu geflasht werden kann.

von annD (Gast)


Lesenswert?

Das ist ein interessanter Hinweis.

Ich vermute aber, dass dieses Aufblinken deshalb auftritt, weil im 
Einschaltmoment die Ausgangspins des uC noch nicht aktiv sind und 
deshalb die Konstantstromquelle auf max. Leistung geht.

von Marco H. (damarco)


Lesenswert?

Logisch, mit dem Kondensator am vom Set wird der PWM vom µP Integriert. 
Die Kapazität ist ohne externen Kondensator so groß das sich ein hoch 
laufen auf iSoll in 0.1ms ergibt.  Mit einen PWM drauf wir eine Spannung 
aus dem Tastverhältnis integriert. Vergrößerst du die kapazitive Last 
wird der Ladestrom zu groß. Die PIO wird durch den hohen Ladestrom stark 
belastet. Die Spannung wird bestimmt durch einen Vorwiderstand auf 2.5V 
herunter geteilt oder durch das Tastverhältnis entsprechend bestimmt 
und an dem fällt dann zu viel Spannung ab so das du die 2.5V nicht mehr 
erreichst.

Ich wird einfach mal messen mit einen Ozzi was beim einschalten 
Passiert. Zieh doch mal den µP was passierten dann ? Der Spannungsteiler 
sollte eigentlich den Vset ausreichend nach Masse ziehen.  Messe mal 
ohne µP den Widerstand zur Masse und Vset.

Womöglich ist auch im Programm ein Fehler drin das der Port erst mal auf 
1 gesetzt wird. Deswegen messen ;)

: Bearbeitet durch User
von Lothar (Gast)


Lesenswert?

Marco H. schrieb:
> Womöglich ist auch im Programm ein Fehler drin das der Port erst mal auf
> 1 gesetzt wird

Laut Datasheet hat der kein Hardware PWM wird also wohl mit Timer 
gemacht. Nach Reset sind auf den Ports Pull-Ups aktiv was nicht so gut 
ist. Trotzdem sollte es nicht 1 sec dauern. Aber eventuell ist der 
Bootloader schuld. Bei anderen 8051 wartet der Bootloader nicht rum 
sondern prüft einen ISP Pin ob er starten soll, da kann dann nichts 
passieren.

http://www.stcmicro.com/datasheet/STC11F-10Fxx-en.pdf

von annD (Gast)


Lesenswert?

Der Startvorgang dauert sicher weniger als eine Sekunde. Es ist ein 
Aufblitzen von geschätzt 1/10 sec.

Wie gesagt mit einem Widerstand von diesem uC Ausgang bzw. Eingang VSET 
gegen GND ist das Einschalt-Blinken mit z.B. 12,33 Kiloohm unterdrückt. 
Ich habe nur teilweise mit verschiedenen Widerstandswerten ein Flimmern 
im normalen (gedimmten) Betrieb festgestellt. Das kommt vermutlich von 
externen Einflüssen, weil ich es an verschiedenen Kanälen nicht 
einwandfrei reproduzieren kann.

von annD (Gast)


Lesenswert?

Kann das hier für Hinweise dienen:
http://www.amobbs.com/thread-5512947-1-12.html

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


Lesenswert?

Marco H. schrieb:
> Womöglich ist auch im Programm ein Fehler drin das der Port erst mal auf
> 1 gesetzt wird.

Ich guck jetzt nicht nach, obs beim STC genauso ist, aber die 
traditionellen Ports der MCS51 Familie sind immer auf high, wenn sie 
nicht durch Befehl auf Low gesetzt werden. Das ist eine Eigenart dieser 
Familie, intern sind immer Pullups aktiv, ein Portpin wird also nur 
dadurch zum Ausgang, das man ihn auf low zieht, als Eingang lässt man 
ihn auf high und fragt das Inputregister ab.

: Bearbeitet durch User
von Marco H. (damarco)


Lesenswert?

Nö das flimmern kommt davon das die Spannung Vset während des Empfangs 
des DMX Signal gehalten werden muss. Also der PWM kann nicht ausgegeben 
werden da die ISR gerade mit der UART beschäftigt ist.

Wenn die nun einen Widerstand dort einfügst veränderst du das RC 
Verhalten vom Vset. Die Spannung sinkt schnell ab und wenn der PWM 
wieder einsetzt springt sie nach oben.

Interessant ist wie der Chinese es gelöst hat das der Port beim 
auftreten der ISR nicht auf High stehen bleibt.

von Lothar (Gast)


Lesenswert?

Marco H. schrieb:
> Also der PWM kann nicht ausgegeben werden da die ISR gerade
> mit der UART beschäftigt ist

Wie sieht denn das Programm aus? Auf diesem STC 8051 wird das PWM doch 
von einem Timer-Interrupt erzeugt und dem kann man ja höchste Priorität 
geben. Wenn das dann zu Problemen mit dem UART Interrupt führt, kann man 
ja dort erstmal alles nur puffern und dann im Hauptprogramm verarbeiten. 
Oder man macht den UART gleich mit Polling im Hauptprogramm.

Abgesehen davon gibt es diesen STC 8051 auch mit PCA also Hardware PWM 
den könnte man tauschen.

von annD (Gast)


Lesenswert?

Also ohne einen zusätzlichen Widerstand (zwischen VSET und 
GND)funktioniert das Ganze flimmerfrei wie gewünscht.

Bei Widerständen unter 10K wird die Helligkeit über alle Bereiche 
reduziert (das Einschaltblinken ist auch weg).

Bei Widerständen im Bereich von 13K scheint das ganz gut zu laufen. In 
diesem Bereich ist teilweise ein Flimmern aufgetreten (kurzfristige 
Aussetzer in unregelmäßigen Abständen).

Könnte hier eine zusätzliche Kapazität helfen, das Signal zu "stützen"?

von Marco H. (damarco)


Lesenswert?

Nunja die maximale Kapazitive Last die deine PIO Treiben kann steht im 
Datenblatt.  Zu groß kommt es zu den oben erwähnten Problemen. Oft 
versuchen Bastler dicke FETs direkt zu treiben und wundern sich das sie 
warm werden oder die PIO plötzlich stirbt.  Das Gate ist auch ein 
Kondensator der beim einschalten einen Kurzschluss darstellt.

Nun mit der ISR ist ja beim dmx ein break vorhanden. Es bleiben min 88µS 
die PWM Ports auf null zu setzen, den Timer zu deaktivieren und die Uart 
auf das erste Zeichen vorzubereiten.

Ich würde das durch ein Transistor lösen. Der beim einschalten den Vset 
nach Masse <0.2V zieht und dann sperrt.  Das lässt sich auch durch ein 
RC Glied lösen das von UB getriggert wird.  Die Kapazität des Emitters 
bzw. je nach Variante Kollektor kann man bei einen NF Type sicher schon 
vernachlässigen. Diese sollte das Schaltverhalten kaum beeinflussen.

Alternativ kannst du diesen auch von der DMX LED Triggern.

Diese ganze bastlei würde mich aber veranlassen was vernünftiges zu 
kaufen oder zu bauen ;)

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.