11.07.2022

Fuse-Resetter für tiny13, tiny85 und Digispark, geniale Schaltung!

Bisher hatte ich mir einen Fuse-Resetter mit externer 12V Spannungsquelle gebaut. Und durch Dummheit meinerseits gab es irgendwann "Magic Smoke". Ich hatte schon eine Idee, wie ich mit einem PWM-Signal und Spannungsvervielfacher mit Dioden etwas in der Richtung hinbekomme. Aber da lief mir diese geniale Schaltung von Wayne Holder vor die Nase. Dieser hat das Problem mit einer Ladungspumpe gelöst. Was ich daran genial finde, ist die Einfachheit und dass nur handelsübliche Bauteile, wie man sie meist in der Bastelkiste hat, eingesetzt werden. Es lässt sich in Minutenschnelle auf einer Lochrasterkarte zusammenlöten.

Da man heutzutage nicht mehr weiß, wie lange die betreffenden Seiten online sind, habe ich alle relevanten Daten kopiert und den Schaltplan etwas modifiziert. Die Schutzwiderstände im Original kann man sich sparen, so funktioniert das Rückstellen der Fuses beim Digispark auch ohne dass man einen SMD Widerstand mühsam von der Platine fummeln muss um ihn danach wieder einzulöten.

Die Bauteile sind unkritisch. Man kann keramische Kondensatoren oder Elkos nehmen. Als Transistor kommt ein BC547 oder was auch immer für ein Standard NPN Kleinleistungstransistor vorhanden ist in Frage. Standard Silizium-Dioden. Einzig die Widerstände für den Spannungsteiler, um dem Arduino die Rückmeldung zu geben, sollten passen. Ich hatte natürlich keinen 510kOhm da, habe dann 470k und 39k in Reihe geschaltet und dann im Sketch den Wert "REF = 395" geändert.

Hier der Schaltplan der Ladungspumpe:


Hier inkl. Adapter und Anschlüsse zum Arduino:


Und hier die Verdrahtung inkl. Digispark:


Wie man sieht, könnte man diese paar Bauteile sogar als Igel aufbauen. Und so ist mein Prototyp geworden. Nicht schön, aber funktioniert.


Der passende Sketch befindet sich hier. Die TimerOne Bibliothek, welche mit eingebunden werden muss, liegt hier. Wer die Spannung überprüfen und justieren mag, weil er nicht die passenden Spannungsteilerwiderstände am Lager hat, nimmt diesen Testsketch, welcher kontinuierlich Signale aussendet und überprüft mit einem Oszilloskop, ob die Spannung passt. Dazu verändert man den Wert REF=404 solange nach oben oder unten, bis die 12V passen. Diesen Wert übernimmt man dann auch im obigen Sketch.

Zur Bedienung des fertigen Projekts benötigt man dann nur noch den seriellen Monitor des Arduinos (oder einen anderen), stellt die Baudrate auf 57600 ein. Nach jedem Tastendruck wird der Baustein erst ausgelesen und dann auf den Default zurückgesetzt. Danach ist er wieder frei programmierbar.


Natürlich kann man den Sketch aufbohren, mit Display und Tasten versehen oder sich Platinen herstellen lassen damit es edel aussieht. Display und Tasten überlege ich mir noch, aber Platinen dafür machen halte ich für übertrieben. Vielleicht einen NANO in einem schicken Gehäuse? Hmmmm.

Nachtrag 14.07.2022

Ich habe stattdessen einen Arduino pro mini (China Clone) aus meinem Bestand gegriffen, den restlichen Kram mit Mischbestückung zusammengebraten. Anders kann man das nicht nennen. Aber es soll eh in ein Gehäuse. Die Software habe ich minimal ergänzt, indem ich einen Taster zum Start verwendet habe und die eingebaute LED zur Statusanzeige nutze. Mehr lohnt sich nicht. Der Kram landet eh in einer Kiste und wird nur bei Bedarf rausgeholt.



Keine Kommentare:

Kommentar veröffentlichen