Forum: Mikrocontroller und Digitale Elektronik LED Text Ventilator


von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Angehängte Dateien:

Lesenswert?

Im Mediamarkt gab es von Hama einen "USB-LED-Text-Ventilator" für knapp 
9 Euro. Da konnte ich nicht widerstehen und hab den als Bastelobjekt 
gekauft. Ich möchte über den PC eigene Texte an den Ventilator 
übertragen. Was der Ventilator selbst bietet, ist eine 
Text-Programmierung über diverse Tasten; das funktioniert auch recht 
gut. Die Innereien seht ihr auf den Bildern. Auf der Platine ist eine 
vergossener MCU und ein 24C02 EEprom zu erkennen. Die Übertragung von 
Daten an den Ventilatorkopf erfolgt über 2-Draht Leitung, wahrscheinlich 
I2C. Nun gibt es einige alte Threads über dies LED Ventilatoren, aber 
hilfreich waren die nicht so besonders.
Die einfachste Möglichkeit der Textprogrammierung sehe ich zuerst mal 
darin einfach die vorhandenen Taster über einen z.B. ATMega 168 zu 
bedienen und diesem vom PC über USB-Seriell-Wander die Texte zu 
schicken. Der Nachteil wird wohl sein, das das Programm der Ventilator 
MCU mit Sicherheit Routinen zur Tastenentprellung hat und somit die 
Ansteuerung dadurch verlangsamt wird.
Natürlich könnte ich auch schauen was so auf der I2C Leitung zum 
Ventilatorkopf passiert und das in meinem ATMega nachvollziehen.

Hat einer von euch schon mal mit so einem Teil rumgebastelt? Wie habt 
ihr das gelöst?
Wie geschieht die Energie- und Datenübertragung in den Ventilatorkopf - 
induktiv? Offensichtlich ist im Ventilatorkopf wohl noch ein zweiter 
Controller.

------------------------------
ADMIN > bitte letztes Foto löschen, wurde versehentlich mit 5 MB 
hochgeladen

von Ingo (Gast)


Lesenswert?

Wenn man bei der Entrprellung zeit vertrödelt mit Delays is man selber 
Schuld. Eine Entrpellroutine darf die CPU nicht im Geringsten stören.


Ingo

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Ingo schrieb:
> Wenn man bei der Entrprellung zeit vertrödelt mit Delays is man selber
> Schuld. Eine Entrpellroutine darf die CPU nicht im Geringsten stören.

... und wer lesen kann ist im Vorteil:

> Der Nachteil wird wohl sein, das das Programm der Ventilator
> MCU mit Sicherheit Routinen zur Tastenentprellung hat und somit die
> Ansteuerung dadurch verlangsamt wird.

Wo steht denn da dass es von mir ist?
Da wie oben beschrieben die MCU unbekannten Typs und vergossen ist, kann 
ich wohl kaum die Entprellroutinen verändern.

Ist hier irgendwie immer das selbe: Beim Lesen des Textes wird der 
Verstand ausgeschaltet, sich auf irgend ein ins Auge fallendes Stichwort 
fokusiert und dann, insbesondere von "Gästen", ein hirnloser Text 
abgesondert.

von Ingo (Gast)


Lesenswert?

Albert M. schrieb:
> Ingo schrieb:
>> Wenn man bei der Entrprellung zeit vertrödelt mit Delays is man selber
>> Schuld. Eine Entrpellroutine darf die CPU nicht im Geringsten stören.
>
> ... und wer lesen kann ist im Vorteil:
>
>> Der Nachteil wird wohl sein, das das Programm der Ventilator
>> MCU mit Sicherheit Routinen zur Tastenentprellung hat und somit die
>> Ansteuerung dadurch verlangsamt wird.
>
> Wo steht denn da dass es von mir ist?
> Da wie oben beschrieben die MCU unbekannten Typs und vergossen ist, kann
> ich wohl kaum die Entprellroutinen verändern.

Warum bist du der Meinung das jemand durch Entprellen "die Ansteuerung 
verlangsamt"? Offensichtlich weil Du es so machst? Lies meinen Text, da 
steht das eine Tastenentprellung genau das nicht machen soll / sollte.

Ingo

von Tom Z. (tom_z)


Lesenswert?

Ingo,

Du verstehst nicht was Albert gemeint hat. Er kann ja nicht beliebig 
schnell Impulsfolgen an die Taster anlegen, da der vergossene µC 
bestimmt eine Entprellung drin hat und, dann die Taster nicht mehr in 
dieser Zeit abfrägt.

von Ingo (Gast)


Lesenswert?

