Hi,
ich bin gerade dabei einen Brushless-Controller zu bauen :
http://www.mikrocontroller.net/articles/Brushless-Controller_f%C3%BCr_Modellbaumotoren
wollte ihn nach diesem Prinzip bauen. Doch ich versteh das nicht genau:
"Der Widerstand R20 ist dazu da, dass auf dem Treiber das PWM-Signal
liegt, sobald die Leitung „IN_A“ in der Luft hängt (uC Pin als Eingang
definiert)."
Ich versteh nicht wie ich den Zustand floating machen. wenn IN_A =
eingang und PWM dann liegt am Treiber die PWM an. Wird statt eine PWM 0
angelegt dann ist GND. Ist dann Floating wenn IN_A = ausgang ist und bei
PWM egal welches signal.
Bitte dringend um Hilfe
MFG Murmele
Martin Marmsoler schrieb:> Ich versteh nicht wie ich den Zustand floating machen. wenn IN_A => eingang und PWM dann liegt am Treiber die PWM an. Wird statt eine PWM 0> angelegt dann ist GND. Ist dann Floating wenn IN_A = ausgang ist und bei> PWM egal welches signal.
es gibt noch den /sd pin, hiermal die zustände:
/SD:HIGH - STAGE ON
> IN-A-IO:High - STAGE HIGH> IN-A-IO:LOW - STAGE LOW> IN-A-IO:TRISTATE -> PWM
/SD:LOW - STAGE TRISTATE
Vollständige Sätze würden helfen, Deine Frage zu verstehen.
Ich versteh nicht wie ich den Zustand eines AVR Ausgangs auf floating
machen kann. Wenn IN_A = eingang ist und an PWM ein Signal anliegt, dann
liegt am Treiber das PWM Signal an. Wird statt dessen an IN_A 0 angelegt
dann ist der Eingang des Treibers auf GND.
Ist der Pin des AVR dann Floating, wenn IN_A = ausgang ist und bei PWM
egal welches signal anliegt?
Nein. An AVR Mikrocontrollern sind alle Pins Floating, die nicht als
Ausgang konfiguriert sind. Die Idee ist folgende: Indem man den Pin IN_A
als Ausgang und LOW schaltet, unterdrückt man das PWM Signal für die
entsprechende Phase. Indem man den Pin IN_A als Eingang schaltet,
steuert man die Phase mit PWM Signal an.
So kann man für alle drei Phasen ein einziges gemeinsames PWM Signal
nutzen, dass permanent erzeugt wird. Zu jedem Zeitpunkt unterdrückt man
das Signal für jeweils zwei Phasen (in rotierender Reihenfolge), indem
man IN (A ,B, C) auf LOW zieht, so dass immer nur eine Phase tatsächlich
mit der gepulsten Spannung angetrieben wird.
Danke für deine Antwort,
Andi D. schrieb:> /SD:HIGH - STAGE ON>> IN-A-IO:High - STAGE HIGH>> IN-A-IO:LOW - STAGE LOW>> IN-A-IO:TRISTATE -> PWM
Bedeutet das dass der IN_A als Eingang definiert ist?
Andi D. schrieb:> /SD:LOW - STAGE TRISTATE
wenn ich SD auf low Masse lege dann habe ich den Zustand floating
unabhängig von den Zuständen an IN_A und PWM?
Man muss sich schon im Klaren darüber sein, was man "floaten" will. Ja,
der /SD Anschluss lässt den Ausgang des Motortreibers floaten (was den
schräg gestrichelten Linien im Diagramm antspricht).
In meinem vorherigen Anschnitt bezog ich mich darauf, wie man den
Ausgang des AVR an den Eingängen IN_A bis IN_C floaten lässt, um das PWM
Signal wirksam werden zu lassen.
Stefan Frings schrieb:> Ja,> der /SD Anschluss lässt den Ausgang des Motortreibers floaten
Vielen Dank jetz hab ichs verstanden hab den SD anschluss immer außer
acht gelassen
Danke euch!!!
Martin Marmsoler schrieb:> Danke für deine Antwort,>> Andi D. schrieb:>> /SD:HIGH - STAGE ON>>> IN-A-IO:High - STAGE HIGH>>> IN-A-IO:LOW - STAGE LOW>>> IN-A-IO:TRISTATE -> PWM>> Bedeutet das dass der IN_A als Eingang definiert ist?
ja, für pwm setzt man den IO vom avr auf eingang -> tristate
> Andi D. schrieb:>> /SD:LOW - STAGE TRISTATE>> wenn ich SD auf low Masse lege dann habe ich den Zustand floating> unabhängig von den Zuständen an IN_A und PWM?
ja -> du solltest dir mal das treiberdatenblatt anschauen ...
Martin Marmsoler schrieb:> Könnte ich statt dem IN_A auch einfach die PWM auf 0 stellen um eine> Masse zu simulieren? Dann bräuchte ich nur mehr PWM und SD
Wenn du dir das Diagramm im Artikel mal anschauest wirst du merken, dass
das nicht geht. Denn du musst auch gleichzeitig auf einer Phase Low, und
auf einer anderen Phase PWM haben. Wenn du dann für das Low die PWM
ausschaltest, hast du ja für die andere Phase kein PWM mehr.
Urban B. schrieb:> Denn du musst auch gleichzeitig auf einer Phase Low, und> auf einer anderen Phase PWM haben. Wenn du dann für das Low die PWM> ausschaltest, hast du ja für die andere Phase kein PWM mehr.
Doch wenn ich es mit 3 PWM ausgänge bzw mit 3 Timerchannel mach würde es
doch gehen?
Martin Marmsoler schrieb:> Doch wenn ich es mit 3 PWM ausgänge mach würde es doch gehen?
Ja, dann würde es natürlich gehen. Allerdings wird dann die Software
aufwändiger weil du mehr Timer brauchst. Die Variante, die im Artikel
beschrieben wird, macht es einem dann sehr einfach beim Programmieren.
Urban B. schrieb:> Allerdings wird dann die Software> aufwändiger weil du mehr Timer brauchst. Die Variante, die im Artikel> beschrieben wird, macht es einem dann sehr einfach beim Programmieren.
Danke für den Rat
Hallo,
ich würde gerne dieses Thema wieder aufleben lassen, da ich leider vor
dem Problem stehe, dass ich den Floating-Zustand nicht hinbekomme.
Ich verwende den gleichen Treiberbaustein, wie im Artikel
(http://www.mikrocontroller.net/articles/Brushless-Controller_f%C3%BCr_Modellbaumotoren).
Wenn ich jedoch den /SD Eingang auf GND ziehe, dann werden die Ausgänge
auch auf 0 gezogen und ich erzeuge keinen Zwischenzustand.
Gibt es noch typische Fehler bei diesem Vorgang. MosFET-Schaltung sollt
bei mir passen, da sonst alles funktioniert.
Wäre über schnelle Hilfe sehr Dankbar
Vielen Dank
Beste Grüße
David
Hallo David,
Wenn ich deine Frage so lese, bekomme ich den Eindruck dass das Problem
nicht an der Schaltung liegt, sondern dass es ein Missverständnis
bezüglich dem floating Zustand gibt.
Mit dem floating Zustand ist gemeint, dass eine Phase (A, B oder C) mit
der Halbbrücke weder nach GND, noch nach VSS gezogen wird, also beide
Transistoren sperren. Was dann effektiv an dieser Phase für eine
Spannung liegt ist erstmal nicht definiert.
Im laufenden Betrieb liegt jedoch immer eine Phase an GND, und eine
andere an VSS. Die zwei bestromten Spulen im Motor bilden dann einen
Spannungsteiler, wodurch an der dritten Phase (im floating Zustand) die
halbe Versorgungsspannung anliegt.
Da durch die Drehung des Rotors zusätzlich noch eine Spannung in den
Spulen induziert wird, ist die fliegende Phase nicht nur einfach
konstant VSS/2, sondern es kommt noch eine überlagerte Schwingung hinzu,
welche drehzahlabhängig ist. Wie das dann aussehen kann, ist an den
Bildern im Artikel ersichtlich.
Kann es sein dass das dein "Problem" war? :-)
mfg