Relais schaltet nicht richtig, gesteuert von ATtiny85, Ausgang zum Motor

Ich habe einen ATtiny85, der einen NPN-Transistor schaltet, der wiederum ein Relais einschaltet, das einen Motor antreibt. Alles wird mit einem 3,7-V-18650-Li-Ion-Akku betrieben, aber ich bin seitdem mit demselben Problem zu einer variablen Stromversorgung übergegangen:

eine Art Beschreibung

Ohne den Motor schaltet das Relais einwandfrei, ATtiny85 schaltet das Relais für eine Sekunde ein und dann für eine Sekunde aus und wiederholt, und das Oszilloskop (verbunden mit Relaisausgang und GND) und Klicks zeigen das richtige Verhalten für das Relais.

Wenn ich den Motor anschließe, klickt das Relais immer noch, aber das Oszilloskop zeigt Nullspannung an. Anscheinend versucht das Relais zu schalten, tut es aber nicht. Ich habe eine LED an Pin0 des ATtiny85 angeschlossen, und sie blinkt, anstatt für eine Sekunde an zu bleiben und für 2 Sekunden auszugehen.

Das Problem scheint mir folgendes zu sein:

  1. Der ATtiny85 wird zurückgesetzt, weil nicht genug Strom durchgeht. Das macht keinen Sinn, weil ich auf ein Tischnetzteil umgestellt habe und dasselbe passiert, die Spannung ist immer noch gleich.
  2. Irgendeine Rückmeldung vom Motor? Der Motor läuft gut, wenn ich ihn direkt an die Batterie anschließe, also denke ich nicht, dass Strom ein Problem ist.

Einige zusätzliche Informationen:

  • Relais schaltet für 1 Sekunde ein und dann für 1 Sekunde aus. Ich mache kein PWM, sondern habe nur dieses Ein / Aus-Verhalten zum Testen.
  • Dies ist der Motor: 3V-12V Wasserpumpenmotor
  • Die Stromversorgung ist auf 3,9 V mit einem verfügbaren Strom von 2 A eingestellt. Das Erhöhen auf etwa 5 V funktioniert immer noch nicht.

BEARBEITEN: Obwohl mir alle Antworten geholfen haben, mein Problem zu lösen, habe ich diejenige ausgewählt, die mir am meisten geholfen hat. Es wurde festgestellt, dass es sich nicht um eine Gegen-EMK oder Ihre Standardart der Entkopplung handelte. Der Motor senkte die Spannung stark und kein Kondensator würde das Problem beheben (diese waren bereits vorhanden), obwohl dies häufige Probleme sind.

Weitere Erkenntnisse hier

Was ist das für ein Motor? Hast du eine Teilenummer? Und welche Frequenz ist das Tastverhältnis? Ist das Bench-Power-Setup GENAU dasselbe wie das Batterie-Setup? Ich bin mir ziemlich sicher, dass der Anlaufstoß im Motor die Spannung unter dem ATTiny abfallen lässt und ihn zum Neustart zwingt. Könnte auch einfach das Relais rausfallen lassen.
Hey, ich habe die gewünschten Informationen in der Fragebeschreibung hinzugefügt. Danke.
Wo ist die Entkopplung und Bulk-Kapazität?
Ich habe eine Diode über dem Motor und Kappen über VCC / GND von ATtiny85 sowie über den Motor.
Warum versuchen Sie, eine 5-V-Relaisspule mit weniger als 3,7 V anzusteuern? Vermutlich liegen bei Sättigung etwa 100 mV über dem CE des Transistors.
@lyndon, einverstanden. Ich denke, dass die Kosten eine nicht offengelegte Projektbeschränkung sein können.
Es ist nur das, was ich zur Hand habe. Ich kann 3-V-Relais online bestellen, aber es wird einige Zeit dauern, bis sie eintreffen. Ich habe die Spannung an meinem variablen Netzteil auf etwa 6 V erhöht, und das Problem besteht immer noch.

Antworten (3)

