Forum: Mikrocontroller und Digitale Elektronik Problem mit µC und D/C Motor


von Marco N. (0mega5)


Lesenswert?

Hallo zusammen!

Ich bastel gerade an einer Schaltung, bei der - wenn am µC (ATtiny85) 
ein Pin auf low geht (Knopfdruck), mitunter ein anderer auf high 
geschalten wird und damit einen Transistor (BC337) befeuert, der 
wiederum einen Motor einschalten soll. Soviel zur Theorie.

In der Praxis sieht es aber so aus, dass wenn ich den Knopf drücke, zwar 
der Motor anläuft, aber nach ein bis drei Sekunden schaltet er trotz 
weiter gedrückten Knopf wieder ab. Würde der µC aufgrund eines Brownouts 
neu starten, könnte ich das noch verstehen. Allerdings spielt der 
Controller weiter sein Programm ab.
Tausche ich den Motor gegen eine LED, funktioniert alles so, wie ich es 
soll.
Ich hab zum Testen schon Dioden an diversen Stellen verbaut, was aber 
keine Besserung gebracht hat.
Der Motor zieht im Betrieb 80mA und das ganze läuft mit 5V. Ich habe es 
mittlerweile mit unterschiedlichen Netzteilen probiert, die zwischen 
1A-2A liefern.

Wichtig sind für mich vorallem die 5V, da das Ganze später einmal über 
ein normales USB-Netzteil betrieben werden soll.

Würde mich sehr über euren Input freuen.
Vielen Dank im Voraus! :-)

Best regards,
   Marco

von c.m. (Gast)


Lesenswert?

code, schaltplan/photo.

hast du den motor am emitter des bc337 gegen GND angeschlossen?

von Marco N. (0mega5)


Angehängte Dateien:

Lesenswert?

Hallo c.m.!

Vielen Dank für deine Antwort.
Ich hoffe, ich hab es bunt genug gemacht. :-)
Die Klemme für den Stromeingang hab ich vor der Aufnahme weggenommen.

PS: Mir ist gerade aufgefallen, dass am Photo die Diode, die zum 
Collector führt, gut versteckt ist.

Best regards,
   Marco

von Sascha_ (Gast)


Lesenswert?


von Jobst M. (jobstens-de)


Lesenswert?

Ich frage mich, warum alle Leute den selben Fehler machen.
Da fehlen zumindest die (der) Blocker ...


Gruß

Jobst

von Arduinoquäler (Gast)


Lesenswert?

Jobst M. schrieb:
> Ich frage mich, warum alle Leute den selben Fehler machen.

Ja wollt ich auch gerade sagen.
Und ein rotes Kabel für die Masse ist gaaaanz toll .....

Marco N. schrieb:
> Best regards

Versuchs mal mit einem "anständigen" Scahltplan.

von Marco N. (0mega5)


Angehängte Dateien:

Lesenswert?

Schönen Abend zusammen!

Anbei der gewünschte Schaltplan. Ich hatte zuerst nur ein Bild 
hochgeladen, weil es in der Nachricht von c.m. so wirkte, als würde das 
(vorerst) genügen. Und bei den Farben hatte ich nur darauf geachtet, 
dass es möglichst viele sind, um sie auseinander zu halten.
Sei es drum - für die Zukunft weiß ich, immer gleich ordentlich und 
nicht versuchen, irgendwo eine Abkürzung zu nehmen.

@Jobst: Was meinst du mit Blocker? Würde mich über weitere Tipps sehr 
freuen.

@Arduinoquäler: Ich hoffe, der ist anständig genug. :-)

Vielen Dank! :-)

Edit: Sorry, da hatte sich noch ein Fehler am Plan eingeschlichen.

: Bearbeitet durch User
von Jobst M. (jobstens-de)


Lesenswert?

Marco N. schrieb:
> @Jobst: Was meinst du mit Blocker? Würde mich über weitere Tipps sehr
> freuen.

Einen 100nF Kondensator nah am µC.

Marco N. schrieb:
> @Arduinoquäler: Ich hoffe, der ist anständig genug. :-)

Nein. Minus nach unten, plus nach oben.
Pinbezeichnungen am IC sind besser, als Pinnummern. So ist die Funktion 
des Pins nicht ersichtlich.
Dies ist fast schon ein Verdrahtungsplan, kein Schaltplan.
Benutze ein GND-Symbol.


