PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pwm pin



Probot cool
13.09.2013, 19:25
Hallo, Experten

Ich möchte den PWM Pin meines Robotermotors (probot 128 ) mit Gleichspannung ansteuern. Wie muss ich die Code verändern und hält die H-Brücke (L293D) und (CD4093) die Spannung aus ?


'---[ Drive Setup ]-------------------------------------------------------------
Sub DRIVE_INIT()
Port_DataDirBit(Motor_Enable,PORT_OUT) 'Port Enable Motor = Output
DRIVE_OFF()
Timer_T1PWMX(256,128,128,PS_8) 'Config For channel A und B Timer1
Timer_T1PWA(128) 'Pulse/Break = 50/50 channel-A
Timer_T1PWB(128) 'Pulse/Break = 50/50 channel-B
End Sub


Gruß Max

Thomas E.
14.09.2013, 16:17
Einen Pin mit Gleichspannung ansteuern? Bitte formuliere deine Frage nochmals neu und erkläre uns dein Vorhaben mit etwas mehr Infos.

Probot cool
14.09.2013, 17:46
Hallo

Der Pro bot 128 steuert die Motoren mit PWM an also der Stromkreis wird immer wieder geschlossen und geöffnet. Außerdem besitzt er eine H-Brücke mit der er die Drehrichtung des Motors ändert. ich habe jetzt ein
anti- Staubtuch unter dem Roboter befestigt, so dass er meine Fußboden von Staub befreit. Dieses funktioniert mit einem selber geschriebenen Programm , was ich aus System - Check Programmen zusammengewürfelt habe :D . meine nächste Idee wird sein ,dass er sich nicht mehr mit den IR LEDs steuert sondern mit einem Ultraschallsensor. Das buch von dem Franzis Verlag hilft mir dabei.Und ein Kompass Modul wird noch befestigt ,dass er selbstständig an die Ladestation fahren kann. Meine Frage ist jetzt , ob ich die Motoren mit dem verändern der Liberty in Basic so verändern kann ,dass die Motoren eine konstante Spannung bekommen und keine Pulsierende , die im Motor ein Piepen erzeugt. Bedacht habe ich außerdem das die Spannung auf ganze 5 Volt ansteigen wird und die Motoren aus dem Grund einen Widerstand benötigen. Ich habe schon versucht die größten puls Pausen und die Kleinsten zu nehmen. Bei den Großen sind zu viele Verluste aufgetreten und beide sind nach 5 Minuten noch ne gute halbe Stunde im Ohr zu hören ](*,) . Die Tick dauer :
PS0_1 (1)
67,8 ns


PS0_8 (2)
542,5 ns


PS0_32 (3)
2,17 µs


PS0_64 (4)
4,34 µs


PS0_128 (5)
8,68 µs


PS0_256 (6)
17,36 µs


PS0_1024 (7)
69,44 µs

Liberty Code :
'---[ Drive Setup ]-------------------------------------------------------------
Sub DRIVE_INIT()
Port_DataDirBit(Motor_Enable,PORT_OUT) 'Port Enable Motor = Output
DRIVE_OFF()
Timer_T1PWMX(256,128,128,PS_8) 'Config For channel A und B Timer1
Timer_T1PWA(128) 'Pulse/Break = 50/50 channel-A
Timer_T1PWB(128) 'Pulse/Break = 50/50 channel-B
End Sub

Gruß max

Thomas E.
14.09.2013, 19:15
Okay, aber wie willst du dann die Geschwinigkeit einstellen oder die Fahrtrichtung verändern? Auch Anfahr- und Bremsrampen sind so nicht möglich. Damit du die PWM nicht mehr hörst kannst du auch eventuell die Frequenz in den für uns Menschen nicht mehr wahrnehmbaren Bereich verschieben.

Probot cool
15.09.2013, 10:13
Das verändern der Fahrtrichtung erfolgt doch durch das Umpolen der Motor H-Brücke. Indem sich nur ein Motor bewegt dreht sich der Roboter. Ich möchte es nur mal ausprobieren ob es ohne PWM auch geht. An den Motoren wird noch ein Poti befestigt , der die Geschwindigkeit kalibriert. Ich muss doch dafür nur den Port anschalten also auf low oder ? bzw so :
'---[ Drive ON ]----------------------------------------------------------------
Sub DRIVE_ON()
Port_WriteBit(Motor_Enable,1) 'Port = Low
End Sub und im Drive Setup ^^ nehme ich die Timer für die pulse raus , dass der Port nur an ist

Gruß Arne

Thomas E.
15.09.2013, 10:29
Das wird eine heftig ruckartige Drehung. Und Geschwindigkeit einstellen geht ohne PWM überhaupt nicht mehr. Was willst du mit dem Poti machen? Wenn du den Motorstrom über ein Poti laufen lassen willst, wirst du ein etwas größeres Poti benötigen, denn da entsteht massig Verlustleistung.

Probot cool
15.09.2013, 11:15
Okay ohne PWM geht es nicht. Die Zahnräder am Motor würden auf dauer durch die ruckartigen Umdrehungen schaden nehmen und die Akkus sind schneller leer. Trotzdem danke für deine Antworten. Ich mache mich dann wieder ans Werk.

Gruß Arne

Thomas E.
15.09.2013, 11:19
Okay ohne PWM geht es nicht. Die Zahnräder am Motor würden auf dauer durch die ruckartigen Umdrehungen schaden nehmen und die Akkus sind schneller leer. Trotzdem danke für deine Antworten. Ich mache mich dann wieder ans Werk.

Gruß Arne

Was ist mit meinem Vorschlag die PWM-Frequenz zu verändern?

Probot cool
15.09.2013, 12:39
Wie würdest du die PWM-Frequenz verändern ? nur die Pulse ?

Thomas E.
15.09.2013, 12:46
Wie würdest du die PWM-Frequenz verändern ? nur die Pulse ?
Die Frequenz des Timers verändern. Ich kenne mich allerdings mit deiner Software nicht aus. Gibt es irgendwo eine "Config Timer..."-Zeile?