Sorry, ich hab's falsch verstanden, ich hätte nicht gesehen das man über 
die Taster den Text programmieren kann. Mein Fehler, Sorry....

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Tom Z., genau so ist es, Du hast die Problematik verstanden.

von Ingo (Gast)


Lesenswert?

Meinst du nicht es wäre besser direkt auf den I2C Bus zu gehen, sofern 
es denn einer ist? Könnte ja auch SPI sein. Ich würd mal das Oszi, wenn 
verfügbar, anklemmen und gucken was sich da abspielt.


Ingo

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Genau, ich werde mal mit meinem Salea Logic Analyzer Clone den Bus 
anschauen.
Die Texte werden wohl im 24C02 EEprom gespeichert. Die Frage ist was im 
Ventilator-Kopf passiert. Schieberegister, µC oder was? Und eine 
Triggerung muss ja auch noch drin sein damit der LED-Text immer an die 
selbe Stelle kommt. Wird der Triggerimpuls direkt oben im Kopf 
ausgewertet oder nach unten geschickt? Da hilft wohl nur den Bus 
auswerten oder sich mit der langsamen Ansteuerung über die 
Tastereingänge begnügen.

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich hab jetzt mal die 2 Drähte (Bus) die zum Ventilatorkopf führen 
untersucht. Nur auf einer Leitung werden Daten übertragen und zwar nur 
einmalig beim Start oder bei Betätigung des Schalters für den nächten 
Text (es können 7 Texte gespeichert werden). Dann passiert da nichts 
mehr. D.h. alle weitere Verarbeitung passiert im Drehteil des Kopfes. 
Die Codierung der Daten konnte ich nicht herausfinden. 1-Wire ist es 
nicht, Manchester und async. Serial auch nicht. Offensichtlicht 
schliesst aber ein sehr kurzer Impuls von 10µs jeweils ein Zeichen ab 
(siehe Bild2 bei 11ms). Der kommt nach jeweils weiteren 11ms erneut.

Bisheriges Fazit:
Die ganze Mimik auf der Bodenplatine macht nichts anderes als einmalig 
den Text zum Ventilatorkopf schicken. Die müsste sich also leicht durch 
einen eigenen ATMega ersetzen lassen und die Texte hält man im PC vor. 
Eigentlicht braucht man garnicht wissen was im Ventilatorkopf vor sich 
geht. Wenn man denn die Textcodierung kennt ... hm.

von uC (Gast)


Lesenswert?

und was genau has du bei Bild1 gemessen?
sind Bild 1 und Bild 2 die selben Adern?

Bild 1 hat ja ein sich wiederholendes Muser?
wodurch wird das getriggert?

von Tom Z. (tom_z)


Lesenswert?

Auf Vent3 kann man erkennen dass im Lüfter ne rote LED ist.
Vielleicht wird so das trigger Signal übertragen.

von uC (Gast)


Lesenswert?

oh, gut gesehen!

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

@Tom Z.
Nein, da ist keine rote LED. Da hat sich ungünstiger Weise meine PC 
Soundbox mit ihrer LED ins bild geschlichen.

Sehr merkwürdig: Egal was für ein Text gewählt wird, es wird immer nur 
gesendet was in Bild 1 zu sehen ist (Bild 2 ist nur ein Ausschnitt aus 
Bild1 um den kurzen 10µs puls besser zu sehen). Und es tatsächlich ein 
sich wiederholendes Muster, war mir gar nicht aufgefallen. Also der Text 
ist es wohl nicht. Aber mehr wird über diese Leitung bei Textänderung 
nicht übertragen.

Vielleicht wird der eigetliche Text ja über die 2 Leitungen der 
Kopf-Versorgung (rot/schwarz auf der Platine mit M- und M+ bezeichnet) 
die auch zum Kopf gehen aufmoduliert. Mal sehen.


Was Neues:
Ich hatte ja bis jetzt immer im Betrieb gemessen. Hab jetzt mal den LA 
vor dem Einschalten des Ventilators gestartet. Und da wird beim 
Einschalten ein riesiger Datenschwall von 0,8s Dauer gesendet. Das sieht 
fast so aus als wenn alle 7 Texte vom EEprom zum Kopf geschickt werden 
und da vorgehalten werden. Was in Bild 1 zu sehen ist wird dann 
warscheinlich nur der Code zum Weiterschalten auf den nächsten Text 
sein?

von uC (Gast)


Lesenswert?

also ich kann mir nicht vorsellen, dass über die Versorgungsspannung 
noch ein Signal gelegt wird, wenn es eine separae Signalleiung gib (bzw 
2, was auch immer die 2. Leitung macht)

komisch bei Bild2 ist, dass die Zeibasis auch ms ist?
Das passt nicht so richtig in den kurzen Impuls rein.

