-         
Ergebnis 1 bis 3 von 3

Thema: GRBL cpu_map.h PWM Pin tauschen

  1. #1

    Blinzeln GRBL cpu_map.h PWM Pin tauschen

    Anzeige

    Hallo zusammen,

    vielleicht kann mir jemand helfen!?

    ich würde gerne in der cpu_map.h den Ausgangspin für den PWM von MEGA2560 Pin 7 auf Pin 9 wechsel.
    Aber irgendwie will das PWM Signal nicht ankommen.

    bzw. es liegen beim einschalten immer gleich 5V an.

    Den Code hab ich so weit geändert.

    // Advanced Configuration Below You should not need to touch these variables
    // Set Timer up to use TIMER4B which is attached to Digital Pin 7
    #define SPINDLE_PWM_MAX_VALUE 1024.0 // Translates to about 1.9 kHz PWM frequency at 1/8 prescaler
    #ifndef SPINDLE_PWM_MIN_VALUE
    #define SPINDLE_PWM_MIN_VALUE 1 // Must be greater than zero.
    #endif
    #define SPINDLE_PWM_OFF_VALUE 0
    #define SPINDLE_PWM_RANGE (SPINDLE_PWM_MAX_VALUE-SPINDLE_PWM_MIN_VALUE)
    #define SPINDLE_TCCRA_REGISTER TCCR2A
    #define SPINDLE_TCCRB_REGISTER TCCR2B
    #define SPINDLE_OCR_REGISTER OCR2B
    #define SPINDLE_COMB_BIT COM2B1

    // 1/8 Prescaler, 16-bit Fast PWM mode
    #define SPINDLE_TCCRA_INIT_MASK ((1<<WGM40) | (1<<WGM41))
    #define SPINDLE_TCCRB_INIT_MASK ((1<<WGM42) | (1<<WGM43) | (1<<CS41))
    #define SPINDLE_OCRA_REGISTER OCR2A // 16-bit Fast PWM mode requires top reset value stored here.
    #define SPINDLE_OCRA_TOP_VALUE 0x0400 // PWM counter reset value. Should be the same as PWM_MAX_VALUE in hex.


    // Define spindle output pins.
    #define SPINDLE_PWM_DDR DDRH
    #define SPINDLE_PWM_PORT PORTH
    #define SPINDLE_PWM_BIT 6 // MEGA2560 Digital Pin 9


    was stimmt da nicht.

    MfG
    Stefan

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von Moppi
    Registriert seit
    18.03.2018
    Beiträge
    1.378
    Blog-Einträge
    7
    Hallo,

    ich mach mal einen Anfang.

    3,5,6,9,10,11 sind offenbar die Digital-Pins, die für PWM genutzt werden können.
    Wieso Pin 7 ?

    für Pin 9:

    pinMode(9,OUTPUT); //Pin 9 als Ausgang
    analogWrite(9,value); //PWM Signal auf Pin 9




    MfG

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    31
    Beiträge
    4.823
    Pin 9 ist mit dem Atmega Pin 18 verbunden, das ist OC2B. OC2B gehört zum Timer 2. Mir fallen einige Dinge auf.

    1) Timer 4 hat 16bit und Timer 2 nur 8bit. Beim 1ten Define steht "1024.0" könnte es sein das diese Zahl geändert werden muss? Eventuell auf "256.0"
    2) nach den ersten Defines stehen defines mit den Zahlen im 40er Bereich (WGM40, WGM41,....). Beim Timer 2 sind diese Zahlen im 20er Bereich (die erste Ziffer gibt den Timer an).
    3) Zusätzlich solltest du das Datenblatt des Atmegas genau lesen (z.B. gibt es bei Timer 4 4 "WGM" Bits, bei Timer 2 sind es nur 3 (WGM20 - WGM22).

    MfG Hannes

Ähnliche Themen

  1. Grbl Frontend SerialComCNC
    Von malthy im Forum Mechanik
    Antworten: 23
    Letzter Beitrag: 26.07.2016, 08:57
  2. Arduino mit GRBL CNC-Shield
    Von hardyy im Forum Arduino -Plattform
    Antworten: 18
    Letzter Beitrag: 11.02.2016, 17:46
  3. Grbl + Nema23
    Von SoulRaiZor im Forum Motoren
    Antworten: 3
    Letzter Beitrag: 31.07.2015, 10:46
  4. CAD Proxxon MF70 CNC GRBL CAM
    Von Ripper121 im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 3
    Letzter Beitrag: 05.12.2014, 17:56
  5. GRBL H-Bridge Mod !
    Von robinvasseur im Forum Open Source Software Projekte
    Antworten: 7
    Letzter Beitrag: 29.12.2013, 15:22

Berechtigungen

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