Ich habe zwei Vorschläge für Sie:

1) Überprüfen Sie, ob das Relais den Strom verarbeiten kann, den der Gleichstrommotor zieht.

2) Verwenden Sie die variable Stromversorgung, um den Steuerkreis zu betreiben, und die Batterie, um den Motor mit Relais zu betreiben. Wenn sich herausstellt, dass dies funktioniert, können Sie sich zurückarbeiten, um den Motor wieder in Ihr System zu integrieren.

Sie haben Recht, es funktioniert, wenn ich den Motor + Ausgang des Relais vom Steuerkreis + Schalter des Relais trenne. Ich bin mir nicht sicher, ob es die Gegen-EMK ist, die es tötet, oder ob es den ganzen Strom auffrisst. Mein Netzteil kann bis zu 2 A liefern, und ich sehe keinen Anstieg des Stroms, wenn es eingeschaltet wird.

Je nachdem, wie der Motor gewickelt ist, könnte er einen induktiven Stoß auf die Stromversorgungsschienen geben, wenn sich die Bürsten von den Spulen trennen. Aus diesem Grund sehen Sie Funken an den Bürsten eines sich drehenden Motors. Dieser Kick könnte den Chip stören und genau die Art von Dingen verursachen, die Sie sehen (um dies zu beheben, können Sie versuchen, eine andere Flyback-Diode über die Motorleitungen zu legen, genau wie die über der Relaisspule.

Es empfiehlt sich auch, einen Entkopplungskondensator über den Anschlüssen der Chips zu verwenden. Dadurch werden plötzliche Leistungsspitzen oder -einbrüche herausgefiltert, die ansonsten zu Störungen des Chips führen könnten. Versuchen Sie, einen ~ 1uF-Kondensator physisch so nah wie möglich an den Anschlüssen des Chips zu platzieren.

Danke für die Tipps. Wenn Sie Leads des Chips sagen, meinen Sie VCC und GND?
Gerade mit einer Diode über dem Motor (Kathode an + ve des Motors) und einer 100-uF-Kappe (+ ve an VCC und -ve an GND von ATtiny85) versucht, immer noch das gleiche Problem. Unter der Annahme, dass 100 uF hier in Ordnung sein sollten.
Versuchen Sie einen kleineren Kondensator, wenn Sie ihn haben, größer ist nicht immer besser zum Filtern (google Entkopplungskondensator ESR). Versuchen Sie vielleicht zuerst, den AVR (nur) direkt von ein paar AA-Batterien mit Strom zu versorgen, nur um sicherzustellen, dass dies ein Problem mit der Stromversorgung und nicht etwas ganz anderes ist. Sie würden also die Vcc des Chips vollständig von der obigen Schaltung trennen und stattdessen die + Seite eines Paares AA-Batterien in Reihe anschließen und dann die - Seite des Batteriestapels in Ihrer Schaltung mit Masse verbinden.
Ja, es ist das gleiche Verhalten im Akkubetrieb; Alles funktioniert gut, bis ich den Motor anschließe. Versucht mit einer 100nF Keramikkappe, dasselbe. Ich habe nichts dazwischen und muss möglicherweise meine größeren Kappen in Reihe schalten, um 10 uF zu erhalten.

Etwas wie das:

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Machst du eigentlich PWM?
Warum weiterleiten?
Warum nicht FET?

EDIT-Flag teilen
Ich mache kein PWM, ich schalte den Motor nur jede Sekunde ein und aus, weil ich zu faul bin, einen Knopf zu drücken. Meine BJTs können nicht mehr als 500 mA verarbeiten, der Motor zieht etwa 1,4 A und steigt manchmal je nach Start / Stopp oder Last auf 2 A an. Ich habe keine FETs, kann sie also nicht verwenden.
Ich empfehle 1.6<R3<2 und die Verwendung eines FET: <1$ sparkfun.com/products/10213 . Der Motor verbraucht den gesamten verfügbaren Strom, wenn dies zulässig ist.