|
FAN/Cooler control & Azteeg X3 March 12, 2014 09:08PM |
Registered: 12 years ago Posts: 5 |
|
Re: FAN/Cooler control & Azteeg X3 March 13, 2014 02:02AM |
Registered: 13 years ago Posts: 739 |
|
Re: FAN/Cooler control & Azteeg X3 March 13, 2014 09:28PM |
Registered: 12 years ago Posts: 5 |
#define NUM_EXTRUDER 1 #define MOTHERBOARD 34 #include "pins.h"
<... snip! ...> /**************************************************************************************** * Arduino Mega pin assignment * ****************************************************************************************/ #if MOTHERBOARD == 33 #define MOTHERBOARD 3 #define RAMPS_V_1_3 #elif MOTHERBOARD == 34 #define MOTHERBOARD 3 #define RAMPS_V_1_3 #define AZTEEG_X3 #endif
// pins.h cont'd #ifdef RAMPS_V_1_3 #define LED_PIN 13 #define ORIG_FAN_PIN 9 #define PS_ON_PIN 12 <... snip! ..> #ifdef AZTEEG_X3 <... snip! ...> #define ORIG_FAN_PIN 4 #define ORIG_FAN2_PIN 5 #define LIGHT_PIN 6 #define BEEPER_PIN 33 // Activate beeper on extension shield #define BEEPER_TYPE 1
#define FAN_PIN ORIG_FAN2_PIN #define FAN_BOARD_PIN 6 <... some parts removed ...> #define EXT0_EXTRUDER_COOLER_PIN ORIG_FAN_PIN #define EXT0_EXTRUDER_COOLER_SPEED 255 <.. snip! ...> #define FEATURE_FAN_CONTROL 1
/**
This timer is called 3906 timer per second. It is used to update pwm values for heater and some other frequent jobs.
*/
ISR(PWM_TIMER_VECTOR)
{
static uint8_t pwm_count = 0;
static uint8_t pwm_count_heater = 0;
static uint8_t pwm_pos_set[NUM_EXTRUDER+3];
static uint8_t pwm_cooler_pos_set[NUM_EXTRUDER];
PWM_OCR += 64;
<.. snip! ..>
#if FAN_BOARD_PIN >- 1
if((pwm_pos_set[NUM_EXTRUDER+1] = pwm_pos[NUM_EXTRUDER+1])>0) WRITE(FAN_BOARD_PIN,1);
#endif
#if FAN_PIN>-1 && FEATURE_FAN_CONTROL
if((pwm_pos_set[NUM_EXTRUDER+2] = pwm_pos[NUM_EXTRUDER+2])>0) WRITE(FAN_PIN,1);
<..snip!..>
#if FAN_BOARD_PIN>-1
if(pwm_pos_set[NUM_EXTRUDER+1] == pwm_count && pwm_pos_set[NUM_EXTRUDER+1]!=255) WRITE(FAN_BOARD_PIN,0);
#endif
#if FAN_PIN>-1 && FEATURE_FAN_CONTROL
if(pwm_pos_set[NUM_EXTRUDER+2] == pwm_count && pwm_pos_set[NUM_EXTRUDER+2]!=255) WRITE(FAN_PIN,0);
#endif