Hallo, ich möchte ein RC-Car aus einem alten fergesteuerten Auto, einem RaspberryPi und einem L293D-Chip "bauen". Das RC-Car soll man über WLAN(TCP) steuern können. Hardware: Wir haben eine Platine gemacht an die man den RPi, die Motoren(DC-motoren) und die Batterie anstecken kann. Auf der Paltine ist ebenfalls der L293D-Chip(Motortreiber) in einem Sockel befestigt. (Schaltplan anbei) Software: Die Serveranwednung(Auto) habe ich in Python geschrieben. Sie beinhaltet ein TCP-Socket der von der Clientanwendung(PC) Befehle erhält und diese dann ausführt. Ausführung: Es wird mit der Standard-Bibliothek des RPi GPIOs (RPi.GPIO) ein PWM Signal erstellt (500Hz und Dutycykle/Tastgrad 0,5) Der Tastgrad kann aber über die Clientanwendung verändert werden. Nun: ich schicke über die Clientanwendung den Befehl zum vorwärts Fahren, am RPi angekommen wird dann ein PWM erstellt und zum Enable1-Anschluss des L293D geschickt. Dann wird noch zu IN1 bzw IN2 vom RPi (nicht moduliert! also ohne PWM) Strom geschickt, also der Stromkreis geschlossen um die Richtung zu bestimmen. Problem: Sobald die Software des RPis den Motor startet(siehe oben) hört man jedoch lediglich den Motor brummen (wahrscheinlich 500Hz). Er bewegt sich jedoch nicht. Was machen wir falsch? Ich weiß es erfordert etwas Zeit um sich da "reinzudenken" aber es würde uns sehr helfen, dafür schonmal im vorraus vielen Dank! MFG
Und wo der Stützelko und die Abblock-Kondensatoren? Mit freundlichen Grüßen Thorsten Ostermann
Michael H. schrieb: > am RPi angekommen wird dann ein PWM erstellt und zum > Enable1-Anschluss des L293D geschickt. An Enable kommt ein statischer Pegel. Die PWN geht nach IN des 293 wenn ich das richtig sehe.
Danke, danke! Das mit dem IN1/EN1 dreher ist schnell behoben, aber könntet ihr das mit den Dioden, Elkos und anderen Kondensatoren erklären? tut mir Leid, aber in der Elektrotechnik bin ich noch nicht so schlau, eher Laie.
Es gib zu deinem Motortreiber Standardschaltungen. Die solltest du erstmal so umsetzen. Da fehlen ja komplett alle Block-Kondensatoren. Schau dir dazu mal das Datenblatt an, wie man den beschalten muss. Dann misst du, wie viel Strom aus deinem Netzteil gezogen wird. Vielleicht ist das noch zu wenig. Die Eingangssignale, die aus deinem RPi kommen, müssen auch zu den Daten im Datenblatt passen. Die mit dem Oszi messen und vergleichen. Wenn das alles nichts bringt, dann liegt die Vermutung nahe, dass es vielleicht am Aufbau liegt. Dann brauchen die Leute aber alle Infos mit Schaltplan (vernünftig und nicht das oben) und Fotos vom Aufbau. Gruß, Jens
Danke! ...wer lesen kann... Ja dann machen wir's mal so wie im Datenblatt beschrieben. Aber gibt es/kennt ihr alternativen für die SES5001? Es schein so als gäbe es die kaum wo. Oder wisst ihr, wie ich selbst alternativen finden kann?
Da schaust du bei Reichelt.de unter Fast recovery Dioden was es gibt mit 50V und 2A. Die nimmst du und baust sie ein! Gruß, Jens
Michael H. schrieb: > Datenblatt beschrieben. Aber gibt es/kennt ihr alternativen für die > SES5001? Es schein so als gäbe es die kaum wo. Oder wisst ihr, wie ich Welchen L293 habt ihr? Der L293D hat Freilaufdioden schon integriert.
Okay, bei Reichelt scheint es nichts passendes zu geben. Aber die BYV27/200 gibt es. Ist die schnell genug? - Bitte verzeiht meine unwissenheit. Und die Blockkondensatoren schlate ich in Reihe mit den Motoren, oder? Kann mir das bitte jemand näher erklären? MFG
@Günther Wir haben den L293D. Also wenn da schon Freilaufdioden integriert sind, warum steht es dann im Datenblatt?
Michael H. schrieb: > warum steht es dann im Datenblatt? Bitte verlinke Datenblatt zu eurem Chip, damit wir über den gleichen reden.
Günter schrieb: > Bitte verlinke Datenblatt zu eurem Chip, damit wir über den gleichen > reden. Anbei habe ich das Datenblatt als .pdf-Datei.
Letzter fett gedruckter Punkt auf Seite 1: Output Clamp Diodes for ... (L293D) und auf Seite 2 unter den Block Diagramm die Note: Output diodes are internal .. Jetzt noch der oben schon angefragte Schaltplan und wieviel Strom braucht der Motor? Anlaufstrom kann wesentlich höher als Nennstrom sein.
Günter schrieb: > Jetzt noch der oben schon angefragte Schaltplan und wieviel Strom > braucht der Motor? Also einen Schaltplan habe ich bereits angehängt (ganz oben). Wie viel Strom der Motor denn nun wikrlich braucht weiß ich nicht. Es steht auch nichts drauf. Ich habe ihn deshalb mal an einen Trafo und Messgerät gehängt. Volt sind glaub ich ca. 2 und Stromstärke 1,2 A. Die Werte müssten soweit Stimmen. Ich glaube aber eher, der Fehler liegt daran, dass der Motor mit dem PWM Signal nicht zurecht kommt, da brauche ich doch dann einen Kondensator, richtig?
Michael H. schrieb: > Volt sind glaub ich ca. 2 und Stromstärke 1,2 A. Die Werte müssten > soweit Stimmen. Ich glaube aber eher, der Fehler liegt daran, dass > der Motor mit dem PWM Signal nicht zurecht kommt, da brauche ich doch > dann einen Kondensator, richtig? Wenn ein Motor bei 2V schon 1,2A zieht ist der L293D als Treiber nicht geeignet. Der kann nur 600mA liefern. Außerdem versorgst du den L293D mit 6V; da kommen am Motor mindestens 3V an und er zieht noch mehr Strom. Also ungeeigneter Motortreiber. Als Kondensatoren brauchst du nur Abblock- und Stützkondensatoren. Hat mit dem eigentlichen PWM Signal nichts zu tun, sondern sollen nur die Betriebsspannungen sauber halten. Wenn es läuft, kann man nochmal schauen, ob zur Entstörung (RF Störabstrahlung) noch Kondensatoen an den Motor müssen.
Entschuldigung, die Werte scheinen nicht zu stimmen ...leider hab ich die Notiz weggeschmissen, wo ich die Werte draufgeschrieben habe. Aber ich denke, dass Spannung und Stromstärke des Motors nichts mit meinem Problem zu tun hat... Um nochmal darauf zurück zu kommen: Man hört nur den Motor brummen(die 500Hz des PWMs), er bewegt sich jedoch nicht.
Um die L293D Platine zu testen könnte man Vcc1, Vcc2 und GND angeschlossen lassen. Dann am L293D zB 1A auf HIGH, 2A auf LOW und 1-2EN auf HIGH legen. Dreht sich dann der Motor 2? Das wären 100% PWM. Sinngemäß für Motor 1 Wenn das geht liegt Problem wohl im Programm/en oder Verdrahtung?
Günter schrieb: > Um die L293D Platine zu testen könnte man Vcc1, Vcc2 und GND > angeschlossen lassen. Andere Verbindungen lösen außer Motor Dann am L293D zB 1A auf HIGH, 2A auf LOW und 1-2EN > auf HIGH legen. Dreht sich dann der Motor 2? Das wären 100% PWM. > Sinngemäß für Motor 1 > > Wenn das geht liegt Problem wohl im Programm/en oder Verdrahtung?
Michael H. schrieb: > Um nochmal darauf zurück zu kommen: > Man hört nur den Motor brummen(die 500Hz des PWMs), er bewegt sich > jedoch nicht. Ob 50Hz, 500Hz, 5000Hz, daran sollte es nicht liegen. Bei ungeeigneter Frequenz schafft der Motor nicht seine optimale Leistung, drehen sollte er sich schon. Du könntest den ohmschne Widerstand der Motorwicklung mit einem Ohmmeter messen. 4V (die Spannung, die beim Motor ankommt mit 6V an Vcc29 geteilt durch den Widerstand ist der Strom, den der Treiber aushalten muß. Das ist der Strom, der bei Blockierung des Motors bei 100% PWM fließt.
Ich habe mit einem Messgerät und dem Schaltplan alles auf "durchgang" durchmessen. Die Platine ist soweit in Ordnung, alles ist richtig verdrahtet. Dass es an der Software liegt glaub ich aber eigentlich auch nicht. Ich bin echt am verzweifelen, deshalb vielen Dank für die Hilfe.
Michael H. schrieb: > auch nicht. Ich bin echt am verzweifelen, deshalb vielen Dank für die > Hilfe. Kein Grund zum verzweifeln :) - L293D Platine, wie oben beschrieben, testen. - Motorwicklungwiderstand messen Michael H. schrieb "Dann wird noch zu IN1 bzw IN2 vom RPi (nicht moduliert! also ohne PWM) Strom geschickt, also der Stromkreis geschlossen um die Richtung zu bestimmen." Ist mir unklar. 1A vom L293D braucht HIGH und 2A braucht LOW bzw umgekehrt für umgekehrte Drehrichtung des Motors. Mit HIGH an 1,2EN fließt Strom durch den Motor, LOW an 1,2EN schaltet 1Y, 2Y hochohmig - Motor kein Strom. - möglicherweise doch Ansteuerungsproblem - noch mal 'ne Nacht drüber schlafen
Ja danke für die hilfe. Kannst du konkret sagen, welche Kondensatoren ich zum Stützen und Abblocken nehmen sollte? Für den Abblockkendensator würde ich einfach einen 100nF Kerko nehmen. Ist das okay? Ich muss gestehen hier kenne ich mich gar nicht aus. Und die Ansteuerung des L293D funktioniert so wie im Datenblatt(Seite 9, unterer Teil: Figure5). EN1 auf HIGH, IN1 auf HIGH und IN2 auf LOW ergibt Bewegung im Uhrzeigersinn. Tauscht man die Werte von den beiden INs dann fährt er gegen den Uhrzeigersinn. Ich hoffe dass es funktioniert wenn die richtigen Kondensatoren eigebaut sind.
Michael H. schrieb: > Ja danke für die hilfe. Kannst du konkret sagen, welche Kondensatoren > ich zum Stützen und Abblocken nehmen sollte? Für den Abblockkendensator > würde ich einfach einen 100nF Kerko nehmen. Ist das okay? Ich muss > gestehen hier kenne ich mich gar nicht aus. Ich mich auch nicht und ist mehr eine Erfahrungssache. Abblock- 100nF zwischen Vcc1 und GND nahe am L293D Chip. Stützkondensator hat bei mir immer mit Elko 470µF und mehr zwischen VCC2 und GND geklappt. Kannst nehmen was da ist - 680µF, 1000µF ... - Nähe zum Chip wünschenswert. > Ich hoffe dass es funktioniert wenn die richtigen Kondensatoren eigebaut > sind. Ich drück die Daumen, und hoffe nicht, daß es die Ansteuerung vom RPi ist, die ich auch noch in Verdacht habe. Oszi?
Günter schrieb: > Oszi? Hab ich leider keins. Aber da man den Motor ja in 500Hz brummen Hört denke ich mal, dass das schon stimmt.
Okay ich hab jetzt einen Elko 470µF als Stützkondensator und einen Kerko 100nF als Abblockkondensator. Ich hoffe das passt. Jetzt noch eine dumme Frage...beim L293D gibt es ja Logikspannung und Versorgungsspannung für den Motor, wo müssen die Kondensatoren jetzt hin? Stütz- zwischen V-Logik und GND und Abblock- zwischen V-Motor und GND, oder umgekehrt? MFG
Michael H. schrieb: > Stütz- zwischen V-Logik und GND und Abblock- zwischen V-Motor und GND, > oder umgekehrt? Stütz- 470µF zwischen V-Motor (=Vcc2) und GND, 100nF Abblock- zwischen V-Logik (=Vcc1) und GND. Vcc1 braucht normalerweise keinen Stützkondensator, da das von der allgemeinen Stromversorgung (Netzteil) abgedeckt sein sollte. Dabei fällt mir ein, daß der RPi auch 3,3V nutzt!? Hoffe nicht, daß du Vcc1 (Logikversorgung) damit versorgst. Der L293D braucht mindestens 4,5V! und die laut Datenblatt schon mal mit 35ma bis max. 60mA belastet werden können.
Ich nehme den Pin 2 (5V) vom RPi, nicht den 3,3. Aber hast du vielleicht eine Idee, wie ich den RPi "absichern" kann. Vielleicht mit einem Widerstand und einer Diode...oder so. Sodass nie mehr Strom gezogen wird, als der RPi verkraftet.
Michael H. schrieb: > eine Idee, wie ich den RPi "absichern" kann. Vielleicht mit einem > Widerstand und einer Diode...oder so. Sodass nie mehr Strom gezogen > wird, als der RPi verkraftet. Würd ich nicht machen. Wenn du Sorge hast, den RPi zu stark zu belasten, dann eher Vcc1 vom RPi lösen. Von Vcc2 nach Vcc1 eine Allerweltsdiode zB 1N4148 oder auch eine Schottkydiode schalten. Anode an Vcc2. Dann aber doch einen Elko zB 100µF oder höher an Vcc1 nach GND parallel zum 100nF Kerko. Logikspannung kommt dann vom Motorakku über die Diode. Der zusätzliche Elko an Vcc1 stabilisiert die Logikspannung und die darf so hoch sein wie Vcc2. Die Diode schützt den Elko vor Entladung durch Vcc2.
Wäre das so okay? Und tut mir Leid dass es so unübersichtlich geworden ist...War jetzt nur auf die schnelle. MFG
Am rechten Bildrand sieht es aus, als wenn Vcc1 mit Vcc2 direkt verbunden ist. Soll natürlich nicht sein. Ich schieb das mal auf einen Flüchtigkeitsfehler. Die Diode und Kondensatoren sind so wie ich gedacht hatte. Ist OK. GND muß allerdings mit GND vom RPi verbunden bleiben.
Günter schrieb: > Am rechten Bildrand sieht es aus, als wenn Vcc1 mit Vcc2 direkt > verbunden ist. Soll natürlich nicht sein. Beide sind am Pluspol der Batterie, aber nicht direkt verbunden. Das stimmt doch, oder? Oder muss die Batterie an die Verbindung zwischen Anode(Diode) und Vcc2 gelegt werden?
Michael H. schrieb: > Günter schrieb: >> Am rechten Bildrand sieht es aus, als wenn Vcc1 mit Vcc2 direkt >> verbunden ist. Soll natürlich nicht sein. > > Beide sind am Pluspol der Batterie, aber nicht direkt verbunden. Das > stimmt doch, oder? Nein, nur Vcc2 soll am Pluspol der Batterie sein. Von Vcc2 geht doch die Diode nach Vcc1. Im jetzigen Schaltplan vom 6.8. ist die Diode überbrückt da Vcc1 mit Pluspol der Batterie verbunden ist und Vcc2 mit dem Pluspol verbunden ist, sind Vcc1 und Vcc2 direkt verbunden! Also die Verbindung raus > > Oder muss die Batterie an die Verbindung zwischen Anode(Diode) und Vcc2 > gelegt werden? Da ist doch schon die Verbindung! Vom Pluspol geht eine Verbindung zu Vcc2 und von dort ist auch die Anode der Diode angeschlossen. Es muß nur die Verbindung Vcc1 zum Pluspol der Batterie raus. Ich gehe davon aus, daß BAT-1 der Pluspol und BAT-2 der Minuspol einer 6V Batterie ist.
36 Einträge für eine 0815 Aufgabe. Zum Testen reicht auch ein Netzteil aus.H und L lassen sich damit auch machen. Aber Hauptsache man hat einen ARM Prozessor. Tja der schönste Prozi hilft auch nicht wenn das Grundwissen fehlt oder man Datenblätter nicht lesen kann. Warum kommen immer wieder Leute auf die Idee Hardware steuern zu wollen ohne sie zu verstehen ? Hardware läßt sich nur dann programmieren, wenn man sie auch verstanden hat. Egal ob C oder Assembler.
Günter schrieb: > Da ist doch schon die Verbindung! Vom Pluspol geht eine Verbindung zu > Vcc2 und von dort ist auch die Anode der Diode angeschlossen. Ja stimmt, sry. > Ich gehe davon aus, daß BAT-1 der Pluspol und BAT-2 der Minuspol einer > 6V Batterie ist. Richtig :) Und Hr Henning, wenn es so eine 0815 Aufgabe ist, könnten Sie wesentlich hilfreicher sein, indem Sie sinnvolle Beiträge leisten und mir helfen. Deshalb bin ich doch schließlich hier auf µC.net! Aus Ihrer Arroganz schließe ich, dass Sie sich gut auskennen, also her mit den guten Ratschlägen. Danke MFG, michi
Michael H. schrieb: > Günter schrieb: >> Da ist doch schon die Verbindung! Vom Pluspol geht eine Verbindung zu >> Vcc2 und von dort ist auch die Anode der Diode angeschlossen. > > Ja stimmt, sry. > > >> Ich gehe davon aus, daß BAT-1 der Pluspol und BAT-2 der Minuspol einer >> 6V Batterie ist. > > Richtig :) > > > Und Hr Henning, wenn es so eine 0815 Aufgabe ist, könnten Sie wesentlich > hilfreicher sein, indem Sie sinnvolle Beiträge leisten und mir helfen. > Deshalb bin ich doch schließlich hier auf µC.net! Aus Ihrer Arroganz > schließe ich, dass Sie sich gut auskennen, also her mit den guten > Ratschlägen. Danke > > MFG, > michi den sinnvollen Beitrag hatte ich bereits gegeben. s.o. Aber einen weiteren Ratschlag gebe ich gern. Datenblatt des IC lesen und die Funktions dessen verinnerlichen. Dann macht das IC auch das, was es soll. Wenn der Programmierer in seiner Arroganz jedoch ein PWM Signal auf den Enable Eingang gibt, ist es kein Wunder, das der Motor nur brummt. Und NEIN ich bin nicht Arrogant, denn ich würde keine ARM nehmen um den IC anzusteuern. Statische Pegel reichen völlig aus. Aber PWM ist ja inn. Machen ja alle was damit. Überlege mal was eine Pulsweitensteureung (ja das ist PWM) an einem Enable Eingang wohl macht ! Genau, die PWM choppert den IC mit variabler Breite. Tolle Wurst. Wie gesagt, ein Netzteil/Batterie reicht dafür. Das sind eben die Programmierer von Morgen. Raspbery, Phyton, TCP, etc.pp. High Levele eben und keine Ahnung was unten passiert. Hardware läßt sich aber nicht HighLevel programmieren ohne zu wissen wie ein IC funktioniert und schon gar nicht wenn man die Echtzeitfähigkeit eines Raspberry nur erahnen kann.. Womit wir wieder am Anfang sind. Bringt Dein Linux ARM die Signale überhaupt in der richtigen Reihenfolge ? Meine Controller machen genau das. Deswegen darf ich auch Arrogant sein. Du weisst es warscheinlich nicht einmal. Du programmierst über einem System, welches du nicht kennst. Also Netzteil/Batterie und staische Pegel drauf. Das muss laufen. Dann schauen wir weiter. Arroganten Gruss
Stephan Henning schrieb: > Wenn der Programmierer in seiner Arroganz jedoch ein PWM Signal auf den > Enable Eingang gibt, ist es kein Wunder, das der Motor nur brummt. Und Wie? Warum soll das kein Wunder sein. Meinst du das geht nicht? oder geht das bei dir nicht? > .... Aber PWM ist ja inn. > Machen ja alle was damit. ... und geht ja auch bei allen, die sich hier nicht melden. > ... Überlege mal was eine Pulsweitensteureung (ja > das ist PWM) an einem Enable Eingang wohl macht ! Genau, die PWM > choppert den IC mit variabler Breite. Tolle Wurst. Was meinst du genau mit choppert. > Bringt Dein Linux ARM die Signale überhaupt in der richtigen Reihenfolge > ? Ich vermute auch, das da der Hase im Pfeffer liegt, jetzt und schon länger, wenn es der letzte HW Umbau nicht bringt. Am besten mit einem Oszi überprüfen. Müßte er sich wohl besorgen oder die Signale/PWM so langsam machen, daß man sie mit LEDs verfolgen kann, was aber nur bedingt taugt, da bei höheren Frequenzen die Verhältnisse anders sein können. > Also Netzteil/Batterie und staische Pegel drauf. Das muss laufen. > Dann schauen wir weiter. Statische Pegel hat Michael H. schon ausprobiert und funktionieren seiner Angabe nach. Nur Geduld.
Stephan Henning schrieb: > Wenn der Programmierer in seiner Arroganz jedoch ein PWM Signal auf den > Enable Eingang gibt, ist es kein Wunder, das der Motor nur brummt. Das habe ich doch schon behoben. Nun kommt (zum Vorwärtsfahren) ein statischer Pegel auf EN1, ein PWM(500Hz, Tastgrad kann bestimmt werden) auf IN1 und bei IN2 kommt nichts. Dennoch: der Motor brummt, fährt aber nicht. Aber ich würde jetzt einfach warten, bis ich die Kondensatoren bekomme und eingebaut habe. Vielleicht liegt es ja wirklich nur daran. Ich halte euch auf dem Laufenden, aber die Lieferung wird nicht mehr vor Montag eintreffen. MFG, Michi
Michael, ich bin bisher davon ausgegangen, daß die Ansteuerung so aussehen soll. Ich habe Bezeichnungen gewählt, die im Datenblatt und deinem Schaltplan wiederzufinden sind. Bitte Bestätigen oder Darstellung, wie sie tatsächlich aussieht. Dein letzter Post hat mich verwirrt. "Das habe ich doch schon behoben. Nun kommt (zum Vorwärtsfahren) ein statischer Pegel auf EN1, ein PWM(500Hz, Tastgrad kann bestimmt werden) auf IN1 und bei IN2 kommt nichts." Nichts gibt es nicht. Da muß HIGH oder LOW angelegt werden.
1 | ____ ____ ____ ____ ____________ |
2 | PWM | | | | | | | | | | |
3 | EN1-2 ____| |______| |______| |______| |___| |_____________ |
4 | |
5 | ____________________
|
6 | | | |
7 | 1A __| |________________________________________________ |
8 | |
9 | ____________________
|
10 | | | |
11 | 2A ______________________| |____________________________ |
12 | |
13 | |
14 | Drehrichtung entgegengesetzte Bremsen Motor |
15 | Drehrichtung stromlos |
Günter schrieb: > Nichts gibt es nicht. Da muß HIGH oder LOW angelegt werden. Ja tut mir Leid. Ich meinte, dass ein LOW angelegt wird. In der RPi.GPIO Bibliothek kann man einen output "erzeugen" und den dann entweder auf HIGH oder LOW setzen. Sind denn die LOW Werte kompatibel? Ich schau' mal im Datenblatt was der L293D als LOW versteht und was beim RPi LOW ist. MFG
Günter schrieb: > Bitte Bestätigen oder > Darstellung, wie sie tatsächlich aussieht. Seite 6 des Datenblatts, entnehme ich, dass das PWM-Signal zum IN1, bzw IN2 kommt und nicht zu EN1. Davor hatte ich es so, dass es zu EN1 kommt, ein Unterschied war aber nicht festzustellen. Immernoch brummen. Und auf Seite 6 steht ebenfalls (Note B), das PWM-Signal müsse 5kHz haben, ich denke, das könnte der Fehler sein.
Michael H. schrieb: > Seite 6 des Datenblatts, entnehme ich, dass das PWM-Signal zum IN1, bzw > IN2 kommt und nicht zu EN1. Davor hatte ich es so, dass es zu EN1 kommt, > ein Unterschied war aber nicht festzustellen. Immernoch brummen. Seite 6 ist ein Testaufbau des Herstellers um Parameter definiert darstellen zu können. Den kannst du nicht nehmen um deinen Motor zu treiben - es fehlt der zweite Eingang bzw Ausgang zum Motor. Wenn du das PWM Signal an IN1 anlegst, muß IN2 fest auf LOW oder HIGH, je nach gewünschter Drehrichtung gelegt werden. Dabei mußt du aber bei Drehrichtungsänderung auf das Tastverhältnis achten, daß sich dann umkehrt. Liegt IN2 auf LOW und IN1 durch das PWM auch kurz auf LOW, haben beide Motoranschlüsse das gleiche Potential, hier bin ich etwas unsicher aber das könnte Kurzschließen des Motors = Bremsen des Motors bedeuten. Diese Ansteuerung würd ich nicht empfehlen, wenn der Motor durch PWM in der Drehzahl gesteuert werden soll. Dein allererster Ansatz war schon iO und muß zum Laufen zu bringen sein. PWM auf 1,2EN HIGH auf 1A LOW auf 2A für eine Drehrichtung PWM auf 1,2EN LOW auf 1A HIGH auf 2A für die andere Drehrichtung LOW auf 1,2EN - Ausgänge auf high Impedance - Motor stromlos > Und auf Seite 6 steht ebenfalls (Note B), das PWM-Signal müsse 5kHz > haben, ich denke, das könnte der Fehler sein. 5kHz ist auch nur auf den Test Circuit bezogen. Kannst du auch nehmen ist aber zu 99% nicht der Fehler.
Ohje, PWM kommt an IN1 und IN2 und nicht an EN. Dazu muß IN1 immer das Gegenteil von IN2 sein (also invertiert) außer man möchte Bremsen, dann macht man beide gleich. Für den Stillstand des Motors muß die der Duty cycle 50% betragen. Wenn man den Motor Stromlos schalten will macht man "Enable" aus. Ich würde dir außerdem raten Optokoppler zwische µC und Motortreiber zu packen. Einfacher ist es jedoch einen AVR an den RPi zu hängen (z.B. über I2C oder SPI) und den AVR dann die Motorgeschichte machen zu lassen.
Uwe schrieb: > Ohje, PWM kommt an IN1 und IN2 und nicht an EN. Dazu muß IN1 immer das > Gegenteil von IN2 sein (also invertiert) außer man möchte Bremsen, dann > macht man beide gleich. Für den Stillstand des Motors muß die der Duty > cycle 50% betragen. Wenn man den Motor Stromlos schalten will macht man > "Enable" aus. Ich würde dir außerdem raten Optokoppler zwische µC und > Motortreiber zu packen. Einfacher ist es jedoch einen AVR an den RPi zu > hängen (z.B. über I2C oder SPI) und den AVR dann die Motorgeschichte > machen zu lassen. Uwe, was spricht gegen PWM an EN? Es gibt mehr als eine Möglichkeit der Ansteuerung. Deine ist in meinen Augen die verlustleistungsreichere. Kann aber auch Vorteile haben.
Günter schrieb: > Uwe schrieb: >> Ohje, PWM kommt an IN1 und IN2 und nicht an EN. Dazu muß IN1 immer das >> Gegenteil von IN2 sein (also invertiert) außer man möchte Bremsen, dann >> macht man beide gleich. Für den Stillstand des Motors muß die der Duty >> cycle 50% betragen. Wenn man den Motor Stromlos schalten will macht man >> "Enable" aus. Ich würde dir außerdem raten Optokoppler zwische µC und >> Motortreiber zu packen. Einfacher ist es jedoch einen AVR an den RPi zu >> hängen (z.B. über I2C oder SPI) und den AVR dann die Motorgeschichte >> machen zu lassen. > > Uwe, was spricht gegen PWM an EN? Es gibt mehr als eine Möglichkeit der > Ansteuerung. Deine ist in meinen Augen die verlustleistungsreichere. > Kann aber auch Vorteile haben. Enable macht den Ausgang auf Z === hochohmig ! Daher Motorstop. PWM an den Eingang sofern überhaupt eine Drehzahlstellung benötigt wird. Sonst eben statisch. Der EN arbeitet auch auf die Inputs. Die werden vermutlich verrieglt. Daher könnt Ihr mit PWN an EN machen was Ihr wollt. Es wird nicht gehen. Davon ab geht der EN auch noch auf die Protektion. wisst Ihr wie die aufgebaut ist ? Nein ? Wundert mich nicht. Ich auch nicht. Die ist ja nicht definiert. Wie ich sagte, Datenblatt lesen und verstehen. Seite 2. !!! Aber vermutlich bin ich ja doch nur zu Arrogant. noch ein ps.: Da ich mit dem L293 keine Erfahrungen habe würde ich nicht versuchen wollen den Motor über EN zu bremsen. EMK Bremsen mache ich immer mit einem MOSFET. Da können Spannungen und Ströme enstehen die den L293 u.U, sprengen würden. also Vorsicht damit. In Modellbaureglern werden MOSFETs mit 30A+ für EMK Bremsen verbaut. Davon dürfte der L293 weit weg sein.
Uwe schrieb: > Ohje, PWM kommt an IN1 und IN2 und nicht an EN. Dazu muß IN1 immer das > Gegenteil von IN2 sein (also invertiert) außer man möchte Bremsen, dann > macht man beide gleich. Für den Stillstand des Motors muß die der Duty > cycle 50% betragen. Wenn man den Motor Stromlos schalten will macht man > "Enable" aus. sag ich doch, Datenblatt lesen. Ist offensichtlich gar nicht sooooo schwer.
Stephan Henning schrieb: > Der EN arbeitet auch auf die Inputs. Die werden vermutlich verrieglt. > Daher könnt Ihr mit PWN an EN machen was Ihr wollt. Es wird nicht gehen. Hab es früher mit PWM an EN laufen gehabt und habe es jetzt nochmal zusammengesteckt, angesteuert mit einem Tiny45. Das Wunder ist passiert: Es geht! Ich konnte nur keinen Unterschied im Abbremsen erkennen zwischen EN auf LOW oder EN auf HIGH und beide Inputs auf gleichen Pegel. > Davon ab geht der EN auch noch auf die Protektion. wisst Ihr wie die > aufgebaut ist ? Nein ? Wundert mich nicht. Ich auch nicht. > Die ist ja nicht definiert. Bis jetzt ist mir noch keiner abgeraucht. > Wie ich sagte, Datenblatt lesen und verstehen. Seite 2. !!! Auf Seite 2 gibt es auch eine Function Table. Die verbietet mir nicht EN zu toggeln. Auch sonst finde ich keine Hinweise die mir verbieten bei irgendwelchen Zuständen der Inputs den EN zu schalten. > Aber vermutlich bin ich ja doch nur zu Arrogant. und streng nach den Buchstaben des Datenblattes. Was da nicht steht, kann nicht sein. > noch ein ps.: > Da ich mit dem L293 keine Erfahrungen habe würde ich nicht versuchen > wollen den Motor über EN zu bremsen. EMK Bremsen mache ich immer mit > einem MOSFET. Da können Spannungen und Ströme enstehen die den L293 u.U, > sprengen würden. also Vorsicht damit. In Modellbaureglern werden MOSFETs > mit 30A+ für EMK Bremsen verbaut. Davon dürfte der L293 weit weg sein. Dann sammle Erfahrungen. Wie gesagt, es funktioniert aktuell bei mir mit PWM an EN. Wenn du einen L293D auf die Weise brätst, poste es hier und ich werde es nachtesten und alles zurücknehmen.
Hi Leute, ich klink mich jetzt auch mal in die Diskussion ein, ich hab in etwa das gleiche Problem. Ich hab nen L293B den ich mit nem Arduino ansteuere. Ich habs mit PWM an enable und HIGH/LOW am input probiert, was die Regulation der Spannung am Motor angeht funktioniert pwm an enable wie es soll, das andere nicht. Mein Problem ist eher, dass bei mir der Strom einbricht. Abblockkondesatoren, Freilauf(schottky-)dioden sind drin. Habt ihr dazu Ideen?
Johannes Müller schrieb: > Hi Leute, ich klink mich jetzt auch mal in die Diskussion ein, ich hab Hab dir auch in deinem anderen thread geantwortet, um kein Durcheinander zu bekommen, da dein Problem etwas anders aussieht. > in etwa das gleiche Problem. Ich hab nen L293B den ich mit nem Arduino > ansteuere. Ich habs mit PWM an enable und HIGH/LOW am input probiert, > was die Regulation der Spannung am Motor angeht funktioniert pwm an > enable wie es soll, das andere nicht. Ich habe eine Testschaltung mit L293D und Tiny45 aufgebaut. Nur ein Motor angeschaltet, der ohne Last im Leerlauf bei 3V (100% duty cycle) ca 250mA zieht. Beide Ansteuermethoden funktionieren prima und ohne Auffälligkeiten. Der L293D wird bei 100% duty cycle nach einer Minute leicht warm. Bei Festhalten des Motors will er mehr als 800mA und der L293D wird schnell heiß.
Johannes Müller schrieb: > Hi Leute, ich klink mich jetzt auch mal in die Diskussion ein, ich > hab > in etwa das gleiche Problem. Ich hab nen L293B den ich mit nem Arduino > ansteuere. Ich habs mit PWM an enable und HIGH/LOW am input probiert, > was die Regulation der Spannung am Motor angeht funktioniert pwm an > enable wie es soll, das andere nicht. > Mein Problem ist eher, dass bei mir der Strom einbricht. > Abblockkondesatoren, Freilauf(schottky-)dioden sind drin. Habt ihr dazu > Ideen? hast gelesen Günter hat's gemacht, sogar auf Steckbrett! Es komm mir so vor, als du ein GND Anschluß nicht angeschlossen hast. Machmal ein Bild von deinem Aufbau
Günter schrieb: > Dann sammle Erfahrungen. Wie gesagt, es funktioniert aktuell bei mir mit > PWM an EN. Wenn du einen L293D auf die Weise brätst, poste es hier und > ich werde es nachtesten und alles zurücknehmen. Ein EN Anschluss ist für mich erstmal eine "generelle Freigabe" Von daher würde ich IMMER eine PWM auf den Eingang geben und EN statisch schalten. Wenn es geht ist gut, nur weil es laut Datenblatt nicht verboten ist, heißt das nicht, das es so vorgesehen ist. Wie gesagt, mit dem IC fehlen mir Erfahrungen. Ich habe lediglich das Datenblatt überflogen, da ich die Brücken die ich brauche, dirkret aufbaue. Die bewegen sich jenseit 20A. Und die für mein Auto (Schiebedach) hatte ich auch diskret gebaut. Wegen 4 Transistoren nehme ich keinen IC den ich auch noch betsellen muss. Gruß und Erfolge Stephan
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.