PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Motoren mit P W M gehen nicht richtig!-Fehlersuche



Jon
14.05.2006, 14:07
Hallo,
ich habe an einen L293D zwei Motoren wie im Wissensbereich beschrieben angeschlossen.
Wenn ich jetzt aber die PWM verändere ändert sich nicht die Umdrehungszahl der Ketten.
Habe ich in meinem Programm einen Fehler (was ich mir vorstellen könnte) oder gäbe es noch eine andere möglich Fehlerquelle?

Mit einem zweiten L293D habe ich es auch schon probiert, das Ergebnis ist aber wie beim ersten.

Das Programm als txt ist unten zu Runterladen.

Hoffe auf antworten.

jon

Ratber
14.05.2006, 14:14
Kleiner Tip in aller Kürze.

Häng mal am entsprechenden Ausgang des Controllers ne LEd nebst passendem Vorwiderstand dann kannst du schön an der Helligkeit sehen ob die PWM auch so läuft wie es gewünscht ist.

Jon
14.05.2006, 14:40
Habe ich auch schon gemacht, die PWM läuft auch so wie sie soll.
Was mir auch gerade einfällt:
wenn ich am L293D die Leitung an den PWM-Port abklemme, laufen die Motoren weiter, ohne einen Geschwindigkeitsverlusst.

jon

Ratber
14.05.2006, 14:44
Was bedeutet "...laufen die Motoren weiter, ohne einen Geschwindigkeitsverlusst." ?

Laufen die also immer Volles Rohr ?

Jon
14.05.2006, 16:49
Ja, sie laufen immer vollekanne.
Ich kann nur bremsen oder vor/rückwärts fahren.

jon

Ratber
14.05.2006, 16:58
Also das Signal am Controller ist ok und macht was es soll aber hinter dem Treiber kommt die PWM nicht an.

Ich vermute mal du hast die Verdrahtung oft genug überprüft und da ist auch alles ok. ?

Jon
14.05.2006, 17:08
Soweit ich weiß ist die Verdrahtung ok.
Nach Kurzschlüssen habe ich mit dem Messgerät schon gesucht, konnte aber kein finden.
Ich werde allerdings nochmal mir die Platine vornehmen und alle Leiterbahnen überprüfen, vorallem werde ich aber schauen, ob die Verbindungen der Ports auch richtig sind.

jon

Jon
14.05.2006, 17:31
Also, ich habe nochmal geprüft, ob alle Verbindungen richtig und in Ordnung sind, ich konnte aber nichts finden.

jon

Ratber
14.05.2006, 20:49
Seltsam.

Mir fällt jetzt auch nix mehr dazu ein

Jon
15.05.2006, 13:23
Das Programm ist aber so in Ordnung?
Ich könnte mir, wie gesagt vorstellen, dass dort bei der PWM- Configuration ein Fehler ist.
Gibt es auch bei den Motoren unterschiede? Kann es also sein, dass bei manchen Motoren die Geschwindigkeitssteuerung nicht angewandt werden kann?
Die Motoren sind vom Untersatz den Conrad Robboters RP5.
Wo bei beim RP5 die PWM geht.

Also ist am Wichtigsten das Programm.

jon

Hanni
15.05.2006, 14:59
Habe ich auch schon gemacht, die PWM läuft auch so wie sie soll.
Was mir auch gerade einfällt:
wenn ich am L293D die Leitung an den PWM-Port abklemme, laufen die Motoren weiter, ohne einen Geschwindigkeitsverlusst.

Tja, dann scheint ja die Software zu stimmen ...
Ich würde noch mal die Hardware durchprüfen.

Mit nem Oszi und nicht mit einem Multimeter .....

Ratber
15.05.2006, 16:37
Das Programm ist aber so in Ordnung?


Ja,ich sehe da jetzt kein Problem.

Ich probeir mal eben an dem M16 der hier liegt.

Ratber
15.05.2006, 17:09
Interessant.

Pass es dir an und probier mal das Programm hier.




$regfile = "m16def.dat"
$crystal = 16000000
$baud = 1200

Dim A As Word

Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 8

Config Pind.5 = Output
Config Pind.4 = Output

Do
Gosub Testa
Waitms 3000
Gosub Testb
Loop

