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

Thema: MIT PIC16F873 2 Getriebemotore ansteuern???

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.01.2005
    Beiträge
    103

    MIT PIC16F873 2 Getriebemotore ansteuern???

    hallo! kann mir bitte wer sagen wie ich 2 getriebemotore (RB35) mit den 2 PWM ausgängen des PICs ansteuern kann? ich hab keine ahnung wie das programm dazu ausschauen soll!! welche Befehle soll ich da verwenden?? ich wäre sehr dankbar für TIPPS und Ratschläge!! DANKE

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.10.2004
    Ort
    Nordschwarzwald
    Alter
    41
    Beiträge
    506
    1.) Programmierst du in Assembler oder in C?
    2.) Findest du im Datenblatt ab Seite 59 alles recht genau erklärt:
    Du hast zwei PWMs. Jede hat ein Control-Register (CCP1CON und CCP2CON). Um die PWM zu aktivieren musst du ins CCP?CON-Register folgenden Wert schreiben: 00xx1100, wobei die x für die zwei LSBs deines Duty-Cycle-Wertes stehen. Vorher beschreibst du noch das CCPR?L-Register mit den 8 MSBs deines Duty-Cycles und das wars eigentlich schon. Der Pin muss natürlich als Ausgang deklariert sein...
    Dein Timing stellst du vorher über das Timer2-Controll-Register ein.

    Der ganze Ablauf, und was du wann machen sollst, steht auf Seite 64 im Datenblatt beschrieben. Einfach nachlesen...

    MfG
    Stefan

    PS: ich geh jetzt einfach mal davon aus, dass du die Motoren nicht direkt an den Portpin gehängt hast, sondern dafür ne H-Brücke verwendest...

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    06.01.2005
    Beiträge
    103
    DANKE du hast mir sehr geholfen!! ich programiere in assembler!!!! aber könntest du mir vielleicht das mit dem LSBs ...duty cycle etwas genauer erklären?? mfg

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    15.10.2004
    Ort
    Nordschwarzwald
    Alter
    41
    Beiträge
    506
    LSB = Least Significant Bit = niederwertigste Bits...
    Beispiel:
    1101 (=13) das LSB ist der 1er ganz am rechten Rand... Es wirkt sich am wenigsten auf die Gesamtzahl aus.

    Im Gegensatz dazu: das MSB (= Most Significant Bit).

    d.h. wenn dir für deine PWM 8 Bit Auflösung reichen, kannst du die beiden LSBs einfach ignorieren.


    duty cylce = Tastverhältnis: gibt den Quotienten aus High-Zeit und Low-Zeit an.
    Beispiel (Die eckigen Klamern geben die einzelnen Perioden an):
    [HHHLLL][HHHLLL][HHHLLL] -> 50%
    [LLLLLL][LLLLLL][LLLLLL] -> 0%
    [HHHHHH][HHHHHH][HHHHHH] -> 100%
    [HHLLLL][HHLLLL][HHLLLL] -> 33%

    Wenn du schönere Bilder suchst, dann frag einfach mal google...

    MfG
    Stefan

  5. #5
    Gast
    ehm: nur ne anmerkung, falls es dir niht bewusst sein sollte (wovon ich nicht ausgehe): nicht die motoren direkt an die pins hängen!

Berechtigungen

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

12V Akku bauen