Schön, wenn es jetzt läuft, freut mich
Dennis
Schön, wenn es jetzt läuft, freut mich
Dennis
Ich studiere die Wirkung der Sonnenstrahlen auf das Liebesleben der Pflastersteine
Hi,
leider hats mir vohin zwei der IR2104 zerschossen, weil die Bootstrap-Kondensatoren wohl zu gering dimensioniert waren. Bei den bisherigen 32kHz Pwm-Frequenz hats immer gut funktioniert, nur bin ich jetzt auf 16kHz runtergegangen --> weißer Rauch
Also hab ich die Kondensatoren mal auf 300% vergrößert, und schon funktionierts.
Dann hab ich aber zur Sicherheit mal im DB nachgekuckt, ob der Rest passt und das hat dann wieder Fragen aufgeworfen:
1. Passt meine 1N4148 als Bootstrap Diode?
2. Sind meine Gatewiderstände mit 4.7Ohm zu klein? Ich hab im DB nur eine Angabe gefunden, die evtl. dieses Thema behandelt, bin mir aber nicht sicher, ob sich das wirklich darauf bezieht. Da heißt es: "Output high short circuit pulsed current: min 130 , typ 210 mA" Was mich stutzig macht ist dieses "short circuit". Hab schon mehrere Schaltpläne mit 4.7Ohm gesehen, deswegen denke ich, es sollte passen (hat auch das letzte halbe Jahr ohne Ausfall funktioniert)
Vielen Dank & Gruß
Chris
Hallo!
Zur 1N4148:
Wenn du auf µC.net mit dieser Diode anfängst, geht das nörgeln los. Einen vernünftigen Grund, warum diese Diode nicht geht, konnte mir bisher keiner nennen, bisherige Argumente waren zu alt oder andere haben mit anderen Dioden gute ERfahrungen gemacht. Was für Argumente. Ich nutze auch diese Diode, weil sie einfach unschlagbar billig ist. Sie ist äußerst schnell und den Strom, der fließen müsste, kann sie auch vertragen. Also für mich persönlich spricht nix gegen diese Diode.
zu den Gatewiderständen:
Ich weiß grad gar nicht, ob überhaupt welche unbedingt nötig sind. Meine Info ist, dass diese Widerstände drin sind, um die Güte eines evtl. Schwingkreises zu senken. Also das Gate des Mosfets als Kapazität, die Leiterbahn dahin als Induktivität. Wenn du den ohmschen Widerstand erhöhst, sinkt die Schwingneigung erheblich. Natürlich ist es auch gut, wenn der Strom im Einschaltmoment etwas begrenzt wird. Ich nutze 10 Ohm, ich denke, mit 4,7 Ohm liegst du nicht falsch.
Welche Kapazität nutzt du denn bisher für deinen Bootstrap Kondi? Ich nutze bei mir 1µF als SMD. Ohne aktiven Freilauf hast du eben das Problem, das der Kondi ne ganze Weile nicht geladen wird. Zumindest ist das bei meinen IR2101 so. Dort muss ich die Lowside durchschalten, ansonsten läd der nicht. Ich denke, diese Kapazität sollte man nicht zu knapp wählen.
Dennis
Ich studiere die Wirkung der Sonnenstrahlen auf das Liebesleben der Pflastersteine
Hi,
ich hab den Widerstand vor allem deswegen drin, damit keine zu großen Strömen fließen, da ansonsten die Leiterbahnen des IR2104 sehr viel größer sein müssten (auch wenn die Ströme nur kurzzeitig fließen).
Anfangs hatte ich 470nF drinnen, nun bin ich eben auf 1.47µF raufgegangen, werde aber wohl noch ein paar "Reserven" einbauen. Der aktive Freilauf ist beim IR2104 übrigens Standart, also gibts in dieser Hinsicht keine Probleme.
Zum aktuellen Stand:
Das Motor-Timing (7,15,30°) lässt sich einstellen, genauso wie die Pwm-Frequenz. Was noch fehlt ist eine Drehrichtungsumkehr per Software, da ist mir noch kein eleganter Ansatz eingefallen...
Außerdem fehlt noch die Drehzahlregelung, bis jetzt hab ich das so gemacht, dass ich dem µC Informationen über den Motor gegeben hatte (kV & Polzahl). Das gefällt mir aber garnicht, es sollte automatisch für jeden Motor ohne jegliche Konfiguration funktionieren. Auch das aktive Bremsen fehlt noch, da weiß ich noch nicht genau, wie ich das mache. Evtl. "einfach" zwei Phasen auf GND (bzw. gleiches Potenzial) legen, aber da weiß ich nicht, wie lange und v.a. welche Pegel (also z.b. PhaseA auf 20% Pwm, PhaseB auf 50% Pwm).
Hast du dazu evtl. ein paar Infos?
Gruß
Chris
Ich dachte, den wolltest du ausschaltbar machen?Der aktive Freilauf ist beim IR2104 übrigens Standart,
Also du meinst, das du einen Motor in beide Richtungen drehen kannst, ohne zwischendurch neue Software aufzuspielen? Also ich würde das mit zwei Arrays erledigen, in denen eben die Port und Pin Adressen gespeichert sind. Je nachdem, welches Array du Stück für Stück lädst schaltet er eben andere Pins um. Wie gibst du deinem Regler bis jetzt die Information, was er machen soll? Oder dreht der Motor einfach los, sobald du Strom anlegst?Was noch fehlt ist eine Drehrichtungsumkehr per Software, da ist mir noch kein eleganter Ansatz eingefallen...
Also ich übergebe meinem Regler einfach einen PWM-Wert, den er einstellen soll, ohne Drehzahlvorgabe. Wenn du wirklich die Drehzahl fest vorgeben willst, brauchst du die Infos nach der Polpaarzahl, ohne wird das nix. Für deinen Regler gibts nur die el. Umdrehungen, die mechanischen bekommt er ja nicht mit. Dann brauchst du ja nur die Zeit zu messen, zwischen den Umschaltungen, dann weist du ja, dass er (1/6)/Polpaarzahl geschafft hat.Das gefällt mir aber garnicht, es sollte automatisch für jeden Motor ohne jegliche Konfiguration funktionieren.
Also hast du einen PID mit im deinem Regler? Weil bei aktivem Freilauf ist die Rückspeisung der Energie ansich "kostenlos" mit dabei. Zumindest klappt das bei mir bestens.Auch das aktive Bremsen fehlt noch, da weiß ich noch nicht genau, wie ich das mache.
Dennis
Ich studiere die Wirkung der Sonnenstrahlen auf das Liebesleben der Pflastersteine
Das mit dem aktiven Freilauf ausschaltbar machen, hab ich erstmal hinten angestellt, sollte ja nur eine Art Studie sein
Ja, ich hab mir schon folgendes vorgestellt:
Mal sehen, obs funktioniert wie ich mir das vorstelle und ob ich nicht noch eine einfachere Variante finde, v.a. weil ich noch keine Idee für die AC-Einstellungen habe.Code://declaration int16_t PwmArray[2]; int16_t SdArray[2]; ... //left PwmArray[0] = 1; SdArray[0] = 1; PwmArray[1] = 0; SdArray[1] = 0; //right PwmArray[0] = 0; SdArray[0] = 0; PwmArray[1] = 1; SdArray[1] = 1; ... //StateMachine PhaseAPwm = PwmIn * PwmArray[0]; PhaseBPwm = PwmIn * PwmArray[1]; PhaseASd = SdArray[0]; PhaseBSd = SdArray[1];
Momentan hab ich anfangs eine 2sec Wartezeit, anschließend gibt er Töne aus, dreht langsam hoch, gibt kurzzeitig 1/2 Vollgas und stoppt wieder.
Dass die Drehzahlregelung auch ohne diese Infos an jedem beliebigen Motor funktioniert, zeigen verschiedene Regler, u.a. Mikrokopter BL3.0 oder auch "normale" Modellbauregler (z.b. Graupner), welche einen sog. Govenor-Modus haben.
Aber leider kann ich mir eben auch nicht vorstellen, wie das funktionieren soll ...
Ich hab mir mal die Drehzahl (bzw. die Kommutierungszeitpunkte) ausgeben lassen, da geht wohl noch was (hoffe ich zumindest).
Gruß
Chris
Lesezeichen