Auf der zweiten Leiung passiert wirklich gar nichs?

was hast du als Referenzpotential genommen?

von uC (Gast)


Lesenswert?

nach deinem Edit: Du kanns den ext doch ändern?
Dann müsste beim Ändern auch dieser "Schwall" kommen.

Vielleicht ist der "Schwall" beim Einschalen auch nur "Müll".

Ist es immer das gleiche, was gesendet wird?

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Hab mal gemessen und auf der Platine genau nachgesehen. Die 2. 
Signalleitung (weiss) liegt definitiv auf Masse. Die Kommunikation geht 
also nur über die 1. Leitung (blau).

von uC (Gast)


Lesenswert?

auf dem Bild "Vent1" steht ja auch bei weiß GND. ;)

Interessant, dass der Motor über "+" und "-" angesteuert wird.

Hast du nicht zufällig ein Oszi zur Hand? Vll kannst du dann mal sehen, 
was auf "+" und "-" passiert.

Dann kannst du vll. auch auf der Signalleitung mal mit einer kleineren 
Zeitbasis messen.

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite



Lesenswert?

Beim Ändern eines Zeichens passiert auf dem Bus (Leitung1 blau) das was 
auf den Bildern in gleicher zeitlicher Reihenfolge zu sehen ist. Sehr 
merkwürdig dabei die sich dauernd wiederholenden Bitmuster.
Es wird nicht der gleiche Datenschwall wie beim Einschalten übertragen.

von uC (Gast)


Lesenswert?

ich verstehe noch nicht ganz, wie der ext geänder wird, aber wenn du 
schreibst "beim Ändern eines Zeichens" kommt einer dieser Bitmuster, 
dann würde ich mal raten, dass du ein zeichen nach dem andern änderst.
Vielleicht wird dann bei jedem Ändern eine zeichens dieses übertragen. 
Und zur Sicherehi gelich mehrfach (es scheint immer die gleiche Anzahl 
an Perioden übertragen zu werden).

Das würde aber bedeuten, dass die texte im "Kopf" gespeichert werden.
Was passiert, wenn du einen anderen vorgespeicherten Text auswählst?

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Angehängte Dateien:

Lesenswert?

Das alle Texte beim Einschalten zum Kopf übertragen und dort gespeichert 
werden hatte ich ja schon vermutet. Das beim Betätigen des Schalters für 
den nächsten Text auch nur eine sehr kurze Sequenz übertragen wird, die 
niemals der ganze Text sein kann, deutet darauf hin.
Es wäre ja kein Problem die ganzen Texte selber zum Kopf zu übertragen 
aber ohne Kenntnis der Text- und Befehls-Codierung komm ich da aber 
nicht weiter.

Ich habe mal die ganze Einganzsequenz als csv-Datei beigefügt. Vieleicht 
will sich das ja einer antun und schaut da rein :)

Ansonsten werde ich die langsame Version wählen und meinen ATMega an die 
Taster anschliessen. Dann lässt sich das Ganze ja ziemlich einfach 
codieren und an den PC anschliessen. Die Mimik will ich dann noch mit 
einer Temperatur- und Zeitanzeige aufpeppen.

von uC (Gast)


Lesenswert?

wenn du noch schreibst was die einzelnen Texte enthalten, wird es etwas 
leichter und ich schaue es mir mal an ;)

von uC (Gast)


Lesenswert?

also beim durchscrollen fällt mir auf:
es ist immer 0 und 1 im Echsel (vll synch?)

Aber die Zeiten sind komisch?
die ersten 2,3 Sekudnen "fehlen"

Dass er sich so nur anfangs synchronisiert ist wäre ungewöhlich.


Aber das würde erklären, dass es nur eine Datenleitung gibt.

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Beim Start werden der Reihe nach alle 7 Leds einmal angesteuert. Dann 
erst startet der Motor und kommt kommt der Text.
Die Texte (die Leestellen kann man allerdings schlecht zählen):
Text1: A TAKE IT EASY
Text2: 1A HOT SUMMER
Text3: 'einige Leerstellen' BE COOL
usw.

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Angehängte Dateien:

Lesenswert?

Und hier die komplette Session der Startsequenz des Ventilators vom 
Salea Logic Analyzer falls einer den hat und interessiert ist. Einfach 
mit 'Open Session' die Daten laden.

von Lutz (Gast)


Lesenswert?

Hallo,

falls Euch die Lösung noch interessiert, dann lest mal hier nach:
http://hackingwithgum.com/2009/10/06/hacking-the-cenzic-pov-fan/
oder
http://hackingwithgum.com/2009/10/06/hacking-the-cenzic-pov-fan/

Hoffe, das hilft

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.