<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MachineGrid &#187; micrcontroller</title>
	<atom:link href="http://www.machinegrid.com/tag/micrcontroller/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.machinegrid.com</link>
	<description>robots at work</description>
	<lastBuildDate>Thu, 14 Apr 2011 15:42:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>TI MSP430 Launchpad for $4.30 – Update</title>
		<link>http://www.machinegrid.com/2010/06/ti-msp430-launchpad-for-4-30/</link>
		<comments>http://www.machinegrid.com/2010/06/ti-msp430-launchpad-for-4-30/#comments</comments>
		<pubDate>Wed, 23 Jun 2010 19:03:17 +0000</pubDate>
		<dc:creator>bluehash</dc:creator>
				<category><![CDATA[hacks]]></category>
		<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[arduinio]]></category>
		<category><![CDATA[beginner]]></category>
		<category><![CDATA[breadboard]]></category>
		<category><![CDATA[development kit]]></category>
		<category><![CDATA[DIY]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[hobby]]></category>
		<category><![CDATA[JTAG]]></category>
		<category><![CDATA[launchpad]]></category>
		<category><![CDATA[micrcontroller]]></category>
		<category><![CDATA[MSP430]]></category>
		<category><![CDATA[shields]]></category>
		<category><![CDATA[Texas Instruments]]></category>

		<guid isPermaLink="false">http://www.machinegrid.com/?p=1218</guid>
		<description><![CDATA[<a href="http://www.machinegrid.com/machinepress/wp-content/uploads/2010/06/LaunchPad.png"><img src="http://www.machinegrid.com/machinepress/wp-content/uploads/2010/06/LaunchPad-150x150.png" alt="" title="LaunchPad" width="150" height="150" class="alignleft size-thumbnail wp-image-1219" /></a>TI just launched a cheap and easy to use development tool based on the MSP430 low power microcontroller. The Launchpad includes a development board, 2 programmable MSP430 micrcontrollers and a mini USB cable.
No related posts.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.machinegrid.com/machinepress/wp-content/uploads/2010/06/LaunchPad.png"><img src="http://www.machinegrid.com/machinepress/wp-content/uploads/2010/06/LaunchPad-150x150.png" alt="" title="LaunchPad" width="150" height="150" class="alignleft size-thumbnail wp-image-1219" /></a>TI just launched a cheap and easy to use development tool based on the MSP430 low power microcontroller. The Launchpad includes a development board, 2 programmable MSP430 micrcontrollers and a mini USB cable.</p>
<p>This is a very slick deal for beginners and hobbyists who wish to learn the chip. The<a target="_blank" href="http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_(MSP-EXP430G2)?DCMP=launchpad&#038;HQS=Other+OT+launchpadwiki"> Launchpad wiki</a> is a good place to start. You can order kits by following the clicking the banner on the top of the wiki. You can also order from the <a target="_blank"  href="http://www.ti-estore.com/Merchant2/merchant.mvc?Screen=PROD&#038;Product_Code=MSP-EXP430G2">TI-eStore</a> or <a target="_blank"  href="http://www.mouser.com/ProductDetail/Texas-Instruments/MSP-EXP430G2/?qs=CLImetaeaXWH2pYG%252bA%252b4Vw%3d%3d">Mouser</a>. Shipping is  free from TI!</p>
<p>Update 1(July 02, 2010):<br />
The Makers WorkBench posted details of a <a target="_blank" href="http://themakersworkbench.com/?q=node/394">short Q&#038;A</a> with TI&#8217;s product marketing manager, Adrian Fernandez. He mentions that &#8220;Arduinio type shields&#8221; for the Launchpad are in the works and the $4.30 price is here to stay!</p>
<p>If this deal is helpful, leave a comment below. :)</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.machinegrid.com/2010/06/ti-msp430-launchpad-for-4-30/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PIC16484A Temperature Controller</title>
		<link>http://www.machinegrid.com/2008/12/pic16484a-temperature-controller/</link>
		<comments>http://www.machinegrid.com/2008/12/pic16484a-temperature-controller/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 20:13:55 +0000</pubDate>
		<dc:creator>bluehash</dc:creator>
				<category><![CDATA[Microcontrollers]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[micrcontroller]]></category>
		<category><![CDATA[Microchip]]></category>
		<category><![CDATA[PIC16F84A]]></category>

		<guid isPermaLink="false">http://www.blog.machinegrid.com/?p=300</guid>
		<description><![CDATA[Ever needed to measure temperature and display it? This project details measuring temperature using a temperature sensor ,an ADC and a Microcontroller PIC16f84a with schematics,codes and illustrations. You can also get the following kit, although not based on the pic, which would make your life easier for your future projects. This project was done fairly [...]
No related posts.]]></description>
			<content:encoded><![CDATA[<p><!-- New window script from http://blog.ginchen.de/en/2008/12/20/links-xhtml-konform-in-neuem-fenster-oeffnen/ --><script src="http://www.machinegrid.com/machinepress/jscripts/externalLinks.js" type="text/javascript"></script>Ever needed to measure temperature and display it? This project details measuring temperature using a temperature sensor ,an ADC and a Microcontroller PIC16f84a with schematics,codes and illustrations. You can also get the following kit, although not based on the pic, which would make your life easier for your future projects.<br />
<iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=machinegridco-20&#038;o=1&#038;p=8&#038;l=as1&#038;m=amazon&#038;f=ifr&#038;md=10FE9736YVPPT7A0FBG2&#038;asins=B001VK18HC" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></p>
<p>This project was done fairly long ago, so please excuse the quality of the pictures.<br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/disp_initial.jpg" alt="" width="252" height="188" /></p>
<p><span style="text-decoration: underline;"><em>Overview</em></span><br />
The Temperature control module was a part of my Final year undergraduate project,which consisted of transmitting data wirelessly.<br />
The module uses an inexpensive 8 bit Temperature Sensor the TMP37 from Analog Devices.<br />
Since the data was analog and the PIC16f84 does not have an analog input,an external ADC had to be used.<br />
Texas Instruments&#8217; TLC549 was chosen for this.The advantage of this ADC was that it could communicate with the microcontroller serially.You may also use similar ADCs from  Maxim-IC.<br />
The LCD is a normal 16&#215;2 display which uses the Hitachi Controller HD44780.<br />
The module is breadboarded and not done on a PCB.Schematics are included in appropriate places below.</p>
<p>This site was a great help in building the project.<br />
<a rel="external" href="http://www.technology.niagarac.on.ca/people/mcsele/TemperatureAlarm.htm">Mark S. Csele&#8217;s PIC Temperature Controller Page</a></p>
<p>Capabilities of the system:<br />
-Show Current Temperature,Set temperature and Alarm Display.<br />
-Go into Set Mode.<br />
-Increment/Decrement Set Point.<br />
-Enter Set point.</p>
<p><span style="text-decoration: underline;"><em>Here&#8217;s a snap of the module : </em></span><br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/top.jpg" alt="" width="352" height="288" /></p>
<p>The project is divided into the following subparts:<br />
-The Analog to Digital converter TLC 549 [8 bit]<br />
-The Temperature Sensor TMP37<br />
-The PIC16F84 / PIC16F84a Microcontroller<br />
-Input Buttons<br />
-The Liquid Crystal Display [LCD]<br />
-Temperature Control<br />
-Codes<br />
<em><span style="text-decoration: underline;">Note:</span></em><em>To follow this project you may need to know to program a PIC,there are some helpful links at the bottom of the page if you are not familiar with it.</em></p>
<p><strong>The Analog to Digital converter TLC 549 [8 bit]</strong><br />
<em>Description</em> : The  TLC549 is an analog-to-digital converter (ADC) integrated circuit built around an 8-bit switched-capacitor successive-approximation ADC. This  device is  designed for serial interface with a microprocessor or peripheral.</p>
<p><span style="text-decoration: underline;"><em>Pinouts:</em></span><br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/tlc549pinout.jpg" alt="" width="623" height="173" /><br />
<span style="text-decoration: underline;"><em>Signals:</em></span><br />
The TLC549 has two control lines and one data output line.<br />
They are as follows:<br />
-<em>CS[bar]</em> :: Input signal.The Chip Select signal.When low it selects/activates the chip.When high it disables the chip<br />
-<em>I/O clock</em> :: Input signal.The input/output clock line is used to clock the ADC.<br />
-<em>Data Out</em> :: Output signal.The data out signal clocks out bits into the PIC microcontroller.</p>
<p><em>ADC TLC549 on the circuit : </em><br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/adc549.jpg" alt="" width="352" height="288" /><br />
<span style="text-decoration: underline;"><em>Working:</em></span><br />
Sequence of events:<em>See also datasheet page 8/10</em></p>
<ul>
<li>-CS is brought low The most significant bit (MSB) of the previous conversion result initially appears on DATA OUT when CS goes low.</li>
<li>-The falling edges of the first four I/O CLOCK cycles shift out the second, third, fourth, and fifth most significant bits of the previous conversion result.</li>
<li>-Three more I/O CLOCK cycles are then applied to the I/O CLOCK terminal and the sixth, seventh, and eighth conversion bits are shifted out.</li>
<li>-The final (the eighth) clock cycle is applied to I/O CLOCK. After the eighth I/O CLOCK cycle, CS must go high or the I/O clock must remain low.</li>
</ul>
<p><span style="text-decoration: underline;"><em>Resources:</em></span><br />
Device Manufacturer :: <a rel="external" href="http://www.ti.com">Texas instruments</a><br />
TLC549 Datasheet :: <a rel="external" href="http://www-s.ti.com/sc/ds/tlc549.pdf">pdf</a></p>
<p><strong>The Temperature Sensor TMP37</strong><br />
<em>Description:</em><br />
The  TMP37 is a  low voltage, precision centigrade temperature sensor. It  provides a voltage output<br />
that is linearly proportional to the Celsius (Centigrade) temperature. The TMP37 <em>does not require any external calibration</em> to provide typical accuracies of ±1°C at +25°C and ±2°C over the –40°C to +125°C temperature range. It is intended for applications over the range 5°C to 100°C and provides an output scale factor of 20 mV/°C.<br />
<em>Calculation</em>:<br />
If the Temperature is around 28 Degree Celsius. The TMP37 would be giving out a voltage of around 560mV<br />
[.02*28=0.56V ie 560mV]<br />
<em><span style="text-decoration: underline;">Pinouts</span></em>:<br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/tmp37pinout.jpg" alt="" width="328" height="172" /><br />
<em>Signals/Pins</em><br />
-The Middle Pin [pin2]ie the Vout is directly connected to pin no 2 of the ADC TLC549.<br />
-The rest of the 2 pins are the supply voltage of 5.0V and GND</p>
<p><em>TMP37 on the circuit : </em><br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/tsensor.jpg" alt="" width="352" height="288" /></p>
<p><span style="text-decoration: underline;"><em>Resources:</em></span><br />
Device Manufacturer :: <a rel="external" href="http://www.analog.com">Analog devices</a><br />
TMP37 Datasheet :: <a rel="external" href="http://www.analog.com/UploadedFiles/Data_Sheets/32847740TMP35_6_7_c.pdf">pdf</a></p>
<p><span style="text-decoration: underline;"><strong>The PIC16F84 / PIC16F84a Microcontroller</strong></span><br />
There are two PIC16f84 microcontrollers handling the ADC/Temperature sensor/LCD and the input buttons.<br />
The reason is that there weren&#8217;t enough pins on one PIC to control all the peripherals.So i had to use 2 of them and distribute the peripherals among them and also since I had a bunch of the same model.The two controllers communicate with each other serially.<br />
<em><span style="text-decoration: underline;">Note</span></em> : <em>You may even use the PIC16f877 /A or the PIC17F874 /A microcontrollers from Microchip.They have alot more pinouts and the whole module can be controlled by a single controller.</em><br />
The peripherals are distributed among the two microcontrollers in the following way:</p>
<p>-PIC-1 Handles the ADC TLC549 and Temperature Sensor TMP35<br />
-PIC-2 Handles the LCD and the four Input Switches/Buttons to control the menu on the LCD</p>
<p><em>PIC-1 </em><br />
The first PIC16F84a ie PIC-1 collects data from the ADC and transmits them serially to the second PIC16F84a ie PIC-2.<br />
<em><span style="text-decoration: underline;">The connection between the PIC-1,ADC and Temperature Sensor TMP37 is shown below</span>:</em><br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/pic1thumb.jpg" alt="" width="339" height="177" /><br />
<span style="text-decoration: underline;"><em>PIC-1 with ADC and TLC549 on the circuit : </em></span><br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/pic1.jpg" alt="" width="352" height="221" /></p>
<p><em><span style="text-decoration: underline;">PIC-2</span></em><br />
The PIC-2 handles all the <em>LCD control signals ,the Temperature control and the Input buttons</em><br />
Using the Input Buttons ,you can :<br />
-Go into the Set Temperature Menu<br />
-Increment the Set Point<br />
-Decrement the Set Point<br />
-Enter the Set point</p>
<p><span style="text-decoration: underline;"><em>The connections between the PIC-2 ,the LCD and Input buttons is shown below</em></span>:<br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/pic2thumb.jpg" alt="" width="327" height="188" /></p>
<p><span style="text-decoration: underline;">PIC-2 with the LCD and Input buttons : </span><br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/pic2.jpg" alt="" width="351" height="257" /></p>
<p><span style="text-decoration: underline;"><em>Resources:</em></span></p>
<p>Device Manufacturer     :  <a rel="external" href="http://www.microchip.com">Microchip</a><br />
PIC16F84a Datasheet   :  <a rel="external" href="http://ww1.microchip.com/downloads/en/DeviceDoc/35007b.pdf">pdf</a></p>
<p><strong><span style="text-decoration: underline;">Codes: </span></strong><br />
The code for both the PICs are given at the end of the page.</p>
<p>I&#8217;ve also used subroutines from other programs on the net and the author names are also mentioned in the included codes. Please give them credit and leave the names intact if you are planning to use the codes.</p>
<p><span style="text-decoration: underline;"><strong>The Input Buttons</strong></span><br />
There are four input buttons for controlling the menu on the LCD.<br />
-Button1 : Enter Set Mode<br />
-Button2 : Decrement till released<br />
-Button3 : Increment till released<br />
-Button4 : Enter the desired set point</p>
<p>If the button is not pressed ,the PIC always gets a high.<br />
If the button is pressed, the respective PIC pin goes low.<br />
All the four buttons are connected to PortA of PIC-2</p>
<p><span style="text-decoration: underline;"><em>The input buttons on the circuit:</em></span><br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/inputb.jpg" alt="" width="352" height="288" /></p>
<p><strong><span style="text-decoration: underline;">The Liquid Crystal Display [LCD]:</span></strong><br />
The LCD is a normal 16&#215;2 Line display using the Hitachi controller HD44780. The LCD works in a 4 bit nibble mode,which means that the PIC first sends the lower bits of a byte and then the upper bits.<br />
The connections to the 16&#215;2 LCD are shown above under PIC-2 connections.</p>
<p><span style="text-decoration: underline;"><em>The LCD on the circuit:</em></span><br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/disp_initial.jpg" alt="" width="352" height="288" /><br />
<span style="text-decoration: underline;"><em>References:</em></span><br />
You may learn more about interfacing the LCD using the following links</p>
<p><a rel="external" href="http://roboticsindia.com/modules.php?name=News&amp;file=article&amp;sid=75&amp;mode=&amp;order=0&amp;thold=0">Beginners Guide To LCD Interfacing</a> :: RoboticsIndia.com</p>
<p><a rel="external" href="http://www.winpicprog.co.uk/pic_tutorial_lcd_board.htm">PIC Tutorial &#8211; LCD Board</a> :: Nigel Goodwin</p>
<p><a rel="external" href="http://www.myke.com/lcd.htm">LCD Interfacing Reference Page</a> :: Myke Predko</p>
<p><a rel="external" href="http://www.overclockers.com.au/techstuff/a_diy_lcd/">Build your own printer cable LCD Display</a> :: Overclockers Australia</p>
<p><span style="text-decoration: underline;"><em>Resources:</em></span><br />
Device Manufacturer : <a rel="external" href="http://www.hitachi.com/product/business/semicon/index.html">Hitachi Semiconductor</a><br />
HD44780 Datasheet  : <a rel="external" href="http://www.datasheetarchive.com/download.php?pi=400274">pdf</a></p>
<p><em><span style="text-decoration: underline;">Temperature Control</span></em><br />
Temperature control is achieved using a simple on/off algorithm<br />
Example :<br />
If the desired Set Point is 29 Degree C.<br />
The Alarm will activate if the tremperaturre &gt;= 29 Degree C.</p>
<p><span style="text-decoration: underline;"><em>Sequence of events:</em></span><br />
Initial display:<br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/disp_initial.jpg" alt="" width="352" height="288" /></p>
<p>Display after initialisation:<br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/disp_first.jpg" alt="" width="352" height="288" /></p>
<p>Display on pressing the SET Button:<br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/disp_set.jpg" alt="" width="352" height="288" /></p>
<p>Deciding the Set point using the Increment /Decrement buttons:<br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/disp_decide.jpg" alt="" width="352" height="288" /></p>
<p>Entering the Set Point at 29 Deg C [Enter button]:<br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/disp_enter.jpg" alt="" width="352" height="288" /></p>
<p>Main Display after inserting the setpoint:<br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/disp_alarmoff.jpg" alt="" width="352" height="288" /></p>
<p>SET point exceeded..Alarm ON:<br />
<img src="http://www.machinegrid.com/machinepress/wp-content/uploads/media/images/temperature_controller/disp_alarm_on.jpg" alt="" width="352" height="288" /><br />
<strong><span style="text-decoration: underline;">Codes:</span></strong><br />
<a href="http://www.machinegrid.com/machinepress/wp-content/uploads/media/code/temperature_controller/pic1.zip">ASM Code for PIC-1</a><br />
<a href="http://www.machinegrid.com/machinepress/wp-content/uploads/media/code/temperature_controller/pic2.zip">ASM Code for PIC-2</a></p>
<p><span style="text-decoration: underline;"><strong>Links for constructing your own PIC programmer</strong></span><br />
<a rel="external" href="http://www.myke.com/elcheapo.htm">El Cheapo PICmicro Programmer</a> :: Myke Predko<br />
<a rel="external" href="http://www.lancos.com/prog.html">Pony Prog  serial device programmer</a> :: Claudio Lanconelli<br />
<a rel="external" href="http://www.bobblick.com/techref/projects/picprog/picprog.html">Classic PIC Programmer</a> :: bobblick.com<br />
<a rel="external" href="http://www.qsl.net/dl4yhf/winpicpr.html"> WinPic &#8211; A PIC Programmer for Windows </a></p>
<p><a rel="external" href="http://www.piclist.com">PICLIST.com</a> :: A Heavy PIC resource</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://www.machinegrid.com/2008/12/pic16484a-temperature-controller/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
	</channel>
</rss>

