Kann es sein das man mit einer falschen PWM Frequenz den Treiber hochjagt?
Ich habe da ein Problem.
Vor längerem habe ich mal mit MCs angefangen. Bisher mit mäßigem erfolg. Mal eine kleine Schaltung mit einem LCD, ein wenig mit LEDs und so weiter. Da dachte ich mir das kombiniere ich mal und mach noch was bewegliches dazu. Also Motoren dazu. Habe zwei Motoren bei Conrad gekauft. Und zwar die RB35. Habe diese erst an einem L293D betrieben, diese sind mir bei PWM Betrieb aber immer durchgebrannt. Also nach viel Rücksprache mit dem Forum musste ein L298 her. Gekauft, Schaltung inkl Freilaufdioden fertig gemacht und gestartet. Aber irgendwie.... Beim ersten Test habe ich einfach mit Fullspeed vorwärts bzw. rückwärts fahren lassen. Lief auch, L298 wurde nicht warm. Dann noch den PWM dazu. Kurz danach wurde der L298 zu heiß und funktionierte nicht mehr richtig.
Ich gestehe, danach hatte ich erstmal die Schn... voll..... Bisher keine Motorschaltung richtig hinbekommen. Nun, nachdem fast 2 Monate ins Land gegangen sind will, ich mich dieser Sache wieder annehmen.
Jetzt ist Fehlersuche angesagt. Also die Schaltung für meinen L298 habe ich nach dem Wiki aufgabaut. Die Freilaufdioden sind auch richtig herum drin. Daran kann (sollte) es nicht liegen. Als Dioden habe ich die Standard 1N4001 genommen, laut mehreren Foreneinträgen auch OK.
So. Was kann noch falsch sein? Das PWM Signal oder der Motor nicht i.O.
Hier mein Programm. Eine Vermutung ist noch das das PWM Signal nicht i.O. ist. Also die PWM Frequenz falsch konfiguriert ist und der L298 nicht nur beim "starten" den Anlaufstrom verkraften muss. Kann das sein?
Der AT16 läuft mit internem Takt, bei 1Mhz.
DankeCode:' Hardware PWM mit Timer1 $regfile = "m16def.dat" $crystal = 1000000 Config Pind.4 = Output Config Pind.5 = Output Config Portc = Output A2 Alias Portc.0 A1 Alias Portc.1 A3 Alias Portc.2 A4 Alias Portc.3 Dim Temp As Bit Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 64 Compare1a = 50 Compare1b = 50 Temp = 1 Do Geradeaus: A1 = 1 : A2 = 0 : A3 = 1 : A4 = 0 Wait 5 Gosub Stoprout Rueck: A1 = 0 : A2 = 1 : A3 = 0 : A4 = 1 Wait 5 Gosub Stoprout Loop End Stoprout: A1 = 0 A2 = 0 A3 = 0 A4 = 0 Wait 2 Return
Sledge77
Kann es sein das man mit einer falschen PWM Frequenz den Treiber hochjagt?
Keiner eine Idee?
Danke
Hallo
Also ich benutze in meinem Roboter auch den L298 um meine Motoren (auch RB35 von Conrad) zu steuern. Ich hab allerdings keine normalen Dioden, sondern die BYV27/200 verbaut.
Mit Bascom kenne ich mich gar nicht aus. Aber eigentlich dürften die L298 nicht zerstört/heiß werden, egal wie das PWM Signal aussieht (ob das jetzt ständig high, oder immer low ist oder wechselt). Probier doch einfach mal, ob die Ansteuerung überhaupt von der Hardware funktioniert. (d.h. den Enable Pin des L298 einfach mal vom Controller auf high, ohne PWM zu benutzen und die beiden Richtungspins einfach auf unterschiedliche Levels wie du es ja jetzt schon hast.)
Das habe ich schon getestet.
Da lief es einwandfrei. Danach habe ich dann auf PWM umgestellt. Ich habe jetzt mal die Frequenz berechnet. Das sind gerade mal 60 Hz.
60Hz? das ist doch viel zu wenig! die pwm sollte sich im kHz bereich befinden...
ich habe auch die RB35 Motoren von Conrad und betreibe sie an einem l293d, ich habe es bis jetzt 1mal geschaft den treiber zu grillen und dass nur weil ich den motor zuvielmal hintereinander direkt umgepolt habe...
eine kleine wartezeit zwischen dem umschalten und dann funktionierts...
geh mit der pwm hoch und dann sollte es funktionieren...
gruss bluesmash
Meine Homepage:
www.bluesmash.roboterbastler.de
Danke für die Antwort. Das bestätigt dann meine Vermutung. Ist schon blöd wenn man einfach mal auf gut glück den PWN konfiguriert ohne sich weiter gedanken darüber zu machen. Hat mich jetzt nen paar Euro gekostet. (2x L293D und 1x L29 Ärgerlich. Hab mein Lehrgeld bezahlt.
Reicht denn dann eine Frequenz von 4kHz? Also 1MHz bei 8bit = ca. 4kHz.
Sledge77
naja... durch fehler lehrt man
4kHZ sollten eigentlich nicht schlecht sein... vielleicht kann das noch jemand anders bestätigen?
gruss bluesmash
Meine Homepage:
www.bluesmash.roboterbastler.de
Ups. Doch noch was falsch. Nochmal nachgelesen und gesehen das die PWM Frequenz mit MC-Frequenz/Prescaler/(2^Auflösung*2) gerechnet wird. Das heißt das ich bis jetzt mit 30Hz dran war und mit 1MHz intern maximal 2kHz hinbekomme. Werde die Frequen hochstellen auf die internen 8MHz. Dann bekomme ich 15kHz hin. Das sollte dann doch klappen.
Sledge77
Es funktioniert. Also wenn jemand mal ähnliche Probleme hat.... Mit 30Hz läufts nicht.....
Naja. Wie gesagt Lehrgeld bezahlt und Lektion gelernt. Doch mal nen bisschen mehr lesen.
Lesezeichen