I am wondering if anybody has tested the TC4 thermocouple shield with the Maple, or ported its thermocouple libraries?
The TC4 is a 4-channel thermocouple logger with sufficiently accurate digitising of thermocouples to produce highly sensitive rate-of-rise plots. It can control outputs such as heaters, DC fans, AC fans and motors etc using PWM signals on Arduino pins 9, 3 and 11 (and also in its later versions using a phase angle signal on pin 10) via solid state relays or transistors, optoisolators etc. It was designed to control coffee roasting machines, but can also be used for controlling other types of temperature-based equipment, or simply as a very accurate temperature logger, PID etc. It is also often used for controlling espresso machines.
For the Arduino it has libraries for K-type, J-type and T-type thermocouples, and a library for the ADC on the shield, 16 bit PWM etc. The libraries are here:
The majority of TC4 users also use a specially developed LCD adaptor and button interface attached via I2C, details here:
http://code.google.com/p/tc4-shield/source/browse/#svn%2Fhardware%2FLCDapter
Can anyone advise me on the likely compatibility of this shield to Maple? As I see it the most important issues are the use of Arduino timers and PWM on pins 3 and 9, as the TC4 uses a custom PWM library that addresses the timers 1 and 2 on the ATMega directly.
I assume that by using I2C port 2 instead of I2C port 1 we wouldn't get into conflict with port 1's use of D9.
Bhante
A few other hardware notes on the TC4 shield:
Two pots can be attached to the analog ports 0 and 1 as a voltage divider to control the PWM output on pins D9 (OT1) and D3 (IO3); D9 is configured as 16 bit PWM to give a long duty cycle PWM (64 Hz to 4 seconds) suitable for controlling heaters (via relay or SSR). D3 is configured as 8 bit PWM to give a low power 8 bit PWM via a transistor suitable for controlling a DC fan. An additional output OT2 is available on pin 10, but its use has changed across different versions of the shield (early version: alternative 16 bit PWM but not implemented in the code; later versions: phase angle control via an external interface board).
The early shield versions had a standard LCD parallel interface in addition to the I2C LCD interface, but the parallel interface was dropped in later versions because most people used the I2C LCD with 4 built-in buttons.
The 4 thermocouples are connected to an MCP3424 ADC on the shield on the I2C bus, and therefore do not use the Arduino ADC which has inadequate resolution.
There is also a JeePort interface connected to D3, D6 and A2, but that is not widely used. Later versions also have an additional output IO2 on D2, but that is not essential to the board's operation.
The software uses extensive timing using T0, and therefore this is not used for any of the PWM signals. A4 and A5 are of course used for the I2C interface.
The TC4 has a small 24C512 EEPROM used usually only for configuration data; for logging purposes data is sent out on the serial port. Some users have added bluetooth and control a coffee roaster or espresso machine from a smartphone.