tag:blogger.com,1999:blog-28283935331349293722024-03-19T21:31:25.812+05:45Shorted WireThis is the blog on electronics and only electronics.. Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.comBlogger44125tag:blogger.com,1999:blog-2828393533134929372.post-7796804430053480352017-10-20T11:46:00.000+05:452017-10-20T11:46:07.379+05:45DAUGHTER BOARD FOR RF430FRL152H<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<div style="text-align: left;">
RF430FRL152 is the NFC SOC by Texas Intrument. The SoC comes with a MSP430 core 16 bit processor, with 2KB of FRAM for user code. It contain 8KB of builtin ROM code. The chip has in built temperature sensor and current sources for external sensors.</div>
</div>
<div style="text-align: justify;">
IIC for digital sensor interfaces and internal energy harness and also the voltage doubler. The IC operates with 1.5 voltage with maximum of 1.65 voltage.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/tldi-hQS0hI" width="560"></iframe>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-72263708121778943792017-09-27T19:08:00.001+05:452017-09-27T19:08:49.909+05:45DEBUGGING ON TMP112 INTERFACE WITH MSP430FR5969 #20102016<div dir="ltr" style="text-align: left;" trbidi="on">
<ul style="text-align: left;">
<li>Temperature sensor was successfully interfaced with the processor and giving the current temperature data in degree Celsius.</li>
<li>Minimum resolution of the current sensor is 0.0625 degree C, and accurate up to 0.5 degree C up to 65 degree C and 1 degree C beyond.</li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-w89maUkzVxI/WcUBP7eOSjI/AAAAAAAA9Ig/vOwsn4AEUYY0ewucp0k2TiLy3lYtGcLfwCLcBGAs/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="197" data-original-width="713" height="110" src="https://2.bp.blogspot.com/-w89maUkzVxI/WcUBP7eOSjI/AAAAAAAA9Ig/vOwsn4AEUYY0ewucp0k2TiLy3lYtGcLfwCLcBGAs/s400/2.JPG" width="400" /></a></div>
<div>
<ul style="text-align: left;">
<li>The picture shows the temperature at the time of measurement highlighted, upto precision of 3 digits after decimal.<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-X-Ko6N7U9cg/WcUDcw3xxfI/AAAAAAAA9Is/memdCN-y79Egnp2R5F0NrBLRQEPg8g_HQCLcBGAs/s1600/1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="360" data-original-width="518" height="277" src="https://4.bp.blogspot.com/-X-Ko6N7U9cg/WcUDcw3xxfI/AAAAAAAA9Is/memdCN-y79Egnp2R5F0NrBLRQEPg8g_HQCLcBGAs/s400/1.JPG" width="400" /></a></div>
</li>
<li><div class="separator" style="clear: both;">
‘a’ section of the waveform is the address of temperature sensor,</div>
<div class="separator" style="clear: both;">
‘b’ section is the internal temperature register address, which is all zero.</div>
<div class="separator" style="clear: both;">
‘c’ and ‘d’ are the temperature value in binary(16 bits).</div>
</li>
</ul>
<div>
<br /></div>
<ul style="text-align: left;">
<li>Changes made in Code</li>
</ul>
A) After software reset of IIC some delay is required, this issue took most of the time.<br />
B) Set the IIc master mode with synchronous setting of 400Khz of data rate.<br />
C) Low power implementation in current sensor for the long term battery life.<br />
D) This configuration keeps the sensor in sleep mode and only waking up when temperature is need to be measures and then sent to sleep again. </div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-YLqW-6VldY0/WcUES4Hum0I/AAAAAAAA9I0/K_91r_Zc88QvzKjtv4xeFNbIp52zk0NnwCLcBGAs/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="447" data-original-width="861" height="207" src="https://2.bp.blogspot.com/-YLqW-6VldY0/WcUES4Hum0I/AAAAAAAA9I0/K_91r_Zc88QvzKjtv4xeFNbIp52zk0NnwCLcBGAs/s400/2.JPG" width="400" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-1112710302133090482017-09-23T19:26:00.000+05:452017-09-23T19:26:22.332+05:45TMP112 INTERFACING WITH MSP430 MICROCONTROLLER #19102016<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoListParagraph" style="margin-left: 1in; text-align: left; text-indent: -0.25in; word-break: normal;">
<span style="color: #333333;"><span style="font-size: 14.6667px;"><a href="http://www.ti.com/lit/ds/symlink/tmp112.pdf" target="_blank">TMP112</a>, temperature sensor by Texas Instrument, with very interesting features as</span></span></div>
<div class="MsoListParagraph" style="margin-left: 1in; text-align: left; text-indent: -0.25in; word-break: normal;">
<span style="color: #333333;"><span style="font-size: 14.6667px;">a) SOT563 Pacakge (1.6mm x 1.6mm) is 68% smaller than SOT23.</span></span></div>
<div class="MsoListParagraph" style="margin-left: 1in; text-align: left; text-indent: -0.25in; word-break: normal;">
<span style="color: #333333;"><span style="font-size: 14.6667px;">b) Accuracy of 0.5C</span></span></div>
<div class="MsoListParagraph" style="margin-left: 1in; text-align: left; text-indent: -0.25in; word-break: normal;">
<span style="color: #333333;"><span style="font-size: 14.6667px;">c) Low quiescent of 10uA active and 1uA sleep</span></span></div>
<div class="MsoListParagraph" style="margin-left: 1in; text-align: left; text-indent: -0.25in; word-break: normal;">
<span style="color: #333333;"><span style="font-size: 14.6667px;">d) 12 bit resolution (0.0625C)</span></span></div>
<div class="MsoListParagraph" style="margin-left: 1in; text-align: left; text-indent: -0.25in; word-break: normal;">
<span style="color: #333333;"><span style="font-size: 14.6667px;">e) Supply range 1.4 to 3.6V</span></span></div>
<div class="MsoListParagraph" style="margin-left: 1in; text-align: left; text-indent: -0.25in; word-break: normal;">
<span style="color: #333333;"><span style="font-size: 14.6667px;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-NrOiQiPTTQM/WcT_9zz9ATI/AAAAAAAA9IU/ZMw9OC1tQ0E_bfuRoEKn0or-rlKXSFcGgCLcBGAs/s1600/1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="294" data-original-width="647" height="145" src="https://3.bp.blogspot.com/-NrOiQiPTTQM/WcT_9zz9ATI/AAAAAAAA9IU/ZMw9OC1tQ0E_bfuRoEKn0or-rlKXSFcGgCLcBGAs/s320/1.JPG" width="320" /></a></div>
<div class="MsoListParagraph" style="margin-left: 1in; text-align: left; text-indent: -0.25in; word-break: normal;">
<br /></div>
<div class="MsoListParagraph" style="margin-left: 1in; text-align: left; text-indent: -0.25in; word-break: normal;">
<br /></div>
<div class="MsoListParagraph" style="margin-left: 1in; text-align: left; text-indent: -0.25in; word-break: normal;">
<br /></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">The i2c algorithm that we are using to sense the temperature
sensor is as<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<br /></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">A) Should be
in reset state while changing some register content. (check in datasheet)<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">B) Set the IIc
master mode with synchronous setting.<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">C) Set IIc
clock equal to sub master clock<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">D) Set some
divider smclk/x = 100khz (can be varied as per requirement up to 400khz)<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">E) Set the
slave address in 7 bit format<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">F) Disable or
enable the interrupts <o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">G) Disable the
reset state<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<br /></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<br /></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">a) Again put
in reset mode<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">b) Generate
the stop condition after transmission of 1 byte automatically.<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">c) Disable
reset mode<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">d) Send the
start condition, it will also send the slave address.<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">e) Wait until
transmission is finished<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">f) Send the
register we need to read from and wait till transmission is done<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">g) Set IIC
write operation in receiver mode to generate auto stop after two bytes are
received.<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;"> TMP112
sensor gives 16 bits of data <o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">h) Setup for
repeated start <o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">i) Receive
two bytes of data<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">j) Convert
according to the formula<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<br /></div>
<div align="left" class="MsoListParagraph" style="margin-left: 76.9pt; word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;"> (50°C) / (0.0625°C / LSB) = 800 = 320h = 0011
0010 0000<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 76.9pt; word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;"> 0011 0010 0000 = 320h = 800 × (0.0625°C / LSB)
= 50°C<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="word-break: normal;">
<br /></div>
<span style="color: #333333; font-family: "맑은 고딕"; font-size: 11.0pt;">(|–25°C|) / (0.0625°C / LSB) = 400 = 190h = 0001
1001 0000 Two's complement format: 1110 0110 1111 + 1 = 1110 0111 0000</span></div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-69719166713399875242017-06-27T11:05:00.000+05:452017-06-27T11:05:27.319+05:45 TUNING OF PCB ANTENNA FOR NFC CIRCUITS #17102016<div dir="ltr" style="text-align: left;" trbidi="on">
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">For testing the antenna, we
first made a loop antenna as per reference to ISO/IEC 7810 ID-1 outline as per
the figure shown below with dimension given.<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<div class="separator" style="clear: both; text-align: left;">
<a href="https://3.bp.blogspot.com/-zWtOXvJmiBA/WVHn8x16ahI/AAAAAAAA3pQ/PReh9-EE3jcjj8L88JcaW7cExTvzU9MZwCEwYBhgL/s1600/1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="266" data-original-width="441" height="193" src="https://3.bp.blogspot.com/-zWtOXvJmiBA/WVHn8x16ahI/AAAAAAAA3pQ/PReh9-EE3jcjj8L88JcaW7cExTvzU9MZwCEwYBhgL/s320/1.PNG" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="color: #333333; font-family: "courier new"; font-size: 11pt; text-align: left; text-indent: -0.25in;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #333333; font-size: 11pt; text-align: left; text-indent: -0.25in;">Then an experimental setup was made as shown
below:</span></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="color: #333333; font-size: 11pt; text-align: left; text-indent: -0.25in;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-BPp0DZar7y4/WVHoRRl8SEI/AAAAAAAA3pU/9wFQ5DBxLtc28Hyogr2Oy4sSxaySwTz9gCLcBGAs/s1600/12.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="443" data-original-width="645" height="273" src="https://1.bp.blogspot.com/-BPp0DZar7y4/WVHoRRl8SEI/AAAAAAAA3pU/9wFQ5DBxLtc28Hyogr2Oy4sSxaySwTz9gCLcBGAs/s400/12.PNG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: justify;">
<span style="color: #333333; font-size: 11pt; text-align: left; text-indent: -0.25in;"><br /></span></div>
</div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; word-break: normal;">
<v:shape id="Picture_x0020_2" o:spid="_x0000_i1027" style="height: 163.5pt; mso-wrap-style: square; visibility: visible; width: 442.5pt;" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///C:/Users/kiera/AppData/Local/Packages/oice_16_974fa576_32c1d314_c61/AC/Temp/msohtmlclip1/01/clip_image002.png">
</v:imagedata></v:shape><span style="color: #333333; font-size: 11.0pt;"><o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; word-break: normal;">
<br /></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;"><v:shape id="Picture_x0020_11" o:spid="_x0000_i1026" style="height: 147.75pt; mso-wrap-style: square; visibility: visible; width: 210.75pt;" type="#_x0000_t75">
<v:imagedata cropbottom="8215f" cropleft="9178f" cropright="7784f" croptop="11971f" o:title="IMG_20161017_173951" src="file:///C:/Users/kiera/AppData/Local/Packages/oice_16_974fa576_32c1d314_c61/AC/Temp/msohtmlclip1/01/clip_image003.jpg">
</v:imagedata></v:shape></span><span style="color: #333333; font-size: 11.0pt;"><o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<!--[if !supportLists]--><span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #333333; font-size: 11.0pt;">The signal generator is connected across the
antenna we had designed and then this PCB antenna board was placed on the loop
antenna, which was connected to oscilloscope to view the frequency, and the
voltage induced in the loop antenna (with 50</span><span style="background: white; color: #222222; font-family: "arial" , sans-serif;">Ω input resistance</span><span style="color: #333333; font-size: 11.0pt;">).<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<!--[if !supportLists]--><span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #333333; font-size: 11.0pt;">While measuring the inductance of the antenna
alone using LCR meter, we observed it to be 3.6 micro henry at 1mhz. Since our
LCR meter can only measure up to 1uH, we used hit and trial method using
convergence of the resonant frequency by calculating the tuning capacitor and
inductor each time with the frequency that was seen on oscilloscope.<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; word-break: normal;">
<br /></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<!--[if !supportLists]--><span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #333333; font-size: 11.0pt;">The initial tests and results made showed the
result as:<o:p></o:p></span></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; margin-left: 49.7pt; mso-border-alt: solid black .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-table-layout-alt: fixed; mso-yfti-tbllook: 1184; width: 666px;">
<tbody>
<tr>
<td style="border: solid black 1.0pt; mso-border-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 2.0in;" valign="top" width="192"><div align="left" class="MsoNormal" style="margin-left: 0.05in; word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">Antenna +
30pf(NFC ic equivalent) capacitor in parallel<o:p></o:p></span></div>
</td>
<td style="border-left: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 121.5pt;" valign="top" width="162"><div align="left" class="MsoNormal" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">At 26mhz, induced voltage = 150mv<o:p></o:p></span></div>
</td>
<td style="border-left: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 117.0pt;" valign="top" width="156"><div align="left" class="MsoNormal" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">At 15.8mV, induced voltage = 50mv<o:p></o:p></span></div>
</td>
<td style="border-left: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 117.0pt;" valign="top" width="156"><div align="left" class="MsoNormal" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">At 43.8mhz, induced voltage = 80mv<o:p></o:p></span></div>
</td>
</tr>
<tr>
<td style="border-top: none; border: solid black 1.0pt; mso-border-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 2.0in;" valign="top" width="192"><div align="left" class="MsoNormal" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">Antenna + 30pf(NFC ic equivalent) +10pf(tuning
capacitor) in parallel<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 121.5pt;" valign="top" width="162"><div align="left" class="MsoNormal" style="word-break: normal;">
<span style="color: #333333; font-size: 11.0pt;">At 27.6mhz, induced voltage = 474mv<o:p></o:p></span></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 117.0pt;" valign="top" width="156"><div align="left" class="MsoNormal" style="word-break: normal;">
<br /></div>
</td>
<td style="border-bottom: solid black 1.0pt; border-left: none; border-right: solid black 1.0pt; border-top: none; mso-border-alt: solid black .5pt; mso-border-left-alt: solid black .5pt; mso-border-top-alt: solid black .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 117.0pt;" valign="top" width="156"><div align="left" class="MsoNormal" style="word-break: normal;">
<br /></div>
</td>
</tr>
</tbody></table>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;"><br /></span>
<!--[if !supportLists]--><span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #333333; font-size: 11pt; text-indent: -0.25in;">From the above, result we figured
out that the tuning of capacitance leads to increase in the induced voltage as
well resulting the increased efficiency. But the problem was the antenna was
still tuned to 27.6Mhz, that is around next order of our required frequency
13.56mhz. i.e double than the required.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-mkr-f9oymlg/WVHokE5h3YI/AAAAAAAA3pY/lgNvLzTi3V80nnCKGlAGrRJMUeXPp6hgACLcBGAs/s1600/3.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="430" data-original-width="590" height="291" src="https://4.bp.blogspot.com/-mkr-f9oymlg/WVHokE5h3YI/AAAAAAAA3pY/lgNvLzTi3V80nnCKGlAGrRJMUeXPp6hgACLcBGAs/s400/3.PNG" width="400" /></a></div>
</div>
<div align="left" class="MsoNormal" style="word-break: normal;">
<br /></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<!--[if !supportLists]--><span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #333333; font-size: 11.0pt;">In above picture, we can see the voltage induced
in loop antenna from our designed antenna when initially only some random
tuning capacitor of 40pf was placed and the frequency was not tuned yet.</span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<!--[if !supportLists]--><span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #333333; font-size: 11.0pt;">So to tune the antenna to the 13.56mhz, we first
calculated the inductance at the frequency at which the highest voltage was
induced and by placing value of capacitance as the used capacitor value. For
this </span><v:shape id="Picture_x0020_3" o:spid="_x0000_i1025" style="height: 33pt; mso-wrap-style: square; visibility: visible; width: 109.5pt;" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///C:/Users/kiera/AppData/Local/Packages/oice_16_974fa576_32c1d314_c61/AC/Temp/msohtmlclip1/01/clip_image005.png">
</v:imagedata></v:shape><span style="color: #333333; font-size: 11.0pt;"> </span><br />
<span style="color: #333333; font-size: 11.0pt;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-mupYlGNgs6Y/WVHpJ730ZCI/AAAAAAAA3pg/rnnAhvrlW98SaKR9vfZGFcWbN4M9IWi1wCLcBGAs/s1600/4.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="47" data-original-width="151" src="https://1.bp.blogspot.com/-mupYlGNgs6Y/WVHpJ730ZCI/AAAAAAAA3pg/rnnAhvrlW98SaKR9vfZGFcWbN4M9IWi1wCLcBGAs/s1600/4.PNG" /></a></div>
<span style="color: #333333; font-size: 11.0pt;"><br /></span>
<span style="color: #333333; font-size: 11.0pt;"> formula was used.<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<!--[if !supportLists]--><span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #333333; font-size: 11.0pt;">For initial tuned frequency = 27.6mHz, tuning
capacitor = 40pf, resultant calculated inductance was 0.83131uH.<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<!--[if !supportLists]--><span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #333333; font-size: 11.0pt;">So, in next iteration we used frequency =
13.56mhz, inductance = 0.831831uH, the calculated capacitor was 165.71pf.<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<!--[if !supportLists]--><span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #333333; font-size: 11.0pt;">So, next time we put this capacitor in the
circuit. In continuing this iteration for several run, we got the calculated
capacitor as 400pf and actual used capacitor as 380pf to get the resonant
frequency at 13.56mhz and the maximum voltage induced.<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<!--[if !supportLists]--><span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #333333; font-size: 11.0pt;">Below is the maximum induced voltage at our
required 13.56 mhz signal. But the efficiency is still low so which seems to be
enough to get signal but not power up the circuit. (further study should be
done on knowing about if this induced signal is enough or not as well as
increase the efficiency)<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; word-break: normal;">
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://2.bp.blogspot.com/-BEdnV0hIxZY/WVHpXmajsuI/AAAAAAAA3pk/Ct3QJBDeAZY6G3lt7QSy4_eBRThUmDAVACLcBGAs/s1600/5.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="253" data-original-width="647" height="156" src="https://2.bp.blogspot.com/-BEdnV0hIxZY/WVHpXmajsuI/AAAAAAAA3pk/Ct3QJBDeAZY6G3lt7QSy4_eBRThUmDAVACLcBGAs/s400/5.PNG" width="400" /></a></div>
</div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; word-break: normal;">
<span style="color: #333333; font-size: 11pt;"> Induced signal on loop antenna input signal (13.56mhz @ 5V
p-p)</span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; word-break: normal;">
<br /></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; text-indent: -0.25in; word-break: normal;">
<!--[if !supportLists]--><span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #333333; font-size: 11.0pt;">We also checked our designed antenna as receiver
and the previously available 13.56mhz signal generator. The setup and response
is shown in figure below.<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1in; word-break: normal;">
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-BX0VGBSVvAk/WVHqM0lA72I/AAAAAAAA3ps/F2MZTACG2gMX4GMKXmDYYNytt1ZqwLDmwCLcBGAs/s1600/6.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="249" data-original-width="647" height="153" src="https://4.bp.blogspot.com/-BX0VGBSVvAk/WVHqM0lA72I/AAAAAAAA3ps/F2MZTACG2gMX4GMKXmDYYNytt1ZqwLDmwCLcBGAs/s400/6.PNG" width="400" /></a></div>
<v:shape id="Picture_x0020_16" o:spid="_x0000_s1027" style="height: 167.45pt; left: 0px; margin-left: 323.2pt; margin-top: 5.05pt; position: absolute; visibility: visible; width: 223.2pt; z-index: 251676160;" type="#_x0000_t75"><br /></v:shape></div>
<div align="left" class="MsoListParagraph" style="margin-left: 0.5in; text-indent: -0.25in; word-break: normal;">
<!--[if !supportLists]--><span style="color: #333333; font-family: "courier new"; font-size: 11.0pt;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><!--[endif]--><span style="color: #333333; font-size: 11.0pt;">Here we can see almost 3V was induced in our
designed antenna.<o:p></o:p></span></div>
<span style="color: #333333; font-family: "malgun gothic" , sans-serif; font-size: 11.0pt;">We
need to further study about antenna design, antenna tuning and antenna testing
(use of network analyzer, use of antenna design software etc) and implement in
our next version board.</span></div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com09500 Gilman Dr, La Jolla, CA 92093 미국32.8800604 -117.23401356.1891173999999971 -158.5426075 59.571003399999995 -75.9254195tag:blogger.com,1999:blog-2828393533134929372.post-2736223189859047492017-02-06T07:26:00.000+05:452017-02-06T07:26:08.882+05:45ANTICOLLISION STEPS IN NFC ISO14443B<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoListParagraph" style="margin-left: 0in; text-align: left; word-break: normal;">
<b><span style="font-size: 11.0pt; mso-bidi-font-family: "맑은 고딕"; mso-fareast-font-family: "맑은 고딕";">Anticollison Steps in ISO 14443B</span></b><br />
<span style="font-family: "courier new"; font-size: 11pt; text-indent: -0.25in;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><b style="text-indent: -0.25in;"><span style="font-size: 11.0pt; mso-bidi-font-family: "맑은 고딕"; mso-fareast-font-family: "맑은 고딕";">ISO 14443B (TYPE 2),</span></b><span style="font-size: 11pt; text-indent: -0.25in;"> has two main
components reader (PCD) and tag (PICC).</span><br />
<span style="font-family: "courier new"; font-size: 11pt; text-indent: -0.25in;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="font-size: 11pt; text-indent: -0.25in;">At first PCD uses the anti-collision sequence for checking for
multiple PICCs.</span><br />
<span style="font-family: "courier new"; font-size: 11pt; text-indent: -0.25in;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><b style="text-indent: -0.25in;"><span style="font-size: 11.0pt; mso-bidi-font-family: "맑은 고딕"; mso-fareast-font-family: "맑은 고딕";">Steps</span></b><br />
<span style="font-family: "wingdings"; font-size: 11pt; text-indent: -0.25in;">§<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="font-size: 11pt; text-indent: -0.25in;">PCD sends <b>REQB</b> command with <b>N</b> where N is number slots
defined for anti collision.</span><br />
<span style="font-family: "wingdings"; font-size: 11pt; text-indent: -0.25in;">§<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="font-size: 11pt; text-indent: -0.25in;">PICC receives REQB and check for <b>N</b></span><br />
<br />
<ul style="text-align: left;">
<li><b><span style="font-size: 11.0pt; mso-bidi-font-family: "맑은 고딕"; mso-fareast-font-family: "맑은 고딕";">If N is 1 then returns ATQB</span></b><span style="font-size: 11pt;"> (Answer to Request type B)</span></li>
<li><b><span style="font-size: 11.0pt; mso-bidi-font-family: "맑은 고딕"; mso-fareast-font-family: "맑은 고딕";">If N is greater than 1 </span></b><span style="font-size: 11pt;"> then random number R is
generated</span></li>
<li>If
R is 1 then sends ATQB</li>
<li>If
R is not 1 then it wait until <b style="font-size: 11pt;">slot marker</b><span style="font-size: 11pt;"> sent by PCD is matched<div class="separator" style="clear: both; text-align: left;">
<a href="https://2.bp.blogspot.com/-Wm4P7z2kN9w/WJfSZ_-3d5I/AAAAAAAADlY/8vl2fWFFpywwbjPcpdzkXR-cs-SPAwRrgCLcB/s1600/1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="70" src="https://2.bp.blogspot.com/-Wm4P7z2kN9w/WJfSZ_-3d5I/AAAAAAAADlY/8vl2fWFFpywwbjPcpdzkXR-cs-SPAwRrgCLcB/s640/1.PNG" width="640" /></a></div>
<br /></span></li>
</ul>
</div>
<div class="MsoNormal" style="text-align: left; word-break: normal;">
<b><span style="font-size: 11.0pt; mso-bidi-font-family: "맑은 고딕"; mso-fareast-font-family: "맑은 고딕";">SIGNALLING IN NFC ISO 14443B</span></b></div>
<div class="MsoNormal" style="text-align: left; word-break: normal;">
<span style="font-family: "courier new"; font-size: 11pt; text-indent: -0.25in;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="font-size: 11pt; text-indent: -0.25in;">Uses the frequency of 13.56MHz as major carrier.</span></div>
<div class="MsoNormal" style="text-align: left; word-break: normal;">
<span style="font-family: "courier new"; font-size: 11pt; text-indent: -0.25in;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="font-size: 11pt; text-indent: -0.25in;">Sub carrier if <b>847</b>.5 KHz is used for carrying data.</span></div>
<div class="MsoNormal" style="text-align: left; word-break: normal;">
<span style="font-family: "courier new"; font-size: 11pt; text-indent: -0.25in;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="font-size: 11pt; text-indent: -0.25in;">Signal from PICC to PCD is load modulated and used different signaling
than from PCD to PICC.</span></div>
<div class="MsoNormal" style="text-align: left; word-break: normal;">
<br /></div>
<div class="MsoNormal" style="text-align: center; word-break: normal;">
<div style="text-align: left;">
<b><span style="font-size: 11.0pt; mso-bidi-font-family: "맑은 고딕"; mso-fareast-font-family: "맑은 고딕";">PCD to PICC signaling</span></b></div>
<div style="text-align: left;">
<span style="font-family: "courier new"; font-size: 11pt; text-indent: -0.25in;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="font-size: 11pt; text-indent: -0.25in;">Uses 10%(8 to 14% practically) <b>amplitude</b> <b>modulation</b>
index, ie there is always a presence of 13.56MHz carrier</span></div>
<div style="text-align: left;">
<span style="font-family: "courier new"; font-size: 11pt; text-indent: -0.25in;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="font-size: 11pt; text-indent: -0.25in;">Uses the <b>NRZ</b> encoding for the data</span></div>
<div style="text-align: left;">
<span style="font-size: 11pt; text-indent: -0.25in;"><a href="https://3.bp.blogspot.com/-Mj2M_znmiS0/WJfSZ9YbU7I/AAAAAAAADlc/4zZo-rP-FnYqOhhoJ_Ecb-kkmOatz6pAgCLcB/s1600/2.PNG" imageanchor="1" style="font-size: 14.6667px; margin-left: 1em; margin-right: 1em; text-align: center; text-indent: 0px;"><img border="0" height="172" src="https://3.bp.blogspot.com/-Mj2M_znmiS0/WJfSZ9YbU7I/AAAAAAAADlc/4zZo-rP-FnYqOhhoJ_Ecb-kkmOatz6pAgCLcB/s640/2.PNG" width="640" /></a></span></div>
<div style="text-align: left;">
<span style="font-family: "courier new"; font-size: 11pt; text-indent: -0.25in;">o<span style="font-family: "times new roman"; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="font-size: 11pt; text-indent: -0.25in;">The signal generated from the smart phone as captured shows modulation
index of 15%</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://4.bp.blogspot.com/-RgdTPtDHgkY/WJfSZ4BN_UI/AAAAAAAADlg/By7-TuYF8Fo5J-G8dyoDnzDxJrMO_VCpwCLcB/s1600/3.PNG" imageanchor="1" style="font-size: 14.6667px; margin-left: 1em; margin-right: 1em; text-align: center; text-indent: 0px;"><img border="0" height="207" src="https://4.bp.blogspot.com/-RgdTPtDHgkY/WJfSZ4BN_UI/AAAAAAAADlg/By7-TuYF8Fo5J-G8dyoDnzDxJrMO_VCpwCLcB/s400/3.PNG" width="400" /></a></div>
<div style="text-align: left;">
<span style="font-size: 11pt; text-indent: -0.25in;"></span></div>
<div style="text-align: left;">
<a href="https://1.bp.blogspot.com/-4oF9DyXLgdE/WJfSaTbUOwI/AAAAAAAADlk/CfYlNChDri0rLTVlkeeMtyvEPOCGwmnaACLcB/s1600/4.PNG" imageanchor="1" style="font-size: 11pt; margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="152" src="https://1.bp.blogspot.com/-4oF9DyXLgdE/WJfSaTbUOwI/AAAAAAAADlk/CfYlNChDri0rLTVlkeeMtyvEPOCGwmnaACLcB/s640/4.PNG" width="640" /></a></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level1 lfo1; mso-pagination: widow-orphan; mso-para-margin-left: 0gd; text-align: left; text-autospace: ideograph-numeric ideograph-other; text-indent: -.25in; word-break: normal;">
<!--[if !supportLists]--><span style="font-family: "Courier New"; font-size: 11.0pt; mso-fareast-font-family: "Courier New";">o<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 11.0pt; mso-bidi-font-family: "맑은 고딕"; mso-fareast-font-family: "맑은 고딕";">Uses <b>BPSK</b> (Binary Phase Shift Keying) modulation<o:p></o:p></span></div>
<div align="left" class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level1 lfo1; mso-pagination: widow-orphan; mso-para-margin-left: 0gd; text-align: left; text-autospace: ideograph-numeric ideograph-other; text-indent: -.25in; word-break: normal;">
<!--[if !supportLists]--><span style="font-family: "Courier New"; font-size: 11.0pt; mso-fareast-font-family: "Courier New";">o<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 11.0pt; mso-bidi-font-family: "맑은 고딕"; mso-fareast-font-family: "맑은 고딕";">Encoding is <b>NRZ-L</b> for the data.<o:p></o:p></span></div>
<div style="text-align: left;">
</div>
<div align="left" class="MsoListParagraph" style="margin-left: 1.0in; mso-list: l0 level1 lfo1; mso-pagination: widow-orphan; mso-para-margin-left: 0gd; text-align: left; text-autospace: ideograph-numeric ideograph-other; text-indent: -.25in; word-break: normal;">
<!--[if !supportLists]--><span style="font-family: "Courier New"; font-size: 11.0pt; mso-fareast-font-family: "Courier New";">o<span style="font-family: "Times New Roman"; font-size: 7pt; font-stretch: normal; font-variant-numeric: normal; line-height: normal;"> </span></span><!--[endif]--><span style="font-size: 11.0pt; mso-bidi-font-family: "맑은 고딕"; mso-fareast-font-family: "맑은 고딕";">Each of the bit is 8 sub carrier period long.<o:p></o:p></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-5H6huv6H2vk/WJfSaQF2Y4I/AAAAAAAADls/-c7uX09aZWIp95_HSZoVf_6US9a_3nksACEw/s1600/5.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="https://2.bp.blogspot.com/-5H6huv6H2vk/WJfSaQF2Y4I/AAAAAAAADls/-c7uX09aZWIp95_HSZoVf_6US9a_3nksACEw/s400/5.PNG" width="400" /></a></div>
<div style="text-align: left;">
<br /></div>
</div>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-24940460151802137732017-01-11T17:52:00.000+05:452017-01-11T17:52:55.174+05:45SOFTWARE BASED UART ON ANY CONTROLLER<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
UART are very easy way for communication in electronics, it is used mostly in any where. UART are available in any micro controllers and very easy to use and understand. </div>
<div style="text-align: justify;">
Sometimes in some controllers we may required some extra UART than available in hardware, in such case we can use software based UART. The details of USART communication is out of scope of this post. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The code is running on MSP430FR5969, the device is running on 4 MHz DCO. The following code do not utilized any kind of interrupt and strictly depended on polling. While receiving the data, it uses while statement for the start bit. But this code be easily be made efficient using techniques like interrupts and also using <a href="https://shortedwire.blogspot.kr/2014/09/multi-threading-in-arduino-18.html" target="_blank">PT thread technique</a>. This just gives a basic implementation for the newbies.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
The setup is as</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://1.bp.blogspot.com/-j3cFxVzxwg4/WHYeAZ-3tCI/AAAAAAAACT0/qNRanj5Z1zAm7C_ysb_CwLon-NM40_UEwCLcB/s1600/2.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="156" src="https://1.bp.blogspot.com/-j3cFxVzxwg4/WHYeAZ-3tCI/AAAAAAAACT0/qNRanj5Z1zAm7C_ysb_CwLon-NM40_UEwCLcB/s400/2.PNG" width="400" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://2.bp.blogspot.com/-FUWMgaMbKwk/WHYeAIrIOrI/AAAAAAAACTw/7s9jaQj9khUHIzL4TNF48Xfq-VHbe11vQCLcB/s1600/1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://2.bp.blogspot.com/-FUWMgaMbKwk/WHYeAIrIOrI/AAAAAAAACTw/7s9jaQj9khUHIzL4TNF48Xfq-VHbe11vQCLcB/s1600/1.PNG" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Here macros are used for making the code simpler, following are the snippets of the functions.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
#define settxoutput P1DIR |= BIT4 //SET AS TX OUTPUT PORT 1 BIT 4</div>
<div class="separator" style="clear: both; text-align: left;">
#define highontx P1OUT |= BIT4<span class="Apple-tab-span" style="white-space: pre;"> </span>//SET OUTPUT HIGH ON TX</div>
<div class="separator" style="clear: both; text-align: left;">
#define setlowontx P1OUT &= ~BIT4<span class="Apple-tab-span" style="white-space: pre;"> </span>//SET OUTPUT LOW ON TX</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
#define setrxinput P1DIR &= ~BIT3<span class="Apple-tab-span" style="white-space: pre;"> </span>//SET AS RX INPUT PORT 1 BIT 3</div>
<div class="separator" style="clear: both; text-align: left;">
#define isrxhigh P1IN&BIT3</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
#define baudrate 9600</div>
<div class="separator" style="clear: both; text-align: left;">
#define Bittime 4000000/baudrate<span class="Apple-tab-span" style="white-space: pre;"> </span>// one bit time in uS</div>
<div class="separator" style="clear: both; text-align: left;">
#define bittime Bittime - 40</div>
<div class="separator" style="clear: both; text-align: left;">
#define rbittime Bittime - 40</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div style="text-align: justify;">
void tx8_uart(unsigned char data8){</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>unsigned char i;</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>setlowontx;</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>__delay_cycles(bittime);<span class="Apple-tab-span" style="white-space: pre;"> </span>//since frequency of operation is 1mhz its 1us</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>for( i = 0;i < 8 ; i++){</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if( ( (data8>>i) & 0x01) == 0x01 )</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>highontx;</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>else</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>setlowontx;</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>__delay_cycles(bittime);</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>highontx;</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>__delay_cycles(bittime);</div>
<div style="text-align: justify;">
}</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
unsigned char rx8_uart(){</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>unsigned char data8=0;</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>int i;</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>while(isrxhigh);<span class="Apple-tab-span" style="white-space: pre;"> </span>//start bit is 0</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>__delay_cycles(rbittime);</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>__delay_cycles(rbittime/2);//taking sample at mid time</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>for( i = 0;i<8;i++){</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if( /*i%2 == 0*/ isrxhigh ){</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>data8 += (1<<i);</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//P1OUT |= BIT7;</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>else{</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>data8 = data8;</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>//<span class="Apple-tab-span" style="white-space: pre;"> </span>P1OUT &= ~BIT7;</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>__delay_cycles(rbittime);</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>if( isrxhigh ){</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>__delay_cycles(rbittime/2);</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>return data8;</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}else{</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>__delay_cycles(rbittime/2);</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>return 0x00;</div>
<div style="text-align: justify;">
<span class="Apple-tab-span" style="white-space: pre;"> </span>}</div>
<div style="text-align: justify;">
}</div>
<div style="text-align: justify;">
</div>
<a name='more'></a><br /></div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-2613176344193711562016-07-25T10:29:00.000+05:452016-07-25T10:29:00.578+05:45P10 LED MATRIX BOARD DISPLAY <div dir="ltr" style="text-align: left;" trbidi="on">
Here in this project I have used 12 P10 led matrix board in array of 4 horizontal and 3 vertical ie 4 columns and 3 row.<br />
All displays are cascaded ,while last one become the origin or 0,0.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://3.bp.blogspot.com/-F0g8urgDsZQ/V5WNcGWTdjI/AAAAAAAAB-E/rL9ac4wmZF07VqScL4MTpmaMVumtzNBFgCLcB/s1600/12.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="228" src="https://3.bp.blogspot.com/-F0g8urgDsZQ/V5WNcGWTdjI/AAAAAAAAB-E/rL9ac4wmZF07VqScL4MTpmaMVumtzNBFgCLcB/s400/12.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
You need a long flat cable of 16 pin connector for connecting the display on different line as suggested in the figure.</div>
<div class="separator" style="clear: both; text-align: left;">
I have used the DMD library by freetronics.</div>
<div class="separator" style="clear: both; text-align: left;">
First I have planned to display time temperature one the first line, display two messages scrolling in line two and three.</div>
<div class="separator" style="clear: both; text-align: left;">
I have used LM35 as temperature sensor which gives 10mV per degree change in celsius scale and used 1.1V as ADC reference for maximum resolution. </div>
<div class="separator" style="clear: both; text-align: left;">
DS1307 as RTC with IIC interface, but the problem is whenever is use DMD with IIC, I dont know why the time value of RTC is not stable its always changing like it gives right time for 3 or 5 times and then 165 165 and 85. May be due to some conflict on resources couldnt really figure out.</div>
<div class="separator" style="clear: both; text-align: left;">
Solve this problem using two controller using one as just display drivers and second sending all data of temperature, time, font, writing message , reading message and saving message and controlling the speed of the message scroll.</div>
<div class="separator" style="clear: both; text-align: left;">
Here's the link to the code final code <a href="https://github.com/kieran-shrestha/led_notice_board">https://github.com/kieran-shrestha/led_notice_board</a></div>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com2tag:blogger.com,1999:blog-2828393533134929372.post-57050094781828003322016-07-09T17:08:00.004+05:452016-07-09T17:18:36.101+05:45INTERFACING ADC OF AVR MICROCONTROLLER<div dir="ltr" style="text-align: left;" trbidi="on">
The following is the code for using the internal 10 bit ADC of AVR microcontroller.<br />
The code is written for ATMEGA328 with system clock of 16MHZ.<br />
The code uses standard c header files for using printf function and then print the content in serial uart of the microcontroller.<br />
<br />
<a name='more'></a><br /><br />
By default %f will not work on work, following things should be adjusted for this in project properties.<br />
You just have to check the last option (use vprintf library) in your project properties.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-lAg9_Ylt-Zc/V4DekY9SkzI/AAAAAAAAB9A/eEhFX02J0Tk7Y1rIwHPNjvWaPHyGUlfwwCK4B/s1600/bl.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="176" src="https://2.bp.blogspot.com/-lAg9_Ylt-Zc/V4DekY9SkzI/AAAAAAAAB9A/eEhFX02J0Tk7Y1rIwHPNjvWaPHyGUlfwwCK4B/s640/bl.JPG" width="640" /></a></div>
<br />
<br />
#define F_CPU 16000000<br />
<br />
#include <avr/io.h><br />
#include <stdint.h><br />
#include <stdio.h><br />
#include <util/delay.h><br />
#define USART_BAUDRATE 9600<br />
#define UBRR_VALUE (((F_CPU / (USART_BAUDRATE * 16UL))) - 1)<br />
#define ADC_PIN<span class="Apple-tab-span" style="white-space: pre;"> </span>5<br />
#define<span class="Apple-tab-span" style="white-space: pre;"> </span>LED_PIN<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTB5<br />
#define ADC_THRESHOLD<span class="Apple-tab-span" style="white-space: pre;"> </span>512<br />
<br />
void USART0Init(void){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>UBRR0H = (uint8_t)(UBRR_VALUE>>8);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>UBRR0L = (uint8_t)UBRR_VALUE;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>UCSR0C |= (1<<UCSZ01)|(1<<UCSZ00);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>UCSR0B |= (1<<RXEN0)|(1<<TXEN0);<br />
}<br />
<br />
int USART0SendByte(char u8Data, FILE *stream){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(u8Data == '\n')<span class="Apple-tab-span" style="white-space: pre;"> </span>{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>USART0SendByte('\r', stream);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>while(!(UCSR0A&(1<<UDRE0))){};<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>UDR0 = u8Data;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return 0;<br />
}<br />
<br />
void adc_init(){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>ADMUX |= (1<<REFS0);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>ADCSRA |= (1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0)|(1<<ADEN);<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
}<br />
<br />
FILE usart0_str = FDEV_SETUP_STREAM(USART0SendByte, NULL, _FDEV_SETUP_WRITE);<br />
<br />
uint16_t adc_read(uint8_t adcx) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>ADMUX<span class="Apple-tab-span" style="white-space: pre;"> </span>&=<span class="Apple-tab-span" style="white-space: pre;"> </span>0xf0;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>ADMUX<span class="Apple-tab-span" style="white-space: pre;"> </span>|=<span class="Apple-tab-span" style="white-space: pre;"> </span>adcx;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>ADCSRA |= (1<<ADSC);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>while ( (ADCSRA & (1<<ADSC)) );<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return ADC;<br />
}<br />
<br />
int main(void) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>int a;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>float v;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>adc_init();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>USART0Init();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>DDRB |= (1<<LED_PIN);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>stdout=&usart0_str;<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>for (;;) {<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>a = adc_read(ADC_PIN);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>v =( 5/1024.0 )*a;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>printf("Digital value is %u\n",a);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>printf("Voltage value = %f V\n",v);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if (a > ADC_THRESHOLD)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTB |= (1<<LED_PIN);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTB &= ~(1<<LED_PIN);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>_delay_ms(1000);<br />
}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<br />
}<br />
<br /></div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com3tag:blogger.com,1999:blog-2828393533134929372.post-50948701555743020512016-06-26T21:55:00.001+05:452016-06-26T22:00:28.591+05:45ATMEGA328P UART0<div dir="ltr" style="text-align: left;" trbidi="on">
<b>CONNECTION CONNECT RX AND TX TO TX AND RX OF OTHER DEVICE</b><br />
<br />
//This define the system frequency<br />
#define F_CPU 16000000UL<br />
<br />
//Including the required files<br />
#include <avr/io.h><br />
#include <util/delay.h><br />
<br />
<a name='more'></a><br /><br />
//Transmitting the uart writing the buffer UDR0<br />
int uart_tx(unsigned char d){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>while(!(UCSR0A & (1<<UDRE0)));<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>UDR0 = d;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return 1;<br />
}<br />
<br />
//Function to print the the string<br />
int print_uart(unsigned char d[]){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>int i;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>for( i = 0;d[i] != 0x0a;i++)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>uart_tx(d[i]);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return i;<br />
}<br />
<br />
//Transmitting the single character<br />
unsigned char uart_rx(){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>while(! (UCSR0A & (1<< RXC0)));<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>return UDR0;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
}<br />
<br />
//Receiving the string on the uart<br />
void string_rx(unsigned char *strdata){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>unsigned char buff;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>while(1){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>buff = uart_rx();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>*strdata = buff;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>strdata++;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(buff == 0x0a)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>break;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
}<br />
<br />
int main(void)<br />
{<br />
//buffer to hold the data..<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>unsigned char buff[10];<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>UBRR0 = 16;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>UCSR0B|= (1<<TXEN0)|(1<<RXEN0);<br />
while (1)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>string_rx(&buff[0]);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>print_uart(buff);<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
}<br />
}<br />
<br /></div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-76404066615817446102016-06-12T19:27:00.000+05:452016-06-12T19:27:25.174+05:45LCD INTERFACING 8 BIT MODE<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Circuit connection is </b><br />
<b>RS => PB0</b><br />
<b>RW => PB1</b><br />
<b>EN => PB2</b><br />
<b>D0-D3 =>PORTD 0 TO 3</b><br />
<b>D4-D7 => PORTC 0 TO 3</b><br />
<br />
<a name='more'></a><br /><br />
#define F_CPU 16000000<br />
#include <avr/io.h><br />
#include <util/delay.h><br />
<br />
#define LCD_RS_SET<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTB |= (1<<PORTB0)<br />
#define LCD_RS_RESET<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTB &= ~(1<<PORTB0)<br />
#define LCD_RW_RESET<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTB &= ~(1<<PORTB1)<br />
#define LCD_EN_SET<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTB |= (1 <<PORTB2)<br />
#define LCD_EN_RESET<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTB &= ~(1<<PORTB2)<br />
#define LCD_DATAL<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTD<br />
#define LCD_DATAH<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTC<br />
#define LCD_ISDATA 1<br />
#define LCD_ISCMD 0<br />
<br />
void write_port(unsigned char d){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>LCD_DATAH = d;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>LCD_DATAH >>= 4;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>LCD_DATAL = d;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
}<br />
<br />
void send_data(unsigned char d, int isData){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>LCD_EN_SET;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if(isData)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>LCD_RS_SET;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>LCD_RS_RESET;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>write_port(d);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>_delay_ms(1);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>LCD_EN_RESET;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>LCD_RW_RESET;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
}<br />
<br />
<br />
void lcd_init(){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>DDRB = 0xff;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>DDRC = 0xff;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>DDRD = 0xff;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>send_data(0x38,LCD_ISCMD);<span class="Apple-tab-span" style="white-space: pre;"> </span>//8 bit 2 line mode<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>send_data(0x0e,LCD_ISCMD);<span class="Apple-tab-span" style="white-space: pre;"> </span>//display on and cursor on<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>send_data(0x01,LCD_ISCMD);<span class="Apple-tab-span" style="white-space: pre;"> </span>//clears the screen<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>send_data(0xc0,LCD_ISCMD);<span class="Apple-tab-span" style="white-space: pre;"> </span>//MOVES TO SENCOND LINE<br />
}<br />
<br />
<br />
int main(void)<br />
{<span class="Apple-tab-span" style="white-space: pre;"> </span>unsigned char name[]="MICROCONTROLLER";<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>int i;<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>lcd_init();<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>for(i = 0;i<sizeof(name)-1;i++){<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>send_data(name[i],LCD_ISDATA);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>}<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<br />
while (1)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
}<br />
}</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-48286289991936345512016-06-12T19:17:00.004+05:452016-06-12T19:18:22.052+05:45READING A GPIO<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Circuit diagram includes using PORTB5 as output to toggle a LED and PORTC5 for input with button connected to ground.</b><br />
<br />
<a name='more'></a><br />
#include <avr/io.h><br />
<br />
int main(void)<br />
{<br />
DDRB |= (1<<PORTB5);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>DDRC &= ~(1<<PORTC5);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTC |= (1<<PORTC5);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
while (1)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>if( PINC & (1<<PINC5))<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTB &= ~(1<<PORTB5);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>else<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTB |= (1<< PORTB5);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
}<br />
<br />
}</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-27111994278752290772016-06-12T19:15:00.000+05:452016-06-12T19:15:22.853+05:45BLINKING A LED<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Circuit diagram includes connecting a LED with resistor in series in PORTB5, its digital 13 on Aruino.</b><br />
<b><br /></b>
<b>Blink LED method 1</b><br />
<br />
#define F_CPU 16000000<br />
<br />
#include <avr/io.h><br />
#include <util/delay.h><br />
<br />
int main(void)<br />
{<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>DDRB |= (1 << PORTB5);<br />
while (1)<br />
{<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTB |= (1 << PORTB5);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>_delay_ms(200);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>PORTB &= ~(1<< PORTB5);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>_delay_ms(100);<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span><br />
}<br />
}<br />
<a name='more'></a><br />
<div>
<b>Blink LED method 2</b></div>
<div>
<b><br /></b></div>
<div>
<div>
#define F_CPU 16000000</div>
<div>
<br /></div>
<div>
#include <avr/io.h></div>
<div>
#include <util/delay.h></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
int main(void)</div>
<div>
{</div>
<div>
</div>
<div>
<span class="Apple-tab-span" style="white-space: pre;"> </span>DDRB |= (1 << PORTB5);</div>
<div>
while (1) </div>
<div>
{</div>
<div>
<br /></div>
<div>
<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>PINB |= (1 <<PINB5);</div>
<div>
<span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span>_delay_ms(100);</div>
<div>
<span class="Apple-tab-span" style="white-space: pre;"> </span></div>
<div>
<span class="Apple-tab-span" style="white-space: pre;"> </span></div>
<div>
}</div>
<div>
}</div>
<div style="font-weight: bold;">
<br /></div>
</div>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-21773365314539698482015-07-23T21:27:00.000+05:452015-07-23T21:27:10.991+05:45TERMS EXPLAINED IN CLASS D AMPLIFIERS<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: justify;">
Class D amplifiers are one most used and popular amplifier due to efficiency, theoretically class d amplifiers are 100 percent efficient. But this cannot be achieved practically as no device is 100 percent efficient. Though class d amplifiers reach more than 90% of efficiency if designed very carefully. </div>
<div dir="ltr" style="text-align: justify;">
Understanding class d amplifiers are very much simple if you are familiar with the Switch mode power supply or commonly called SMPS or switching supply.</div>
<div dir="ltr" style="text-align: justify;">
Input for the class d amplifier is first modulated either using Pulse Width Modulation ie PWM or sigma Delta modulates. Order of modulation starts generally from two and can reach as higher as 5 or even higher.</div>
<div dir="ltr" style="text-align: justify;">
Class d amplifier can either be half bridged which requires dual power supply or full bridge and can be powers with single power supply. The problem with full bridge is that it requires more hardware or switching MOSFET which decrease its efficiency.</div>
<div dir="ltr" style="text-align: justify;">
Another thing that make the class d amplifiers better is bridge tied load configuration or bridging multiple amplifiers so that its output power can be doubled. In bridge tied load configuration two half bridge amplifiers as bridged so that its output is doubled and the power for this configuration should be dual Power supply. </div>
<div dir="ltr" style="text-align: justify;">
What is happening in class d amp is the modulated PWM is turning on and off the MOSFET bridge. during this MOSFETs ate switched on alternately. But if two of the MOSFETs on high side is turned on a pop sound can be created which may be very annoying. Also if there is delay between the next switching sequence the there might be dead sound between the sound.</div>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-31926330543821074382015-05-26T08:15:00.000+05:452015-05-26T08:17:48.092+05:45BROKEN YOUR AVR CHIP?<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr">
</div>
<div style="text-align: justify;">
While working the avr for the first time it is always confusing while programing the fuse bits as wrong configuration of this can damage the chip or may be lock the chip so you cannot program it normally.</div>
<br />
<div dir="ltr" style="text-align: justify;">
If your making a bare bone arduino or burning arduino boot loader the fuse bits if programmed wrong can lock the device. This often happens due to some of the following fuse bits.</div>
<div dir="ltr" style="text-align: justify;">
A. First thing you are being greedy of that single reset pin to use it as gpio. But you will be programming it only once as after that fuse setting to use reset as gpio avr can't be programmed using ISP as ISP programming requires external reset operations . so you need to do the high voltage programming either serial or parallel.</div>
<div dir="ltr" style="text-align: justify;">
For the he high voltage programming <u>you</u> can consult the avr data sheet where it is described crystal clear and also there are many tutorials available online for this problem. </div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-FX1KHzuBWbM/VWPZcAUTbKI/AAAAAAAABDo/QKiUx483KdU/s1600/hi-v-prog.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="217" src="http://1.bp.blogspot.com/-FX1KHzuBWbM/VWPZcAUTbKI/AAAAAAAABDo/QKiUx483KdU/s400/hi-v-prog.png" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-8dUO3Lpnr3o/VWPZd6C6VtI/AAAAAAAABDw/RTnKbUfe_nE/s1600/images.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="315" src="http://1.bp.blogspot.com/-8dUO3Lpnr3o/VWPZd6C6VtI/AAAAAAAABDw/RTnKbUfe_nE/s320/images.jpg" width="320" /></a></div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
Also choosing external clock source can also result avr to not work using ISP in this case high voltage programming can be used or a external TTL clock should be used for the programming.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
Heres the line copied from datasheet of high voltage programming. </div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
The following algorithm puts the device in Parallel (High-voltage) Programming mode:</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
1. Set Prog_enable pins listed in Table 28-12 on page 290 to “0000”, RESET pin to 0V and</div>
<div dir="ltr" style="text-align: justify;">
VCC to 0V.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
2. Apply 4.5V - 5.5V between VCC and GND.</div>
<div dir="ltr" style="text-align: justify;">
Ensure that VCC reaches at least 1.8V within the next 20μs.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
3. Wait 20μs - 60μs, and apply 11.5V - 12.5V to RESET.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
4. Keep the Prog_enable pins unchanged for at least 10μs after the High-voltage has been</div>
<div dir="ltr" style="text-align: justify;">
applied to ensure the Prog_enable Signature has been latched.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
5. Wait at least 300μs before giving any parallel programming commands.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
6. Exit Programming mode by power the device down or by bringing RESET pin to 0V.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
If the rise time of the VCC is unable to fulfill the requirements listed above, the following alternative</div>
<div dir="ltr" style="text-align: justify;">
algorithm can be used.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
1. Set Prog_enable pins listed in Table 28-12 on page 290 to “0000”, RESET pin to 0V and</div>
<div dir="ltr" style="text-align: justify;">
VCC to 0V.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
2. Apply 4.5V - 5.5V between VCC and GND.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
3. Monitor VCC, and as soon as VCC reaches 0.9V - 1.1V, apply 11.5V - 12.5V to RESET.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
4. Keep the Prog_enable pins unchanged for at least 10μs after the High-voltage has been</div>
<div dir="ltr" style="text-align: justify;">
applied to ensure the Prog_enable Signature has been latched.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
5. Wait until VCC actually reaches 4.5V - 5.5V before giving any parallel programming</div>
<div dir="ltr" style="text-align: justify;">
commands.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
6. Exit Programming mode by power the device down or by bringing RESET pin to 0V.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-39589192605166194702015-05-25T07:31:00.003+05:452015-05-25T07:31:54.209+05:45PIC vs AVR #30 #2<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: justify;">
This is the second part of the pic and avr. One of the benefit of the avr is programming. </div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
For the programming or firmware development avr gives AVR studio which is a very good IDE and most important for beginner is it's free. AVR studio gives most of the libraries for their micro controllers and also for the different boards made by ATMEL. </div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
Also one of the most important benefit that you get from AVR's 8 bit controllers is arduino. Arduino is a open source project. You can visit <a href="http://www.arduino.cc/">www.arduino.cc</a> for more informations. Its based on AVR and most popular is ATMEGA328. You can use almost any other microcontrollers. </div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
For the beginners who are not so into the hardware of microcontroller thing and also with the hardware or internal things of the controller. Arduino make programming so easy that any can interface any hardware to it.</div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
PIC on the other hand also provide their own IDE, MPLAB X , it uses a separate compiler. The bad thing is its not free. There's also a free version which does all the job done for the beginner but what the free version is not giving us is maximum code optimization . Paid version of MPLAB gives the maximum optimization which is more that 50 % of the code size of the free version. </div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
PIC also provide some of the libraries for its users , also MIKRO C gives some simple programming interface for the PIC which is the third party PIC IDE. </div>
<div dir="ltr" style="text-align: justify;">
<br /></div>
<div dir="ltr" style="text-align: justify;">
These are some of the things to compare between the PIC and AVR. Further on its on you to choose between PIC or AVR. </div>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-48147080658014931882015-05-23T13:22:00.000+05:452015-05-23T13:22:29.881+05:45PIC VS AVR MICROCONTROLLER #29 #1<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
For the starters it is always the question in mind whether to use PIC microcontroller or AVR microcontroller. PIC manufacutred by MICROCHIP and AVR by ATMEL is beginner level 8 bit micorcontrollers which every beginner use.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
If your starting a project or starting to learn some more on controllers which to follow. I list out some of my points on both controllers their pros and cons.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Moving on to PIC , PIC's 8 bit series 16F and 18F are the most popular one. These PIC controllers are available in package like SSOP,SOIC,DIP,QFN,QFP. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
If your project is power sensitive PIC is the best. PIC's nanoWatt XLP series have very low power. They in even go to micro Ampere current range when in Deep Sleep. Though AVRs got the power control like sleep, stand by modes but PIC is better than AVR in this matter.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Other benefit that PICs got is PIC has more features in chip than AVR. They have more peripheral fetures and control than AVR . PICS got many standard like ECAN, more CCP and ECCP channels and controls more AD converter channels than AVR. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Its not like AVR got no such feature AVR's also got the same feature but AVR's got less flexibility in these things. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
Thing in which AVR dominates PIC is in my case TIMERS, In AVR timers got more controls than in PIC. Handling timers in AVR is always easy than PIC.</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
In term of cost both are same , but some PICs are cheaper in compared to AVR. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-18304685556005349712014-11-28T19:56:00.000+05:452014-11-28T19:56:08.020+05:45CHOOSING AND DRIVING A MOSFET #1 #28<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
MOSFETS are some what confusing than the Bipolar Juntion Transistors BJT or simply transistors. MOSFETS (Metal Oxide Semiconductor Field Effect Transistors) are voltage controlled current source (VCCS) while BJT are current controlled current source. One of the well known relation for the transistor is Ic = B Ib. Where B is beta or Hfe current gain of the transistor and is usually >10 for high power transistors and >100 for small signal transistors. </div>
<div style="text-align: justify;">
So controlling the current flowing in the Base of the transistor one can control the output current flowing from the collector to emitter or from emiter to collector in case of NPN and PNP transistors. </div>
<div style="text-align: justify;">
High power transistors require more silicon space in comapre to the same space with the MOSFETS.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-S3j5X8ixV1w/VHiB-dLeY5I/AAAAAAAAAsk/mm62O_7kiXQ/s1600/c1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-S3j5X8ixV1w/VHiB-dLeY5I/AAAAAAAAAsk/mm62O_7kiXQ/s1600/c1.JPG" height="152" width="320" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
In case of Mosfets, they are of N channel and of P channel. Both have its own advantages and dis advantages. But the common of the Mosfets are that both the Mosfets only start conduction when the voltage in its GATE terminal exceeds some voltage level than that of the voltage level in source, which is called Vgs = Vth = Gate threshold voltage. Understanding this voltage level is very important for the design withe Mosfets. Vgs voltage from gate to source is position in the case of the N channel but for the P channel its in negative. But it is still easy to drive the gate of the Mosfets.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-ArJXEoKQcK0/VHiCVfv5PII/AAAAAAAAAss/ejLe9aA4k98/s1600/MOSFET_SYMBOL.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-ArJXEoKQcK0/VHiCVfv5PII/AAAAAAAAAss/ejLe9aA4k98/s1600/MOSFET_SYMBOL.jpg" /></a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
N channel have some advantages as they have electrons as their carrier and they have more mobility so the N channel mosfets have very low ON resistance called Rds than the P channel mosfet with same size of die or silicon and this reason need of more silicon space also make P channel mosfet more expensive. </div>
<div style="text-align: justify;">
<br /></div>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-12590740074931374692014-11-05T19:51:00.001+05:452014-12-25T20:58:50.256+05:45SVN VERSION CONTROL IN ALTIUM #27<div dir="ltr" style="text-align: left;" trbidi="on">
Version control in makes any project very easy to manage and work with different versions of the same projects and makes modifications and make easy management of all the versions and storing of all the versions.<br />
In Altium, it has got its own version control and also SVN external version control.<br />
<br />
THIS TUTORIAL IS ONLY FOR THE VERSION CONTROL OF THE PROJECTS IN LOCAL COMPUTER ONLY.<br />
<br />
Step 1: Make new PCB project.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-R-CorCERyag/VFot37xQlqI/AAAAAAAAArc/jpnBim2nNm4/s1600/1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-R-CorCERyag/VFot37xQlqI/AAAAAAAAArc/jpnBim2nNm4/s1600/1.JPG" height="291" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<br />
Step 2: Then go to preferences of ALTIUM and navigate to Data Management and Version Control<br />
and check the User external Suberversion Radio button and check on SVN-Suberversion check box. Or click on Auto Detect.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-jqdFtzxPSzs/VFot4KJgmvI/AAAAAAAAArg/2hgiXQWuAOg/s1600/2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-jqdFtzxPSzs/VFot4KJgmvI/AAAAAAAAArg/2hgiXQWuAOg/s1600/2.JPG" height="246" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Step 3: Now click on Design Repositories and click on Create New and Click on SVN.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-l4Bp9wVwxDI/VFot3_bW2kI/AAAAAAAAArY/DrvnzNt9ydE/s1600/3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-l4Bp9wVwxDI/VFot3_bW2kI/AAAAAAAAArY/DrvnzNt9ydE/s1600/3.JPG" height="151" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Step 4: Name Repository some name like "MyRepo" and in location choose the folder where you work. Mine is "altiumrepo". Then Hit OK.<br />
The status will be green if everythings OK.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-sheJl1JJXOY/VFot5V3SG4I/AAAAAAAAArs/xjR9zs9czYk/s1600/4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-sheJl1JJXOY/VFot5V3SG4I/AAAAAAAAArs/xjR9zs9czYk/s1600/4.JPG" height="175" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Step 5: Now on project right click and choose version control and add project to version control.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-rBY9pyDceRA/VFot5TyaQEI/AAAAAAAAArw/UOYbLw6nnvQ/s1600/5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-rBY9pyDceRA/VFot5TyaQEI/AAAAAAAAArw/UOYbLw6nnvQ/s1600/5.JPG" height="250" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Step 6: Choose the Repo and Hit OK.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-J4lTK6CZ3YI/VFot5vM5fFI/AAAAAAAAAr0/dAsAp5Aozws/s1600/6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-J4lTK6CZ3YI/VFot5vM5fFI/AAAAAAAAAr0/dAsAp5Aozws/s1600/6.JPG" height="269" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
Now we can comit the project or inidivual file from the same menu by right clicking it . For check out go to storage manager and right click and click on revert on specified file or project.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-dDrTTx1peqc/VFouvVP1u3I/AAAAAAAAAsI/vokq968vqJQ/s1600/l.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-dDrTTx1peqc/VFouvVP1u3I/AAAAAAAAAsI/vokq968vqJQ/s1600/l.JPG" height="392" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br /></div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-63865846961537673422014-10-27T14:36:00.000+05:452014-10-27T14:36:03.689+05:45FTDI Bricking all the non genuine FTDI chips #26<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
FTDI are used for easy USB connections in microcontroller
and are widely used. FTDI updating
drivers in windows machine for detecting the counterfeit Ics and then re
writing their internal eeprom’s Product id to zero so that no machine can read
the usb device again. They are bricking the chips and no use for further. <o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
FTDI been hitting their own
market and all the users are real mad. Here’s the video on EEVLOG. <a href="https://www.youtube.com/watch?v=eU66as4Bbds">https://www.youtube.com/watch?v=eU66as4Bbds</a><o:p></o:p></div>
<br />
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-24166798189243952122014-10-10T19:14:00.000+05:452014-10-10T19:14:14.159+05:45ENABLE LARGE CROSS HAIR IN ALTIUM DESIGNER #25<div dir="ltr" style="text-align: left;" trbidi="on">
We have the default small cursor as<br />
<br />
Then to change to large cursor or cross hair.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-mjsToQ5Mgu8/VDfcRnXFpCI/AAAAAAAAAqk/PVDctsfWt30/s1600/c1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-mjsToQ5Mgu8/VDfcRnXFpCI/AAAAAAAAAqk/PVDctsfWt30/s1600/c1.JPG" height="262" width="320" /></a></div>
<br />
<br />
Step 1 :<br />
Go to preferences. DXP -> Preferences or Tools -> Preferences<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-l5I3njzf-Fs/VDfcQnMXo9I/AAAAAAAAAqc/kZVpEzB9HS0/s1600/c2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-l5I3njzf-Fs/VDfcQnMXo9I/AAAAAAAAAqc/kZVpEzB9HS0/s1600/c2.JPG" height="175" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
Step 2:<br />
Navigate to PCB editor -> General.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-nQ1_NCFQPWU/VDfcRZRqh-I/AAAAAAAAAqg/5Nuf_i4wp7E/s1600/c3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-nQ1_NCFQPWU/VDfcRZRqh-I/AAAAAAAAAqg/5Nuf_i4wp7E/s1600/c3.JPG" height="489" width="640" /></a></div>
<br />
Step 3:<br />
Click on the drop down menu with small 90 chosen.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-ASaUJdZlt9A/VDfcR3xNFyI/AAAAAAAAAq0/E52bYSaobt8/s1600/c4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-ASaUJdZlt9A/VDfcR3xNFyI/AAAAAAAAAq0/E52bYSaobt8/s1600/c4.JPG" height="160" width="320" /></a></div>
<br />
Step 4:<br />
Choose large 90 and hit enter or OK.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-GBGl6lbQs70/VDfcwde2FhI/AAAAAAAAAq8/DinTmkj0x4w/s1600/c6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-GBGl6lbQs70/VDfcwde2FhI/AAAAAAAAAq8/DinTmkj0x4w/s1600/c6.JPG" height="160" width="320" /></a></div>
Then its done.<br />
<br /></div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com2tag:blogger.com,1999:blog-2828393533134929372.post-63610529399592663082014-09-29T21:18:00.002+05:452014-09-29T21:25:04.939+05:45CREATING 0805 SMD DESIGN IN SOLIDWORKS #24<div dir="ltr" style="text-align: left;" trbidi="on">
Here's the previous part of the tutorial "<a href="http://shortedwire.blogspot.com/2014/09/creating-0805-smd-design-in-solidworks.html">http://shortedwire.blogspot.com/2014/09/creating-0805-smd-design-in-solidworks.html</a>"<br />
<div>
Now click on the features and extrude Boss /Base. Then enter the value 0.5mm.</div>
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-zUSuzaNBwsQ/VClzbklM18I/AAAAAAAAAog/ZLm1FR7O5V8/s1600/d1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-zUSuzaNBwsQ/VClzbklM18I/AAAAAAAAAog/ZLm1FR7O5V8/s1600/d1.JPG" height="320" width="304" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Then the result likes</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ku1NfH-ndiY/VCl0EbqE3EI/AAAAAAAAAoo/zEvA77RtE7Y/s1600/d2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-ku1NfH-ndiY/VCl0EbqE3EI/AAAAAAAAAoo/zEvA77RtE7Y/s1600/d2.JPG" height="273" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now create a new part file and do same with dimensions 1.25mm x 0.35mm.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-ZIztIhcOnNU/VCl0nOTzLII/AAAAAAAAAow/90mM7lRdSss/s1600/d3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-ZIztIhcOnNU/VCl0nOTzLII/AAAAAAAAAow/90mM7lRdSss/s1600/d3.JPG" height="264" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Save the file with "side" name.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Again create a new file and click on assembly this time.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-oAAI4NCyHYI/VCl1QhwSiaI/AAAAAAAAAo4/0wR0aHT1P18/s1600/dd.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-oAAI4NCyHYI/VCl1QhwSiaI/AAAAAAAAAo4/0wR0aHT1P18/s1600/dd.JPG" height="252" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now click on insert component.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-N9NKaPUyHxI/VCl12oJyDkI/AAAAAAAAApA/KdhHM8zz6RM/s1600/d4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-N9NKaPUyHxI/VCl12oJyDkI/AAAAAAAAApA/KdhHM8zz6RM/s1600/d4.JPG" height="336" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now click and drag the component drag the side twice and body once and screen will be like.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-Nw3nfrw3E3Y/VCl4dEbvdkI/AAAAAAAAApM/a7vRGmbwEQU/s1600/d5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-Nw3nfrw3E3Y/VCl4dEbvdkI/AAAAAAAAApM/a7vRGmbwEQU/s1600/d5.JPG" height="252" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now click on the highlighted two faces and click on mates. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-hnTBVJTQ_pA/VCl5lGa44cI/AAAAAAAAApU/SeZz5Q6dJ0E/s1600/d11.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-hnTBVJTQ_pA/VCl5lGa44cI/AAAAAAAAApU/SeZz5Q6dJ0E/s1600/d11.JPG" height="224" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Then the two faces will be collinear and like.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-A-Ub0TLMTXA/VCl5x0CMpoI/AAAAAAAAApc/YoCYp4IqBdA/s1600/c1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-A-Ub0TLMTXA/VCl5x0CMpoI/AAAAAAAAApc/YoCYp4IqBdA/s1600/c1.JPG" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Similarly do same for all the faces which needs to collinear and finally results the 0805 package.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-Oj9ua2XBnck/VCl7XniY8CI/AAAAAAAAApo/b5njaVk1Xk8/s1600/dd1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-Oj9ua2XBnck/VCl7XniY8CI/AAAAAAAAApo/b5njaVk1Xk8/s1600/dd1.JPG" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-XDuQrr7uewg/VCl7Xrl1ESI/AAAAAAAAAps/hQagqcePhRI/s1600/dd2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-XDuQrr7uewg/VCl7Xrl1ESI/AAAAAAAAAps/hQagqcePhRI/s1600/dd2.JPG" height="176" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-GxJXouv-Z1c/VCl7XwI6wII/AAAAAAAAApw/7H3cimHsZOk/s1600/dd4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-GxJXouv-Z1c/VCl7XwI6wII/AAAAAAAAApw/7H3cimHsZOk/s1600/dd4.JPG" height="217" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Finally save it as STEP 14 file and then import it to altium. </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div>
<br /></div>
</div>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-57915613635783505512014-09-25T20:24:00.000+05:452014-09-29T21:24:45.421+05:45CREATING 0805 SMD DESIGN IN SOLIDWORKS #23<div dir="ltr" style="text-align: left;" trbidi="on">
First start solid work click new and click new part.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-EyuinOTpTV4/VCQfAGMDGDI/AAAAAAAAAmI/Yr4A-AZyxGY/s1600/s1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-EyuinOTpTV4/VCQfAGMDGDI/AAAAAAAAAmI/Yr4A-AZyxGY/s1600/s1.JPG" height="180" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-4ru_XP8qZTA/VCQfM-8DZjI/AAAAAAAAAmQ/LbvZ_Zv8By8/s1600/s2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-4ru_XP8qZTA/VCQfM-8DZjI/AAAAAAAAAmQ/LbvZ_Zv8By8/s1600/s2.JPG" height="240" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
Now hit OK.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-1Kimqi6b3LA/VCQfnSO3gNI/AAAAAAAAAmY/rSYzb4b9F40/s1600/s3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-1Kimqi6b3LA/VCQfnSO3gNI/AAAAAAAAAmY/rSYzb4b9F40/s1600/s3.JPG" height="217" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now click on SKETCH on top left corner.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-HZEx6D9brSk/VCQf5SwvI9I/AAAAAAAAAmg/7NhA82ZJ6Lo/s1600/s4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-HZEx6D9brSk/VCQf5SwvI9I/AAAAAAAAAmg/7NhA82ZJ6Lo/s1600/s4.JPG" height="346" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Then click on front plane then sketch will start.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-y45WFDclvlk/VCQgRyDKhnI/AAAAAAAAAmo/8p1Y5rT9Vrk/s1600/s5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-y45WFDclvlk/VCQgRyDKhnI/AAAAAAAAAmo/8p1Y5rT9Vrk/s1600/s5.JPG" height="298" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Click on rectangle tool. </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-WZBGu1pT_EU/VCQgkXG8HtI/AAAAAAAAAmw/RcT8pgOq9Do/s1600/s5.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-WZBGu1pT_EU/VCQgkXG8HtI/AAAAAAAAAmw/RcT8pgOq9Do/s1600/s5.JPG" height="298" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Then drag a rectangle</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-ls6TRuG4ojg/VCQgwANfIyI/AAAAAAAAAm4/eKcUMlpLlfc/s1600/s6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-ls6TRuG4ojg/VCQgwANfIyI/AAAAAAAAAm4/eKcUMlpLlfc/s1600/s6.JPG" height="220" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now click on Smart Dimension from the toolbar. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-1EShrAmRPSg/VCQhBS4VAuI/AAAAAAAAAnA/3dQTwCYFnyw/s1600/x7.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-1EShrAmRPSg/VCQhBS4VAuI/AAAAAAAAAnA/3dQTwCYFnyw/s1600/x7.JPG" height="288" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Click and drag the dimension from the rectangle</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/--aCWhZMwNB4/VCQk87RJQII/AAAAAAAAAnM/_zWJRL2NTGE/s1600/s8.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/--aCWhZMwNB4/VCQk87RJQII/AAAAAAAAAnM/_zWJRL2NTGE/s1600/s8.JPG" height="312" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Enter Dimension 1.3 mm and hit enter</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-Ur1XijT9Vqw/VCQlMyc-T9I/AAAAAAAAAnU/L3JyY141HkY/s1600/s9.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-Ur1XijT9Vqw/VCQlMyc-T9I/AAAAAAAAAnU/L3JyY141HkY/s1600/s9.JPG" height="327" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Do same for the other side but with 1.25mm dimension.</div>
<div class="separator" style="clear: both; text-align: left;">
Then right click on the line as shown in the image below.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-2FUrz6kGTD0/VCQlcpG0DAI/AAAAAAAAAnc/arLEOwTJBu0/s1600/s10.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-2FUrz6kGTD0/VCQlcpG0DAI/AAAAAAAAAnc/arLEOwTJBu0/s1600/s10.JPG" height="327" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Then click on the select midpoint and holding down the control click on the origin. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-wqskR_XCun0/VCQmnuCQ6WI/AAAAAAAAAno/yZ_zjKYlfNo/s1600/s11.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-wqskR_XCun0/VCQmnuCQ6WI/AAAAAAAAAno/yZ_zjKYlfNo/s1600/s11.JPG" height="242" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-k_8eNL0CMxk/VCQmuHrJhAI/AAAAAAAAAnw/VDEUecL3AKA/s1600/s12.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-k_8eNL0CMxk/VCQmuHrJhAI/AAAAAAAAAnw/VDEUecL3AKA/s1600/s12.JPG" height="218" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Then click on vertical. This will turn the vertical lines to black.(This is not cumpulsory step.)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-IAQ_4pL6BRQ/VCQnnCAixrI/AAAAAAAAAn4/u-yVIZXL1DA/s1600/s13.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-IAQ_4pL6BRQ/VCQnnCAixrI/AAAAAAAAAn4/u-yVIZXL1DA/s1600/s13.JPG" height="220" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now do same for the vertical lines also and hit horizontal option and this will turn all rectangle to black color.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-SuClxXGwXO4/VCQoD53fnvI/AAAAAAAAAoA/ZwcrwCioUgU/s1600/s14.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-SuClxXGwXO4/VCQoD53fnvI/AAAAAAAAAoA/ZwcrwCioUgU/s1600/s14.JPG" height="291" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Now the rectangle is all done and i'll continue on the next post. </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Here' you get in end. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-Btn5ncYP2vM/VCQokjeXJkI/AAAAAAAAAoI/9twTX-sOJeE/s1600/vlcsnap-2014-09-25-19h26m18s154.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-Btn5ncYP2vM/VCQokjeXJkI/AAAAAAAAAoI/9twTX-sOJeE/s1600/vlcsnap-2014-09-25-19h26m18s154.png" height="358" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
Then at the very end and will be using it with Altium Designer 14</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-FJRhvMcxBZM/VCQo3cj0hwI/AAAAAAAAAoQ/pKRV4GScD6c/s1600/s15.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-FJRhvMcxBZM/VCQo3cj0hwI/AAAAAAAAAoQ/pKRV4GScD6c/s1600/s15.JPG" height="228" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Here's the next part of the tutorial "<a href="http://shortedwire.blogspot.com/2014/09/creating-0805-smd-design-in-solidworks_29.html">http://shortedwire.blogspot.com/2014/09/creating-0805-smd-design-in-solidworks_29.html</a>"</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br /></div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-15411261175687228482014-09-24T19:21:00.000+05:452014-09-24T19:21:08.945+05:45A SIMPLE DUAL POWER SUPPLY CIRCUIT #22<div dir="ltr" style="text-align: left;" trbidi="on">
Dual power supplies are required mainly in signal purposes mainly in opamps and in amplifiers.<br />
Amplifiers need high current supply and high voltages for delivering very high watt power to the speaker.<br />
A very simple dual power supply can be make just using capacitor and resistor divider.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-bksECCds2M4/VCLIUqa6GkI/AAAAAAAAAl8/BGlNm2ZsBps/s1600/d2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-bksECCds2M4/VCLIUqa6GkI/AAAAAAAAAl8/BGlNm2ZsBps/s1600/d2.JPG" height="300" width="320" /></a></div>
<br />
<br />
Here connecting B+ voltage will give output of +B/2 and - B/2 with respect to PGND on the terminal.<br />
This circuit is used in SINGLE POWER SUPPLY CLASS D AMPLIFER of International Rectifiers' IR4301 and works real good.Here's the link of the IR's amplfier's circuit.<br />
<a href="http://www.irf.com/technical-info/refdesigns/iraudamp17.pdf">http://www.irf.com/technical-info/refdesigns/iraudamp17.pdf</a><br />
Besides classical transformer based dual power supply will always works nice and fine.<br />
<br />
<br /></div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-25087756733236408012014-09-22T20:58:00.003+05:452014-09-22T20:58:56.729+05:45CHEAPO ETHERNET FOR YOUR CONTROLLER #21<div dir="ltr" style="text-align: left;" trbidi="on">
Enc28J60 is Microchips' cheap 28 pin 10BASE-T stand alone ethernet controller IC with both MAC and PHY. IC's available in DIP,SOIC,SSOP,QFN packages and quite popular in embedded designs.<br />
Its interfaced to controller with SPI interface and has got 8K of Buffer RAM. Many breakouts are availabe for the board but why not build one of you own.<br />
Things we need<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="http://4.bp.blogspot.com/-q1wKxsHeWTE/VCA6Fe7K-BI/AAAAAAAAAlM/vacqOrk0il8/s1600/l1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-q1wKxsHeWTE/VCA6Fe7K-BI/AAAAAAAAAlM/vacqOrk0il8/s1600/l1.JPG" height="265" width="400" /></a></div>
<br />
J006d21BNL is RJ45 connector with internal transformers. These are available in digikey or any other supplier.<br />
ENC28J60-I/SP is DIP package <a href="http://www.digikey.com/product-detail/en/ENC28J60-I%2FSP/ENC28J60-I%2FSP-ND/1680061">http://www.digikey.com/product-detail/en/ENC28J60-I%2FSP/ENC28J60-I%2FSP-ND/1680061</a><br />
<br />
The whole schematics looks<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-P0XlcZPp2zw/VCA6__hUZjI/AAAAAAAAAlU/IBOXmv75VEo/s1600/c4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-P0XlcZPp2zw/VCA6__hUZjI/AAAAAAAAAlU/IBOXmv75VEo/s1600/c4.JPG" height="329" width="640" /></a></div>
The symbol here in C3 and in BOM above is mistaken for L3. The schematic for the capacitor should be inductor for value around 10 to 47 uH.<br />
<br />
Here's a single layered home made PCB for the schematic.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://2.bp.blogspot.com/-RQEngUyYvTs/VCA8K0oZm2I/AAAAAAAAAlo/4PupxI5UXjk/s1600/p1.JPG" imageanchor="1" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="http://2.bp.blogspot.com/-RQEngUyYvTs/VCA8K0oZm2I/AAAAAAAAAlo/4PupxI5UXjk/s1600/p1.JPG" height="255" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
With some nice 0805 100nF capacitor decouplings and SMD regulator below the board.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-xxQ7Pz6Cg_0/VCA8KVUPP4I/AAAAAAAAAlg/4aNkhLeIFjc/s1600/d3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-xxQ7Pz6Cg_0/VCA8KVUPP4I/AAAAAAAAAlg/4aNkhLeIFjc/s1600/d3.JPG" height="203" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
OOPs no 3d for connector..</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://3.bp.blogspot.com/-1ji16AKstIo/VCA8J_QUASI/AAAAAAAAAlc/jyRjM06Izsk/s1600/d4.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://3.bp.blogspot.com/-1ji16AKstIo/VCA8J_QUASI/AAAAAAAAAlc/jyRjM06Izsk/s1600/d4.JPG" height="213" width="320" /></a></div>
<br />
<br /></div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0tag:blogger.com,1999:blog-2828393533134929372.post-10364498444627525322014-09-21T21:47:00.001+05:452014-09-21T21:48:12.464+05:45YOUR OWN USBasp PROGRAMMER #20<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
USBasp Programmer are used to program AVR microcontrollers. These programmers are used as ICSP (In Circuit Serial Programming). </div>
AVR's ISP header are generally in 10 pin format or in 6 pin format as in arduino.<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="http://1.bp.blogspot.com/-o8O51yw5RjQ/VB7xIVogy3I/AAAAAAAAAkg/PTplD5fCDf0/s1600/c2.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="http://1.bp.blogspot.com/-o8O51yw5RjQ/VB7xIVogy3I/AAAAAAAAAkg/PTplD5fCDf0/s1600/c2.JPG" /></a><a href="http://4.bp.blogspot.com/-PutPMdcHXcY/VB7w2lYH8qI/AAAAAAAAAkY/djFd-zUHECQ/s1600/c1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-PutPMdcHXcY/VB7w2lYH8qI/AAAAAAAAAkY/djFd-zUHECQ/s1600/c1.JPG" height="163" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div style="text-align: justify;">
The ISP pins are connected to the AVR's SPI pins and programming can only be done if SPI downloading is enabled and external reset pin is not disabled. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
USBasp can be used with some softwares like EXTREME AVR PROGMMER and even ARDUINO.</div>
<div style="text-align: justify;">
AVR dude also supports USBasp uploading.</div>
<div style="text-align: justify;">
USBasp firmware is readily available and it uses ATMEGA8 and used AVR's VUSB for making firmware only USB driver.</div>
<div style="text-align: justify;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-PHmOzjQElKE/VB70AMMmhdI/AAAAAAAAAks/szTZdq6_k2U/s1600/c3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://1.bp.blogspot.com/-PHmOzjQElKE/VB70AMMmhdI/AAAAAAAAAks/szTZdq6_k2U/s1600/c3.JPG" height="547" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The PCB is like with USB B connector.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-HTccXxjTKo0/VB71Oot5iYI/AAAAAAAAAk0/AXgDpECScNE/s1600/d1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-HTccXxjTKo0/VB71Oot5iYI/AAAAAAAAAk0/AXgDpECScNE/s1600/d1.JPG" height="228" width="320" /></a></div>
<br />
And some 0805 100nF decouplings below.<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://4.bp.blogspot.com/-LYtL_HhrM-I/VB71OwPe6GI/AAAAAAAAAk4/yaLMlISg0AE/s1600/d2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://4.bp.blogspot.com/-LYtL_HhrM-I/VB71OwPe6GI/AAAAAAAAAk4/yaLMlISg0AE/s1600/d2.JPG" height="188" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
The usbasp firmware and circuit with drivers for PC are available from its site <a href="http://www.fischl.de/usbasp/">http://www.fischl.de/usbasp/</a></div>
<br /></div>
</div>
Kiranhttp://www.blogger.com/profile/10082378249141171264noreply@blogger.com0