Warum funktioniert der Attiny85 in dieser Schaltung nicht?

Ich entwerfe eine Schaltung, um die Leistung einer Heizung mit einem Attiny85 zu steuern. Das ist die Schaltung:

Schaltung mit Attiny85

Der Attiny85 ist so programmiert, dass er mit ausgeschalteter Heizung und ausgeschaltetem Mosfet bootet. Wenn die Taste gedrückt wird, sollte sich die Heizung einschalten und eingeschaltet bleiben (gemäß dem Programm).

Wenn ich jedoch den Stromkreis mit dem Schalter unten einschalte, macht eine Batterie ein summendes Geräusch und der Attiny scheint nie mit dem Ausführen seines Programms zu beginnen. (Die Spannung an PB1 ändert sich nicht, wenn die Taste gedrückt wird.)

Wenn ein Teil des Mosfets getrennt wird, beginnt der Attiny85 plötzlich, sein Programm korrekt auszuführen. Aber natürlich funktioniert die Schaltung nicht, wenn Mosfet getrennt ist.

Alles mit einer einzigen Batterie zu betreiben, behebt das Problem ebenfalls, aber dann erzeugt die Heizung nicht genug Wärme.

Warum lädt der Attiny85 nicht richtig und beginnt in dieser Schaltung zu arbeiten?

Nebeninfo:
Attiny85 sollte 4,2 V bekommen.
Die Heizung sollte 8,4 V bekommen, wenn sie eingeschaltet ist.
Der Mosfet ist ein SIR404DP.
Entschuldigung, wenn mein Diagramm seltsam ist

BEARBEITEN: Der Mosfet und die Batterien können etwa 10 Ampere verarbeiten. Ich habe die Spannung am Attiny85 mit 4,2 V gemessen, also sollte es betriebsbereit sein, es sei denn, es wird beim Start blockiert.

Ich habe versucht, den Schalter (SW) auf den VDD-Pin zu verschieben und habe das gleiche Ergebnis erhalten.

BEARBEITEN 2:

@Andrew Mortons Kommentar, die Heizung durch LEDs zu ersetzen, hat funktioniert. Der Attiny85 bedient sie wie erwartet. Ich bin mir aber nicht sicher, wie ich das mit der Heizung hinbekomme.

EDIT 3: Das Anbringen eines Kondensators zwischen PB1 und GND gemäß @ Nedds Kommentar hat den Trick gemacht! Die Batterien machen immer noch ein unheimliches Summen, das der PWM-Frequenz entspricht, aber ich denke, das ist ein anderes Problem.

Kannst du die Heizung gegen einen 1 kΩ Widerstand und eine LED in Reihe tauschen und sehen, ob es dann funktioniert? Ich vermute, dass die Heizung zu viel Strom zieht, als dass die Zellen ihre Ausgangsspannung halten könnten. Hast du ein Multimeter um die Spannungsversorgung des ATTiny zu prüfen?
Kann Ihre Schaltung die für die Heizung erforderlichen >4A verarbeiten?
Ein Schalter in der GND-Leitung verlangt nach Ärger! Tun Sie dies einfach nicht, da dies zu unerwarteten Ergebnissen führt. Sehen Sie sich dieses Video an, um zu erfahren, warum: youtube.com/watch?v=2yFh7Vv0Paw im Video ist der VDD nicht verbunden, aber das gleiche Prinzip gilt für eine getrennte GND.
Es ist höchst ungewöhnlich, dass eine Zelle brummt - wenn sie über einen internen Stromschutz verfügt, kann dies beim Einschalten zu Problemen führen. IIRC Der AtTiny startet mit allen GPIO als Eingängen mit einem Pull-up, sodass der FET eingeschaltet werden kann, bis Ihr Programm PB1 als Ausgang einstellt und ihn auf Low treibt.
@Frog - Beim Einschalten stellt die MCU alle Ports als Eingang ein, aktiviert jedoch nicht die Pull-ups. Es muss jedoch aktiviert werden, sobald das Programm läuft, damit die Drucktaste erfasst werden kann.
Wenn Probleme durch ein schnelles Einschalten oder eine unbeabsichtigte Oszillation (die ein Summen verursacht) verursacht werden, versuchen Sie es mit einer RC-Verzögerung auf der Gate-Leitung. Wenn Sie nur langsam schalten, werden einige zusätzliche mS nicht bemerkt. Versuchen Sie es vielleicht mit 3,3 k und 1 uF (mit dem Widerstand auf PB1, gefolgt von der Kappe auf GND). Ich stimme auch zu, dass der Netzschalter am + Power Pin des ATtiny sein sollte. (Und den Pull-up auf PB3 - oder den internen Pull-up einstellen.)

Antworten (1)

Wie gezeigt, wenn der Netzschalter ausgeschaltet ist, könnte sich die Versorgungsspannung zum ATTiny umkehren, indem sie durch den FET gespeist wird.

Dies verhindert wahrscheinlich, dass der Power-On-Reset ordnungsgemäß funktioniert, und könnte möglicherweise Schäden verursachen.

Sie müssen den Schalter in die positive Leitung zu VDD stecken. Wenn der GND-Anschluss der MCU direkt zur Batterie geht.

Bei Verwendung einer einzelnen Zelle geht die Spannung an der MCU einfach auf Null, da die Leitung durch den FET das Problem so weit reduziert, dass es funktioniert.

Stimme @kevinwhite zu. Versuchen Sie auch, die Heizung direkt an die beiden Batterien anzuschließen, und testen Sie dann die Spannung an der unteren Batterie. Abhängig vom Innenwiderstand der Batterie ist es möglich, dass die Spannung darüber zu niedrig abfällt, um den ATTINY zu betreiben, wenn die Heizung eingeschaltet ist.
@DanielWilliams Sie benötigen auch einen Pullupat PB3, der sich in einem definierten Zustand befindet, wenn die Taste nicht gedrückt wird.
Wollen Sie den Schalter (SW) auf den VDD-Pin verschieben? Das habe ich versucht, und es hat keinen Unterschied gemacht.
@DanielWilliams - Ja, der Schalter sollte zwischen dem Abgriff an der Batterie und dem 22uF-Kondensator liegen. Der GND der MCU sollte direkt zum Minuspol der Batterie gehen. Wenn es mit der Einzelzelle funktioniert, aber nicht mit der richtigen Position des Schalters, kann es sein, dass Sie einen anderen Verdrahtungsfehler haben.