Hallo allerseits und in Hoffnung auf unterstützende Beratung,
ein gerade von mir gebauter Automat besitzt einen 12 V DC Motor. Mit dem
Arduino möchte ich diesen Motor nicht drehen, vorwärts drehen oder
rückwärts drehen lassen. Die explizite Schaltung rund um jene
Motorfunktionen, wie ich sie bisher realisierte, findet sich im
Schaltplan unten rechts.
Beim Test meiner Platine geschehen nun eigenartige Phänomene: Messe ich
die Verbindungen, die durch die Relais mit den zwei Motoranschlüssen
eingegangen werden, ist in den Phasen, in denen sich der Motor drehen
soll, liegt immer an einem Anschluss sowohl 12 V als auch GND. Ich würde
nun gerne angeben, dass dieses Phänomen immer am Motoranschluss 1 oder 2
besteht, tatsächlich aber kann sich nach einem Reset des Arduinos
manchmal das Anliegen von 12 V und gleichzeitig GND auf den anderen
Motoranschluss verschieben. Am jeweils anderen Anschluss liegt dann
entweder nur GND oder nur 12 V an.
Aus der Tatsache, dass sich dieser Kurzschluss verschiebt schließe ich,
dass ich auf meiner Platine keine ungewollte Verbindung zwischen 12 V
und GND irgendwo produziert habe. Leider bin ich nunmehr mit meinem
Latein am Ende und würde mich über Ideen diesbezüglich freuen.
Ein weiteres Begleitphänomen hierbei: Schließe ich den Motor an und
schalte das Netzteil ein, das an die Supplyklemmen 12 V anlegt, macht
dieser Motor ca. 2 Sekunden die erste Bewegungsrichtung mit - um danach
zu verharren und nichts mehr zu tun. Gleichzeitig gibt die Platine einen
leisen Pfeifton ab - wobei ich den Arduino Nano im Verdacht habe.
Ich danke allerseits schonmal für die Mühe des Durchlesens und freue
mich auf Anregungen.
PS: Zum besseren Verständnis des Schaltplans noch ein Wort... unten
links ist die Kopplung mit einer Nebelmaschine zu sehen. Oben rechts ist
die Schaltung eingezeichnet um meinen hier zu bauenden Automaten auf DMX
Signale reagieren zu lassen wobei die DMX Adresse mit dem Dipswitch
mittig im Bild eingestellt werden soll.
Haben die Basiswiderstände rechts unten wirklich nur 4,7 Ohm?
Nach welchen Kriterien hast du diese dimensioniert?
Grüßle
Volker
P.S.: Der Schaltplan ist eine Zumutung! Als Suchspiel in der Rätselecke
könnte ich das "Kunstwerk" ja noch akzeptieren...
Die Basiswiderstände habe ich auf 4,7 kOhm dimensioniert: Mein Fehler,
ist im Schaltplan falsch vermerkt. Ich fürchte, noch nicht genügend
komplexere Schaltpläne gesehen zu haben um ein Gefühl für ansprechendere
Darstellung bekommen zu können, bzw. habe ich versucht mit Aufteilung in
Baugruppen die Lesbarkeit zu erhöhen.
Die Ansteuerung stimmt soweit: Die Relais schalten wie sie sollen. Der
Motor dreht sich richtig wenngleich auch natürlich sehr langsam, wenn
das Netzteil nicht angehängt ist, und in diesem Fall tritt das Problem
nicht auf. Daher muss es irgendwas mit dem Betrieb unter 12 V zu tun
haben.
Max schrieb:> Motor dreht sich richtig wenngleich auch natürlich sehr langsam, wenn> das Netzteil nicht angehängt ist,
Warum dreht sich der Motor denn ohne Netzteil?
Vielleicht ist das das erste Problem. Laut Schaltplan sollte der
stillstehen wenn die 12V nicht anliegen...
Max schrieb:> Die Basiswiderstände habe ich auf 4,7 kOhm dimensioniert:
Naja, das ist jetzt wieder ganz schön gross. Nimm da mal 680 Ohm - 1k
Ohm, dann werden die Transistoren sauber durchgesteuert.
Stelle sicher, das die 12V Versorgung so wenig wie möglich mit der
Versorgung des Rests zu tun hat. Es wäre z.B. nicht nötig, die Masse der
Motorversorgung und die der Steuerung zu verbinden, denn du benutzt ja
Relais.
Blocke die Motorspannung auch ein wenig ab. Wir wissen nicht, was das
für ein Motor ist, aber ein Elko mit 100µF-470µF auf den 12V kann sicher
nicht schaden.
Auch die 5V können in der Nähe der Relais sicher etwas Stützung
brauchen. Also ruhig da noch einen 10µF - 100µF Elko spendieren.
Relais kann man übrigens mit ihrem Schaltsymbol einzeichnen, dann wird
es ein wenig klarer und für den Schaltplanleser übersichtlicher.
Max schrieb:> Beim Test meiner Platine geschehen nun eigenartige Phänomene: Messe ich> die Verbindungen, die durch die Relais mit den zwei Motoranschlüssen> eingegangen werden, ist in den Phasen, in denen sich der Motor drehen> soll, liegt immer an einem Anschluss sowohl 12 V als auch GND. Ich würde> nun gerne angeben, dass dieses Phänomen immer am Motoranschluss 1 oder 2> besteht, tatsächlich aber kann sich nach einem Reset des Arduinos> manchmal das Anliegen von 12 V und gleichzeitig GND auf den anderen> Motoranschluss verschieben. Am jeweils anderen Anschluss liegt dann> entweder nur GND oder nur 12 V an.
Den Absatz muss man erst mal verstehen.
Was misst du an den Pin D4 und D5?
Ich tippe hier aurf Softwarefehler!
Hänge dir Leds an die Portausgänge (mit Vorwiderstand von 1-2k) dann
siehst du ob beide Ports aus oder eingeschaltet sind.
Je ein 22k Widerstand von den Basen auf Masse bei T3 und T4 sorgen dafür
daß sie sicher ausgeschaltet sind wenn der Port hochohmig ist.
Ansonsten beachte was Matthias S. gesagt hat.
Max schrieb:> liegt immer an einem Anschluss sowohl 12 V als auch GND
Grundlagen der Physik (8. Klasse) sollten dir klarmachen, dass das nicht
geht.
Entweder zeitlich nacheinander, oder ein Anschluss ohne Potential der
nur beim Messen beeinflusst wird.
Aber deine Schaltung hat 2 Probleme:
Keine Freilaufduoden auf Motorseite, das funkt gewaltig und stört den
uC.
Und es wird der Motor im Stillstand kurzgeschlossen, das führt zum
schnellen Bremsen, geht aber auf die Mechanik. Es ist nur sinnvoll, wenn
man abrupt bremsen muss.
Also erstmal dankeschön allerseits.
Zunächst habe ich mich jetzt mal mit der Tatsache beschäftigt, dass sich
der Motor dreht obwohl nicht das Netzteil angeschlossen ist, sondern der
Mikrocontroller nur via USB mit dem Laptop verbunden ist. Habe die
Verbindung zwischen Netzteil und Vin gekappt und die Schaltung mal nur
via USB am Arduno mit 5 V versorgt und konnte am Vin 4,3 V messen. Daher
würde ich sagen liegt der Grund für die Speisung der Motorklemmen ohne
angeschlossenes Netzteil im Arduino selbst - und das wiederum führt mich
zu deinem Tipp, lieber Matthias S: Du hast recht, ich sollte versuchen,
Versorgung der Steuerung und Versorgung des Motors zu trennen. Doch -
mal blöd gefragt - was bleibt mir außer der Verwendung eines zweiten
Netzteils, wenn ich sowohl Microcontroller als auch Motor mit 12 V
versorgen muss und beide damit auch eine gemeinsame Masse brauchen? Bei
dem Gedanken komme ich leider gerade nicht weiter.
Die Nachrüstung mit Elkos und Freilaufdioden werde ich aber in Angriff
nehmen, danke schonmal an Euch zwei für die Tipps.
D4 und D5 Pin habe ich übrigens vor meinem Forumseintrag schon
überprüft: Beide funktionieren wie sie sollen, sprich softwareseitige
Fehler habe ich versucht auszuschließen.
Max schrieb:> Doch -> mal blöd gefragt - was bleibt mir außer der Verwendung eines zweiten> Netzteils, wenn ich sowohl Microcontroller als auch Motor mit 12 V> versorgen muss und beide damit auch eine gemeinsame Masse brauchen? Bei> dem Gedanken komme ich leider gerade nicht weiter.
Wenn du da einen Gobo oder sowas baust, dann ist es evtl. keine dumme
Idee, ein Netzteil mit 2 unabhängigen Spannungen zu verwenden - vor
allem, wenn da noch mehr Motoren dazu kommen. Gleichwertig sind 2
Netzteile, eines für 5V und eines für 12V. Dabei musst du die Massen
nicht verbinden, denn der 12V Kreis läuft ja nur über die
Relaiskontakte.
Die zweitbeste Wahl ist die eines Netzteils, das sowohl 5V als auch 12V
ausgibt. So ein Netzteil hat intern schon die Masse verbunden (wie z.B.
ein PC Netzteil)
Dabei sind die Massen wieder verbunden und du musst den Motor auf jeden
Fall per Freilaufdiode und Abblockkondensatoren davon abhalten, die MC
Versorgung zu versproddeln.
Die schlechteste ist ein 12V Netzteil, aus dem du per Regler 5V
gewinnst. Der Regler darf sich dabei nämlich nicht durch den Motor
durcheinander bringen lassen. Wieder sind Freilaufdiode und Abblockung
zwingend notwendig.
Und damit ist das Problem gelöst: Ich habe nun sowohl die Verbindung
zwischen Arduino Vin mit Spannungsversorgung vom Netzteil als auch
Arduino GND mit Netzteil GND gekappt, den Arduino provisorisch über USB
mit Strom versorgt, damit er seine Steueraufgaben erledigen kann und das
Netzteil nur noch zur Versorgung der Motoren und des Magneten
eingesetzt. Und siehe da: Es läuft wie geplant. Jetzt muss ich mich nur
noch entscheiden ob ich zwei Netzteile mit 12 V und 5 V einsetze oder
eines, das beide Spannungen ausgeben kann, genau wie Du es mir
erklärtest, Matthias.
Vielen lieben Dank damit für die Hinweise und die Möglichkeit neu auf
seine Arbeit schauen zu können!
Um nun schlussendlich die Nachrüstung mit Elkos in Angriff zu nehmen
habe ich zur Sicherheit die drei Elkos, die die 5V an den Relais
stabilisieren sollen, noch in meinen Plan eingezeichnet (rechts unten).
Sie werden, wie mir geraten wurde, ca. 100 Mikrofarad haben.
Zudem werde ich ein Elko ca. 400 Mikrofarad einlöten direkt parallel zu
den Pins der Platine, an denen ich VCC und GND der Spannungsversorgung
anlege. Könnt Ihr mir sagen, ob ich die Tipps somit also richtig
verstanden habe?
Beste Grüße!
Einer der drei (C10, C11, C12) wird reichen, nimm so 47µF-100µF.
Wichtiger ist, das du in der Nähe der Motorrelais noch einen Elko auf
die 12V legst, z.B. 330µF-470µF.
-die 2 LEDs unten links parallel sind Mist, aber mit 150k Vorwiderstand
eh rel. sinnfrei :-)
-die Motoransteuerung mit den 2 Relais hat den Nachteil, dass du den
Motor nicht "ausrollen" lassen kannst. D.h. aus dem Lauf heraus kannst
du den nur kurzschliessen zum stoppen. Gibt nen rel. harten Schlag.
Max schrieb:> und die Schaltung mal nur> via USB am Arduno mit 5 V versorgt und konnte am Vin 4,3 V messen.
Ist das Mysterium warum der Motor 4.3V Spannung hat, obwohl die 12V
Motorspannung abgeklemmt sind, verstanden?
Wenn das über Deine Schaltung passiert ist da noch etwas faul. Über die
Relais kann keine Spannung rüberkommen! Und dann kann mit einem anderen
Netzteil das Problem wieder auftauchen.
Danke allerseits - wird so heute Abend in die Tat umgesetzt. Das
Mysterium konnte ich damals, als der Tread aktuell war, schon lösen,
nämlich indem ein separater Stromkreis für 12 V und für 5V exisitert mit
je einem eigenen Netzteil, und nicht die 5V vom Arduino geliefert
werden.
Und die Bohrlöcher werden definitiv im Schaltplan benötigt, sonst würde
der Schaltplan ja hier nicht als Anhang halten. Irgendwo müssen Anhänge
schließlich auch befestigt sein ;)!