eagles007 发表于 2014-3-26 17:13:56

请问用arduino和grbl做的激光雕刻如何控制激光通断呢

如题根据网站上的教程 我的雕刻机基本可以运行了 现在就是如何控制激光通断呢 因为不控制通断的话 画出来的总是多好多线 谢谢了

lanshui777 发表于 2014-3-28 17:00:48

看源代码参数,控制电机对应的是哪根pin

eagles007 发表于 2014-3-30 20:49:51

本帖最后由 eagles007 于 2014-3-30 20:52 编辑

因为只是用了两个轴 用哪个端口控制激光的都没好到呢

这是配置文件
// Serial port pins
#define SERIAL_RX USART_RX_vect
#define SERIAL_UDRE USART_UDRE_vect

// NOTE: All step bit and direction pins must be on the same port.
#define STEPPING_DDR       DDRD
#define STEPPING_PORT      PORTD
#define X_STEP_BIT         2// Uno Digital Pin 2
#define Y_STEP_BIT         3// Uno Digital Pin 3
#define Z_STEP_BIT         4// Uno Digital Pin 4
#define X_DIRECTION_BIT    5// Uno Digital Pin 5
#define Y_DIRECTION_BIT    6// Uno Digital Pin 6
#define Z_DIRECTION_BIT    7// Uno Digital Pin 7
#define STEP_MASK ((1<<X_STEP_BIT)|(1<<Y_STEP_BIT)|(1<<Z_STEP_BIT)) // All step bits
#define DIRECTION_MASK ((1<<X_DIRECTION_BIT)|(1<<Y_DIRECTION_BIT)|(1<<Z_DIRECTION_BIT)) // All direction bits
#define STEPPING_MASK (STEP_MASK | DIRECTION_MASK) // All stepping-related bits (step/direction)

#define STEPPERS_DISABLE_DDR    DDRB
#define STEPPERS_DISABLE_PORT   PORTB
#define STEPPERS_DISABLE_BIT    0// Uno Digital Pin 8
#define STEPPERS_DISABLE_MASK (1<<STEPPERS_DISABLE_BIT)

// NOTE: All limit bit pins must be on the same port
#define LIMIT_DDR       DDRB
#define LIMIT_PIN       PINB
#define LIMIT_PORT      PORTB
#define X_LIMIT_BIT   1// Uno Digital Pin 9
#define Y_LIMIT_BIT   2// Uno Digital Pin 10
#define Z_LIMIT_BIT   3// Uno Digital Pin 11
#define LIMIT_INT       PCIE0// Pin change interrupt enable pin
#define LIMIT_INT_vectPCINT0_vect
#define LIMIT_PCMSK   PCMSK0 // Pin change interrupt register
#define LIMIT_MASK ((1<<X_LIMIT_BIT)|(1<<Y_LIMIT_BIT)|(1<<Z_LIMIT_BIT)) // All limit bits

#define SPINDLE_ENABLE_DDR   DDRB
#define SPINDLE_ENABLE_PORTPORTB
#define SPINDLE_ENABLE_BIT   4// Uno Digital Pin 12

#define SPINDLE_DIRECTION_DDR   DDRB
#define SPINDLE_DIRECTION_PORTPORTB
#define SPINDLE_DIRECTION_BIT   5// Uno Digital Pin 13 (NOTE: D13 can't be pulled-high input due to LED.)

#define COOLANT_FLOOD_DDR   DDRC
#define COOLANT_FLOOD_PORTPORTC
#define COOLANT_FLOOD_BIT   3// Uno Analog Pin 3

// NOTE: Uno analog pins 4 and 5 are reserved for an i2c interface, and may be installed at
// a later date if flash and memory space allows.
// #define ENABLE_M7// Mist coolant disabled by default. Uncomment to enable.
#ifdef ENABLE_M7
    #define COOLANT_MIST_DDR   DDRC
    #define COOLANT_MIST_PORTPORTC
    #define COOLANT_MIST_BIT   4 // Uno Analog Pin 4
#endif

// NOTE: All pinouts pins must be on the same port
#define PINOUT_DDR       DDRC
#define PINOUT_PIN       PINC
#define PINOUT_PORT      PORTC
#define PIN_RESET      0// Uno Analog Pin 0
#define PIN_FEED_HOLD    1// Uno Analog Pin 1
#define PIN_CYCLE_START2// Uno Analog Pin 2
#define PINOUT_INT       PCIE1// Pin change interrupt enable pin
#define PINOUT_INT_vectPCINT1_vect
#define PINOUT_PCMSK   PCMSK1 // Pin change interrupt register
#define PINOUT_MASK ((1<<PIN_RESET)|(1<<PIN_FEED_HOLD)|(1<<PIN_CYCLE_START))

eagles007 发表于 2014-3-31 17:20:33

#define SPINDLE_ENABLE_BIT   4// Uno Digital Pin 12

找到了
页: [1]
查看完整版本: 请问用arduino和grbl做的激光雕刻如何控制激光通断呢