Gruß

Jobst

: Bearbeitet durch User
von Cyborg (Gast)


Lesenswert?

Schon mal davon gehört das man zwischen Portpin des Atiny und
der Basis deines BC 337 einen Basis-Vorwiderstand von einigen
Kiloohm schaltet? Ist schließlich kein FET.
Den BC 337 in Kollektorschaltung zu schalten ist auch ziemlich
ungewöhnlich. Die Emitterschaltung wäre da sinnvoller.
Schau mal im Foren-Wiki. Da müsste es eine Beispielschaltung
geben.
Einen Motor an die selbe Versorgung wie einen µC zu
betreiben, ist immer so ein wenig gefährlich, weil der Motor
beim Schalten eine Gegenspannung (EMK)abgibt, die den µC
stören kann. D2 hat da die Aufgabe, diese Spannung auf
die Versorgung zurück zu leiten. D1 und D3 machen nicht
viel Sinn.

von Jobst M. (jobstens-de)


Lesenswert?

Cyborg schrieb:
> Den BC 337 in Kollektorschaltung zu schalten ist auch ziemlich
> ungewöhnlich.

Aber da ist es okay den Basisvorwiderstand weg zu lassen. Wäre in diesem 
Fall sogar Blödsinn ihn einzubauen.

Dass die Emitterschaltung besser geeignet ist, darüber sind wir uns 
allerdings einig. Aber das ist nicht sein Problem.

EDIT

Cyborg schrieb:
> D2 hat da die Aufgabe, diese Spannung auf
> die Versorgung zurück zu leiten.

Nö. Sie leitet den Strom wieder zum Motor. Schließt ihn also quasi kurz.


Gruß

Jobst

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Marco N. schrieb:
> Anbei der gewünschte Schaltplan.

Wow, wie kann man nur so einen Scheiss zusammenstöpseln.

Guckst du eigentlich NIE vorher nach, wie das andere Leute erfolgreich 
machen ?

Die Diode in der Masseleitung zum uC  der Feuchtesensor der eine andere 
Masse hat aber natürlich das Signal zum uC liefert, der Emitterfolger 
zum Motor mit Diode.

Nein, so baut man das nicht.

Wobei vermutlich die fehlende Motorentstörung das grösste 
Funktionshindernis ist.
1
                +--47uH--+---+---+
2
                 |        |   |   |
3
                 |        | 47nF  |
4
 ----------------+        |   |   |
5
verdrillte Zuleitung    47nF  +--(M)
6
 ----------------+        |   |   |
7
                 |        | 47nF  |
8
                 |        |   |   |
9
                 +--47uH--+---+---+

von M. K. (sylaina)


Angehängte Dateien:

Lesenswert?

Marco N. schrieb:
> Anbei der gewünschte Schaltplan.

Oh je, das ist ja eine Katastrophe. Schau dir unbedingt mal an wie man 
Schaltpläne zeichnen sollte.

Ich würde ja auf alle Punkte eingehen wollen aber das wird zuviel 
werden. Daher habe ich dir mal einen Schaltplan erstellt, mit dem du 
weniger Probleme haben wirst. Ich bin lediglich bei deiner Pinbelegung 
am ATtiny geblieben sofern es mir sinnvoll erschien.

Der BC337 ist ein Bipolartransistor. Weißt du was ein Bipolartransistor 
ist? (wenn du das nicht weist dann mache dich bitte darüber schlau)
So wie du ihn verwenden wolltest kann man ihn verwenden, dann muss man 
aber schon genau wissen was man tut und ob man ihn in diesem Falle 
überhaupt so verwenden kann.

Dein Feuchtigkeitssensor soll vom ATtiny geschaltet werden? Ich denke, 
auch dies war/ist falsch.

Und deine LED... willst du da wirklich rund 20 mA durch schicken? Nur 
mal so als Info: eine 20 mA LED leuchtet auch schon ordentlich bei 2 mA 
;)

Die Kondensatoren sollten so dicht wie möglich am ATtiny sitzen.

EDIT: Der Schaltplan schaut aus wie Kraut und Rüben, ich würde ggf. die 
Pinbelegung ändern damit der Schaltplan ordentlicher (d.h. einfacher zu 
lesen) ist. Das hab ich mir hier nur geschenkt da ich ja nicht weis was 
du genau machen möchtest und warum du dich für diese Pinbelegung 
entschieden hattest.

