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

<channel>
	<title>Roko.ca &#187; Electronics</title>
	<atom:link href="http://roko.ca/tag/electronics/feed" rel="self" type="application/rss+xml" />
	<link>http://roko.ca</link>
	<description></description>
	<lastBuildDate>Sun, 21 Nov 2010 20:49:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Code Progress is Still Progress</title>
		<link>http://roko.ca/robotics/code-progress-is-still-progress</link>
		<comments>http://roko.ca/robotics/code-progress-is-still-progress#comments</comments>
		<pubDate>Sun, 22 Aug 2010 03:52:31 +0000</pubDate>
		<dc:creator>Roko</dc:creator>
				<category><![CDATA[Quadruped]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[H-Bridge]]></category>
		<category><![CDATA[Machining]]></category>
		<category><![CDATA[walker]]></category>

		<guid isPermaLink="false">http://roko.ca/?p=243</guid>
		<description><![CDATA[It&#8217;s been a long time since I&#8217;ve updated, and to those following my project I apologize, I know how annoying it is to see an interesting project on the net stall for years. (well, at least I hope my project the info I&#8217;m putting is useful/interesting/inspiring to others) Long story short, I left my old [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a long time since I&#8217;ve updated, and to those following my project I apologize, I know how annoying it is to see an interesting project on the net stall for years. (well, at least I hope my project the info I&#8217;m putting is useful/interesting/inspiring to others)</p>
<p>Long story short, I left my old job last December, moved cities and started a new job in a different industry. Needless to say, life has been busy, and I haven&#8217;t had as much time for my projects as I&#8217;d like, which may or may not be a good thing depending how you view it. Moving 1,154 km away from my Dad&#8217;s basement workshop hasn&#8217;t helped either. No more driving to my parents place to do machine work in my spare time. I&#8217;m left to slowly acquire my own tools now.</p>
<p>I haven&#8217;t forgotten about the quadruped, and have even managed to get some work done on it. I&#8217;ve powered up the motor drivers and haven&#8217;t found any major design errors yet, which is a good sign. Motors are spinning, and potentiometers are being sensed properly. I still need to do a bit of work to tap the 0-80 holes to mount the angle sensors, and machine the drive shafts a little bit to engage said angle sensors properly, before I can get the PID controller working properly to move the joint to the appropriate angle.</p>
<p>I&#8217;m also considering moving to brass gears, at least on the motor. I&#8217;m not overly concerned about the Delrin gears stripping, as there shouldn&#8217;t be a massive loads on them that cause outright concern, but I am having trouble mounting them securely to the motor shafts. As it ends up, Delrin is a bit flexible, enough so that it won&#8217;t hold a set screw securely, and even with a set screw the motor shafts end up spinning inside the gear. Moving to a brass screw should solve this problem, and is likely the easiest solution, albeit a little bit expensive.</p>
<p>On that note, you may have noticed I&#8217;ve put up ads. For the longest time I&#8217;ve been against ads on my personal website, but web hosting and robotics as a hobby does cost money. I haven&#8217;t really settled on whether or not I&#8217;ll keep the ads yet&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://roko.ca/robotics/code-progress-is-still-progress/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Blast From The Past (Sumo Style) Part I</title>
		<link>http://roko.ca/robotics/a-blast-from-the-past-sumo-style-part-i</link>
		<comments>http://roko.ca/robotics/a-blast-from-the-past-sumo-style-part-i#comments</comments>
		<pubDate>Fri, 04 Jun 2010 02:40:53 +0000</pubDate>
		<dc:creator>Roko</dc:creator>
				<category><![CDATA[Mini Sumo v6]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[H-Bridge]]></category>
		<category><![CDATA[Machining]]></category>
		<category><![CDATA[Mini Sumo]]></category>
		<category><![CDATA[Robot Games]]></category>

		<guid isPermaLink="false">http://roko.ca/?p=214</guid>
		<description><![CDATA[It&#8217;s been a busy summer (and then winter), involving getting a new job and moving to a new city, so I haven&#8217;t had much time to work on my robots much recently, let alone update my blog! So, instead of posting any updates on my robots (those will come later on when I get more [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a busy summer (and then winter), involving getting a new job and moving to a new city, so I haven&#8217;t had much time to work on my robots much recently, let alone update my blog! So, instead of posting any updates on my robots (those will come later on when I get more work done), I&#8217;ve dug up some information on one of my older Sumo Robots, aptly named:</p>
<h2 style="text-align: center;">Chomp!</h2>
<div id="attachment_215" class="wp-caption alignleft" style="width: 160px"><a href="http://roko.ca/wp-content/uploads/2009/09/2000-L-6_Auto_Sumo.jpg"><img class="size-thumbnail wp-image-215  " title="2000-L-6_Auto_Sumo" src="http://roko.ca/wp-content/uploads/2009/09/2000-L-6_Auto_Sumo-150x150.jpg" alt="Chomp! in Competition" width="150" height="150" /></a><p class="wp-caption-text">Chomp! in Competition</p></div>
<p>Chomp! was my first sumo robot, and first robot beyond BEAM robotics. Built in my High School years, it competed for the first time in the 2000 Western Canadian Robot Games, and placed first in the 5kg Autonomous Sumo competition. Although slow and lumbering, this robot had a good (for the time) vision system and protective skirt system that deployed on startup.</p>
<p>The brains of the Sumo was the rustic Basic Stamp II, powering an L298 H-bridge that controlled 4 motors, one per wheel. An aluminum frame held the robot together, and a custom made decals gave the robot a nice fierce personality <img src='http://roko.ca/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Back before the days of commonly available Sharp IR Rangefinders, I used a solution involving Modulated IR sensors (40 kHz) and modulated IR LEDs. By toggling the LEDs on or off, from a single sensor I could determine if the robot was to the left, right or front of me. A far cry from &#8216;<a href="http://roko.ca/category/robotics/mini-sumo-v6">1.21 GW</a>&#8216;, my current mini sumo, but it worked, and helped get the robot first place!</p>
<div id="attachment_216" class="wp-caption alignright" style="width: 160px"><a href="http://roko.ca/wp-content/uploads/2009/09/2000-L-14_Auto_Sumo.jpg"><img class="size-thumbnail wp-image-216  " title="2000-L-14_Auto_Sumo" src="http://roko.ca/wp-content/uploads/2009/09/2000-L-14_Auto_Sumo-150x150.jpg" alt="Chomp! preparing for Battle, before deploying protective skirts" width="150" height="150" /></a><p class="wp-caption-text">Chomp! preparing for Battle, before deploying protective skirts</p></div>
<p>Chomp! went on to compete in the 200 WCRG for the next year or two, but other robots rapidly improved over the years, and Chomp! became too slow and the protective flaps too weak for stronger robots.</p>
<p>Chomp! actually had a sister (brother?) robot, named &#8220;Fatal Discharge&#8221;, which never ended up working right. Unfortunately, this was before I figured out enough about motor controllers to know that the L298 wasn&#8217;t quite up to the task.</p>
<p>After Chomp!, I went on to build &#8220;Event Horizon&#8221;, which was a moderately successful robot, and one of the first in Canada to have a vacuum system for increased traction. But more on that later&#8230;..</p>
]]></content:encoded>
			<wfw:commentRss>http://roko.ca/robotics/a-blast-from-the-past-sumo-style-part-i/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quadrupeds Need a Whole Lot of Motor Controllers</title>
		<link>http://roko.ca/robotics/quadruped-motor-control</link>
		<comments>http://roko.ca/robotics/quadruped-motor-control#comments</comments>
		<pubDate>Fri, 05 Jun 2009 04:35:02 +0000</pubDate>
		<dc:creator>Roko</dc:creator>
				<category><![CDATA[Quadruped]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[H-Bridge]]></category>

		<guid isPermaLink="false">http://roko.ca/?p=192</guid>
		<description><![CDATA[It&#8217;s been a while since my last update on the Quadruped&#8217;s build progress, but I finally got my PCBs back for the motor controllers. Since the robot has twelve motors, I need six motor controllers in total (Each of my controllers controls two motors). They&#8217;re an updated version of the h-bridge I prototyped last fall, [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 170px"><a class="shutterset_" href="http://roko.ca/wp-content/gallery/quadruped/Bare PCBs 1.JPG"><img class="ngg-singlepic ngg-center  " src="http://roko.ca/wp-content/gallery/quadruped/thumbs/thumbs_Bare PCBs 1.JPG" alt="Bare PCBs 1" width="160" height="120" /></a><p class="wp-caption-text">Motor Controller Blank PCBs</p></div>
<div class="wp-caption alignright" style="width: 170px"><a class="shutterset_" href="http://roko.ca/wp-content/gallery/quadruped/Leg Motor Controller 1.JPG"><img class="ngg-singlepic ngg-center  " src="http://roko.ca/wp-content/gallery/quadruped/thumbs/thumbs_Leg Motor Controller 1.JPG" alt="Leg Motor Controller 1" width="160" height="120" /></a><p class="wp-caption-text">Motor Controller in the Leg</p></div>
<p>It&#8217;s been a while since my last update on the Quadruped&#8217;s build progress, but I finally got my PCBs back for the motor controllers. Since the robot has twelve motors, I need six motor controllers in total (Each of my controllers controls two motors). They&#8217;re an updated version of the <a href="http://roko.ca/robotics/h-bridge-prototype-build">h-bridge I prototyped last fall</a>, and used in my <a href="http://roko.ca/category/robotics/mini-sumo-v6">mini sumo robot</a>. Although definately more than is really required, the motor controllers boast ultra-low RDSon Direct FETs, and HC9S12C32 micro-controller to handle the control and monitoring of the h-bridges. The black soldermask really enhances the look of the PCBs mounted in the robot.</p>
<p>Each leg has it&#8217;s own motor controller to manage the two motors in each leg, and another two motor controllers will manage the four motors in the core. The leg motor controllers are shaped specifically to fit within the frame on one side. The other side of the upper leg frame will hold another PCB with some sensors (I&#8217;m planning on e-field and/or pressure sensors in the robot&#8217;s feet and on the leg itself.)</p>
<div class="wp-caption alignleft" style="width: 170px"><a class="shutterset_" href="http://roko.ca/wp-content/gallery/quadruped/Leg Motor Controller 2.JPG"><img class="ngg-singlepic ngg-center " src="http://roko.ca/wp-content/gallery/quadruped/thumbs/thumbs_Leg Motor Controller 2.JPG" alt="Leg Motor Controller 2" width="160" height="120" /></a><p class="wp-caption-text">Motor Controller and Angle Sensors</p></div>
<div class="wp-caption alignright" style="width: 170px"><a class="shutterset_" href="http://roko.ca/wp-content/gallery/quadruped/Leg Pogo Adaptor.JPG"><img class="ngg-singlepic ngg-center  " src="http://roko.ca/wp-content/gallery/quadruped/thumbs/thumbs_Leg Pogo Adaptor.JPG" alt="Leg Pogo Adaptor" width="160" height="120" /></a><p class="wp-caption-text">Programming Adaptor</p></div>
<p>Each joint requires angular feedback for the motor controller&#8217;s closed loop system. This is accomplished by using special potentiometers through which the joint shaft will pass. The potentiometer is wired as a simple voltage divider, and  as the angle of the shaft changes, the potentiometer will give a different voltage output. This voltage will in turn be read by the motor controller and turned into useful data. The special potentiometers used here were a bit of an obscure find, but luckily they are a stock item at Digikey.</p>
<p>In order to ease the routing of all the connections on a 2 layer PCB, I decided to offload the large BDM header onto a separate board, which can be screwed onto the leg frame when I load the motor controller firmware. Several pogo pins then  make the programming connections to the test points on the controller PCB. I decided to get creative with the shape, and it turned out pretty neat.</p>
<p>I&#8217;m toying with the idea of putting a customized boot loader in the 9s12 controller, and giving the main processor (the Gumstix) programming control over all motor drivers. This way, instead of individually updating firmware on the motor controllers as I continue development down the road, I can instead just load one hex file into the Gumstix&#8217; file system, and it will automatically update the firmware on all six motor controllers.</p>
<div class="wp-caption alignleft" style="width: 170px"><a class="shutterset_" href="http://roko.ca/wp-content/gallery/quadruped/New Battery.JPG"><img class="ngg-singlepic ngg-center " src="http://roko.ca/wp-content/gallery/quadruped/thumbs/thumbs_New Battery.JPG" alt="New Battery" width="160" height="120" /></a><p class="wp-caption-text">Lipo Batteries</p></div>
<p><a title="The 4x 2000mAh LiPo batteries I will use to power the robot. They will be wire 2s2p for a total of 4000 mAh at 7.2 volts" rel="lightbox[g2image]" href="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=299&amp;g2_GALLERYSID=820600e0866e15c88aa38f35c0b31a85"></a>I also recently ordered the batteries I will be using to power the robot, 4x 2000 mAh LiPo batteries. I will be running then in a 2-series 2-parallel configuration to get 4000 mAh at 7.2 volts to run the entire robot. I still need to design and build a board that will fit underneath the batteries in the core of the robot, which will be responsible for battery protection/charging as well as power and control signal distribution to the four legs.</p>
<p>Still a lot of work to go, but it&#8217;s getting closer to walking&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://roko.ca/robotics/quadruped-motor-control/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Some Random Stuff</title>
		<link>http://roko.ca/robotics/some-random-stuff</link>
		<comments>http://roko.ca/robotics/some-random-stuff#comments</comments>
		<pubDate>Sat, 09 May 2009 16:45:44 +0000</pubDate>
		<dc:creator>Roko</dc:creator>
				<category><![CDATA[Mini Sumo v6]]></category>
		<category><![CDATA[Quadruped]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[GPS]]></category>
		<category><![CDATA[Mini Sumo]]></category>
		<category><![CDATA[UAV]]></category>

		<guid isPermaLink="false">http://roko.ca/?p=185</guid>
		<description><![CDATA[One of my friends working on a GPS project of his own managed to aquire some Sarantel Helical antennas, and got some for me as well. I&#8217;m planning on using them with the U-blox GPS module I have had sitting around. (I originally bought the GPS module for a MUAV autopilot I&#8217;ve been slowly designing, [...]]]></description>
			<content:encoded><![CDATA[<p><div class="wp-caption alignleft" style="width: 160px"><a title="The U-Blox GPS and Sarantel Helical Antenna" rel="lightbox[g2image]" href="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=287&amp;g2_GALLERYSID=96b36b5808604851e698652755efda0d"><img title="The U-Blox GPS and Sarantel Helical Antenna" src="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=289&amp;g2_GALLERYSID=96b36b5808604851e698652755efda0d" alt="GPS Module and Antenna" width="150" height="113" /></a><p class="wp-caption-text">U-Blox GPS and Satantel Antenna</p></div>One of my friends working on a GPS project of his own managed to aquire some <a href="http://www.sarantel.com/">Sarantel Helical antennas</a>, and got some for me as well. I&#8217;m planning on using them with the <a href="http://www.u-blox.com/products/lea_4h.html">U-blox GPS module </a>I have had sitting around. (I originally bought the GPS module for a <a href="http://roko.ca/robotics/muav-musings">MUAV</a> autopilot I&#8217;ve been slowly designing, but when I got busy with work it got put aside and technology outpaced my design. For the MUAV autopilot I&#8217;m now intending on using a smaller, lighter GPS module which has freed up this one for service on my Quadruped). I&#8217;m still mulling around on choosing an LNA to throw in between the radio and antenna to improve sensitivity, so the PCB design is stalled until I make a selection.</p>
<p><div class="wp-caption alignright" style="width: 160px"><a title="Four legs assembled for the first time, but still a long way to go...." rel="lightbox[g2image]" href="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=211&amp;g2_GALLERYSID=96b36b5808604851e698652755efda0d"><img title="Four legs assembled for the first time, but still a long way to go...." src="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=213&amp;g2_GALLERYSID=96b36b5808604851e698652755efda0d" alt="Four Legs in progress 2" width="150" height="113" /></a><p class="wp-caption-text">Teaser Photo</p></div>Although the GPS is &#8220;technically&#8221; able to attain a GPS lock indoors according to the literature, I&#8217;m not going to count on that. The camera will be used for indoor navigation and world modeling (I&#8217;ll post more on the progress of that later), while the GPS will be used primarily for outdoors navigation. The main reason for this is I&#8217;m thinking of having a go at the <a href="http://www.robothon.org/robothon/robo-magellan.php">Robo Magellan</a> competition put on by the Seattle Robotics Society. Although for the general flat environment a small walker is at a huge speed disadvantage to the larger wheeled or tracked rovers that typically enter, I&#8217;m more interested in the technical challenge of designing a robust and adaptive walking/navigation algorithm for the robot than winning.</p>
<p><div class="wp-caption alignleft" style="width: 160px"><a title="The motherboard after population" rel="lightbox[g2image]" href="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=290&amp;g2_GALLERYSID=96b36b5808604851e698652755efda0d"><img title="The motherboard after population" src="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=291&amp;g2_GALLERYSID=96b36b5808604851e698652755efda0d" alt="Populated Mobo" width="150" height="113" /></a><p class="wp-caption-text">Mini Sumo Brain</p></div>As a bit of an unrelated note, here&#8217;s a picture of the populated circuit board for my mini sumo. Now that there&#8217;s no pressing deadline to get the robot working, I&#8217;ll have more time to fiddle with this board and get FreeRTOS up and running on the LPC2138 to manage the data and computational requirements of some of the more complicated sensors I&#8217;m throwing into this sumo robot for no other reason than &#8220;because I thought it would be a good technical challenge&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://roko.ca/robotics/some-random-stuff/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mini Sumo PCBs&#8230;</title>
		<link>http://roko.ca/robotics/mini-sumo-pcbs</link>
		<comments>http://roko.ca/robotics/mini-sumo-pcbs#comments</comments>
		<pubDate>Tue, 28 Apr 2009 17:57:49 +0000</pubDate>
		<dc:creator>Roko</dc:creator>
				<category><![CDATA[Mini Sumo v6]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[H-Bridge]]></category>
		<category><![CDATA[Mini Sumo]]></category>

		<guid isPermaLink="false">http://roko.ca/?p=177</guid>
		<description><![CDATA[After a rushed PCB design marathon, I got my PCBs in last week, built by the good folks at APCircuits. The stencil came in shortly after. Since I made the PCBs into a panel, I had to cut them appart and file down the edges so that it would fit in the chassis. Overall the [...]]]></description>
			<content:encoded><![CDATA[<p><div class="wp-caption alignleft" style="width: 160px"><a title="Blank PCBs..." rel="lightbox[g2image]" href="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=272&amp;g2_GALLERYSID=9ceca21a5b6f4cb8daa8e30876164b8a"><img title="Bare PCBs" src="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=273&amp;g2_GALLERYSID=9ceca21a5b6f4cb8daa8e30876164b8a" alt="BlankPCB" width="150" height="113" /></a><p class="wp-caption-text">Bare PCBs</p></div>After <div class="wp-caption alignright" style="width: 160px"><a title="Fitting the PCB in the body..." rel="lightbox[g2image]" href="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=278&amp;g2_GALLERYSID=9ceca21a5b6f4cb8daa8e30876164b8a"><img title="Fitting the PCB in the body..." src="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=279&amp;g2_GALLERYSID=9ceca21a5b6f4cb8daa8e30876164b8a" alt="MockUpPCB" width="150" height="113" /></a><p class="wp-caption-text">Fitting the PCB in the body...</p></div>a rushed PCB design marathon, I got my PCBs in last week, built by the good folks at APCircuits. The stencil came in shortly after. Since I made the PCBs into a panel, I had to cut them appart and file down the edges so that it would fit in the chassis. Overall the PCBs turned out nicely. I built them up and can sucessfully load code into the LPC2138. (No pictures of the completed circuit board yet). Things are comming togethor nicely.</p>
<p>You&#8217;ll also notice on the silk screen that I have given this robot a more creative name than Mini Sumo Version 6. I now call it &#8220;1.21Gw,&#8221; pronounced, of course, much as Doc Brown pronounced it in the timeless classic (no pun intended) &#8220;Back to the Future&#8221;</p>
<p>Now to finish it up and write some basic code for the robot games this weekend.</p>
]]></content:encoded>
			<wfw:commentRss>http://roko.ca/robotics/mini-sumo-pcbs/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>H-Bridge Fundamentals</title>
		<link>http://roko.ca/robotics/h-bridge-fundamentals</link>
		<comments>http://roko.ca/robotics/h-bridge-fundamentals#comments</comments>
		<pubDate>Fri, 12 Dec 2008 04:07:20 +0000</pubDate>
		<dc:creator>Roko</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Electronics]]></category>
		<category><![CDATA[H-Bridge]]></category>

		<guid isPermaLink="false">http://roko.ca/?p=44</guid>
		<description><![CDATA[An introduction into basic H-Bridge theory and operation, this article covers the fundamentals you need to know to make a working H-Brigde with N and P Channel MOSFETs Obligatory Introduction Since I began building sumo robots in late 1999, I&#8217;ve been wrestling (no pun intended) with motor drivers. At first I used single chip solutions [...]]]></description>
			<content:encoded><![CDATA[<p>An introduction into basic H-Bridge theory and operation, this article covers the fundamentals you need to know to make a working H-Brigde with N and P Channel MOSFETs</p>
<p><span id="more-44"></span></p>
<p><!--pagetitle:Introduction--></p>
<h2>Obligatory Introduction</h2>
<p>Since I began building sumo robots in late 1999, I&#8217;ve been       wrestling (no pun intended) with motor drivers. At first I used single       chip solutions like the L298 in &#8220;Chomp&#8221; which worked well most       of the time, with only the occasional burnout. What most of you who know       me and my       robots probably don&#8217;t know is that Chomp had a twin named &#8220;Fatal       Discharge&#8221;. It was built with almost the same design, with the main       difference being the motors. On this robot, the L298 worked occasionally, burning out       most of the time. It just wasn&#8217;t adequate for the motors, and at the time       I didn&#8217;t have enough electronics knowledge to make it work. As such, Fatal Discharge never made       it to competition.</p>
<p>Since then, I&#8217;ve built more robots, and       have gained much more experience making motor controllers. This       document is meant to provide some vital information on making a       &#8220;bullet proof&#8221; motor driver, based upon my experiences and       research into the field.</p>
<p><em><strong>:::DISCLAIMER:::</strong></em></p>
<p>I       in no way guarantee that I haven&#8217;t made any mistakes, and I am not liable       for any damage that may be caused by using circuits discussed in this       page. If you spot any errors, please let me know.</p>
<p>Be       careful when dealing with large batteries and H-Bridges. They require care       in design and construction, and carelessness can lead to components       overheating, and catching on fire.</p>
<p><a title="Contact Me" href="http://roko.ca/contact">If you have any questions of concerns, feel free to ask.</a></p>
<h2>So Why Make My Own Motor Driver?</h2>
<p>It&#8217;s a commonly known fact to roboticists why motor       drivers are needed. 99.99% of the time, the micro controller or control       circuitry of a robot just can&#8217;t provide the       current needed to power motors. For motors with small current draw, single       chip solutions such as the L293 or L298 can be used, however these are       only useful for a range of less than one or two amps.</p>
<p>In       the world of 3kg (and the now obsolete 5kg) autonomous sumo, having motors       that can output high power is necessary, especially when vacuum systems       are used. These motors are driven in extreme conditions, requiring abrupt       speed and direction changes, as well as being subject to high loads. When driving motors under       these conditions, an L298 will work only for very efficient motors in the       lower power ranges, but these super efficient motors are not always easy to find       when you are on a budget. Some motors produce plenty of output       power, but can also be very inefficient, thereby causing many problems with       associated control circuitry, and a simple single chip solution will no       longer cut it.</p>
<p>For my 3kg robot &#8220;Event Horizon&#8221;, I made the       switch from pre-made motor drivers to rolling my own mosfet h-bridges.       There are plenty of designs out there, and I went for simplicity       using P-channel mosfets for the high side of the bridge, and N-channel mosfets for       the low side of the bridge.</p>
<p>H-Bridge designs using only N-channel       devices are out of the scope of this article, although many of the       concepts discussed in this article still hold valid. Eventually, I may make another page       regarding the design of h-bridges using N-channel devices only.</p>
]]></content:encoded>
			<wfw:commentRss>http://roko.ca/robotics/h-bridge-fundamentals/feed</wfw:commentRss>
		<slash:comments>52</slash:comments>
		</item>
		<item>
		<title>H-Bridge Prototype Build</title>
		<link>http://roko.ca/robotics/h-bridge-prototype-build</link>
		<comments>http://roko.ca/robotics/h-bridge-prototype-build#comments</comments>
		<pubDate>Thu, 11 Dec 2008 10:25:42 +0000</pubDate>
		<dc:creator>Roko</dc:creator>
				<category><![CDATA[Robotics]]></category>
		<category><![CDATA[Electronics]]></category>

		<guid isPermaLink="false">http://roko.ca/?p=8</guid>
		<description><![CDATA[I received the PCB for my prototype motor controller the other day, courtesy of the good folks at Batch PCB. For under $20 USD shipped for the motor controller PCB and the USB to Serial programming adapter PCB, I didn&#8217;t mind the one-month wait to get the PCBs back. Over my lunch break today I [...]]]></description>
			<content:encoded><![CDATA[<p><div class="wp-caption alignleft" style="width: 160px"><a title="IMG_4596" rel="lightbox[g2image]" href="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=52&amp;g2_GALLERYSID=820600e0866e15c88aa38f35c0b31a85"><img title="IMG_4596" src="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=53&amp;g2_GALLERYSID=820600e0866e15c88aa38f35c0b31a85" alt="IMG_4596" width="150" height="113" /></a><p class="wp-caption-text">Driver Board with solder paste</p></div>I received the PCB for my prototype motor controller the other day, courtesy of the good folks at <a href="http://www.batchpcb.com">Batch PCB</a>. For under $20 USD shipped for the motor controller PCB and the USB to Serial programming adapter PCB, I didn&#8217;t mind the one-month wait to get the PCBs back. Over my lunch break today I made use of the lab to do the re-flow work. It was actually my first time doing solder re-flow, my only previous experience being observing it in both small scale and mass production overseas through work.</p>
<p>Re-flowing this design is a must, as I&#8217;m employing &#8220;Direct FET&#8221; packages from IRF. The package is basically a metal can with the bare FET on the bottom side. This is supposed to allow for very good heat dissipation, and minimal packaging loss (read: Low RDS-on). I&#8217;m expecting this PCB to handle approximatley 10 amps per channel (it will handle two motors) continuous if properly cooled, but for the next few projects I have on the go, it will be much less. The PCB is small itself, measuring a little over 1&#8243;x1.5&#8243;!</p>
<p><div class="wp-caption alignright" style="width: 160px"><a title="IMG_4606" rel="lightbox[g2image]" href="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=54&amp;g2_GALLERYSID=820600e0866e15c88aa38f35c0b31a85"><img title="IMG_4606" src="http://roko.ca/gallery/main.php?g2_view=core.DownloadItem&amp;g2_itemId=55&amp;g2_GALLERYSID=820600e0866e15c88aa38f35c0b31a85" alt="IMG_4606" width="150" height="113" /></a><p class="wp-caption-text">&quot;Completed&quot; Controller with PortEscap motor</p></div>The brain of this motor controller is a <a href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=S12C&amp;nodeId=0162468636K100">Freescale 9s12c</a> micro controller. This MCU will handle PWM, ramping, optional position/speed encoder input, thermal monitoring, current monitoring, and RS-232 or I2C communications for a main processor. The main objective of this is to have all those tasks offloaded from a main robot CPU, allowing to have several of these drivers in one robot (i.e. 12 motor Quadruped robot)</p>
<p>Unfortunately, it appears that ths 9s12 I put on there has a maximum bus speed of 16 MHz, however the internal serial bootloader I was hoping to use to load code needs to ramp the PLL up to 24 MHz for proper operations, so testing is on hold until I get a 24 MHz capable part, hopefully early next week.</p>
<p>Edit: 14 December &#8211; I borrowed a BDM programmer from a colleague, and managed to load code into the 9s12, and currently have the motor driver actually driving a motor, complete with ramping up and down in speed.</p>
]]></content:encoded>
			<wfw:commentRss>http://roko.ca/robotics/h-bridge-prototype-build/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