Testa:
Pwm1a = 100
Waitms 100
Pwm1a = 200
Waitms 100
Pwm1a = 400
Waitms 100
Pwm1a = 700
Waitms 100
Pwm1a = 1023
Waitms 100
Pwm1a = 700
Waitms 100
Pwm1a = 400
Waitms 100
Pwm1a = 200
Waitms 100
Pwm1a = 100
Waitms 100
Pwm1a = 0

Waitms 1000

Pwm1b = 100
Waitms 100
Pwm1b = 200
Waitms 100
Pwm1b = 400
Waitms 100
Pwm1b = 700
Waitms 100
Pwm1b = 1023
Waitms 100
Pwm1b = 700
Waitms 100
Pwm1b = 400
Waitms 100
Pwm1b = 200
Waitms 100
Pwm1b = 100
Waitms 100
Pwm1b = 0
Waitms 1000
Return

Testb:
For A = 1 To 1023 Step 1
Pwm1a = A
Pwm1b = A
Waitms 20
Next A
Return

End


Mit direktem Wert geht es aber über ne Variable will er nicht.
Wenn ich PWM = 8 nehme und Byte für A dann gehts.
Scheint nen neuer Bug zu sein denn früher gabs die Macke nicht.

Da ist also aufspitten des Wertes und direktes einschreiben in die Register angesagt oder du begnügst dich mit 8 Bit.

Jon
15.05.2006, 17:20
Du verwendest Clear Down, wo ist der Unterschied zu Clear Up. Das habe ich noch nicht ganz verstanden.
Aber ich vermute mal, dass das was du als Programm nicht fungtioniert, da die Motoren ohne PWM auch schon laufen



@Hanni,
Hallo ich bin 14, da kann ich mir kein Oszi kaufen, dass wäre für mich viel zu teuer und wo anders habe ich keinen Zugriff auf einen Oszi.
konntest du aber nicht wissen, deswegen ...

jon

Ratber
15.05.2006, 17:24
Du verwendest Clear Down, wo ist der Unterschied zu Clear Up. Das habe ich noch nicht ganz verstanden.

Ich hab ja schonmal den Tip gegeben an die beidne Oszillatorausgänge je eine LED mit vorwiderstand zu hängen.

Mach das mal und Probier mit Up und Down herum.
Dazu das Kapitel über die Timer im Datenblatt.

Is wirklich nicht schwer.



PS:

Hab mal gaaaaanz blöd bei MCS deswegen angefragt. :wink:
Es Funktioniert ja nur mag Bascom derzeit keine Word-Variablen übergeben.

Jon
15.05.2006, 18:55
Hallo,
ich habe eben zum zigstenmal das Programm neu geladen und jetzt geht es auf einmal, wenn ich die PWM ändere.
Nur habe ich einen eingeschränkten bereich bei Up von 1-150.

Ist das normal?

Sonst schonmal danke für die Mühe und Geduld.

jon

Hanni
15.05.2006, 20:17
@Hanni,
Hallo ich bin 14, da kann ich mir kein Oszi kaufen, dass wäre für mich viel zu teuer und wo anders habe ich keinen Zugriff auf einen Oszi.
konntest du aber nicht wissen, deswegen ...

jon

Ups, das hab ich übersehen :D

Nuja, ich hab auch nur auf der Dienststelle (bin Techniker bei der BW) zugriff auf nen Oszi (4 Kanal Tektroniks TDS 3014) und ich muss sagen, mit Oszi debuggt sich manches fast von selbst (jedenfalls wenn man weiss, was man messen will und was man erwartet).

Ratber
15.05.2006, 20:35
Hallo,
Nur habe ich einen eingeschränkten bereich bei Up von 1-150.

Ist das normal?


Nö,ist es nicht.

Wenn du PWM=10 nimmst dann gehts eben 10-Bittig also 0-1023

Jon
16.05.2006, 13:20
Wenn ich nachmesse, wie viel Volt an den Anschlüssen des Motors sind, dann kann ich dort bei 150 Up 2,4Volt und bei 1 Up 5,0Volt messen. Alles darunter erzeugt beim Motor nur ein hohes Pfeifen.
Von daher würde ich sagen, dass das normal ist.

jon