: Bearbeitet durch User
von Jobst M. (jobstens-de)


Lesenswert?

M. K. schrieb:
> Schau dir unbedingt mal an wie man
> Schaltpläne zeichnen sollte.

Der ist aber auch nur bedingt besser.
Values auf Leitungen, Leitungen, die durch Bauteile gehen, alles viel zu 
eng ...

Gruß

Jobst

von M. K. (sylaina)


Lesenswert?

Jobst M. schrieb:
> Der ist aber auch nur bedingt besser.
> Values auf Leitungen, Leitungen, die durch Bauteile gehen, alles viel zu
> eng ...

Deswegen auch der Edit ;)

Warum soll ich mir mühe machen wenn ich nicht weiß was der TE überhaupt 
vor hat. ;)

von Amateur (Gast)


Lesenswert?

Wundere Dich nicht wenn der Feuchtesensor im Motorrhythmus spinnt.

von Cyborg (Gast)


Lesenswert?

Jobst M. schrieb:
> Der ist aber auch nur bedingt besser.
> Values auf Leitungen, Leitungen, die durch Bauteile gehen, alles viel zu
> eng ...

Links Eingänge, rechts Ausgänge, sofern machbar...

von Marco N. (0mega5)


Lesenswert?

Schönen Abend zusammen!

Wow... Vielen Dank für euren Input. Ganz besonders an Jobst und M. 
Köhler. :-)
Ja, ich komme von der Softwareschiene und bin - wie man unschwer erkennt 
- ganz am Beginn meiner Erfahrungen in der Thematik. Während meiner 
Schulzeit wurde mir gerade einmal erklärt, was eine Flipflop-Schaltung 
ist - für mehr konnten wir unsere Professoren nicht "begeistern".
Und es ist ja nicht so, als würde ich blind darauf los basteln. Aber 
wenn man nicht einmal weiß, wonach man sucht, ist es schwierig, richtig 
zu suchen. Selbst hier im Forum hat man den Eindruck, als wären sich 
nicht alle immer einig - auch wenn es sich hier wohl nur um 
vergleichsweise Kleinigkeiten handelt. :-)

Jetzt also einmal weitere Details zu dem Aufbau:
*) bei der Pumpe handelt es sich um eine Unterwasserpumpe
*) der Sensor soll tatsächlich über den µC geschalten werden, um die 
Elektrolyse so gering wie möglich zu halten
*) die LED soll möglichst hell leuchten, da sie am aufgestellten Ort 
sonst leicht übersehen werden könnte. Ob etwas weniger auch reicht, 
werde ich aber auf alle Fälle noch heraus finden

@M. Köhler: Ja, im Grunde ist mir klar, wo der Unterschied zwischen 
einem Uni- und einem Bipolartransistor liegt (denke ich zumindest). :-)

Das der Reset-PIN auf high gehängt wird, hab ich schon ein paar Mal 
gelesen (andere halten das dafür wieder für überflüssig), aber eine 
Verständnisfrage habe ich noch:
Welchen Zweck haben die beiden Kondensatoren an den Stellen?

Nochmals vielen Dank euch allen. Werde mir morgen die fehlenden Teile 
besorgen und brav weiter Lektüre wälzen, um mich beim nächsten Mal nicht 
als gänzlich ahnungslos zu outen. :-)

Marco

von Jobst M. (jobstens-de)


Lesenswert?

Marco N. schrieb:
> Selbst hier im Forum hat man den Eindruck, als wären sich
> nicht alle immer einig

Natürlich. Jeder hat seine eigenen Erfahrungen, Ansichten und 
Lösungsvorstellungen.

Du solltest den Beitrag von MaWin nicht unter den Tisch kehren.
Er ist sicherlich nicht immer der Freundlichste, aber er hat sehr viel 
Erfahrung. Seinen Hinweis zur Entstörung des Motors solltest Du 
beherzigen!

Wie viel Strom zieht der Motor?
Evtl. hilft Dir ein ULN2003 zum schalten von Motor, heller LED und 
Sensor.


Gruß

Jobst

von Marco N. (0mega5)


Lesenswert?

Hallo Jobst!

