-         

Ergebnis 1 bis 6 von 6

Thema: Welcher Pin für PWM Signal?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.09.2009
    Beiträge
    164

    Welcher Pin für PWM Signal?

    Anzeige

    Hallo zusammen,

    ich habe ein RN-Mega2560 http://www.robotikhardware.de/download/rnmega2560.pdf und möchte damit den Motortreiber 18V15 http://www.robotikhardware.de/downlo...eiber18V15.pdf steuern. Ich finde in der Doku vom RN-Mega2560 aber nicht welchen Pin ich für ein PWM Signal nutzen kann. In der Doku steht was von vier 8 Bit PWM Kanäle und zwölf PWM Kanäle (programmierbar 2 bis 16 Bit). Sagt mir aber nichts. Welche Pins kann ich nutzen?

    Vielen Dank für die Hilfe.

    Grüße

    datatom

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Das was Du suchst dürften die OCxx Pins sein.
    OC0 ist ein Output Comparematch Ausgang des Timers 0.
    OC1A ist der erste Output Comparematch des Timers 1.
    OC1B ist der zweite Output Comparematch des Timers 1.
    usw.
    An diesen Pin's kann man das Hardware PWM abgreifen.

    Ob der Timer maximal 8 oder 16 Bit Auflösung hat kannst Du im Datenblatt nachlesen.
    Die 16 Bit Timer kann man in bestimmten PWM Modi auf geringere Auflösung, z.B. 12Bit zurückschalten.
    Ein Timer kann nur eine PWM Frequenz erzeugen, aber mit verschiedenen Comparematchwerten verschiedene Impulsbreiten auf seinen Ausgängen.

    Guck Dir die entsprechenden Rubriken / Registerbeschreibungen des entsprechenden Timers an!

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.09.2009
    Beiträge
    164
    Ok, danke. Welcher Timer 8 Bit bzw. 16 Bit hat, habe ich im Datenblatt gefunden. Mir fällt allerdings kein Beispiel ein, wann ich den 8 Bit Timer bzw. den 16 Bit Timer verwenden soll. Kann mir jemand ein Beispiel nennen?

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    27
    Beiträge
    3.517
    Blog-Einträge
    9
    Das kommt drauf an was für Zeiten du erreichen willst. Ein 16-Bit Timer kann (dadurch das er ein 16-Bit Timerregister hat) weiter zählen und braucht dem entsprechend länger um einen Überlauf zu bekommen als ein 8-Bit Timer.
    Für eine Pause von 1 Sekunde nimmst du z.B. einen 16-Bit Timer bei 16MHz. Für kurze Pausen (im ms Bereich) reicht der 8-Bit Timer. Du kannst aber den 8-Bit Timer durch eine Zählerschleife erweitern, sodass du damit auch längere Pausen erzeugen kannst.
    Bei der PWM ist das ähnlich. Wenn du ein 16-Bit PWM-Register hast, kannst du die PWM viel feiner einstellen als mit 8 Bit.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    1.892
    Ein 16Bit Timer ermöglicht eine höhere Auflösung der PWM Schritte ( 65536 ), das bedeutet die Schritte sind feiner.
    Ein 8 Bit Timer macht nur 256 Schritte ist also gröber.

    Haben beide die gleiche Taktquelle wird die Ausgabefrequenz des 8 Bit Timers um den Faktor 256 über der des 16 Bit Timers liegen.

    Es kommt also drauf an, was Du willst. Höhere Auflösung oder höhere PWM Wiederholfrequenz.

    Die 10, 12 und 14 Bit Stufen sind dann mögliche Kompromisse aus den beiden Extremen.

    Bei der PWM Ausgabefrequenz kann man noch mal einen drauf setzen, idem man FAST PWM verwendet, was aber wieder andere Nachteile hat.

    Letztlich entscheidest Du und Deine Anwendung welche PWM Einstellungen Du verwendest.

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    22.09.2009
    Beiträge
    164
    Zitat Zitat von wkrug Beitrag anzeigen
    Es kommt also drauf an, was Du willst. Höhere Auflösung oder höhere PWM Wiederholfrequenz.
    Also, ich möchte einen Motor steuern und habe mich zur Zeit entschieden mit 10 Bit zu arbeiten:
    Code:
    'PWM Testprogram
    
    $regfile = "m2560def.dat"
    $hwstack = 82
    $framesize = 68
    $swstack = 68
    
    
    
    
    $crystal = 16000000                                         'Quarzfrequenz
    
    
    Config Pinc.0 = Output                                      ' Stiftleiste JP 2; Pin 3; PC0
    Motorboard_reset Alias Portc.0
    
    
    Config Pinc.1 = Output                                      ' Stiftleiste JP 2; Pin 4; PC1
    Motorboard_dir Alias Portc.1
    
    
    ' Timer 3 ist ein 16 Bit Timer und kann auch auf 10 Bit gesetzt werden   => Pwm = 10   => 2 hoch 10 = 1024 bzw. 0 bis 1023
    Config Timer3 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 8       ' Stiftleiste JP 1; Pin 5
    
    
    
    
    ' ---------------------------------------------------
    
    
    Dim P As Word
    
    
    
    
    Motorboard_reset = 1                                        ' Stiftleiste JP 2; Pin 3; PC0
    
    
    Enable Timer3
    
    
    Motorboard_dir = 1                                          ' Stiftleiste JP 2; Pin 4; PC1   => gibt die Drehrichtung vor
    
    
    Do
    
    
      Pwm3b = 102                                               ' Motor hat bei 102 90% Leistung        ' Stiftleiste JP 1; Pin 5
    
    
    Loop
    
    
    End
    Der Motor soll die Achse eines Roboters antreiben. Wenn das Programm funktioniert werde ich sehen ob die Drehzahl so in Ordnung ist. Allerdings dreht sich im Moment noch nichts. Ich bin grad unterwegs auf Dienstreise und habe kein LED dabei, sonst könnt ich testen, ob von dem Pin der das PWM-Signal wiedergibt, Strom kommt.

    Eine Frage habe ich allerdings noch: Auf Seite 6 von meiner Motortreiberdoku http://www.robotikhardware.de/downlo...eiber18V15.pdf steht, dass auf beiden Seiten des Boards V+ und GND Anschlüsse sind. Zur Zeit habe ich V+ und GND nur auf der Seite von OUTA und OUTB angeschlossen. Bevor ich das Board zerstöre, frage ich lieber nach: Muss ich die beiden anderen Pins auch mit V+ und GND verbinden?

Ähnliche Themen

  1. In welcher optischen Maus steckt welcher Sensor?
    Von Sacha141 im Forum Sensoren / Sensorik
    Antworten: 10
    Letzter Beitrag: 31.03.2012, 21:48
  2. Antworten: 14
    Letzter Beitrag: 16.09.2008, 18:27
  3. Umwandlung von einem RS232-Signal in ein RJ45-Signal
    Von Einstein2312 im Forum Elektronik
    Antworten: 9
    Letzter Beitrag: 15.09.2007, 17:55
  4. Antworten: 0
    Letzter Beitrag: 04.07.2007, 17:10
  5. [ERLEDIGT] Welcher Antrieb, welcher Akku ?
    Von im Forum Motoren
    Antworten: 1
    Letzter Beitrag: 23.01.2005, 21:45

Berechtigungen

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