Forum: Analoge Elektronik und Schaltungstechnik CRS Robotics A255 Roboterarm


von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Angehängte Dateien:

Lesenswert?

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
von Teo D. (teoderix)


Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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

von Teo D. (teoderix)


Lesenswert?

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"?

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Angehängte Dateien:

Lesenswert?

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

von Teo D. (teoderix)


Lesenswert?


: Bearbeitet durch User
von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Angehängte Dateien:

Lesenswert?

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
von Yalu X. (yalu) (Moderator)


Lesenswert?

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.

von Teo D. (teoderix)


Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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

von Roboternetz-Webmaster (Gast)


Lesenswert?

@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

von Teo D. (teoderix)


Lesenswert?

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. ;)

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Angehängte Dateien:

Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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

von Andreas B. (bitverdreher)


Lesenswert?

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.

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Angehängte Dateien:

Lesenswert?

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

von Andreas B. (bitverdreher)


Lesenswert?

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. ;-)

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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

von Kurt S. (bmbbsr)


Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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

von Andreas B. (bitverdreher)


Lesenswert?

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)

von Andreas B. (bitverdreher)


Lesenswert?

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.

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Angehängte Dateien:

Lesenswert?

>> 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
von Andreas B. (bitverdreher)


Lesenswert?

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
von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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
von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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
von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Angehängte Dateien:

Lesenswert?

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
von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)



Lesenswert?

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
von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

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

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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
von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Angehängte Dateien:

Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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.
von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)



Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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
von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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
von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

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

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Angehängte Dateien:

Lesenswert?

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
Noch kein Account? Hier anmelden.