Microcontroller Notebook

Pages

Thursday, November 8, 2012

Project Objective: To design a PID temperature controller using the Arduino and apply it to Sous Vide.

Introduction: This all started as a project to control beer brewing which is still in the works. In order to get there, there are a series of projects which can be used to break the problem down into workable pieces. Basically, brewing beer requires heating liquids contained in kettles and then moving the liquid from kettle to kettle. So what is needed is a way to heat the liquid to a controlled temperature and then turning pumps on and off. So what do we need:

Kettles with heaters, fittings and pumps.

An electronic controller with PID capabilities.

A single kettle version of this is what is need for a Sous Vide system including a small pump to keep the temperature of the water, uniform.

Interesting Links: Before we get started here are some useful links on this subject.

Lower East Kitchen: On this site you will find a kit for a PID controller design for Sous Vide. Though the controller can be used for any water bath they suggest using a stainless coffee urn available from Amazon for $25.

PID Controller: A Arduino based PID temperature controller has been developed by Brett Beauregard and Rocket Scream Electronics called the osPID. This design was predated by the Reflow Oven Controller Shield available from Rocket ScreamSous Vide Hardware:
To Be Continued: 11/8/12

Thursday, September 20, 2012

Project Objective: In this project we will use the Arduino to emulate the PH
Anderson #117 serial text display minus big numbers. The layout of a piggyback pcb
will complete the project.

Introduction: See
the discussion in the "Controlling a Serial Display" project which
covers several of the serial LCD displays on the market. Most of these products
have a similar command set and the sketch presented here could be modified to
emulate many of these.

Serial LCD displays are available in both text and graphic
versions. This project covers text displays with one to four lines and up to 40
columns. Initially, the displays will be limited to 80 total characters, a
limitation of the Arduino standard LCD library.

Since the serial LCD is a one wire device, all control of the LCD terminal must use command sequences. Here are the commands used in this project:

Except for the ?p### command they are identical to the PH Anderson, #117 chip. The start character for a command sequence is a '?', but this can be easily changed in the sketch, say to a '!'. The sketch below compiles, but some commands are missing.

One of the nice features of the #117 command set is that control can be accomplished using a PC termial program. In fact, using the Arduino IDE to update the code the built in terminal can be opened to test changes.The piggyback pcb can be modified and updated the same way.

Note: As of 10/08/12 the code was updated, as well as the schematic.The schematic changes were made to simplify the piggyback pcb layout. Because of this there were also changes to code. Several additional commands have been added and we will continue to add more.

Schematic Used with Solderless Breadboard:

The schematic above shows the parts which need to be added to the
solderless breadboard for this project. The headers in the schematic are the
the headers on the Arduino board. The piggyback board will require a different
schematic and include the atmega328, as well as, serial interface circuits and
jumpers.

The image below shows the Arduino Serial LCD connected to an
Arduino sending serial data at 9600 baude. The text being sent is
"Temperature" and "76.8" or "77.6", where the
word Temperature is sent once and the numbers sent alternately in the loop section of the sketch. Before
the numbers are sent the cursor is positioned at character column 14. The small
round object is a piezo speaker.

Tuesday, July 3, 2012

Project Objective: The uLab40AVR is designed to be functional similar to the uLab28AVR.

Introduction: This PCB is designed to be a mate to the Daiduino except that it uses the Sanguino pin designations. This will not cause a problem because of the Arduino IDE pin maping. For example, if you connect a LED/resistor to D13 on the uLab40AVR and the Daiduino, then select the appropriate board in the Arduino IDE, the blink sketch will work.

Specifications:

Use of thru hole parts except for regulators

Dual regulators for 5V and 3.3V

Use a breakout boards for serial communication, USB or RS232

Power switch

Use jumpers for selecting power source.

36 pin header for signals and two separate pin sets for powering the SLBB.

Project Objective: To transpose the Arduino to a solderless breadboard plugin.

Introduction: This board has all the features of the GMduino, Arduino clone, shown on another post. The digital and analog pin designations are identical to the GMduino and, therefore, the Duemilanove. In addition, the ATmega328P pin designations are also shown.

Specifications:

