Hallo liebe Elektronikfreunde! Ich habe mal die PWM meines AMega16 ausprobiert und habe das Signal mit nem BC327 verstärkt und dann einen Motor angeschlossen. Dann habe ich fuer den PMW Wert eine Variable eingefügt welche über Timer2 hochgezählt wird (0-255). Leider ergibt sich kein langsames anfahren, sondern es ruckelt etwas. Außerdem soll das ganze langsamer funktionieren. Ich habe außerdem festgestellt dass die Motor geschwindigkeit irgendwie nicht liniear zur PWM Zahl ist. Im unteren Bereich lässt es sich schwerer Regeln. Hat jemand ein Tip für mich? Gruss Alex
>Leider ergibt sich kein langsames anfahren, sondern es ruckelt etwas.
versuch mal den prescaler kleiner zu machen.
Hast Du für den Motor eine Freilaufdiode eingebaut, die die Gegeninduktionen vom Motor vernichtet? Ansonsten killst Du Deinen Transistor oder zumindest schaukelt sich der Motor an seiner eigenen Induktion hoch, was zu einem miesen Wirkungsgrad führt.
ICh hab die PWM mal benutzt um nen DAC zu konstruieren, lief auch ganz gut mal abgesehen davon, das die Ausgangsspannung nicht linear zum Tastverhältnis war. Hab dann 2 Wege beschritten, einmal ne Funktion, die den Sollwert in den PWM umgerechnet hat, das hat dann aber einiges an Rechnleistung gefressen, der andere Ansatz war ne Tabelle mit Werten im EEPROM, die aus der Funktion berechnet waren und dann einfach den entsprechenden zuordnungswert ausgelesen und ins PWM übertragen.
Hallo, ich habe vor ein Paar Tagen einen Kleinen Flusswandler gebaut. Infos gibt überall im Netz oder bei ELV in der Stromversorgung-bausatz Rubrik. Da finden sich auch Schaltpläne. Jedenfalls habe ich an dem Flusswandler einen Motor getest und habe festgestellt das das etwas mit der Frequenz zu tun hat. Bei 500 herz ist der Motor im unteren Drehzalbereich praktisch nicht regelbar gewesen. Dies war bei 15 kHz jedenfalls kein Problem mehr. Das nichtlineare Tast/Strom Verhältnis rührt wohl daher das bei kleinen Ausgangsspannungen die Spannung über dem Schalttransistor größer ist. Ich vermute das man das mit höherer Schaltfrequenz oder einer etwas größeren Induktivität im Flusskreis patchen lässt. Gruß Florian
Hallo, Eine Diode habe ich Parallel zum Motor eingebaut, das ist nicht das problem. Je kleiner der Vorteiler (zb. 1) desto höher die Frequenz? Mein ATmega16 arbeitet mit 1Mhz. In dem Fall hätte die PWM dann auch 1Mhz? Ich habe noch ein problem: Der ATMega16 wird mit einer Nimh Zelle und einem Step Up Wanlder betrieben. Der Motor soll später allerdings mit der Zellenspannung betrieben werden (1V) Klappt dass überhaupt noch mit dem BC327? Im moment habe ich zwischen Basis und IC ausgang einen 1K Ohm Widerstand. Muss der dann kleiner werden? Gruss und Danke, Alex
Wenn du den Vorteiler auf 1 stellst läuft der Timer mit 1 MHz, die PWM läuft dann mit 1MHz/(2^Auflösung des Timers)
@Bernd, Wieso nimmst Du einen Timer um die Variable hochzuzählen? Benutze doch eine Schleife und Zähle damit das Capture Compare Register hoch. Zudem würde ich dir die 16Bit PWM empfehlen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.