PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit L298, RB35 und PWM



sledge77
18.02.2007, 13:41
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.


' 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

Danke

Sledge77

sledge77
18.02.2007, 19:34
Kann es sein das man mit einer falschen PWM Frequenz den Treiber hochjagt?

sledge77
19.02.2007, 18:52
Keiner eine Idee?

Danke

robo junior
20.02.2007, 00:45
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.)

sledge77
20.02.2007, 06:43
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.

Bluesmash
20.02.2007, 07:47
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

sledge77
20.02.2007, 08:05
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 L298) :( Ärgerlich. Hab mein Lehrgeld bezahlt.

Reicht denn dann eine Frequenz von 4kHz? Also 1MHz bei 8bit = ca. 4kHz.

Sledge77

Bluesmash
20.02.2007, 08:12
naja... durch fehler lehrt man ;)
4kHZ sollten eigentlich nicht schlecht sein... vielleicht kann das noch jemand anders bestätigen?

gruss bluesmash

sledge77
20.02.2007, 08:59
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

sledge77
21.02.2007, 19:11
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.

Bluesmash
21.02.2007, 22:09
leider muss man halt mit solchen rückschlägen immer wieder rechnen... mit hat es mal zig ic's inkl mega32 gegrillt als ich ausversehen 12V auf die busleitung gegeben habe mit der alle verbunden waren :(
jetzt hast du wenigstens ein paar ic's zum öffnen und reinschauen ;) es giebt hier momentan gerade irgendwo ein tread dazu ;) oder dies währe ein schöner beitrag zum tread "fehlschlag der woche" ;)

gruss bluesmash

i-mon
01.03.2007, 13:18
Ich hab mit einer zu niedrigen Frequenz auch schon fast einen L298 getötet....