Wallacoloo / printipi

3d printing directly through the Raspberry Pi's GPIO pins
MIT License
141 stars 43 forks source link

disable termistore reading #94

Closed mohamedamineamdouni closed 7 years ago

mohamedamineamdouni commented 8 years ago

hello how to disable thermistor reading !

Wallacoloo commented 8 years ago

I don't think I understand your question. Why, and under what conditions, do you want to avoid reading the thermistor?

By design, a thermistor is always associated with a hotend. So you cannot disable the thermistor without also disabling the hotend. This is a safety measure, as dumping power into a heating block without having a temperature reading/feedback system is not smart.

However, you can disable both the hotend and the thermistor by editing your config file. For example, you could remove the hotend/thermistor from the firepickdelta machine by making the following change to lines 591-617 of https://github.com/Wallacoloo/printipi/blob/master/src/machines/rpi/firepickdelta.h:

inline std::tuple<Fan, TempControl<RCThermistor2Pin, PID, LowPassFilter> > getIoDrivers() const {
            return std::make_tuple(
                Fan(IoPin(PIN_FAN_INVERSIONS, PIN_FAN, PIN_FAN_PULL), PIN_FAN_DEFAULT_STATE, FAN_PWM_MULTIPLIER, FAN_IDEAL_PWM_PERIOD),
                TempControl<RCThermistor2Pin, PID, LowPassFilter>(
                    iodrv::HotendType,
                    IoPin(PIN_HOTEND_INVERSIONS, PIN_HOTEND), 
                    RCThermistor2Pin(
                        IoPin(NO_INVERSIONS, PIN_THERMISTOR),
                        IoPin(NO_INVERSIONS, PIN_THERMISTOR_CHARGE),
                        THERM_RCHARGE_OHMS, 
                        THERM_RSERIES_OHMS,
                        THERM_RUP_OHMS,
                        THERM_C_FARADS, 
                        VCC_V, 
                        THERM_V_TOGGLE_V, 
                        THERM_T0_C, 
                        THERM_R0_OHMS, 
                        THERM_BETA), 
                    PID(HOTEND_PID_P, HOTEND_PID_I, HOTEND_PID_D), 
                    LowPassFilter(3.000),
                    HOTEND_IDEAL_PWM_PERIOD
                )
);
}

to

inline std::tuple<Fan> getIoDrivers() const {
            return std::make_tuple(
                Fan(IoPin(PIN_FAN_INVERSIONS, PIN_FAN, PIN_FAN_PULL), PIN_FAN_DEFAULT_STATE, FAN_PWM_MULTIPLIER, FAN_IDEAL_PWM_PERIOD)
);
}

But I doubt this is what you want to do, as you obviously cannot print anything without a hotend. Please clarify your problem.