Natürlich habe ich auch MaWins Beitrag interessiert gelesen und mich 
daran gemacht, seine Skizze zu verstehen. Das war auch Der Grund, warum 
ich bei meiner letzten Nachricht die Tauchpumpe extra aufgeführt habe - 
es gibt keine Möglichkeit am Motorengehäuse die Kondensatoren anzulöten.
Sofern ich es richtig interpretieren konnte, werde mir heute auf alle 
Fälle unter anderem die entsprechenden Spulen/Filter besorgen und damit 
testen. :-)

Best regards,
   Marco

von M. K. (sylaina)


Lesenswert?

Marco N. schrieb:
> Das der Reset-PIN auf high gehängt wird, hab ich schon ein paar Mal
> gelesen (andere halten das dafür wieder für überflüssig)

Hier kommt es tatsächlich auf die Umgebung an, in der der uC betrieben 
wird. Der externe Pull-Up kann durchaus helfen, muss er aber nicht 
unbedingt. Der ist so ne Art Versicherung: Man setzt ihn ein in der 
Hoffnung, dass er unnötig ist. Das Gleiche gilt auch für die 
Kondensatoren.

Marco N. schrieb:
> Welchen Zweck haben die beiden Kondensatoren an den Stellen?

So sollen u.a. verhindern, dass Störungen in den Mikrocontroller 
eindringen und der dadurch Dinge macht, die man gar nicht möchte. (z.B. 
einen ungewollten Reset ausführen)

Übrigens: Bei Feuchtesensor müsstest du mal ins Datenblatt schaun, ggf. 
wird hier auch ein Kondensator zwischen Vcc und GND nahe des ICs 
empfohlen ;)

Marco N. schrieb:
> *) die LED soll möglichst hell leuchten, da sie am aufgestellten Ort
> sonst leicht übersehen werden könnte. Ob etwas weniger auch reicht,
> werde ich aber auf alle Fälle noch heraus finden

Einfach dann den Vorwiderstand anpassen. Aber bedenke: Der Strom durch 
die Pins des ATtinys ist begrenzt und auch der Summenstrom durch alle 
Pins. Das muss du berücksichtigen (d.h. Datenblatt lesen) ;)

Marco N. schrieb:
> *) der Sensor soll tatsächlich über den µC geschalten werden, um die
> Elektrolyse so gering wie möglich zu halten

Dann kann man das durchaus machen den Sensor vom ATtiny schalten zu 
lassen.

Marco N. schrieb:
> Natürlich habe ich auch MaWins Beitrag interessiert gelesen und mich
> daran gemacht, seine Skizze zu verstehen. Das war auch Der Grund, warum
> ich bei meiner letzten Nachricht die Tauchpumpe extra aufgeführt habe -
> es gibt keine Möglichkeit am Motorengehäuse die Kondensatoren anzulöten.

MaWins Einwand ist sicher nicht verkehrt, schaue aber erstmal ob die 
Pumpe wirklich solch Störungen verursacht. Viele DC-Motoren, die von 
Haus aus stören, haben idR die Filtereinheiten schon integriert. Auch in 
deinem Fall kann es durchaus sein, dass du gar keine separaten Filter 
für die Pumpe brauchst ;)

von Marco N. (0mega5)


Lesenswert?

Schönen Abend zusammen!

Ich bin heute erst um einiges später als geplant aus der Arbeit 
gekommen, wodurch auch kein Einkauf mehr möglich war.
Meiner Neugier geschuldet, habe ich mich trotzdem daran gemacht, alles 
soweit als möglich aufzubauen. Musste ein wenig Bauteile zusammenhängen, 
um möglichst nah an die empfohlenen Werte zu kommen. Nur Filter 
hatte/habe ich keinen.
Das Ergebnis: Leider keine Änderung zum bisherigen Verhalten.
Weil ich es wissen wollte, hab ich dann den Tiny heraus gerissen und das 
Ganze testweise gegen meinen Uno verkabelt. Siehe da, dort lief es auf 
Anhieb - aber gut, der hat ja auch ein paar Hilfsmittelchen an Board.
Ich hoffe, ich komme morgen dazu, die ausständigen Teile zu besorgen. 
Bin schon sehr gespannt, an welcher Kleinigkeit es zu guter Letzt liegen 
wird. :-)

