Ich würde gerne einen 4-20mA Temeperatursensor am Radds via adc nutzen.
Die 4-20mA kann ich ja über einen 150 Ohm Widerstand zu einem 0,6 - 3V Signal umformen.
Der Sensor hat einen Temperaturbereich von 0-250°C.
Jetzt bin ich mir noch etwas unsicher wie das ganze in die Firmware (Repetier) einzubinden ist.
Bin in der Extruder.cpp schon mal hierdrauf gestoßen:
#if ANALOG_INPUTS > 0
const uint8 osAnalogInputChannels[] PROGMEM = ANALOG_INPUT_CHANNELS;
volatile uint osAnalogInputValues[ANALOG_INPUTS];
#endif
Daher müsste ich ja mit
currentTemperature = (osAnalogInputValues[sensorPin] >> (ANALOG_REDUCE_BITS));
Die Werte am adc abgreifen können.
Die 0,6V hätte ich hierbei als Offset gedacht, dass 0 auch 0 ist.
currentTemperatureC = ((float)currentTemperature * 600.0f / (1024 << (2 - ANALOG_REDUCE_BITS))) - 120.0f;
Denke ich das richtig als Aufteilung in 5mV Schritte, oder mache ich hier einen Fehler?
Grüße