Archiv verlassen und diese Seite im Standarddesign anzeigen : Motoren mit P W M gehen nicht richtig!-Fehlersuche
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
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.
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
Was bedeutet "...laufen die Motoren weiter, ohne einen Geschwindigkeitsverlusst." ?
Laufen die also immer Volles Rohr ?
Ja, sie laufen immer vollekanne.
Ich kann nur bremsen oder vor/rückwärts fahren.
jon
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. ?
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
Also, ich habe nochmal geprüft, ob alle Verbindungen richtig und in Ordnung sind, ich konnte aber nichts finden.
jon
Seltsam.
Mir fällt jetzt auch nix mehr dazu ein
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
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 .....
Das Programm ist aber so in Ordnung?
Ja,ich sehe da jetzt kein Problem.
Ich probeir mal eben an dem M16 der hier liegt.
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.
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
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.
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,
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).
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
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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.