Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Motor schalten über Mosfet und Transistor
robonooby
11.02.2014, 20:43
Hallo,
ich habe mir eine Schaltung gebastelt, die beim erreichen eines bestimmten Motorstroms den Motor abschalten soll.
Den Strom messe ich über einen Shunt, verstärkt über einen Operationsverstärker.
Als Controller kommt ein Atmel 328P zum Einsatz.
Wenn ein bestimmter Motorstrom erreicht ist, soll der Controller über einen Mosfet bzw. Transistor den Motor abschalten. Leider funktioniert genau dies nicht.
Ich kann den Strom wunderbar messen (stimmt auch mit dem externen Messgerät überein). Nur Abschalten lässt sich der Motor nicht. Also entweder habe ich beim Löten den Mosfet oder den Transistor gekillt oder es stimmt was an meiner Schaltung nicht.
Ich hoffe ihr könnt mir helfen.
Anbei die Schaltung (Ausschnitt).
27482
Danke schonmal vorab.
Hallo!
Ich vermute fehlenden pull-up Widerstand an VCC am Gate des MOSFETs, falls sonst alles richtig funktioniert.
Hallo,
der MOSFET ist so nicht richtig verschaltet. Im Moment leitet die Bodydiode des MOSFETs, die ist im Symbol von T1 ja mit eingezeichnet. Der MOSFET mit der aktuellen Beschaltung kann überhaupt nicht eingeschaltet werden.
Ich habe drei Lösungsvorschläge, such dir einen aus:
- Drain an Vcc und Source an den Motor. Dann brauchst du zum Schalten des MOSFETs aber eine Gatespannung, die um UGS höher ist als VCC.
- Reihenfolge der Komponenten ändern: VCC - Motor - MOSFET Drain - MOSFET SOURCE - SHUNT - GND
- Verwende einen p-Kanal-MOSFET an derselben Stelle wie eingezeichnet.
Ein Gateableitwiderstand ist, wie von PICture schon beschrieben, unbedingt erforderlich.
Grüße, Bernhard
Hallo und danke Bernhard für die Berechtigung, weil ich das mit der Bodydiode übersehen habe ! :D
Auch ein Freilauf Diode ist vergessen:
http://www.rn-wissen.de/index.php/Diode#Freilaufdiode
Sonnst wird den Mosfet schnell kaputt gehen beim abschalten der Motor.
robonooby
12.02.2014, 19:04
danke für die schnelle Hilfe. Echt doof, dass mein Schaltplan nicht stimmt. Hab ich dann wohl um sonst die Platine geätzt^^. Hätte ich vorher mal nachfragen sollen.
Naja jetzt will ich natürlich mit möglichst wenig Aufwand die Platine dennoch funktionsfähig bekommen.
Den Widerstand noch dazu löten sollet kein Problem sein. Wie groß wählt man den?
Ich habe jetzt mal das von BMS versucht umzusetzen. Gewählt habe ich Lösungsvorschlag 2. Ich weis aber nicht ob ich das richtig interpretiert habe. Bin da leider kein Profi. Ist mein erster Mosfet den ich verbaut habe^^.
anbei der korigierte Schaltplan. Dieses mal nicht nur einen Ausschnitt sondern der komplette Plan (Rot eingekastet ist der Bereich den es betrifft).
27485
http://s14.directupload.net/images/140212/temp/7pngpuvr.jpg (http://www.directupload.net/file/d/3531/7pngpuvr_jpg.htm)
klappt das so?
Die Freilaufdiode ist noch nicht drin. Setze ich diese zwischen V+ und M+ Parallel zum Mosfet? Pfeil richtung M+?
Ach so noch zur allgemeinen Info. Der Motor wird bei 12V betrieben und hat nen maximalen Strom von ca 2 A.
Die Freilaufdiode ist noch nicht drin. Setze ich diese zwischen V+ und M+ Parallel zum Mosfet? Pfeil richtung M+?
Ach so noch zur allgemeinen Info. Der Motor wird bei 12V betrieben und hat nen maximalen Strom von ca 2 A.Den Link enthält ein Schaltungsbild für den Freilauf-diode. Den Diode soll Parallel an den Motor geschaltet werden, aber in Sperr-richtung zu den Strom. (Kathode an Motor+) Muss also nicht unbedingt auf dein Platine gelötet werden, sondern kann auch direkt an den Motor. Es muss aber den maximalen Strom und Spannung leisten können, .... mit Reserven natürlich.
[EDIT] Aber aus dein Schaltung mache ich aus das du den Drehrichtung ändern möchtest? (Schalter S1 und S2) Oder wie muss ich das verstehen? Wenn das so ist sollte die Diode näher an den Mosfet dran gehen, aber immer noch auf den Strom-richtung achten.
Den Widerstand noch dazu löten sollet kein Problem sein. Wie groß wählt man den?
Er wird entsprechend der Gate-Kapazität und max. Schaltfrequenz gewählt (als Tiefpass).
robonooby
12.02.2014, 19:38
@Valen: Danke. Das werde ich noch einpflegen. Ich muss die Diode aber an die Platine löten, da der Motor in beide Richtungen beschaltbar ist.
@ PICTure: okay. hmm für mich als nicht Elektroniker heist das jetzt? :)
Stimmt den der Mosfet jetzt? Würde er jetzt den Motor abschalten so wie oben eingezeichnet?
@Valen: Danke. Das werde ich noch einpflegen. Ich muss die Diode aber an die Platine löten, da der Motor in beide Richtungen beschaltbar ist.
...Das hatte ich schon vermutet. Deshalb meiner EDIT von mein letzter Bericht.
robonooby
13.02.2014, 19:16
Er wird entsprechend der Gate-Kapazität und max. Schaltfrequenz gewählt (als Tiefpass).
okay. und wie hoch wäre er wenn ich sagen wir maximal alle 2 sekunden schalte?
und der Rest stimmt jetzt so wie ich es eingezeichnet habe?
http://s1.directupload.net/images/140213/cvwm8g57.jpg
Nein, nicht den Mosfet soll überbrückt werden mit ein Freilauf-diode, sondern die Motor. Also die Anode soll irgendwo anderes her gehen, wo M- ist angeschaltet. Aber das wird kein V+ sein. M- in dem Strommessung-schaltung muss es hin gehen.
@ robonooby
Bei bekannter Kapazität kannst du den Widerstand selber ausrechnen lassen: http://www.elektronik-labor.de/OnlineRechner/Grenzfrequenz.html .
Sorry, aber deine mikrige nicht zusammenhängende Schaltplanfragmente sind für meine Augen schon zu klein und ich kann dir leider nicht weiterhelfen._.
@PICture: für mich war die Grafik auch zu klein (dabei trage ich schon Glasbausteine vor den Augen) bis ich auf eine Lösung kam: rechte Maustaste auf das Bild -> Grafik anzeigen, dann kannst du ranzoomen und siehst wie hier mit RN Ressourcen umgegangen wird, 35 Megapixel in voller Pracht.
@robonooby:
1. Valen hat Recht, die Freileufdiode ist jetzt in Durchlaßrichtung zwischen Versorgung und Motor verschaltet ist brückt sie den MOSFET und macht schalten unmöglich
2. was ist der Zweck der Diode D2?
Na ja, wenn das Gezeichnete für mich ein Schaltplan wäre, hätte ich deine Lösung verwendet. Das merke ich mir für die Zukunft, also vieeelen Dank ! :D
Übrigens ich kann nur Schaltpläne analisieren, wo man nicht suchen muss, was mit was verbunden ist.
robonooby
14.02.2014, 05:52
sorry wenn die Grafik zu klein war. Bei mir wird sie in voller größe am Monitor angezeigt und so nen Widerstand ist bei mir am Monitor ca 1cm groß :). Dachte das wäre groß genug. Aber liegt dann wohl am Monitor...
Und auch nochmal Sorry, wenn ich da nicht der experte bin. Ich komm einfach halt nich aus dem Elektronik Bereich. für mich ist es eher ein Hobby mich damit zu beschäftigen und vorallem Controller zu Programmieren. Schaltungen zu entwerfen und zu löten ist da eher das lästige, nötige Beibrot.
Ich werde heute Mittag die Zeichnung nochmal korigieren und Zusammenfassen und nochmal posten. Ich hoffe dann stimmt alles^^
Danke auf jedenfall für eure Gedult
nikolaus10
14.02.2014, 09:40
Nicht aufgeben.
Wir sind alle mal klein angefangen.
Die Stufen der Erfolgstreppe sind aufgebaut aus Misserfolgen.
sorry wenn die Grafik zu klein war.
Im Gegenteil, die Grafik ist zu groß und zu hochauflösend. Es liegt nicht am Monitor sondern am Browser. 7000x5000 Pixel kann der Browser nicht mehr vernünftig so runterskalieren, dass man die feinen Details noch erkennt. Ausserdem stopft man damit die RN-Server unnötig voll. Effizientzer wäre, die relevanten Teile auszuschneiden und für die Anzeige im Browser entspr. skalieren. Oder auf einem externen Bild-Host speichern, wie in deinem 2ten Post in diesem Thread.
Nichts für ungut, wir sind hier glaub ich nicht im Ausschließlich für Experten - Forum ;-) oder?
robonooby
15.02.2014, 17:08
ach so okay. ja dann sorry für die große Grafik. xD Bei mir wird es wie gesagt ordentlich angezeigt.
Also ich habe heute mal den Mosfet neu beschalten und jetzt funktioniert es :-)
Das einzigste was ich jetzt festgestellt habe ist, dass der der Motor in die eine Richtung langsamer dreht als in die andere. Wenn der Strom durch den Mosfet fließt läuft er langsamer. Woran kann das liegen? Vielleicht nen zu kleinen Pullup Widerstand gewählt?
Hier der neue Schaltplan: Dieses mal nur als Ausschnitt und etwas kleiner ;)
http://s14.directupload.net/images/140215/temp/5ky9mn4q.jpg (http://www.directupload.net/file/d/3534/5ky9mn4q_jpg.htm)
Den PullUp Widerstand habe ich jetzt einfach mal 1k Ohm gewählt, weil ich den gerade noch zu Hause rumfliegen hatte. Ich weis auch nicht wie ich das ausrechnet da mir ja die Kapazität der Schaltung fehlt :confused:
Bitte erkläre noch mal wie das mit den Schaltern S1 und S2 funktionieren sollte? In welcher Ordnung soll diesen eingedruckt werden, und was sollte nach deiner Meinung die Stromfluss zu den Motor sein.
Wenn du nun S2 umschaltest wird es mit Voller Kraft (ohne PWM begrenzung) zurück (?) drehen, weil es direkt von dem Accu/Batterie betrieben wird. Ist das auch deiner Wunsch? Muss das nicht mit PWM Betrieb?
robonooby
15.02.2014, 18:05
Bitte erkläre noch mal wie das mit den Schaltern S1 und S2 funktionieren sollte? In welcher Ordnung soll diesen eingedruckt werden, und was sollte nach deiner Meinung die Stromfluss zu den Motor sein.
Wenn du nun S2 umschaltest wird es mit Voller Kraft (ohne PWM begrenzung) zurück (?) drehen, weil es direkt von dem Accu/Batterie betrieben wird. Ist das auch deiner Wunsch? Muss das nicht mit PWM Betrieb?
Also die beiden Schalter sind in realität mechanisch so verbaut, dass immer nur einer gedrückt werden kann. Wenn ich den Motor rechts herum drehe (Schalter S1 betätigt) dann reagiert der Controller und schaltet den Motor bei einem bestimmten eingestellten Motorstrom ab.
In die andere Drehrichtung (Schalter S2 gedrückt) soll dies nicht der Fall sein. Daher der Motor ist nicht abschaltbar.
Ich habe mir das eigentlich so vorgestellt, dass der Mosfet den Stromkreis immer geschlossen hält bis der Motorstrom zu groß wird, und erst dann abschaltet. Wenn ich dich richtig verstehe, wird aber das ganze über PWM geregelt. daher je nach dem wie groß die PWM Frequenz ist, desto schneller und Kraftvoller dreht der motor?. Das würde erklären warum bei mir der Motor in die S1 Richtung langsamer dreht. Das wäre doof...
Ich vermute einen anderen Grund, vielleicht ist es ein Schuß ins Blaue aber möglicherweise hilfts:
Wenn ich die Schaltung richtig sehe, wird der Motorstrom über 0.1Ohm Shunt geführt, mit Opamp x 20 verstärkt auf einen digitalen Eingang der MCU geführt. Zw. 1A und 2A Motorstrom sieht die MCU digitale 1 auf dem Eingang, schaltet ab, der Eingang fällt ab, MCU sieht 0 -> schaltet ein, sieht wieder 1 schaltet ab usw. Evtl. ist die Verstärkung zu hoch und die Schaltung zu empfindlich für den Anlaufstrom?
robonooby
15.02.2014, 19:34
Ich vermute einen anderen Grund, vielleicht ist es ein Schuß ins Blaue aber möglicherweise hilfts:
Wenn ich die Schaltung richtig sehe, wird der Motorstrom über 0.1Ohm Shunt geführt, mit Opamp x 20 verstärkt auf einen digitalen Eingang der MCU geführt. Zw. 1A und 2A Motorstrom sieht die MCU digitale 1 auf dem Eingang, schaltet ab, der Eingang fällt ab, MCU sieht 0 -> schaltet ein, sieht wieder 1 schaltet ab usw. Evtl. ist die Verstärkung zu hoch und die Schaltung zu empfindlich für den Anlaufstrom?
interessante Theorie. Aber wenn er Abschalten würde, würde der controller momentan in meinem Testprogramm 5 Sekunden warten bis es weiter läuft. Daher würde man es merken, wenn er abschaltet. Was mir aber gerade eben noch aufgefallen ist. Der MCU resettet sich wenn ich den Motor komplett blockiere und dann wieder frei drehen lasse.
Ich hab ein Netzteil bei dem man Spannung und Strom frei einstellen kann. Strombelastbarkeit bis max 3 Ampere. (von Reichelt das). Und das zeigt mir maximal 0,06A an beim drehen. in beide Richtungen den gleichen Wert.
Nach den Momentanen Kalibriereinstellungen schaltet er bei ca 0,6 Ampere ab.
Also die beiden Schalter sind in realität mechanisch so verbaut, dass immer nur einer gedrückt werden kann. Wenn ich den Motor rechts herum drehe (Schalter S1 betätigt) dann reagiert der Controller und schaltet den Motor bei einem bestimmten eingestellten Motorstrom ab.
In die andere Drehrichtung (Schalter S2 gedrückt) soll dies nicht der Fall sein. Daher der Motor ist nicht abschaltbar. Ok, so habe ich das auch verstehen.
- - - Aktualisiert - - -
...Der MCU resettet sich wenn ich den Motor komplett blockiere und dann wieder frei drehen lasse....
Du hast auch noch einer andere Anfänger-fehler gemacht. Ich sehe kein Puffer-condensatoren an deine Spannungsversorgung-eingang und Ausgang, und Vcc und GND von dein Microcontroller. Nur an AVCC. Durch blockieren der Motor wird viel Strom aus den Batterie gezogen, und bricht den Batteriespannung zusammen. Wie viel ist schwer zu zagen ohne Oszilloskop. Aber Condensatoren an dem Eingang der Spannungsregulator und Microcontroller wurde das unterstützen.
robonooby
16.02.2014, 07:30
Ok, so habe ich das auch verstehen.
- - - Aktualisiert - - -
Du hast auch noch einer andere Anfänger-fehler gemacht. Ich sehe kein Puffer-condensatoren an deine Spannungsversorgung-eingang und Ausgang, und Vcc und GND von dein Microcontroller. Nur an AVCC. Durch blockieren der Motor wird viel Strom aus den Batterie gezogen, und bricht den Batteriespannung zusammen. Wie viel ist schwer zu zagen ohne Oszilloskop. Aber Condensatoren an dem Eingang der Spannungsregulator und Microcontroller wurde das unterstützen.
ohh okay. ja das stimmt, da sind wirklich keine Kondensatoren dran. Wie groß wählt man die am besten?
ich habe gerade mal im Wiki geschaut und bin auf den Beitrag "AVR-Einstieg_leicht_gemacht" gestoßen. hier sind am MCU auch keine Kondensatoren dran. Nur an der Spannungsversorgung. Kann ich das für die Spannungsversorgung aus dem Wiki so übernehmen für meinen Anwendungsfall?
EDIT: Hab noch den WIKI Beitrag "Abblockkondensator" gefunden und gelesen. Hier steht 100nF ist als Standart meist ausreichend. Also werde ich in meine Schaltung an jeden VCC pin vom MCU noch 100nF ran hängen und die Spannungsquelle wie im WIKI Beitrag "AVR-Einstieg_leicht_gemacht" noch Kondensatoren hinzufügen. Richtig so?
robonooby
15.03.2014, 20:29
So ich habe jetzt mitlerweile den Schaltplan um einige Kondensatoren erweitert.
Nun bleibt noch ein großes Fragezeichen für mich der Gatewiderstand am MOSFET.
Ich habe mich hierzu schon versucht etwas schlau zu machen. Einige Artikel durch google gefunden und gelesen. Aber so ganz raffe ich das einfach nicht. Man merkt, dass ich von Elektronik nicht sehr viel Ahnung habe^^
Was ich jetzt rausgefunden habe:
Anhand der Gate Ladung Q und der Gatespannung Vd kann man die Gate Kapazität C errechnen.
C=Q/Vd
Laut Datenblatt meines MOSFETs (IRF 7413Z) wäre
Q = 20 nC
Vd wäre bei mir 5V
Somit wäre C = 4nF
Wenn ich ca. jede Sekunde den Motor abschalte weil der Strom überschritten ist und danach wieder einschalte, dann bräuchte ich, laut Link von Picture (http://www.elektronik-labor.de/OnlineRechner/Grenzfrequenz.html#R), einen Widerstand von 39788 kOhm? Das kann doch nicht sein oder?
Hier nochmal der Ausschnitt vom Schaltplan:
Widerstand R16 ist gesucht.
http://s1.directupload.net/images/140315/temp/sps3yy83.jpg (http://www.directupload.net/file/d/3562/sps3yy83_jpg.htm)
Besserwessi
15.03.2014, 22:25
100 nF Kondensatoren an den VCC / GND Pins des µC sind schon mal gut. Die Fehlenden Konensatoren könnten ggf. dazu geführt haben, das der µC bei Störungen einen ungeplanten Reset ausgeführt hat.
Der Gate Widerstand ist relativ unkritisch. Ein Mindestwert von rund 10 Ohm bis 100 Ohm ist ggf. nötig, damit keine HF Schwingungen (z.B. 10 oder 100 MHz) auftrete, für die die Schaltung nicht ausgelegt ist. Etwas mehr ist ggf. hilfreich damit nicht so extrem schnelle geschaltet wird und damit auch an kleinen parasitären Induktivitäten schon störend hohe Spannungen auftreten. Langsamer als vielleicht 0,5-1 µs sollte man aber auch lieber nicht schalten, denn dann ist der MOSFET lange im linearen Bereich und die Verluste werden höher (MOSFET wird ggf. warm). Bei 4 nF wären das dann etwa 250 Ohm als Obergrenze für den Gatewiderstand. Die Schaltung zum Ansteuern des Gates kann man nicht gut erkennen - insbesondere nicht wohin R16 geht. Damit es funktioniert sollten es etwa +5 V sind.
Für Schaltpläne und ähnliche Zeichnungen mit wenig Farben sollte man eher das .PNG (ggf. noch .GIF) Dateiformt nutzen: damit kommt man auf relativ kleine Files (z.B. etwa 5-50 kBytes) und hat scharfe Konturen.
robonooby
16.03.2014, 08:09
100 nF Kondensatoren an den VCC / GND Pins des µC sind schon mal gut. Die Fehlenden Konensatoren könnten ggf. dazu geführt haben, das der µC bei Störungen einen ungeplanten Reset ausgeführt hat.
Der Gate Widerstand ist relativ unkritisch. Ein Mindestwert von rund 10 Ohm bis 100 Ohm ist ggf. nötig, damit keine HF Schwingungen (z.B. 10 oder 100 MHz) auftrete, für die die Schaltung nicht ausgelegt ist. Etwas mehr ist ggf. hilfreich damit nicht so extrem schnelle geschaltet wird und damit auch an kleinen parasitären Induktivitäten schon störend hohe Spannungen auftreten. Langsamer als vielleicht 0,5-1 µs sollte man aber auch lieber nicht schalten, denn dann ist der MOSFET lange im linearen Bereich und die Verluste werden höher (MOSFET wird ggf. warm). Bei 4 nF wären das dann etwa 250 Ohm als Obergrenze für den Gatewiderstand. Die Schaltung zum Ansteuern des Gates kann man nicht gut erkennen - insbesondere nicht wohin R16 geht. Damit es funktioniert sollten es etwa +5 V sind.
Für Schaltpläne und ähnliche Zeichnungen mit wenig Farben sollte man eher das .PNG (ggf. noch .GIF) Dateiformt nutzen: damit kommt man auf relativ kleine Files (z.B. etwa 5-50 kBytes) und hat scharfe Konturen.
Vielen Dank schonmal für die schnelle Antwort.
Ja die 100nF Kondensatoren hatte ich Anfangs weggelassen weil beim Arduino Nano, diese auch nicht im Schaltplan stehen. Hab die Grundschaltung vom Nano übernommen gehabt. Aber nun sind an jedem VCC Eingang des Kontrollers so Nah wie möglich die Kondensatoren dran. Bin mal gespannt ob das wirklich viel Hilft. Außerdem habe ich direkt vor den Spannungsregler noch einen 1000uF Elko und parallel dazu noch einen 100nF Kondensator gehängt.
Das mit dem Gate Widerstand hilft mir schonmal sehr weiter. Dann werde ich mal einen 100 Ohm Widerstand testen. Notfalls kann man den Widerstand ja wieder relativ leicht auslöten und einen anderen rein hängen.
Dann habe ich aber hier schonmal nen guten Anhaltswert. Der Gate Widerstand R16 hängt in meinem Schaltplan an +5V des Spannungsreglers.
Aber wie errechnest du die 250 Ohm als Obergrenze? Mit 0,5-1us schaltzeit, meinst du die Zeit die der MOSFET braucht um durchzuschalten, daher wie schnell der "Kondensator" im MOSFET aufgeladen ist? Und nicht die Zeit wie oft ich den MOSFET und somit den Motor ein und ausschalte oder? Ich glaube hier liegt nähmlich auch mein Gedankenfehler in der obrigen Rechnung?
Danke für den Tipp mit den Bildern hochladen bzw. den Schaltplänen. Bei mir wird das alles halt sehr deutlich angezeigt. Hab nen großen Monitor und da ist alles scharf. Aber scheinbar trifft das bei anderen leider nicht zu. Werde ich das nächste mal drauf achten.
was ich auch noch nicht ganz verstehe, ist warum der Motor in die Richtung, wo er durch den MOSFET geschleift wird so wenig Leistung hat?
Ich habe mal mein kleines OSZI zwischen MOSFET und Transistor gehängt und es wird sauber geschalten, wenn der Motorstrom überschritten wird. die Gate Spannung hält er beim laufenden Motor sauber bei 4,8V. Also keine Anzeichen von PMW. Leider kann ich die Motorseite nicht ans Oszi hängen, da mein Oszi nur maximal 5V kann.
Besserwessi
16.03.2014, 15:54
Die Sinnvolle obere Grenze für den Widerstand am Gate betimmt sich nach der Zeit für das Umschalten. Da kann man nicht die PWM Periode oder Schaltfrequenz nehmen, denn die Zeit für das Umschalten sollte schon deutlich kürzer sein.
Der MOSFET sollte eigentlich schon recht niederohmig sein - wenn da ohne PWM viel Leistung verloren geht, müsste der MOSFET auch viel zu heiß werden.
So wie es aussieht wird das Bild auch noch mal bei Upload/Download verkleinert, wohl weil es immer noch zu groß ist. Dabei geht wohl einiges verloren, unabhängig vom Monitor.
robonooby
16.03.2014, 16:27
ahh dann war genau das mein Fehler. Ich hab die Schaltfrequenz eingesetzt :rolleyes:
Also ich habe gerade nochmal näher geschaut. Nach ca. 5 Minuten laufen lassen des Motors, ist der MOSFET nicht warm geworden. Daher geht hier wohl keine Leistung flöten.
Aber zwischen Motor + und Motor - Messe ich beim lauf des Motors 2,7V
in die andere Richtung ohne MOSFET die vollen 8,9 V meines Netzteiles.
Aber ich weis einfach nicht warum?!
Kann es an zu klein gewählten Leiterbahnen liegen? Weil sonst hängt ja außer dieser Diode nichts zwischen Motor + und V+ Batterie/Netzteil.
EDIT: Leiterbahnbreite ist aktuell noch 1mm bei der Testplatine.
Besserwessi
16.03.2014, 16:58
Der Schaltplan ist leider nicht gut zu erkennen - sowohl von der Auflösung der Bilder, also auch mit den Symbolen / Andordnung. Es könnte sein, dass der MOSFET an der falschen Stelle sitzt: ein N MOSFET ist geeigent um die negative Seite der Motorspannung zu schalten. An der Positiven Seite (zwischen V+ und dem Motor) bekommt man ein kleinere Spannung (es fehlt die Gate -Source Spannung, also etwa 3-4 V). Dabei müsste der MOSFET dann aber eigentlich merklich heiß werden.
robonooby
16.03.2014, 17:42
das hört sich gar nicht gut an. Demnach wäre es der falsche MOSFET?
Anbei nochmal der Auszug aus dem Schaltplan. Ich hoffe man kann diesen jetzt etwas besser erkennen. Hab ihn mal direkt hier im Forum als PNG hochgeladen.
Ich Versuche jetzt nochmal den kompletten Schaltplan hochzuladen.
Verwendeter MOSFET: IRF7413Z Mosfet N-Ch
Falls dieser nicht funktioniert. Welche Alternative gibts den? Am besten einen den es auch bei Reichelt gibt und noch besser wäre es wenn er Pinkompatibel wäre.
- - - Aktualisiert - - -
hier gibts nen Bild vom kompletten Schaltplan. (Sehr groß)
http://img5.fotos-hochladen.net/uploads/schaltplankompnayvbu2im8.png
Besserwessi
16.03.2014, 22:32
Eine einfache Lösung kann ich leider nicht sehen, insbesondere keine pinkompatible. Insgesamt sehe ich 3 Möglichkeiten die In frage kommen könnten:
1) Ein P_kanal MOSFET. Dann müsste der 220 Ohm Widerstand aber nach V+ gehen und Source müsste in richtung V+ gehen. Die Spannung V+ muss sicher unter etwa 15 V sein. Unabhängig davon sollte der 220 Ohm Widerstand eher größer (z.B. 1 K) werden damit nicht so viel Strom fließt - die 220 Ohm sind nicht der übliche Gate Widerstand.
2) Ein PNP-Transistor mit einem Basis Vorwiderstand statt den 220 Ohm nach GND.
3) Den N_MOSFET bebehalten und dafür die Verkabelung von MOTOR und den Schaltern anpassen. Der MOSFET geht dann mit Source an GND und Drain zum Schalter. Ich sehe da noch kein Problem den Motor auch so anzuschließen.
robonooby
17.03.2014, 06:09
Eine einfache Lösung kann ich leider nicht sehen, insbesondere keine pinkompatible. Insgesamt sehe ich 3 Möglichkeiten die In frage kommen könnten:
1) Ein P_kanal MOSFET. Dann müsste der 220 Ohm Widerstand aber nach V+ gehen und Source müsste in richtung V+ gehen. Die Spannung V+ muss sicher unter etwa 15 V sein. Unabhängig davon sollte der 220 Ohm Widerstand eher größer (z.B. 1 K) werden damit nicht so viel Strom fließt - die 220 Ohm sind nicht der übliche Gate Widerstand.
2) Ein PNP-Transistor mit einem Basis Vorwiderstand statt den 220 Ohm nach GND.
3) Den N_MOSFET bebehalten und dafür die Verkabelung von MOTOR und den Schaltern anpassen. Der MOSFET geht dann mit Source an GND und Drain zum Schalter. Ich sehe da noch kein Problem den Motor auch so anzuschließen.
Okay das hab ich jetzt schon fast befürchtet, dass ich da noch mehr im Schaltplan ändern muss, aber besser jetzt als später ^^
Also ich habe mich für die variante 1 entschieden.
zu 3: Dies kann ich leider so nicht machen, da der Motor später in beide Richtungen drehen soll. Und in die eine Richtung ohne MOSFET betreibar sein soll.
zu 2: Keine Ahnung was nen PNP Transistor ist. Ich kenn nur normale Transitoren, daher lass ich da mal die Finger weg^^
Zu Variante 1: Hier mal das geänderte Schaltbild: Hab ich das so richtig interpretiert? Stimmt das?
Vielen Dank Besserwessi für deine Geduld und Hilfe.
27790
Besserwessi
17.03.2014, 17:14
Der geänderte Plan müsste hinkommen, sofern die Spannung nicht über 15 V geht.
Die Variante 1 schließt nicht aus das der Motor auch in die andere Richtung per Schalter laufen kann. Es muss nur auch die Verkabelung der Schalter angepasst werden. Ein N MOSFET geht halt gut zwischen -Pol der Batterie und dem Motor.
robonooby
17.03.2014, 19:53
Der geänderte Plan müsste hinkommen, sofern die Spannung nicht über 15 V geht.
Die Variante 1 schließt nicht aus das der Motor auch in die andere Richtung per Schalter laufen kann. Es muss nur auch die Verkabelung der Schalter angepasst werden. Ein N MOSFET geht halt gut zwischen -Pol der Batterie und dem Motor.
Danke. Ja Variante 1 würde auch gehen, aber da müsst ich zu viel am Platinenlayout ändern.
Aber vielen Dank Besserwessi für deine Hilfe. Ich werde jetzt mir ne neue Platine ätzen lassen und dann hoffen wir mal dass es problemlos funktioniert.
ich werde mich auf jedenfall nochmal melden und berichten :-)
robonooby
05.04.2014, 16:07
So nach langem warten auf die neue Platine, habe ich jetzt endlich die neue Platine gelötet.
Was den Mosfet angeht, dieser Funktioniert jetzt endlich so wie es soll. Der Motor hat in beide Richtungen seine volle Kraft und schaltet so wie er soll ab. Danke an dieser Stelle nochmal für eure Hilfe!
Allerdings habe ich gerade ein neues Problem. Der ADC Eingang des Controllers misst eine negative Spannung (Spannungsmessung). Dies kann aber eigentlich nicht sein, da ich am Layout und Schaltplan zur vorherigen Platine nichts geändert hab. Strommessung mittels ADC Eingang funktioniert hingegen.
Kann es eventuel sein, dass ich ausversehen die Widerstände beim löten vertauscht habe? Oder kann hierdurch keine negative Spannung herauskommen? Die Nummerierung auf den Widerständen ist soo klein, dass ich sie jetzt nicht mehr lesen kann^^
Übrigends: Ich bestell meine Platinen immer beim Chinesen (http://www.elecrow.com). 8-10 Tage Lieferzeit nach Bestelleingang, echt top wie ich finde. 30 Dollar inkl Express Fracht via DHL. Platinen sind auch sehr gut. Wobei ich dieses mal eine Durchkontaktierung dabei hatte, die nicht funktionierte. Hab ich mittels dünnem Drähtchen aber behoben.
Allerdings habe ich gerade ein neues Problem. Der ADC Eingang des Controllers misst eine negative Spannung (Spannungsmessung). Dies kann aber eigentlich nicht sein, da ich am Layout und Schaltplan zur vorherigen Platine nichts geändert hab. Strommessung mittels ADC Eingang funktioniert hingegen.
Kann es eventuel sein, dass ich ausversehen die Widerstände beim löten vertauscht habe? Oder kann hierdurch keine negative Spannung herauskommen? Die Nummerierung auf den Widerständen ist soo klein, dass ich sie jetzt nicht mehr lesen kann^^
Wenn die Widerstände R11 und R12 (ich berufe mich jetzt auf den Schaltplan im Beitrag 11 dieses Threads) vertauscht wurden, dann liegen ca. 7V am ADC -Eingang des ATmega an, das ist für den garnicht gut, weil er mit 5V versorgt ist. Das würde zu falschen Ergebnisse am ADCführen. Allerdings, wie soll der ADC eine negative Spannung überhaupt messen, da kommt doch eine Zahl zw. 0 und 1024 raus, wie kann da etwas negativ sein?
Eine negative Spannung sollte überhaupt nicht entstehen können, weil ja die ganze Schaltung nur mit einer 9V-Spannungsquelle versorgt wird. Es würde helfen, wenn man mal mit einem Multimeter ermitteln könnte, was für eine Spannung am ADC-Pin (PC3) anliegt.
Grüße
Thegon
robonooby
06.04.2014, 14:40
Wenn die Widerstände R11 und R12 (ich berufe mich jetzt auf den Schaltplan im Beitrag 11 dieses Threads) vertauscht wurden, dann liegen ca. 7V am ADC -Eingang des ATmega an, das ist für den garnicht gut, weil er mit 5V versorgt ist. Das würde zu falschen Ergebnisse am ADCführen. Allerdings, wie soll der ADC eine negative Spannung überhaupt messen, da kommt doch eine Zahl zw. 0 und 1024 raus, wie kann da etwas negativ sein?
Eine negative Spannung sollte überhaupt nicht entstehen können, weil ja die ganze Schaltung nur mit einer 9V-Spannungsquelle versorgt wird. Es würde helfen, wenn man mal mit einem Multimeter ermitteln könnte, was für eine Spannung am ADC-Pin (PC3) anliegt.
Grüße
Thegon
Also ich habe gerade mal gemessen.
Am ADC Eingang liegen 1,8V zu GND an.
Der Atmega gibt mir via Console einen ADC Wert von -283 aus
Die PC Software macht daraus mithilfe des Faktors -6,811V
In Wirklichkeit hab ich aber 9,1V anliegen.
Widerstandswerte sind: 22k und 5,6k Ohm
- - - Aktualisiert - - -
EDIT:
Hat sich glaube ich erledigt. War nen Softwarefehler. Ich habe, um Schwankungen zu vermeiden, in ARDUINO mehrere Messungen durchgeführt und diese dann durch die Anzahl der Messungen geteilt. Also Mittelwert berechnet. Hierbei kommt dann ein -Faktor raus. Warum weis ich noch nicht...
Wenn ich diese Mittelwertberechnung weg lasse passt es. Dann zeigt er einen ADC Wert von 372 an.
Also nur Software, Gott sei dank
Danke :):)
robonooby
29.06.2014, 11:48
Also die ganze Schaltung funktioniert mitlerweile.
Ich habe noch einige Kondensatoren hinzugefügt. Den Motor entstöhrt und eine Diode zwischen Motor + und GND gehängt. Jetzt funktioniert alles.
Das Problem bestand einfach in Störungen beim schalten der Taster.
Werd das Thema als erledigt ansehen
Dann bleibt mir nur Dir gratulieren und weitere Erfolge beim Basteln wünschen übrig ! :D
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.