Use of thru hole parts except for regulators

Dual regulators for 5V and 3.3V

Use a breakout boards for serial communication, USB or RS232

Power switch

Use jumpers for selecting power source.

25 pin header for signals and two separate pin sets for powering the SLBB.

Project Objective: Design a Arduino clone that is easy to assemble for clubs and beginners

Introduction: With the criteria of ease of assembly, the first problem is the FTDI USB chip which even for the experienced assembler is not an easy mounting task, but the availability of small FTDI breakout boards solves the problem. I am using the BUB II by Modern Devices since they leave the connector for you to assemble which I add underneath the board.. Adafruit has the Friend, but it is pre-assembled with the connector on the top.

The standard 7805 type regulator is real-estate hungry and two will be needed, so surface mount LDO regulators are used. These are three pin devices and mounting is not difficult. Low drop out, LDO, devices are used to limit heat dissipation. In fact, we use a 6V wall power supply which at low current has a 8.5VDC output where a 9V wart is at 12VDC.

The commercial Arduino uses a circuit for switching between external power, wart, and USB which can take up surface space unless smd parts are used. Further, it would be nice if RS232 serial communiction could also be used which means the clone would need to supply power to that breakout. So we opted for jumpers for both power selection and board voltage. In addition a power switch was added for convenience during development and if not wanted can be jumpered out.

Finally, a vertical reset switch is placed at the front of the board as well as the LED's. This means that with a shield mounted on the Arduino the reset button is still accessible and the LED's can be seen.Specifications:

Friday, June 22, 2012

Project Objective: To design an Arduino clone with through hole parts for easy assembly. The clone also includes an on board real time calendar clock with battery backup and an EEPROM. The board should operate at 5V and 3.3V including the RTC.

Specifications:

Arduino clone with stacking connectors

MCU: ATmega328P with Optiboot

Through hole parts, except for regulators

Serial communication using breakout boards

Dual ldo regulators for 5V and 3.3V

Power :input: 6V to 9V wart or USB jumper selectable

Power switch

Auto reset defeat switch

On board I2C, EEPROM and RTC with battery backup.

Vertical reset and ISP at front

Introduction: The project is an outgrowth of the Rainwater Monitoring System , RMS. The original development was done with the uLab28 PIC, then resulting in the Picduino. The RMS is basically a water tank level data logger with LCD display and keyboard.

Thursday, June 14, 2012

Project Objective:
Wouldn't you like to have an Arduino that had 4 times the code capacity, more IO pins and used standard shields, but was only slightly larger? So would I. Further, I would like it to use through hole parts, so that it could be assembled as a kit. By the way, dai is a japanese word that means great or big. So Daiduino is a big Arduino but not a mega Arduino.

Discussion:
I started my Google search, looking at the Sanguino which uses the ATmega644P and has 64k bytes of code space, but soon found the ATmega1284P which has the same pinouts and 128k code space. As a matter of fact the Atmega1284P can be used on the Sanguino pcb. Another interesting item is that there is only 6 cent difference in price. Update: Downloading the Sanguino ZIP file indicated that the ATmega1284P is also included in their design.

Maniacbug site has the most useful data for this project and, in particular, have integrated the ATmega1284P into the Arduino IDE 1.0 environment. So the next step is to determine board size and pin assignments. Since I have already designed a through hole Arduino clone, transfering the power section to the Daiduino will be the first step. That process created a board 3.4" by 2.1".

For pin assignments, there are two designs on the Web to look at, Calunium and Bobuino.. Of the two the Calunium can use a standard shield, but is only USB powered. There is limited information on the Bobuino, but Maniacbug includes it in his zip file.

Specifications:

Same width as the Arduino but longer, 2.1" by 3.5"

Basic set of stacking connectors, UNO

Dual regulators for 3.3V and 5V

Power source: USB or wart

USB interface on a plug in, such as a BUB II

Through hole parts with the exception of the regulators.

LED's, reset switch and ISP at front of the board

Jumpers A4, A5 to I2C for UNO compatibility

Jumper Auto Reset

Note: First version PCB ready for Batchpcb, 06/18/12. Ordered 06/19/12