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
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.
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
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
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.
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
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?
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.
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.
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.
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.
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 ;)
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
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.
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.
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.
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.
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"?
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 ;)