Hallo zusammen. Erstmal wieder ein dickes Lob an die Bedienung und Zuverlässigkeit dieser Forensoftware. Dieser Thread begann hier, http://www.roboternetz.de/community/threads/70749-CRS-Robotics-A255-Roboterarm?p=637606&viewfull=1#post637606 aber wegen der Probleme mit der dortigen Forensoftware, möchte ich dies hier weiterführen. Also hier meine Frage zum zweifach Vollbrückentreiber L298N : Im Jan 2000der Datenblatt auf der Seite 6 müsste für mich für *Fast Motor Stop* C=D -> L stehen, damit die beiden unteren Transitoren die induktive Energie gegen Masse kurzschließen können. Wenn die beiden oberen Transen angesteuert würden, verstehe ich nicht wie das funktionieren sollte. Leider sind die L298N-Platinen noch nicht angekommen, womit ich dies mal testen könnte. Bernd_Stein
:
Verschoben durch Moderator
Bernd S. schrieb: > damit die beiden unteren Transitoren die > induktive Energie gegen Masse kurzschließen können. Induktive Energie beim abschalten != Generator Energie! Wenn das Magnetfeld der Spule abgebaut ist und der Motor als Generator arbeitet, erzeugt dieser eine Spannung selber Polung wie beim betrieb als Motor anliegt. Zum Bremsen muss diese verheizt werden, heißt das Ding kurzschließen. https://www.youtube.com/watch?v=kqF9KxcUjBU
Danke für das informative und sehr gut gemachte Video. Aber es bleibt für mich immer noch wie ich es vorher gesehen habe. Oder irre ich mich ? Bernd_Stein
Bernd S. schrieb: > Aber es bleibt > für mich immer noch wie ich es vorher gesehen habe. ??? Bernd S. schrieb: > Wenn die beiden > oberen Transen angesteuert würden, verstehe ich nicht wie das > funktionieren sollte. Was "gesehen"?
Teo D. schrieb: > Was "gesehen"? > Ok, will es nun mal ausführlicher machen. Annahme Motor Rechtslauf, wenn OUT3 => + und OUT4 => 0V. Dazu C=H & D=L & EnB=H Nur die oberen Transen ansteuern C & D & EnB = H. Da der Motor mit + an OUT3 Hängt und somit am Emitter, wie fließt dann dort ein Strom vom Emitter zum Kollektor ? Oder darf ich hier die technische Stromrichtung nicht betrachten ? Jetzt bin ich ganz durcheinander. Mit den unteren Transen würde das ja auch nicht gehen. Der +Anschluß vom Motor würde über den linken unteren Transistor gegen GND fließen, aber nicht zum 0V Anschluß des Motors, da ja 0V vom Motor am Kollektor vom rechten Transitor anliegen. Ich raff es nicht. Siehe Anhang Bernd_Stein
OK, jetz hab ich's. ;) Rückwärts-Betrieb. https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=0ahUKEwj_uJju8tPUAhXJcBoKHdRFDyYQFghAMAM&url=http%3A%2F%2Fwww.xn--prfungstrainer-elektrotechnik-mbd.de%2FBipolar_Betrieb2.pdf&usg=AFQjCNGLxRQnVxmXDTGvbdX87cxIPVhyjw
:
Bearbeitet durch User
Teo D. schrieb: > OK, jetz hab ich's. ;) > Rückwärts-Betrieb. > https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=0ahUKEwj_uJju8tPUAhXJcBoKHdRFDyYQFghAMAM&url=http%3A%2F%2Fwww.xn--prfungstrainer-elektrotechnik-mbd.de%2FBipolar_Betrieb2.pdf&usg=AFQjCNGLxRQnVxmXDTGvbdX87cxIPVhyjw > Na, ich weiß nicht. Beim ersten Durchlesen hab ich es schon mal nicht gerafft. Denke aber meinen Fehler selbst gefunden zu haben, denn ich habe die externen Freilaufdioden ( D1-D4 ) nicht berücksichtigt, die die Lösung für mich sind. Bernd_Stein
:
Bearbeitet durch User
Bernd S. schrieb: > Denke aber meinen Fehler selbst gefunden zu haben, denn ich habe die > externen Freilaufdioden ( D1-D4 ) nicht berücksichtigt, die die Lösung > für mich sind. Ja, genau, die sind des Rätsels Lösung. Inversbetrieb der Transistoren kommt hier nicht zur Anwendung, da dazu ihr Basisstrom über die positive Versorgungsleitung abfließen müsste. Dafür müsste aber das Basispotential höher als die Versorgungsspannung sein, was in dieser Schaltung unmöglich ist. Bei H-Brücken mit Mosfets liegen die Dinge wieder etwas anders, da ein Mosfet problemlos auch rückwärts leiten kann. Das erkennt man daran, dass der Spannungsabfall niedriger als der durch eine Diode erzeugte ist.
Bernd S. schrieb: > Na, ich weiß nicht. Mir ging's auch nich aus dem Kopf.... Yalu X. schrieb: > Ja, genau, die sind des Rätsels Lösung. Irgendwie is mir dabei auch wohler. :) Bernd, zum Glück hab ich dich ja nich allzu weit, vom Weg gebracht. :/ G Teo
Teo D. schrieb: > Bernd, zum Glück hab ich dich ja nich allzu weit, vom Weg gebracht. :/ > Nee, nee - das mit dem Generatorbetrieb war ein guter Denkanstoß. Danke nochmals. Bernd_Stein
@Bernd Stein: Im Roboternetz gibt es kein Problem mit der Forum-Software, ich bitte solche falschen Unterstellungen zu unterlassen. Wenn es Dir nicht gelungen ist Bilder dort hochzuladen, dann hast Du was falsch gemacht! Bei anderen klapps ja auch. Zudem haben Dir andere User erklärt wie es geht, siehe: http://www.roboternetz.de/community/threads/70749-CRS-Robotics-A255-Roboterarm?p=637642&viewfull=1#post637642
Roboternetz-Webmaster schrieb: > Im Roboternetz gibt es kein Problem mit der > Forum-Software, Na so wirklich Rund is das aber nich. Dagegen scheinen die Macken hier im Forum Peanuts zu sein. Liegt aber sicher daran, das ich sie gewöhnt bin! :) Nein Probleme sehe ich da keine, nur gute und schlechte Macken wie überall. Gut = Haha, herausgefundenen. Was ein Fuchs... Schlecht = Ich bin zu blöd um dahinter zu kommen... Kommt halt immer drauf an, wem welche Macke besser liegt und wie dick das Fell gerade ist. ;)
Ich beschäfitige mich gerade mit den Timmingdiagrammen des L298. Bei T7 (Vi) Sink Current Turn-on Delay finde ich gehört 0.1IL hin und nicht 0.9IL. Bei T7 (Ven) Sink Current Turn-on Delay, weiß ich nicht wo ich es hinpacken soll. Beinhaltet Fig.3 unten beide Signale, also für Enable & Input, aber jeweils mit anderen Zeiten ( T1(Vi) & T1(Ven) usw. ) ? Habe ich die Abbildungen ( Fig3. & Fig5. ) in der Tabelle richtig zugeordnet ? Gibt es nicht schon was besseres als den L298 ? Bernd_Stein
Bernd S. schrieb: > Bei T7 (Vi) Sink Current Turn-on Delay finde ich gehört 0.1IL hin und > nicht 0.9IL. > Mann oh Mann, da vertue ich mich auch noch, wo doch anscheinend eh keiner durchblickt. Es ist natürlich T8 (Vi) Sink Current Rise Time gemeint. Bernd_Stein
Bernd S. schrieb: > Ich beschäfitige mich gerade mit den Timmingdiagrammen des L298. > Bei T7 (Vi) Sink Current Turn-on Delay finde ich gehört 0.1IL hin und > nicht 0.9IL. > Bezogen jetzt auf T8 ist das die Zeit in der der Strom von 0,1xI bis 0,9xI zunimmt. Stimmt schon so. > Bei T7 (Ven) Sink Current Turn-on Delay, weiß ich nicht wo ich es > hinpacken soll. > Das ist die Zeit nach dem Enable (steht oben in Figure 5) bis der Ausgang auf 0,1xI angestiegen ist. > Beinhaltet Fig.3 unten beide Signale, also für Enable & Input, aber > jeweils mit anderen Zeiten ( T1(Vi) & T1(Ven) usw. ) ? > Ja, aber die Zeiten sind gleich (da ist die Rede von Input oder Enable, also gleiches Verhalten) > Habe ich die Abbildungen ( Fig3. & Fig5. ) in der Tabelle richtig > zugeordnet ? > Ja > Gibt es nicht schon was besseres als den L298 ? > Gefühlt hunderte. Z.B TI: http://www.ti.com/motor-drivers/stepper-driver/fets/products.html SGS: https://www.st.com/en/motor-drivers/stepper-motor-drivers.html?querycriteria=productId=SC2132 Renesas: https://www.renesas.com/eu/en/products/power-management/mosfet-drivers/half-full-bridge-three-phase-drivers.html Fast jeder Hersteller hat da seine parametrische Suche dazu.
Weil ich zu viele "Verwirrtheitsfehler" gemacht hatte - hier noch mal neu. Also, es war doch T7(Vi) Sink Current Turn-on-Delay gemeint und dort hat für mich richtigerweise 0,5Vi to 0,1 IL zu stehen. Was bedeutet, dass die obere Abbildung von Figure 5 diesen Sachverhalt abbildet, da dort Vi als schaltbestimmend vorgegeben ist. Enable muss in diesem Fall High sein. Das gilt auch für T7(Ven). Aber hierbei ist die untere Abbildung von Figure 5 zuständig. Da es um den Sink Current geht, ist Vi, also IN( Input ) auf Low ( 0V ). Bernd_Stein schrieb : >> Bei T7 (Ven) Sink Current Turn-on Delay, weiß ich nicht wo ich es >> hinpacken soll. >> Andreas B. schrieb: > Das ist die Zeit nach dem Enable (steht oben in Figure 5) bis der > Ausgang auf 0,1xI angestiegen ist. > Ich meine halt, das dies der unteren Abbildung von Figure 5 zugehörig ist. Bernd_Stein schrieb : >> Beinhaltet Fig.3 unten beide Signale, also für Enable & Input, aber >> jeweils mit anderen Zeiten ( T1(Vi) & T1(Ven) usw. ) ? >> Andreas B. schrieb: > Ja, aber die Zeiten sind gleich (da ist die Rede von Input oder Enable, > also gleiches Verhalten) > Und gerade das ist es worauf es ankommt. Für mich sind die Zeiten eben unterschiedlich. Je nachdem, ob ich mittels Enable schalte oder mittels Input. Bernd_Stein
Bernd S. schrieb: > Weil ich zu viele "Verwirrtheitsfehler" gemacht hatte - hier noch mal > neu. > > Also, es war doch T7(Vi) Sink Current Turn-on-Delay gemeint und dort > hat für mich richtigerweise 0,5Vi to 0,1 IL zu stehen. Was bedeutet, > dass die obere Abbildung von Figure 5 diesen Sachverhalt abbildet, da > dort Vi als schaltbestimmend vorgegeben ist. Enable muss in diesem Fall > High sein. Sehe ich genauso. Das scheint in der Tabelle ein Druckfehler zu sein. > > Das gilt auch für T7(Ven). Aber hierbei ist die untere Abbildung von > Figure 5 zuständig. Da es um den Sink Current geht, ist Vi, also IN( > Input ) auf Low ( 0V ). > Stimmt, dto. > Bernd_Stein schrieb : >>> Bei T7 (Ven) Sink Current Turn-on Delay, weiß ich nicht wo ich es >>> hinpacken soll. >>> > Andreas B. schrieb: >> Das ist die Zeit nach dem Enable (steht oben in Figure 5) bis der >> Ausgang auf 0,1xI angestiegen ist. >> > Ich meine halt, das dies der unteren Abbildung von Figure 5 zugehörig > ist. > Ja, da hattest Du mich auch erfolgreich verwirrt. ;-) Unten Enable, oben Vi Ich denke aber, daß in Fig. 5 unten die Zeiten falsch eingezeichnet sind. Das soll vermutlich genauso aussehen wie oben (erst T5 dann T6, T7 und T7) > Bernd_Stein schrieb : >>> Beinhaltet Fig.3 unten beide Signale, also für Enable & Input, aber >>> jeweils mit anderen Zeiten ( T1(Vi) & T1(Ven) usw. ) ? Ja, gleicher Graph, aber unterschiedliche Zeiten in der Tabelle. > Andreas B. schrieb: >> Ja, aber die Zeiten sind gleich (da ist die Rede von Input oder Enable, >> also gleiches Verhalten) >> > Und gerade das ist es worauf es ankommt. > Für mich sind die Zeiten eben unterschiedlich. Je nachdem, ob ich > mittels Enable schalte oder mittels Input. > Ja, das scheint hier so zu sein. Das einzige was mich an der Geschichte noch irritiert, daß dem Blockschaltbild zufolge beide Zeiten (Vi, Ve) eigentlich gleich sein sollten. Muß man halt mal so hinnehmen. ;-)
Andreas B. schrieb: > Ich denke aber, daß in Fig. 5 unten die Zeiten falsch eingezeichnet > sind. Das soll vermutlich genauso aussehen wie oben (erst T5 dann T6, T7 > und T7) > Ich halte es für Richtig. Wenn Ven = 1 und Vi ( Input ) = 0, dann wird der Sink-Current eingeschaltet ( Fig. 4 ). Andreas B. schrieb: > Das einzige was mich an der Geschichte noch irritiert, daß dem > Blockschaltbild zufolge beide Zeiten (Vi, Ve) eigentlich gleich sein > sollten. Muß man halt mal so hinnehmen. ;-) > Hm - du meinst sicherlich das "BLOCK DIAGRAM" auf der ersten Seite nicht wahr ? Und wie erkennt man daran die Schaltzeiten ? Tja, wie es sich nun Richtig verhält, wird man wohl nur rausbekommen, wenn man mal selbst Figure 2 und Figure 4 nachbaut und mit dem Oszi ausmisst. Mein Resüme ist, das man mittels Enable und Input im Wechsel, je nach Erfordernis schalten sollte, um die Verlustleistung möglichst klein zu halten. P.S. Bernd_Stein schrieb : >> Gibt es nicht schon was besseres als den L298 ? >> Andreas B. schrieb: > Gefühlt hunderte... > Ja, aber ich hatte vergessen zu erwähnen, das die Beschaffbarkeit und der Preis bei mir auch eine große Rolle spielen. Bei den von dir genannten Herstellern, konnte ich auch keinen finden, der wirklich 4A pro Strang zur Verfügung stellen kann, so wie es der L298N durch parallelschalten vermag. Interessant sind die Treiber von Trinamic *TMC2100*, 2130, 2160 und vor allem der 5072-LA, da dieser 2x 1,1A, also ebenfalls durch parallelschalten 2,2A zur Verfügung stellen kann. Leider alles zu wenig für mich, aber in der 3D-Druckszene gerne verwendete Schrittmotortreiber wegen dem Stealth-Mode und anderer Features, wie z.B. Software "Endschalter". Bernd_Stein
Wenn Es sich um eine Echten Roboter Handelt warum nimmt man da nicht fertige LOW Cost Bausteine die Bereits Signale aufnehmen OB Servo 10V-0 oder Schritt Richtung von Leadshine gibt es die in allen Variationen und die Noname für ab 8Euro
Kurt S. schrieb: > Wenn Es sich um eine Echten Roboter Handelt warum nimmt man da nicht > fertige LOW Cost Bausteine die Bereits Signale aufnehmen > OB Servo 10V-0 oder Schritt Richtung > von Leadshine gibt es die in allen Variationen und die Noname für ab > 8Euro > Was soll ein OB Servo sein ? Es geht mir darum die Bürsten-Gleichstrom-Motore anzusteuern. Wenn du auch den Thread im Roboter-Netz gelesen hättest, wüsstest du dass es sich um einen Industrieroboterarm handelt und das dieser an den Motoren angeflanschte Encoder besitzt. Was wolltest du mir jetzt im Detail mitteilen ? Bernd_Stein
Bernd S. schrieb: > Ich halte es für Richtig. Wenn Ven = 1 und Vi ( Input ) = 0, dann wird > der Sink-Current eingeschaltet ( Fig. 4 ). Ich meinte die Reihenfolge der Zeiten T5-T8, die mit der Tabelle korrespondieren > Und wie erkennt man daran die Schaltzeiten ? Gar nicht, aber da beides Gattereingänge sind, hätte ich erwartet daß die Laufzeit die gleiche ist. > Mein Resüme ist, das man mittels Enable und Input im Wechsel, je nach > Erfordernis schalten sollte, um die Verlustleistung möglichst klein zu > halten. Dürfte egal sein. Das ändert nichts an der Steilheit des Ausgangs und somit der Verlustleistung. Wenn Du aber darauf Wert legst, dann ist der Oldie L298 garantiert die falsche Wahl. Bernd S. schrieb: > Bei den von dir genannten Herstellern, konnte ich auch keinen finden, > der wirklich 4A pro Strang zur Verfügung stellen kann, DRV8844 (5A), DREV8432(6A), DRV8412(6A)
Bernd S. schrieb: > Es geht mir darum die Bürsten-Gleichstrom-Motore anzusteuern. Das habe ich jetzt übersehen. Ich dachte es geht um Stepper. Dann DRV8850 (5A). 1,7€ bei Mouser.
>> Bernd_Stein schrieb: >> Es geht mir darum die Bürsten-Gleichstrom-Motore anzusteuern. >> Andreas B. schrieb: > Das habe ich jetzt übersehen. Ich dachte es geht um Stepper. > Dann DRV8850 (5A). 1,7€ bei Mouser. > Ja, auch. Aber in diesem Thread bleibe ich doch lieber bei den Motoren für den Roboterarm. Die Bezeichnung der Motore laut Aufkleber " PM Servo Motor ". Typ : CMC ( Cleveland Motion Controls ) MH2110-085E77-50152F Datenblatt als Anhang. Wenn ich alles richtig verstanden habe, sind bei der Ogrinalelektronik des Roboterarms +/- 35VDC als Rohspannung vorgesehen und die Motore werden dann mit +/- 25VDC bei 2A versorgt. Der DRV8850 kann meiner Meinung nach nur 2,5A pro Strang und von parallelschalten habe ich nichts gesehen. Was aber viel wichtiger ist, er kommt nur mit einer Spannung von 2Volt bis 5,5Volt zurecht. Mouser scheidet leider als Lieferant bei mir aus. Den L298N bekommt man ungefähr für den gleichen Preis, jedoch mit Kühlkörper und bereits auf einer Platine verbaut. Bernd_Stein
:
Bearbeitet durch User
Der DRV8850 kann 5A, aber eben nur 5,5V, das stimmt. Dann den DRV8873-Q1. Der macht 4A bei 40V. Bernd S. schrieb: > Den L298N bekommt man ungefähr für den gleichen Preis OK, wenn es denn unbedingt billig sein soll. Aber bei 4A hast Du mit dem Opa schon ca. 7W verbraten. Gerade gesehen: Ist noch schlimmer: Total drop 4.9V, sind also 20W Verlustleistung.
:
Bearbeitet durch User
Andreas B. schrieb: > Dann den DRV8873-Q1. Der macht 4A bei 40V. > Ok, der kann das - nur beschaffen kann ich ihn nicht. Danke dir trotzdem. Jetzt weiß ich wenigstens mit welchem englischen Begriff ich suchen muss. Brushed DC Motor Driver Ich hab mal ein wenig gesucht. DRV8871 ist Leistungsmäßig fast kompatibel. Für den Preis bleibt der L298N konkurenzlos, da macht für mich auch die Verlustleistung die Sache nicht schlechter, selbst wenn die kWh, 30Ct kosten sollte. Denn mein Roboterarm wird nicht 24/7 in Betrieb sein und er hat fünf Motore die ich treiben muss. Bernd_Stein
:
Bearbeitet durch User
Habe mich nochmals mit den Diagrammen beschäftigt und muss sagen, das diese für den Brückenbetrieb ( Drehrichtung durch Ansteuerung änderbar ) irrelevant sind. Die Diagramme Fig.3 und 5 sind nur relevant, wenn der Motor nur eine Drehrichtung benötigt. Diese Diagramme beziehen sich auf die Testschaltungen Figure 2&4. Dort sind jeweils beide Eingänge z.B. In3 & In4 ( C&D ) parallel gelegt, somit wird also immer Fast Motor Stop erzeugt, was aber nicht der Fall ist, da hier nicht die Brückenschaltung zum Zuge kommt, sondern eine Open Emitterschaltung ( In = H => Sourceschaltung Fig.2 ) oder eine Open Kollektorschaltung ( In = L => Sinkschaltung Fig.4 ). Es werden also entweder die beiden oberen Transen ( In = H ) oder die beiden unteren ( In = L ) geschaltet. Im Brückenbetrieb ( Drehrichtung durch Ansteuerung änderbar ) sind jedoch diagonal jeweils ein oberer und ein unterer Transistor aktiv. Fig.1 zeigt, das bei nur einer Drehrichtung die Open Kollektorschaltung ( Sinkschaltung Fig.4 ) benutzt werden sollte, da hier die Sättigungsspannung geringer ausfällt und somit die Verlustleistung ( L-Kennlinie ). Es ist jedoch nicht klar, ob beide Ausgänge z.B. OUT3 & OUT4 parallel zu schalten sind, was ich jedoch annehme. Es sind also keine Schaltzeitoptimierungen im Brückenbetrieb möglich, wie dies bei einer Schrittmotorsteuerung aussieht habe ich nicht untersucht. Noch was, die SMD-Freilaufdioden ( M7 ) auf meinem Chinaboard, sind sehr wahrscheinlich mit ihren ein Ampere / 1000V nicht lange zu gebrauchen. Über die Schaltzeit konnte ich nichts in Erfahrung bringen. Bernd_Stein
:
Bearbeitet durch User
Mir gehen andauernd die L298N China-Platinen kaputt. Ich vermute das es an den unzureichenden Freilaufdioden liegt, denn der IC wird nur 45°C an seinem Gehäuse warm. Er fängt an zu qualmen und zu platzen. Hab jetzt auch mal den DRV8871 vom Chinesen bestellt, das dauert aber bis der kommt. Bis dahin, will ich mal die Freilaufdioden gegen ON Semiconductor ( 40V/4A ) MBRAF440, NRVBAF440 tauschen. Verstehe aber nicht, wo der Unterschied bei den zwei Typen sein soll. Bernd_Stein
:
Bearbeitet durch User
Der L298N scheint immer an der selben Stelle zu platzen bzw. durchzubrennen. Bei dem einen Foto kann ich es nicht mit Sicherheit sagen, da vorher ein Temperaturfühler mit Sekundenkleber aufgebracht war. Das keine Wärmeleitpaste benutzt wurde, war eigentlich klar, aber der Aufkleber der Qualtitätskontrolle ( oder was auch immmer ) gehört nicht dort hin. Als weitere Sicherheitsmaßnahme werde ich noch einen 35V/4700µF Elko an die Motorversorgungsspannung ( Vs ) hängen, wenn die 4A/40V Dioden verbaut sind. Und noch was : " Wenn der Chinamann vernüpftige Platinen mit der SMD-Version des L298 anbieten würde ( L298*P* ), wäre dies wohl Verlustleistungsmäßig viel besser ( siehe Anhang ). Also Aluplatinen ohne den anderen schnickschnack für die Arduino-Nutzer. " https://www.ebay.de/itm/L298P-2A-DC-Dual-Channel-Stepper-Motor-Driver-Shield-Module-For-Arduino-Nano-3-0/401629366868?hash=item5d82f9ca54:g:ZT4AAOSwT-pb4AGT&frcectupt=true Bernd_Stein
:
Bearbeitet durch User
Die L298 sind sehr empfindlich gegen Überspannung und brauchen daher schnelle Dioden zum Schutz gegen Spikes. Die BYV27/200 hat sich da sehr gut bewährt. Wenn du mehr Strom brauchst und ein IC im THT-Gehäuse haben willst, würde ich eher den L6203 ins Auge fassen. Der ist etwas teuerer, kann aber 4A und ist immerhin schon CMOS. Der Rds(on) ist für heutige Maßstäbe allerdings nicht mehr so der Hit. Die Dinger sind aber deutlich robuster als die alten L298. Mit freundlichen Grüßen Thorsten Ostermann
Hallo Bernd S., > Und noch was : > " Wenn der Chinamann vernüpftige Platinen mit der SMD-Version des L298 > anbieten würde ( L298*P* ), wäre dies wohl Verlustleistungsmäßig viel > besser ( siehe Anhang ). Also Aluplatinen ohne den anderen > schnickschnack für die Arduino-Nutzer. " Nein, wäre es nicht. Der Wärmeübergang vom Multiwatt-Gehäuse zum Kühlkörper ist nämlich deutlich besser als beim PowerSO zur Platine. Ohne ausreichend großen Kühlkörper darfst du die Teile natürlich nicht betreiben. Das ist aber alles seit Jahrzehnten bekannte Technik. Ich verstehe nicht, warum du da bei Null anfängst und "Grundlagenforschung" machst?! Mit freundlichen Grüßen Thorsten Ostermann
Thorsten O. schrieb: > Die L298 sind sehr empfindlich gegen Überspannung und brauchen daher > schnelle Dioden zum Schutz gegen Spikes. Die BYV27/200 hat sich da sehr > gut bewährt. > Hallo Thorsten, freue mich einen kompetenten Forumsteilnehmer auf meinem Thread zu haben. Ich habe im Hinterkopf das du sehr gutes Wissen zu Schrittmotoren und deren Treibern hast. Ich brauche Dioden, die auf die vorhandene Platine passen. Also grundsätzlich SMD. Habe die weiter oben genannten Schottky's auch schon bestellt - ist also kein Thema mehr. Thorsten O. schrieb: > Wenn du mehr Strom brauchst und ein IC im THT-Gehäuse haben willst, > würde ich eher den L6203 ins Auge fassen. Der ist etwas teuerer, kann > aber 4A und ist immerhin schon CMOS. Der Rds(on) ist für heutige > Maßstäbe allerdings nicht mehr so der Hit. Die Dinger sind aber deutlich > robuster als die alten L298. > Es muss kein THT-Gehäuse sein. Nur günstig sein und 4A Dauerstrom bei 24V können. Thorsten O. schrieb: > Der Wärmeübergang vom Multiwatt-Gehäuse zum > Kühlkörper ist nämlich deutlich besser als beim PowerSO zur Platine. > Ist Rth j-amb nicht der Wert, um den sich der IC bei einem Watt Verlustleistung erwärmt ? Bernd_Stein
Thorsten O. schrieb: > Das ist aber alles seit Jahrzehnten bekannte Technik. Ich verstehe > nicht, warum du da bei Null anfängst und "Grundlagenforschung" machst?! > Weil ich einen günstigen H-Brückentreiber für Bürstenbehaftete 24V/4A Motoren suchte und mir anfangs niemand wirklich was sinnvolles empfohlen hatte. Die Chinesen scheinen da auch noch nicht weiter zu sein, denn die verbauten Freilaufdioden machen ja die ganze Schaltung mies. Warum L298N ? 1. Preis Ca. 1,60€ für eine komplette Schaltung 2. Fertiges Modul Hat sogar einen 5V-Festspannungsregler mit an Board. 3. Universell Eigentlich nicht mehr für Schrittmotore zu empfehlen ! Für 2-Phasen Unipolare,- und Bipolare Schrittmotoren mit einem Strangstrom von 2A und einer Spannung von 4,8V bis 46V geeignet. Sowie für zwei Bürstenbehaftete Motoren mit jeweils 2A oder durch paralellschalten für einen mit 4A und dies ebenfalls für 4,8V bis 46V. Wobei ich aus dem DB nicht schlau werde, ob es doch nur 3,5A sind. Bernd_Stein
:
Bearbeitet durch User
Hallo Bernd, > Bernd S. schrieb: > Ist Rth j-amb nicht der Wert, um den sich der IC bei einem Watt > Verlustleistung erwärmt ? Ja, aber nur wenn es keinen Kühlkörper gibt. Mit freundlichen Grüßen Thorsten Ostermann
Thorsten O. schrieb: > Der Wärmeübergang vom Multiwatt-Gehäuse zum > Kühlkörper ist nämlich deutlich besser als beim PowerSO zur Platine. > Hallo Thorsten, noch mal das Thema. Wo kann ich denn diesen Umstand im DB vom L298N finden ? Finde halt nur den Wert, wenn es keinen Kühlkörper gibt und da ist das PowerSO20-Gehäuse mit 13°C/W dem Multiwatt15-Gehäuse mit 35°C/W ja überlegen. Vermutlich ist das Problem die Wärmeabgabe an die Alukernplatine, die sicherlich nicht die Werte eines Kühlkörpers erreichen kann - nicht wahr ? Bernd_Stein
Mit den 4 Dioden ( jeweils 40V/4A ) raucht mir der IC nicht mehr ab. Die orginalen Freilaufdioden sind also ungeeignet beim Parallelbetrieb evtl. auch schon so. Zudem schaffe ich mit den 24Vdc nur maximal 2,2A an einem 6 Ohm Widerstand, also nicht annähernd die erwarteten 4A. Beim Testen ist mir aufgefallen, das bei ca. 55°C Gehäusetemperatur eine Schutzschaltung den Strom immer wieder kurzzeitig abschaltet. Die BTS7960B_IBT_2 Platinen sind angekommen und den Kühlkörper habe ich schon mal mit Wärmeleitpaste wieder dran gepappt. Kümmere mich jetzt um die Ansteuerung. Schaltung scheint wie im Schaltplan. Die obere Widerstandsbezeichung auf der Platine sind die 4 linken Rs und die untere die 4 rechten. Dieser Schaltplan weicht also etwas von der Aplikation im DB ab. http://www.haoyuelectronics.com/Attachment/BTS7960-Modules/IBT-2%20Schematic.pdf Bernd_Stein
Da mir die Reglung der DC-Motoren zu schweirig ist, experimentierte ich mit Bi-Polaren Schrittmotoren und musste somit neue, längere Schrauben haben. Das verwendete Gewinde ist UNC 1 1/4 bzw. ISK 10-24. https://www.befestigungsfuchs.de/blog/was-man-ueber-zollschrauben-wissen-sollte/ https://www.zollshop.de/de/Zollschrauben-UNC-No.-1-12/No.-1-12-UNC-Zylinderkopfschrauben-mit-Innensechskant/No.-10-24-UNC-Zylinderkopfschrauben-mit-Innensechskant/1502/10-24-UNC-x-1-1/4-Zoll-Laenge-31-75-mm-Innensechskantschraube/ Bernd_Stein
Beitrag #6448410 wurde von einem Moderator gelöscht.
Beitrag #6448439 wurde von einem Moderator gelöscht.
Beitrag #6448487 wurde von einem Moderator gelöscht.
Beitrag #6449426 wurde von einem Moderator gelöscht.
Beitrag #6449609 wurde von einem Moderator gelöscht.
Beitrag #6449905 wurde von einem Moderator gelöscht.
Beitrag #6450042 wurde von einem Moderator gelöscht.
Die Schrauben waren etwas zu lang, was aber durch kürzen dieser schnell erledigt war. Somit konnten die beiden seitlichen Schrittmotore schon mal ohne Probleme angebracht werden. Der im Fuss, also für dass Drehen verantwortliche, konnte auch relativ leicht angebracht werden, da die Welle durch eine Gummidichtung leicht geführt wurde. Es mussten also an dieser Adapterplatte Durchgangslöcher gebohrt werden und schon war auch dieser Motor befestigt. Die Endschalter sind Öffner in Reihe geschaltet und dessen Schrauben in der Mitte der mechanischen Blockierung mit M2-Gewinde befestigt. Als Endschalterfahne wurde mit Sekundenkleber angebrachter Kabelbinder benutzt. Um die seitlichen und später auch die für die Zangenbewegung zuständigen Schrittmotore samt Encoder anschließen zu können, habe ich mir die Lösung mit einer Streifenrasterplatine überlegt. Um die Kabel von den Drehendschaltern fernzuhalten und auch befestigen zu können dient ein L-Profil. Meine erste Idee war die Schrittmotore ( SM ), per Hand-Encoder und Grafik-Display zu steuern. Dazu verwendete ich dass RepRapDiscount Full Graphic Smart Controller Board aus der 3D-Druck-Szene, welches mit einer Adapterplatine und einer Adapterpfostenstiftleiste auf dem ATmega 2560-Board aufgesteckt wird. In dem Sketch wird nur die Drehbewegung per Hand-Encoder gesteuert. Durch drehen wird die Drehzahl verändert und ein Druck auf diesen ändert die Drehrichtung. Beim Betätigen der Endschalter, wird dass Enable-Signal des SM-Treibers auf High gesetzt. Ein Druck auf den Hand-Encoder macht dies wieder rückgängig und gleichzeitig dreht der SM ganz langsam in die andere Richtung. Der SM-Treiber-Takt ist an D5 angeschlossen. Die SM-Richtung an A8 und Enable an A9. Die Endschalter mit einer Ader an Masse und die Andere an PC6 bzw. an der Adapterplatine der Anschluss mit dem Schrumpfschlauch. Die SM sind NEMA 23HS22-2804-ME1K von STEPPERONLINE. https://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller Bernd_Stein
Ich dachte ein Wii Nunchuk, wäre eine gute Idee um die 5 Schrittmotoren zu steuern. Leider musste ich festellen, dass dass Auslesen des Nunchuk per I2C ca. 1 Milisekunde dauert, was die mögliche Drehzahl knapp auf die Hälfte reduziert. Auch den Nunchuk Datensatz nur jeder Sekunde auszulesen brachte keinen Erfolg. Der SM scheint auch jede Sekunde kurz stehen zu bleiben, man hört ein Schlagen im Sekundentakt. Zudem dreht der SM zu Anfang einfach los, da die Funktion *nunchuk_cbutton()* bereits eine 1 erzeugt, bevor überhaupt der Datensatz ausgelesen wurde. Es muss also eine andere Lösung her.
1 | ////////////////////////////////////////////////////////////////////////////////
|
2 | // Wii Nunchuk verarbeiten
|
3 | //
|
4 | // Im Interval Daten vom Nunchuk holen
|
5 | if(( millis() - millis_alt ) > millis_interval ) { |
6 | nunchuk_get_data(); // Datensatz vom WiiNunchuk holen |
7 | millis_alt = millis(); |
8 | |
9 | ..........................................................................
|
10 | |
11 | // Wenn C-Taste gedrückt dann Bewegung zulassen
|
12 | if( nunchuk_cbutton() == 1 ) { |
https://github.com/timtro/wiinunchuck-h (c) 2012 by Tim Teatro http://www.makerblog.at/2016/01/wii-nunchuk-controller-am-arduino-teil-1/ Bernd_Stein
Neue Idee war am Wii Nunchuk direkt an die Mittelabgriffe der Potis zu gehen. In Verbingung mit der AccelStepper.h, stellte sich leider heraus, dass mit der MovoTo()-Funktion eine gute Geschwindigkeit zu erreichen war, aber diese zum Steuern über einen Joystick jedoch nicht zu gebrauchen ist. Die Funktion Move() ist hierzu gedacht, läßt aber den SM leider langsamer laufen. Habe eine schöne Routine gefunden, mit der man wunderbar die Unzulänglichkeiten eines Potis ausgleichen kann. Wie zum Beispiel um die Nullstellung herum eine Hysterese einzubauen. https://forum.arduino.cc/t/stellbereich-wertebereich-des-joysticks-anpassen/610348/13
1 | ///////////////////////////////////////////////////////////////////
|
2 | //
|
3 | // Game Pad Joystick mappen
|
4 | //
|
5 | int16_t gp_joy_mappen( uint16_t joy ) { |
6 | const int16_t MAP_MIN = -4096; |
7 | const int16_t MAP_MAX = 4095; |
8 | |
9 | const uint8_t LIMIT_MIN = 10; |
10 | const uint16_t LIMIT_MAX = 1023; |
11 | const uint16_t MITTE = 487; |
12 | const uint8_t HYST = 15; |
13 | |
14 | int16_t value; |
15 | uint16_t axis = joy; |
16 | |
17 | // Werte im Limit ?
|
18 | if( axis >= LIMIT_MIN && axis <= LIMIT_MAX ) { |
19 | // kleiner Mitte inkl. Hysterese?
|
20 | if( axis <= MITTE - HYST ) value = map( axis, LIMIT_MIN, MITTE - HYST, MAP_MIN, 0 ); |
21 | // größer Mitte inkl. Hysterese?
|
22 | if( axis >= MITTE + HYST ) value = map( axis, MITTE + HYST, LIMIT_MAX, 0, MAP_MAX ); |
23 | }
|
24 | // in Mittelstellung inkl. Hysterese?
|
25 | if(( axis > MITTE-HYST ) && ( axis < MITTE + HYST )) value = 0; |
26 | // Werte außerhalb des Limits ?
|
27 | if( axis < LIMIT_MIN ) value = MAP_MIN; |
28 | if( axis > LIMIT_MAX ) value = MAP_MAX; |
29 | |
30 | return value; |
31 | |
32 | // https://forum.arduino.cc/t/stellbereich-wertebereich-des-joysticks-anpassen/610348/13
|
33 | }
|
Bernd_Stein
:
Bearbeitet durch User
Mit dieser Rampensteuerung aus diesem Thread, geht der SM richtig ab. Da lohnt es sich, zu gucken wie ich diese bei mir einbinde. Danach ist diese auf Schrittfehler hin zu überprüfen. Der Sketch ist nicht ganz lauffähig, aber die Kleinigkeiten wie z.B. diese sind schnell aus den anderen Sketchen im Thread zu finden.
1 | #define MOTORS_ENABLED A9
|
2 | #define STEPPER_X_STEP_PIN 5
|
3 | #define STEPPER_X_DIR_PIN A8
|
4 | |
5 | int actualSpeed = speed;//speed in Anfahrt - und Bremsrampe |
6 | |
7 | int32_t wegZaehler; |
https://www.arduinoforum.de/arduino-Thread-Sinus-Rampen-f%C3%BCr-den-Schrittmotor?pid=91095#pid91095 Bernd_Stein
https://www.youtube.com/watch?v=zeAViVg_rWA https://www.arduinoforum.de/arduino-Thread-Vorstellung-Wiederaufnahme-meines-Projekts-AdeTeK?pid=92512#pid92512
1 | //Elegante, schlanke Sinus-Rampenberechnung...
|
2 | //Danke miq19 vom Arduino Forum!
|
3 | for (unsigned int i = 0; i < rampenLaenge; ++i) |
4 | {
|
5 | float wert = maxGeschwindigkeit + spanne * sin(winkel); |
6 | yield(); // Do (almost) nothing - für ESP D1 mini |
7 | bremsenSinus[i] = wert; |
8 | beschleunigenSinus[rampenLaenge - i - 1] = wert; |
9 | winkel += schrittweite; |
10 | }
|
Bernd_Stein
:
Bearbeitet durch User
Huch, ich sehe meine Verehrerstatistik ja gar nicht mehr :-D Hier lesen : Beitrag "Bewertungsfunktion mit uBlock-Origin entfernen" und Linksklick auf Icon, Linksklick auf Zahnrädchen-Symbol, Reiter -> Meine Filter und dies dort hineinkopieren.
1 | www.mikrocontroller.net##.post-vote-links |
Und natürlich " Änderungen übernehmen " Button klicken. Bernd_Stein
Habe den Roboterarm auf Schrittmotoren umgerüstet, aber weil der Motor nicht sauber läuft, so vermute ich, löst sich immer die Kupplung. Ich Suche eine einfache Methode um bei einem Schrittmotor festzustellen, ob er Schrittverluste hat. In dem Video gibt es immer mal sporadisch Knackgeräusche, was ich als Schrittverluste vermute. Der SM läuft mit 32er Mikrostepping an diesen billig TB6600-SM-Treiber, der in Wiklichkeit ein TB67S109AFTG verbaut hat : Beitrag "Auseinandergenommene Geräte : Schrittmotortreiber TB6600 ?" So etwas wie in diesem Video schließe ich aus, da es bei mir sporadisch passiert und ich nicht erkenne, dass der SM Aussetzer hat. https://www.youtube.com/watch?v=JcRlM-UFq30 Konnte es hiermit kompriemieren : https://www.veed.io/de-DE/werkzeuge/videokompressor/avi-komprimieren Bernd_Stein
:
Bearbeitet durch User
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.