PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : H-Brücke + AVR = Fragen



DerMarkus
30.07.2005, 20:04
Hallo Forum,
in meinem Robbi verwende ich eine Simprop Servo CS-70 MG mit 96N/cm. Jetzt möchte ich die Servoelektronik durch meine eigene Elektronik ersetzen, soll heissen, ich verwende vom Servo nur noch die Mechanik, den E-Motor und den Poti. Ansteuern möchte ich das ganze mit einem ATMega8. Zur Zeit bin ich dabei mir Gedanken über eine geeignete H-Brücke zu machen. Im Anhang habe ich eine erste Version gezeichnet.
Die Anschlüsse A-D möchte ich direkt an den Avr löten.
Lege ich A+B auf GND und C+D auf HIGH, so fliesst der Motorstrom durch A und D.
Lege ich A+B auf HIGH und C+D auf GND, so fliesst der Motorstrom durch C+B.
Stimmt das soweit ?

Die 4 Dioden habe ich eingefügt um die Induzierte Spannung kurzzuschliessen. Kann ich hierfür 1N4148 Typen nehmen ?

Die FET´s sollen BSO215 oder BSO350 sein.
Siehe:
http://www.datasheetarchive.com/datasheet/pdf/4692.html
Meint ihr einer dieser Typen wäre passend ?
Diese FET´s haben Logic Pegel, heisst das ich kann sie direkt mit dem AVR ansteuern ?
Geht das auch wenn der AVR auf 3.3V läuft oder muss er mit 5V laufen ?
Wie kann ich den Motorstrom messen ? Kann ich direkt den Spannungsabfall am jeweils unteren durchgeschalteten FET messen oder brauch ich einen extra Shunt ? Muss ich die Spannung verstärken bevor ich sie auf den A/D Wandler gebe ?

Danke für eure Hilfe !

churchi
30.07.2005, 22:15
mir wird leider aus mir unerfindlichen Gründen das Bild nicht angezeigt.

Aber warum nimmst du nicht einfach einen L298 bzw. wenn er reicht ein L293 ?

In den Datenblättern dazu gibt es auch fertige Beispielschaltungen.
Auch die Datenblättern zu RN-Motor kann man die Beschaltung sehen.
Da ist auch schon der Tiefpass berechnet den man braucht um den Motorstrom bei PWM messen zu können.

DerMarkus
31.07.2005, 00:08
@churchi
Ich habe mir mal das Datenblatt vom L298 angeschaut. Der Baustein ist mit Transistoren aufgebaut und hat ein UCESat von 1.8V. Das gibt ja schon recht viel Verlustleistung. Eine FET Stufe wär mir da lieber.

stupsi
31.07.2005, 09:49
Das Bild wird bei mir auch nicht angezeigt; aktualisier es doch mal oder nimm GIF oder jpg.

Das Problem des L298 hast du gut erkannt Die UCESat sind ja 2x vorhanden. Da bekommt der Motor bei 5V Betriebsspannung gerade mal 1,4V. Mosfets sind bei kleinen Betriebsspannungen sinnvoller.

Ein 3,3V-Betrieb ist aber mit dem BSO215 sehr schlecht möglich, hier liegt die Stromgrenze bei < 1A. 3,5V Gatespannung sind das Minimum.
Ich vermute, du steuerst die Mosfets direkt vom Controller an. Grundsätzlich geht das. Aber mit dieser Ansteuerung ist auch nur eine Ausgangsspannung des Treibers bis zur Betriebsspannung möglich. Möchtest du den Servomotor auch nur mit 3,3V betreiben?

Der Motorstrom ist auch am durchgeschalteten FET messbar, ist aber etwas aufwendig. Dafür hat man aber keinen zusätzlichen Spannungsverlust im System.

Hier ist ein mögliches Prinzip beschrieben:
Es ist dabei auf eine sehr präzise Synchonisation der Mosfets zu achten, die Filtereigenschaften sind für den Einsatzzweck zu dimensionieren und es ist mit einem erhöhten Temperaturfehler zu rechnen.

https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=1638&start=22

Gruß Stupsi



PHC21025

DerMarkus
31.07.2005, 10:49
Guten Morgen,
ich habe das Bild nochmal als jpg hochgeladen, ich hoffe es geht jetzt bei euch.

