Moduswechsel bei KD-Treibern, wie wird das Softwaremäßig gelöst

  • Ich habe eine Frage zu den KD-Treibern. Es handelt sich dabei, um diesen Treiber. Der Schaltplan sieht so aus.
    Nun meine Frage dazu. Wie wird der Moduswechsel, Softwaretechnisch unter Bascom realisiert. Ich hatte immer gedacht, das dafür ein seperater Eingang genutzt wird, aber das scheint hier ja nicht der Fall zu sein. Habt ihr eine Erklärung da für mich.

  • Ich vermute mal dass ist wie bei quasi allen Taschenlampentreibern gelöst.
    Das Ding merkt sich in welchem Zustand es war und schaltet einfach einen höher wenn es wieder angeschaltet wird.
    Wenn die Spannung zu lange weg war (länger als ein paar Sekunden ausgeschaltet) vergisst der Treiber wo er war und fängt wieder im Default-Zustand an.
    Das wäre softwaretechnisch ja nicht das Problem, die einzige Schwierigkeit besteht dadrin rauszufinden wie lang der Tiny die Daten ohne Spannung hält und ob evtl. ein Stützkondensator irgendwo mit bei muss.

  • Es ist ja ein Kondensator + Diode verbaut ... Ich denke das es darüber realisiert wird, das er erkennt wenn die Versorgungsspannung abbricht. Wird der Kondensator sehr klein gewählt, dann entläd dieser so schnell, dass man nur zwischen den Modi schalten kann. Dauerhaft merken tut er sich die Helligkeitsstufe aber nicht.

  • Ja Diode und Kondensator sind verbaut, der Plus geht nur zur Led und zur Diode und geht nach der Diode zum pin8 des µc. Kondensator liegt dann zwischen pin4 und pin8 und wie stellt er da fest das die Spannung weg war, für mich immer noch nicht erklärbar. Pin7 ist der Akkuwächter, vermute ich.

  • Ich habe selbst erhlich gesagt nicht so wirklich verstanden ^^ Das hier wurde mal als neue Firmware vorgeschlagen:


  • Hmm das muß ich mier mal zu gemüte ziehen, da bekomme ich dann auch raus, wie es funktionieren tut. Ich hatte immer gedacht das ein flanken Wechsel an einem Eingangspin gebraucht wird, aber das scheint ja hier anders zu sein. Ich danke euch, für eure Bemühungen und wünsche ein schönes Wochenende

  • Hallo,


    als Autor des Bascom-Kauderwelsch da oben, kann ich ja einfach ein paar erklärende Worte dazu schreiben...


    Wenn der Tailcap-Schalter gedrückt wird, sind in weniger als einer Millisekunde die Versorgungsspannung und mit ihr alle SRAM-Daten versackt. Da sich der 0,1µF Stützkondensator auch über den 13K Spannungsteiler entlädt, hilft auch nicht wenn der Tiny schlafen geschickt wird. Beim nächsten Erwachen kann er sich weder an die Länge der Unterbrechung erinnern, noch in welchen Modus er davor war.


    Daher braucht man das EEPROM, ich lasse dort bei jedem Start den Wert einer Zelle auslesen und mit +1 wieder beschreiben. Bei Überlauf kommt die nächste Zelle dran, eine dient als fest zugewiesenes "Lesezeichen".
    Der Modus wird dann per Modulo aus dem Wert "extrahiert".
    (Alles wegen der begrenzten EEPROM-Schreibzyklen: min. 100.000 / Zelle)


    Die Chinesen machen's wohl auch nicht anders, nur zweifelhaft ob da so ein aufwendiger Zähler benutzt wird, den nicht allzu üppig vorhandenen Flash kann man schließlich auch mit lauter Blink-Spielerei vollpacken... :S
    Memory funktioniert dort m.E. so, daß nach ca. 2 Sekunden ein weiterer Schreibvorgang den direkt beim Start geschriebenen Wechsel wieder "rückgängig" macht.


    Wenn man die Hardware so auf- bzw. umbaut, daß der Tiny den zur kurzen Schalterbetätigung nötigen Stromausfall übersteht (oder besser noch der Schalter ihm gar nicht erst den Strom wegnimmt), hat man natürlich viel bessere Möglichkeiten und braucht das nicht so umständlich mit EEPROM-Zählerei realisieren.


    MfG Manne