@Jobst - während des Betriebs messe ich 80mA, die der Motor benötigt.
@sylaina - vielen Dank für die Erläuterungen.

Best regards,
   Marco

von Marco N. (0mega5)


Angehängte Dateien:

Lesenswert?

Guten Abend zusammen!

Ich habe MaWins Beitrag etwas wirken lassen und seinen Tipp gemeinsam 
mit den restlichen von euch auf einen Haufen geworfen um mich weiter 
einzulesen.

Heraus gekommen ist dabei jetzt der angehängte Schaltplan, der sich bei 
meinen ersten Praxis-Tests heute Abend auch als brauchbar erwies.

Würde mich aber natürlich trotzdem über eure Rückmeldungen freuen - hat 
bestimmt noch Optimierungspotential. :-)

Und nochmals vielen Dank euch allen, habt mir sehr geholfen!

Best regards,
   Marco

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Wer hat dir denn die Diode in der GND Leitung aufgeschwatzt?
D1 solltest du durch eine Drahtbrücke ersetzen, da sonst der MC auf 
einem Level von etwa 0,6V über GND 'schwebt'.
In der Leitung zwischen BC337 und den Motor könnte auch eine Drossel 
nicht schaden, so wie MaWin das oben schon mal, wenn auch mit 2 
Drosseln, aufgezeichnet hatte. Am besten wäre es, die ganze 
Verdrosselung von MaWin auf den Motor zu übernehmen. Also 2 Drosseln und 
3 Kondensatoren.

Die gesamte Betriebsspannung krankt an fehlenden Reservoir Elkos. Es 
schadet also nicht, die 5V nochmal mit ein paar dutzend µF abzublocken.

: Bearbeitet durch User
von MaWin (Gast)


Lesenswert?

Da ist immer noch die abstruse Diode in der Masseleitung, und der viel 
zu hohe Basiswiderstand. Für 80mA Motorstrom würden zwar 4mA Basisstrom 
reichen, also 1k, aber die 80mA sind natürlich falsch gemessen: Du hast 
den Dauerstrom beim Drehen gemessen, nicht den kurzzeitig auftretenden 
Strom beim Anlaufen. Da tritt derselbe auf wie beim Blockieren, miss 
also mal den Strom bei kurzzeitigem Festhalten der Welle. Wundere dich 
nicht wenn das 500mA sein sollten. Nimm einen 180 Ohm Widerstand.

von Marco N. (0mega5)


Lesenswert?

Hallo zusammen!

Vielen Dank für die Rückmeldungen.

bezüglich der Diode auf der Masseleitung.
Ich hatte die in den letzten Tagen auch entfernt gehabt, aber dann trat 
mein altes Problem wieder auf. Diode rein, Problem weg. :-/
Ich pack nochmal die Diode raus und dafür die Drosseln vor und nach dem 
Motor rein.

@Matthias - wie schon geschrieben, handelt es sich um eine Tauchpumpe - 
da komm ich mit keinem Kondensator direkt ans Gehäuse. Wo würdest du 
denn welche Elkos rein packen? Hatte bei meinen Tests schon probiert, 
wie sich eine Dioden-Elko-Kombi vor µC macht - jedoch ohne 
zufriedenstellenden Erfolg.

@MaWin - danke für den Tipp mit dem Festhalten der Welle. Werde ich 
ausprobieren. Darauf wäre ich nicht gekommen. :-)

von Christian M. (Gast)


Lesenswert?

Marco N. schrieb:
> Diode rein, Problem weg.

Reiner Zufall. Die Diode ist, wie Andere schon schrieben, absoluter 
Mist!

Ich hatte mal ein (Modellbau-)Servo an der gleichen Versorgungsspannung 
(5V), das machte solche Störungen, dass der uC in Latch-Up ging. Da war 
eine Diode in der +5V Leitung zum Servo die Lösung.

Gruss Chregu

PS: Zeichne doch bitte den Schaltplan noch richtig. Mit +5V oben und GND 
unten.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Marco N. schrieb:
> Wo würdest du
> denn welche Elkos rein packen?

Zumindest ein Elko von z.B. 47µF bis 220µF sollte die Versorgung 
abblocken, also von 5V nach GND.
Wenn du nicht direkt am Motor entstören kannst, dann eben in der 
Zuleitung.

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.