- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 5 von 5

Thema: Motorsteuerung H-Brücke L293 und PWM von einem ATTiny2313

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Beiträge
    274

    Motorsteuerung H-Brücke L293 und PWM von einem ATTiny2313

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,
    Frohe Weihnachten erstmal!


    ich bekomms nicht gebacken :

    Code:
    $regfile = "2313def.dat"                                    'AT90S2313
    $crystal = 2000000                                          'Quarz 8MHz
    
    Ddrb.0 = 1
    Motor1v Alias Portb.0
    Enable Interrupts
    
    Dim I As Integer
    
    Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up
    
    'Config Pind.5 = Output
    
    'to set the PWM registers, just assign a value to the compare A and B registers
    Compare1a = 128
    'Compare1b = 200
    
    
    
    Reset Motor1v
    I = 0
    
    Do
    'Or for better reading :
    Pwm1a = I
    'Pwm1b = 200
    
    Incr I
    Waitms 100
    Loop
    
    End
    Ich hab schon einiges versucht den Motor den Speed zu regeln, aber er dreht immer gleich schnell.

    Habe als Anschaltung das Beispiel im RN-Wissen.Archiv genommen.

    Beide enabled an PD.5 (PWM)
    Motor 1 A = PB.0
    Motor 1 B = PB.1
    Motor 2 A = PB.2
    Motor 2 B = PB.3

    Der Incr I hab ich mal eingebuat um zu schaun ob die Drehzahlregelung läuft ! Aber der Motor dreht immer gleich schnell

    Wo hab ich den Fehler

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,
    normalerweise sollte sich der Motor in diesem Fall gar nicht drehen !

    Du musst alle beteiligten Ports auf output stellen, auch die PWM ausgänge,
    um eine Drehrichtung einzustellen, muss mind. ein Port auf 1 sein,
    bei Reset wird der Port auf 0 gesetzt, also sind in deinem Programm beide Seiten auf 0, deshalb sollte der Motor stehen.
    Das er sich trotzdem dreht, kann sein, weil die Ausgänge auf eingang gestellt sind.

    Probier mal beim PWM einstellen Clear Down anzugeben, sonst muss man immer rückwärts rechnen mit den Werten relativ zur Geschwindigkeit.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    25.02.2005
    Beiträge
    175
    Hi Alex,

    das dürfte Deine konstante Geschwindigkeit sein, Compare1b hast Du ja auskommentiert:

    Compare1a = 128

    Versuch mal, einen anderen Wert ins Compare1a-Register schreiben, ob sich dann was ändert.

    Viele Grüße

    Torsten

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Beiträge
    274
    Hi,

    ich hab mehrere verschidene werte versucht! ist beidesmal gleich!

    Ich hab nun versucht selber ein pwm zu erzeugen

    Code:
    Set Pwmout
    Waitms I
    Reset Pwmout
    J = 255 - I
    Waitms J
    Mit I gebe ich den PWM-Speed von 0 bis 255 vor! Nun klappt alles wie ich es brauch!

    Die Steuerung mit dem 2313 wird von einem anderen AVR später über RS232 gesteuert. Habe also alles für den speed frei!

    Ärgerlich ist es aber trotzdem das die Hardware-PWM nicht läuft!

    Grüße
    Alex

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    26.07.2004
    Beiträge
    274
    Hi,

    ich hab mehrere verschidene werte versucht! ist beidesmal gleich!

    Ich hab nun versucht selber ein pwm zu erzeugen

    Code:
    Set Pwmout
    Waitms I
    Reset Pwmout
    J = 255 - I
    Waitms J
    Mit I gebe ich den PWM-Speed von 0 bis 255 vor! Nun klappt alles wie ich es brauch!

    Die Steuerung mit dem 2313 wird von einem anderen AVR später über RS232 gesteuert. Habe also alles für den speed frei!

    Ärgerlich ist es aber trotzdem das die Hardware-PWM nicht läuft!

    Grüße
    Alex

Berechtigungen

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

12V Akku bauen