This article shows a simple modification to my system to allow remote monitoring
The LM35 is a very useful device, however if it is mounted any distance from the microcontroller, the voltage drop in the cables can introduce errors. 10mV/°C equates to 1mV/0.1°C.
i.e. for every mV lost gives an error of 0.1°C
The following system uses two EB006 programmers linked using the USART on Port C.
However this could easily be replaced by a full RS232 or RS 485 connection.
For the purpose of this version, I have removed the min-max functions and the USB interface.
The remote sensor can use a simpler microcontroller, and I have selected the 16F877A
Remote Board
Uses a PIC 16F877A
Port A (ADC 0) has a LM35 connected
Port B is the standard LCD E-Block
Port C has a 9 pin D-plug wired with pins 7 & 8 crossover to the second programmer, and pins 9 to 9 connected as a ground link.
The LCD shows the temperature in degrees Celsius.
The label on the LCD shows “Local Temperature”.
This is because, although this is designated the remote board, if you are looking at the display it is local to you.
The temperature is sent as a data string using the RS232 protocol.
The software is set to transmit every 5 seconds, though this can be changed if needed.
The display will also show “Tx” in the bottom right when the data is sent, for 100ms
- Remote Board
- Remote.jpg (170.25 KiB) Viewed 22914 times
Local Board
Uses a PIC 18F4550
Port A has the E-Block Card Reader with 2GB SD Card
Port B is my custom 4x20 LCD Board
Port C has a 9 pin D-plug wired with pins 7 & 8 crossover to the second programmer, and pins 9 to 9 connected as a ground link.
Port E (ADC 5) has a LM35 connected
This shows both Local Temperature and Remote Temperature.
Although I have retained the data logging option, the max-min and HyperTerminal connections have been removed in this version.
- Local Board
- Local.jpg (185.12 KiB) Viewed 22914 times
Part 3 will follow soon