- LiFePO4 Speicher Test         
Ergebnis 1 bis 2 von 2

Thema: RN Control 1.4 m32 - Motor ansteuern

  1. #1
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Bad Bramstedt
    Alter
    45
    Beiträge
    1.369

    RN Control 1.4 m32 - Motor ansteuern

    Anzeige

    Powerstation Test
    Hallo Leute,

    ich hab mal wieder ein Problem, diesmal sind es Motoren an der RN-Control 1.4 m32:

    Das Testprogramm habe ich draufgeladen, und einen Motor angeschlossen.

    Wenn ich nun den taster T2 drücke um den Testlauf zu starten, fährt der Motor auch hoch, aber er wird nicht wieder langsamer
    Laut Code zählt er I bis > 1023 dann geht er in die nächste Schleife und zählt auch wieder runter.
    Aber Motor fängt direkt an zu drehen, und wird mit steigendem I-Wert langsamer, dann beim Schleifenwechsel kommt ein kleiner Ruck, und dann gehts andersrum - mit sinkendem I-Wert wird der Motr wieder schneller. Dann kommt der Beep, wo eigentlich der Motor wenigstens aufhören müsste zu drehen.

    Ich habe kurzer Hand ein Print in jeder Schleife eingebaut, und eines nach beenden des runterzählens.

    Mache ich was falsch? Wurde der Testcode vielleicht zwischenzeitlich abgeändert?
    Anscheinend wird das PWM nicht richtig ausgegeben, bzw benutze ich es falsch.

    Ausschnitt des Originalcode (nur mit eingebautem Print):

    Code:
    ' Für Motorentest
    'Ports für linken Motor
    Config Pinc.6 = Output                       'Linker Motor Kanal 1
    Config Pinc.7 = Output                       'Linker Motor Kanal 2
    Config Pind.4 = Output                       'Linker Motor PWM
    'Ports für rechten Motor
    Config Pinb.0 = Output                       'Rechter Motor Kanal 1
    Config Pinb.1 = Output                       'Rechter Motor Kanal 2
    Config Pind.5 = Output                       'Rechter Motor PWM
    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down
    Pwm1a = 0
    Pwm1b = 0
    Tccr1b = Tccr1b Or &H02                      'Prescaler = 8
    Code:
    'Testet Motoren und Geschwindigkeitsreglung
    Sub Motortest()
       'Linker Motor ein
       Portc.6 = 1                          'bestimmt Richtung
       Portc.7 = 0                          'bestimmt Richtung
       Portd.4 = 1                          'Linker Motor EIN
    
       'Rechter Motor ein
       Portb.0 = 1                          'bestimmt Richtung rechter Motor
       Portb.1 = 0                          'bestimmt Richtung rechter Motor
       Portd.5 = 1                          'rechter Motor EIN
    
    
       I = 0
       Do
          Pwm1a = I
          Pwm1b = I
          Waitms 40
          I = I + 5
          Print I
       Loop Until I > 1023
    
       Wait 3
       Do
          Pwm1a = I
          Pwm1b = I
          Waitms 40
          I = I - 5
          Print I
       Loop Until I < 1
       Print "fertig"
       Pwm1a = 0                                                'Linker Motor aus
       Pwm1b = 0                                                'rechter Motor aus
       Wait 3
    End Sub
    - - - Aktualisiert - - -

    Einen L293D hat es nun schon gekostet...ich fürchte an der Platine hat schon jemand rumgelötet.
    Um überhaupt erstmal den ISP nutzbar zu machen musste ich drei schlecht bis garnicht verlötete Kontakte am ISP-Stecker (nach)löten und den Kondensator C11.
    Der Kondensator C10 auf der Rückseite der Platine wurde wohl auch schon mal getauscht oder wenigstens nachgelötet.

    Ich habe jetzt einen kleineren Motor gewählt, der die Leistung des (neuen) L293 nicht überstapaziert.

    Das Problem mit dem PWM bleibt aber bestehen.
    Geändert von HeXPloreR (11.11.2012 um 10:20 Uhr)

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von HeXPloreR
    Registriert seit
    08.07.2008
    Ort
    Bad Bramstedt
    Alter
    45
    Beiträge
    1.369
    Nun habe ich den Code angepasst das der Motor beschleunigt und wieder langsamer wird.

    Pwm1a und Pwm1b, am Ende der Motorsub, habe ich als Ursache dafür identifiziert das der Motor nachdem er runtergefahren ist wieder mit (anscheinend) vollem Pwm anfährt und vorallem auch an bleibt - obwohl die Sub schon verlassen wurde und das Programm wieder in der Tasterabfrage ist.
    Dazu habe ich das Lauflicht auf die ersten 6 Ports reduziert, damit der Motor nicht mit anläuft wenn das Lauflicht auf PortC 6 und 7 stehen würde.

    Code:
       I = 1020
       Do
          Print I
          Pwm1a = I
          Pwm1b = I
          Waitms 40
          I = I - 5    
       Loop Until I < 5
    
       Print "wait 3"
       Wait 3
    
       Do
          Print I
          Pwm1a = I
          Pwm1b = I
          Waitms 40
          I = I + 5   
       Loop Until I > 1015
    
       Print I
       Print "fertig"
       Wait 3
       'Pwm1a = 0                                                'Linker Motor aus
       'Pwm1b = 0                                                'rechter Motor aus
       I = 0
       Print "nochmal fertig"
       Wait 3
    End Sub
    Kann jemand dazu noch was sagen?
    Vielleicht hat jemand noch einen Tipp warum der µC so reagiert beim Pwm?
    Geändert von HeXPloreR (11.11.2012 um 11:42 Uhr)

Ähnliche Themen

  1. DC Motor mit PIC ansteuern
    Von matzex im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 05.11.2008, 21:17
  2. Antworten: 0
    Letzter Beitrag: 15.03.2008, 18:28
  3. Motor ansteuern
    Von Elektronik303 im Forum Motoren
    Antworten: 10
    Letzter Beitrag: 07.05.2007, 15:49
  4. Motor mit 24V/10A ansteuern?
    Von UlrichC im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 07.12.2005, 19:31
  5. Motor mit PWM ansteuern.
    Von im Forum AVR Hardwarethemen
    Antworten: 8
    Letzter Beitrag: 11.08.2004, 19:08

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress