Ich habe mir das DB vom TB6612 angeschaut. Dort kann man die Ausgänge hochohmig schalten. Ist das bei dir integriert bzw gibt es diese funktion? Warum muss es eigentlich so kompakt sein? Da ist ja schon die Lusterklemme größer.
MfG Hannes
Ich habe mir das DB vom TB6612 angeschaut. Dort kann man die Ausgänge hochohmig schalten. Ist das bei dir integriert bzw gibt es diese funktion? Warum muss es eigentlich so kompakt sein? Da ist ja schon die Lusterklemme größer.
MfG Hannes
es muss nicht unbedingt so kompakt sein, aber nachdem ich ggf. nicht nur 2 sondern 6-8 solcher größerer Motoren anschließen möchte, und ja die neuen, stärkeren Motorshields auch noch dazukommen, wird es später evtl doch eng mit dem Platz. So kleine Quader könnte ich aber sogar eine Etage tiefer neben den Batterien verstauen, oder ich kann sie lose mit den Kabeln dran irgendwo anders dazwischenstecken; dann hätte ich auf der Controller-Etage genug Platz fü den Rest. Unter Strich also: je kleiner, je lieber, ist aber nicht endgültig und nicht ausschließlich.
An den HAT-specs und settings kann ich selber allerdings überhaupt nichts verstellen, die FW kommt vom Hersteller und läuft auf den beiden internen ARMs, und sie ist nicht veröffentlicht. Die Steuerung der Shields läuft per SPI über Python- und C++-libs, und hier sind nur high-level-Funktionen verfügbar, wie Encoderstände auslesen, PD-Kontrolle für Setpoint, Rotationsgeschwindigkeit und %pwm etc.
Wenn es allerdings unbedingt nötig sein muss, dass die H-Bridges hochohmig sein müssen (solange sie das noch nicht sind), könnte ich beim Hersteller anfragen, ob eine Umschaltung möglich wäre.
Wozu wäre das denn nötig?
ps,
Einen weiteren Vorteil will ich aber nicht verschweigen, wenn man ohne Änderungen an irgendwelchen H-Brücken-Motorausgängen auskäme:
Dann könnte ich nämlich diese Bauteilgruppe auch unverändert an anderen Motor-Controllern anstecken, an denen ebenfalls die Motorports zu leistungsschwach sind (Arduino-Motorshields, Lego RCX, NXT und EV3....), unabhängig von Art und Specs der verbauten H-Brücken.
Geändert von HaWe (16.09.2017 um 16:51 Uhr)
Es macht einen Unterschied ob du H, L oder High Z hast. Wenn es egal ist kannst du einfach L oder H und High Z gleichsetzen, wenn du alle 3 Signale haben willst, wird die Schaltung komplizierter. Was aber sein kann wenn auf High Z geschaltet ist das das Richtungssignal schwebt und somit kein definierter Pegel vorhanden ist, da hilft aber ein Pull Up/Down Widerstand.
MfG Hannes
Wenn der Ausgang hochohmig wird, läuft der motor aus.
Bleibt er niederohmig wird der Motor kurzgeschlossen und bleibt schlagartig stehen.
Kannst du selbst ausprobieren.
Einfach die Motoranschlüsse an eine Stromquelle halten und wieder weg nehmen.
Dann wegnehmen und kurzschliessen. Aber nicht wundern wer Motor dann über den Tisch kullert.
Auf jeden fall gibt es eine mechanischen Schlag auf deine Konstruktion. Ganz grosse Motoren kann es so auch zerreissen.
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
heißt das, dass evtl die Lösung mit 2 MOSFETs einfacher und sicherer umzusetzen wäre als mit der Diodenschaltung?
Oder worauf bezieht sich das?
Ich hab mal ne Grobschätzung bezüglich der Verluste einer nachgeschalteten H-Brücke gefahren:
Wenn ich als P-CH einen AO D403 (RDsOn = 8mOhm) und als N-CH einen AO D4132 (4mOhm) verwende, komme ich bei 100% Aussteuerung auf weniger als 0,3W Verluste.
Addiere ich alle Schaltzeiten, auch die des vorhergehenden Treibers auf dem Shield, komme ich auf knapp eine halbe Mikrosekunde, das will heißen, etwa 1% zeitlich (bei 20kHz PWM, also 50µs Zyklus) werden Schaltverluste generiert. Wieder worst case (alles Eingespeiste wird am Transistor verschaltet (*)) sind das bei 60W Input * 1% also 0,6W.
- Treiberschaltzeit auf dem Shield: 230ns (H->L) + 60ns (L->H).
- Ausgangsimpedanz des Shields 12V/3A = 4R laden 2* 2300pF Eingangskapazität. Nach 5*tau = 5*RC also 100ns ist die Umschaltung komplett.
Über Verluste an den Freilaufdioden mache ich mir keinen Kopf, die kann man auch extern anbringen. Es sind also gaaanz grob 0,9W, die am Transistor verbrannt werden.
Beim verwendeten DPAK-Gehäuse steigt mit Kupferfläche unter dem Drain die Temperatur um ca. 80..90°C/W. Die Transistoren würden also ohne weitere Kühlung bei Raumtemperatur max. 120°C heiß, wenn das Gefährt dauerhaft im Stall vor einer Wand steht. Naja, bis 175° dürfen sie.
Hab ich mich da irgendwo verkalkuliert?
gibt es jetzt schon umsetzbare Vorschläge?
Ich habe inzwischen auch noch eine 3. Variante von HBrücken-Platinen gefunden mit einer anderen d1,d2,en-Belegungslogik, welche bis zu 13V Inputs vertragen; so könnte man sich die Zenerdioden sparen, wenngleich die sicher auch nicht stören würden. Es ist Variante 2-(C) in den Bildern unten.
Die alten Motorausgänge könnten direkt an d1+d2, da sie die wechselnde Polarität mit pwm "verstehen".
Allerdings machen mir 2 Dinge noch etwas Kopfzerbrechen
a) die erwähnte pwm-Frequency von nur 16kHz wenn ich es richtig lese (ich habe ja 20kHz), und
b) das enable-Signal: es müsste automatisch auf HIGH, wenn d1 ODER d2 High sind, auch wenn sie pwm-moduliert sind, und auf LOW wenn d1 UND d2 dauerhaft Low sind - hier muss man also sicher auch Kondensatoren u/o Dioden als Bauteilgruppe dazwischenschalten, um ein geglättetes en-Signal zu bekommen, unbeeinflusst durch pwm peaks. Es ist aber auch nicht klar ersichtlich für mich, ob man auf enable eventuell komplett verzichten kann.
![]()
![]()
![]()
Wäre das evtl leichter umzusetzen als die bisher genannten Varianten?
Geändert von HaWe (21.09.2017 um 09:17 Uhr)
Du machst dir meiner Ansicht nach das Leben nur mal wieder selbst schwieriger. Du hast einen Mikrocontroller, kanst den Vollkommen frei programmieren. Warum nutzt du das nicht? Warum sich unbedingt drauf versteifen was man im Moment gerade vor sich stehen hat anstatt es einmal richtig zu machen....
nein, du hast das Problem nicht verstanden - bitte lies noch mal die Anforderungen durch:
es hat schon bestimmte Gründe, warum das Raspi IO-Shield (das nicht frei programmierbar ist ! ) unverändert bleiben soll und stattdessen dessen (schwache) Motorausgänge, so wie sie sind, nur quasi "verstärkt" werden sollen, damit dann alles auch für deutlich stärkere Motoren verwendbar wäre.
Vorschläge für Bauteilgruppen, die man quasi zwischen Motorports und starke Motoren hängen kann, sind ja schon zuhauf gemacht worden, jetzt geht es um die möglichst beste Lösung.
Die 16kHz gelten für irgendwelche Motoren. Es sind bis 80kHz möglich.
Das Problem mit der Frequenz ist die Induktivität, sie begrenzt rein physikalisch die maximale sinnvoll verwendbare PWM-Frequenz.
Legt man an einer Induktivität eine bestimmte Spannung an, stellt sich ein bestimmter Strom ein, welcher mit zunehmender Induktivität kleiner ist. Erst wenn sich dann das maximale magnetische Feld aufgebaut hat (Bei einem Eisenkern durch die Sättigung begrenzt) fliesst dann ein Strom, welcher nur noch durch den Ohmschen Widerstand begrenzt ist.
Das ist eben auch der Grund, wieso ein 60Hz-Trafo bei 50Hz heiss wird. Die Induktivität ist so berechnet, dass bei einer Halbwelle das Eisen nicht in die Sättigung kommt. Bei 60Hz sind dies 8.3ms aber bei 50Hz 10ms. Allerdings kommt der 60Hz-Trafo mit entsprechend weniger Eisen aus.
Deshalb hat man früher Schrittmotore mit, zur Schrittfrequenz proportional, steigender Spannung betrieben. Um hohe Schrittfrequenzen zu erreichen wurde für einen 3.6V Motor die Spannung bis um 100V hochgeschraubt. Der Motorstrom, und damit die Motorleistung, blieb dabei im wesentlichen konstant.
Aber Wehe wenn die Schrittfrequenz zusammenbrach und die Spannung hoch bliebt. Das gab dann ein Grillfest.
Heute legt man eine Feste Spannung an den Schrittmotor und regelt den Strom über PWM.
Die Induktivität gibt an, wie schnell die Induktivität magnetisch geladen werden kann und das magnetische Feld erzeugt dann die Kraft auf der Welle.
Ist die PWM-Frequenz viel zu hoch, erreichst du nur einen Teil des Magnetfeldes und dadurch auch nur einen Teil des Drehmoments.
Deshalb können eisenlose Motoren (Coreless) auch mit bis zu 80kHz betrieben werden.
Hier kannst du aber mit deinen 20kHz Probleme bekommen. Der Strom ist eben nicht der einzige Parameter, welcher begrenzt! Dickere Motoren haben auch eine höhere Induktivität und verunmöglichen höhere PWM-Frequenzen.
Hast du dich noch nie gewundert, wieso die Umrichterfrequenzen bei Strassenbahnen und der Eisenbahn im hörbaren Bereich liegen?
MfG Peter(TOO)
Manchmal frage ich mich, wieso meine Generation Geräte ohne Simulation entwickeln konnte?
Lesezeichen