@stupsi
Ich möchte gerne den AVR mit ca 3.3V betreiben und den Servo Motor, also die H-Brücke mit ca 7V.
Wenn ich nun noch eine zusätzliche Transistorstufe vor die FET´s A,B und C,D setze, so das die FET´s mit ca 7V angesteuert werden, ob es dann besser gehen würde ?
Deinen Vorschlag zur Messung des Motorstroms habe ich noch nicht wirklich verstanden :(
Ich hätte jetzt einfach einen OP zum Verstärken der URdsOn Spannung genommen und wär dann direkt an den A/D Wandler gegangen...hm...

Wär es nicht auch noch sinnvoll die Gates mit geeigneten Wiederständen an VCC bzw Gnd anzuklemmen um ein unbeabsichtiges durchschalten zu vermeiden ?

stupsi
31.07.2005, 11:46
Ja, die Stromerfassung dort ist nicht so einfach. Lies den ganzen Thread und auch die erläuterung von Manf dazu.

Für den Rest: ich hab mal was mit ähnlichen FETs gemacht:
(die PHC21025 bekommt man bei Conrad)

Gruß Stupsi

DerMarkus
01.08.2005, 10:29
@stupsi
Ich habe mir deine Schaltung:

https://www.roboternetz.de/phpBB2/files/stromerfassung1.gif

aus dem Thread den du erwähnt hast etwas genauer angesehen und habe noch ein paar Fragen dazu:

-T4 ist der FET aus der H-Brücke ?
-T4 und T5 schaltest du immer zeitgleich durch -> über R13 hast du dann
den Spannungsabfall von T4 was dann proportional dem Motorstrom ist ?
-R14 und C6 bilden einen Tiefpass ?
-Der OP ist als nichtinvertierender Verstärker geschaltet ?

Stimmt das soweit ?

Dann folgende Fragen:
- Warum verwendest du T5 ? Warum hängst du R14/R13 nichr direkt an Drain von T4 ?
- Was machst du wenn der Motor anders herum dreht, sprich wenn T4 sperrt und sein Gegenüber durchsteuert ? Ist dort die gleiche OP Schaltung vorhanden ?

stupsi
01.08.2005, 12:37
Es stimmt alles.
Die Schaltung soll ein Abbild des Motorstroms wiedergeben und funktioniert hier auch mit PWM. T4 hat im leitenden Zustand einen Widerstand von ca. 5mOhm. Ein Motorstrom von z.B. 10A ergibt an T4 einen Spannungsabfall von ca. 50mV. T5 dient als Schalter und schaltet diese 50mV auf den R13.

Wird T4 gesperrt, liegt an der Drain die Betriebsspannung von 12V an. Diese darf auf keinen Fall an R13 anliegen, weil jetzt kein Strom fließt. Der Schalter T5 trennt in diesem Fall R13 von der Drain. Wenn T4 gesperrt ist, liegen an R13 also null Volt.

Im Beispiel wird T4 mit einer PWM-Frequenz von ca. 5-10 Khz betrieben. R14 und C6 unterdrücken Störspitzen. Der nichtinvertierende Verstärker verstärkt die Spannung an R13 mit der Verstärkung (1+R23/R18); bei Poti-Mittenstellung also ca 50-fach; mit C11 wird ein geglätteter Gleichspannungs-Mittelwert für den A/D-Eingang des Controllers gebildet.
Somit erhalten wir bei 100% PWM 2,5V Signal an "STROM_B", bei 50% PWM nur 1,25V usw. Da der ON-Widerstand von T4 nicht genau definiert ist, habe ich ein Poti eingebaut, um bei Maximalstrom die Stromproportionale Meßspannung von 2,5V einzustellen.
Diesen Maximalstrom kann man mit einem Multimeter gleichzeitig am Motor messen und so das System kalibrieren. R23 kann durch einen Festwiderstand ersetzt werden, wenn keine Genauigkeit gefordert ist.
Natürlich ist für jeden FET im MotorStromzweig ein Schalter wie T5 notwendig. Eine komplette Beispielschaltung findest du in diesem Projekt:

https://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=145

Da du aber keine PWM benötigst, könntest du folgende Teile weglassen:

T5 , R11, R13, C11;
R14 dann direkt an die Drain und parallel zu C6 eine Diode 1N4148 mit Kathode auf GND klemmen.
Per Software dann aber nur während der Leitphase von T4 den AD-Eingang auslesen und für den 2ten FET die gleiche Schaltung und einen 2ten AD-Eingang spendieren. Viel Spaß beim Testen.

Gruß Stupsi

DerMarkus
01.08.2005, 14:56
@stupsi:
Erstmal danke das du alle meine Fragen hier beantwortest :)

Also ist T5 drin weil bei gesperrten T4 12V an R13 anliegen würde und dann einen unangenehmen hohen Strom verursachen würde, ok verstehe.

Hier ist der Schaltpan meiner H-Brücke:

Ich habe die Eingänge des OP´s direkt an die H-Brücke geklemmt. Auch bei PWM Betrieb sehe ich da keine Probleme, da der Eingang des OP´s hochohmig ist und quasi kein Strom fliesst, oder ? Wo genau soll die 1n4148 eigesetzt werden und welchen Zweck hat sie ? Kann ich den LM358 auch mit einer Betriebsspannung von 3.3V betreiben ? Wenn nicht so muss ich den Eingang meines AVR A/D Wandlers noch vor Überspannung schützen ? Wie mach ich das ? ( Zehnerdiode ? )

DerMarkus
01.08.2005, 16:51
Ich habe jetzt mal meine komplette Schaltung gepostet.
Bitte um Kritik und Verbesserungspunkte :)

stupsi
01.08.2005, 17:07
Na, R14 und C6 solltest du drinnelassen, sonst misst du nur die Motortörungen oder komische Werte und der lm358 geht kaputt. Alle Widerstände und Kondensatoren haben ihren Sinn. Bedenke, du willst ein Meßgerät und keinen Oszillator!
Lies das Datenblatt vom LM358 und die NOTE7 bei den ELECTRICAL CHARACTERISTICS.
Die Diode dann vom IN+ des LM358 nach GND. (auch wegen NOTE 7)
Sie dient als Spannungsbegrenzung auf ca. 0,5V

Dafür können die 4x 1N4148 an den FETs entfallen.
Nochmals der Hinweis: die Vereinfachung gilt NUR für eine Ansteuerung OHNE PWM!!!!


Gruß Stupsi

DerMarkus
01.08.2005, 19:03
Ok, also den Tiefpass R14, C6 habe ich eingebaut. Auch die Diode. Der Tip mit Note7 war da sehr nützlich. Meine Schaltung sieht nun so aus wie in der Abbildung. Die Dioden an den Fet´s hab ich allerdings noch drin gelassen.
D.h. diese Schaltung kann ich verwenden, wenn ich zur Ansteuerung kein PWM Signal verwende ?
Wenn dem so ist, so verstehe ich nicht, warum das so ist :).
Entfallen ist jetzt nur die FET Stufe T5. Was passiert denn wenn ich meine Schaltung per PWM ansteuer ? Bzw ab welches Schaltfrequenz denkst du das Probleme auftauchen werden und warum ? Ich seh da gerade gar kein Problem ?!