Measuring cards for a heat recovery system

This article is work in progress.

Moreno, an engineer from Italy working in industrial automation, has designed three boards to acquire temperature, analog and frequency signals and current draw of standard signal sensors. The data is sent via serial port (RS232 or RS485) to a superior system.

Project 1: Collecting filling level data of tanks


This board collects filling levels of tanks. The sensors are connected to 2 external analog / digital converters (ADC) of type MCP3208 from Microchip. They are read from Pinguino via SPI. The averaged result of the conversion is send via serial port (RS232 or RS485) to a WAGO PLC. "Doing this directly with WAGO modules is too expensive", says Moreno. "I have to pay about 720 Euro for 16 channels. And I need a minimum of 30 channels. With PINGUINO I've done it for just 60 Euro!"

Board: Pinguino32-Micro using PIC32MX440

Features

 * 2 external 12 bit ADC MCP3208
 * Serial port (RS232 / RS485)

Links

 * Announcement in the Pinguino forum

Source
Here's the source code:

Project 2: Measure board and data logger


This is a heat recovery data logger which measures temperature with 4 sensors and the flow rate of water with 2 sensors. With the gathered data the amount of energy recovered will be calculated and the efficiency of the system monitored. The data are shown on the display and stored on SD card. Optionally it can be sent over an RS485 port.

Board: Pinguino32-Micro

Features
The device has:
 * 4 separate temperature channels (DS18B20)
 * 2 isolated counter input for FlowMeters (Int1-Int4)
 * 1 isolated digital Input
 * 3 Isolated digital output (Photomos 2,5A ASSR-1611, great device)
 * 1 RS485 port
 * 1 DS1306 SPI RTC (I used an SPI device to avoid the problem with UEXT connector because it is easy do an emulated SPI using standard IO). In this manner the UEXT port is free and I can use it as an expansion port.
 * 1 4x4 optional keyboard
 * 1 16x2 or 20x4 LCD display (I used lcdlib for 2x16 display and 20x4 display and both work perfectly).

Links

 * HeatMeter PASSED - Project 2

Project 3: Multi channel measure card


This board is applied to a system for collecting hot wastewater in dyehouse plants. With the energy of the wastewater clean water used in the plant is heated. Moreno uses the internal 10 bit ADC of the Pinguino32-Micro with an external voltage reference of 2500 mV (LT1009-2,5). The diodes seen on the image are only used for polarity protection. The 124 ohm resistor on the analog input is sufficient to generate a drop of 2480 mV at a current of 20 mA.

Board: Pinguino32-Micro

Features
This board includes
 * 16 OneWire channels
 * 4 10 bit analog inputs to acquire standard signal inputs (live zero, 4-20 mA)
 * 2 isolated digital inputs (with interrupts)
 * A serial port (RS232 or RS485)

Links

 * Original thread: 16 temp, 4 Analog In, 2 isolated interrupt Board - Project 3

Some other interesting posts related to moreno's projects

 * 18b20.c library improvement
 * My first Pinguino program 16 channel 12 Bit ADC to Serial
 * PINGUINO32 High Resolution Period Meter
 * PINGUINO32 High accuracy 80MHz frequency meter

Some problems occurring during development and the solutions

 * PIC32 Big problems with UART, also damned OERR