tag:blogger.com,1999:blog-380999766674792612024-02-07T19:21:54.925-08:00You Can't Ride A FountainLMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.comBlogger44125tag:blogger.com,1999:blog-38099976667479261.post-83482420284041874092013-07-07T11:18:00.002-07:002013-07-07T11:18:33.409-07:00The Brick Chronicles: Catalytic Converter/Exhaust Manifold (?) Phase IIIA little over a month has passed since the last installment of the Brick Chronicles, which was semi-intentional. The brick has done about 2000 miles since, providing a legitimate testing period for assessing the state of the exhaust. Buttoning everything back up was trivial, so it wasn't post-worthy anyways. Time for <u>Phase III: testing</u>.<br />
<div>
<br /></div>
<div>
A few observations post-operation.<br />
<br />
1) The "check engine" light has been on almost the entire time after the repair (I honestly can't remember when it first turned on, but it was within the first couple hundred miles). I suspected that the oxygen sensors were put in backwards, but that is not the case. I have noticed appreciable lag in the engine response, especially in situations like a 4th gear pull when trying to change lanes on the highway (i.e. low torque scenario). This is an entirely haptic observation but I've been driving this car long enough to notice these things. Most likely, the oxygen sensors needed replacing and/or were damaged in the installation process and are now mucking up the ECU reading; which would throw off the fuel injection mapping. </div>
<div>
<br /></div>
<div>
2) In the last few hundred miles, the exhaust has gotten significantly louder, lower pitched, and sketchy-sounding in general. I think the clamp between the cat pipe and muffler pipe has been working itself loose over time. I bought some cherry loctite for the clamp hardware so that should be an easy fix. </div>
<div>
<br /></div>
<div>
3) Most concerning of all, there is a clicking noise which is very clearly linked to engine RPM. While I was skeptical about there being an exhaust manifold leak, I think that a healthy dose of - not always smooth - highway driving has evinced the issue. This one will be harder to check, especially because I'd have to submit myself to carbon-monoxide poising to check it. Maybe I'll cave and let the shop diagnose this issue. This may also be contributing to observation 2. </div>
<div>
<br />
After addressing 2, I'll probably take it to the shop to avoid the dangerous fumes. It would be fun to do all the OBD II diagnostic stuff with an oscilloscope, but I don't have access to one currently (grad school soon!). Definitely making a good case for that <a href="http://www.seeedstudio.com/depot/dso-quad-4-channel-digital-storage-oscilloscope-p-736.html?cPath=63_65">pocket scope</a> I've been procrastinating buying for forever.<br />
<br /></div>
<div>
But it's not all bad! After all, the brick has traveled another 2000 miles in sweltering heat and not broken down once. In other news, I was able to sell the old catalytic converter to the gentlemen at <a href="http://davisconverters.com/">Davis Converters</a> for a profit of $101. They won't reimburse you for shipping, but they sent a check for $128 and it was $27 to ship so that opens up some room in the budget to address the above issues. Interestingly enough, on a recent 900 mile trip I also monitored the fuel economy in both directions and the results were fairly consistent with what I used to get: 28.7 mpg there, 27.9 mpg back, versus about ~ 29 mpg in the past. The A/C was on full blast the entire time too so I was pleasantly surprised :)<br />
<br />
Score:<br />
<br />
D.E.C. catalytic converter - $396.55 (FREE SHIPPING!)<br />
+ Exhaust flange gasket - $3.95<br />
+ Oxygen Sensor Socket - $17.00<br />
<u>- Catalytic Converter Sold - $101.00</u><br />
= <b> $315.50</b><br />
($2000 - 315.50 = <span style="color: lime;">1684.50</span>)</div>
<div>
<div>
<br /></div>
<div>
<br /></div>
</div>
LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-46539251384355130812013-05-24T19:57:00.005-07:002013-05-24T20:10:14.902-07:00The Brick Chronicles: Catalytic Converter/Exhaust Manifold (?) Phase IILast time, in the <a href="http://ycraf.blogspot.com/search/label/Volvo">Brick Chronicles</a>, I had just ordered a catalytic converter. Since then, I've gotten to work on <u>Phase II: Installation</u>. With most people clearing out after graduation, I had a nice shady corner of the parking lot to myself. After all, I guess I am now a "shady tree mechanic."<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2HSJ6jzMHbM9dts-lVPDqxn0QwUN-aCBXC-HYp4urwmtnrD5dFNmnoZuh4SPirIsBjlX87AEGSd-bWjj8jMjxZvvrvJ41eyKD-y5qzCTQ_moZsS_UgcjdVtvMlF84VbsF8jZ6jAILiw/s1600/photo+(6).JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2HSJ6jzMHbM9dts-lVPDqxn0QwUN-aCBXC-HYp4urwmtnrD5dFNmnoZuh4SPirIsBjlX87AEGSd-bWjj8jMjxZvvrvJ41eyKD-y5qzCTQ_moZsS_UgcjdVtvMlF84VbsF8jZ6jAILiw/s400/photo+(6).JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Ad-hoc parking lot garage setup.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
The jack setup in the picture above is rated at 9 tons (safety factor of about 6!). Anyways, the cat is split from the pipe that once connected it to the muffler, so the first step was to remove the section that was severed and not perturb the muffler pipe. The interface is this rusty two-piece bracket, which as far as I could tell was kept together by the remnants of some kind of pin. I pried the bracket apart using a flat head screw driver and some pliers. I honestly believe this is the procedure Volvo intended because if you're changing the cat then it follows that your hardware is ~15 years old. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwexbq6vqwnS1s8jt185UDz_4eBEpceAO7hVIW3YVwfY-WZaSij3rfmwkrJTMswAfvYnCj-kKlviOL_bWXsuCK8Yj-D2w9j4raWDze71qmo1N3VTtli6H8dMR3jPh6B-XCu8pgAmmpJg/s1600/photo+(11).JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwexbq6vqwnS1s8jt185UDz_4eBEpceAO7hVIW3YVwfY-WZaSij3rfmwkrJTMswAfvYnCj-kKlviOL_bWXsuCK8Yj-D2w9j4raWDze71qmo1N3VTtli6H8dMR3jPh6B-XCu8pgAmmpJg/s400/photo+(11).JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Rusty bracket.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: left;">
Removing the brackets revealed the rusty pipe interface. I was a little concerned that this connection was welded at first. However, after blasting it with penetrating oil and torquing the free pipe with adjustable wrenches in opposite directions, it twisted right off. </div>
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTpt8TvNcVfbl3ZY5zJ8e7B8_pH1xr26U6yZT5cqwVf_Bx0hmvsvFqPswlGxEO4Hwuca738jSBQqb4-F3lCJYTgh6qeK9p969glQnmA49uyf9UdFv1RmaYGEBEtNtnYRIIe5Qb5TwqiA/s1600/photo+(10).JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTpt8TvNcVfbl3ZY5zJ8e7B8_pH1xr26U6yZT5cqwVf_Bx0hmvsvFqPswlGxEO4Hwuca738jSBQqb4-F3lCJYTgh6qeK9p969glQnmA49uyf9UdFv1RmaYGEBEtNtnYRIIe5Qb5TwqiA/s400/photo+(10).JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Rusty tubes.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_xinMJfmVhcxOLDYw8w5r8I-DiGyOE7jP9bSmxMbvkiSi0g0WueDPCrwrvV9wnE59m3W5QTq91rGu493c9rwPK4Ff8D_SD98sBc7-lP-wHv8e2dzDDJvoqCH2t5dpQsAVHmyKkH9p2A/s1600/photo+(14).JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_xinMJfmVhcxOLDYw8w5r8I-DiGyOE7jP9bSmxMbvkiSi0g0WueDPCrwrvV9wnE59m3W5QTq91rGu493c9rwPK4Ff8D_SD98sBc7-lP-wHv8e2dzDDJvoqCH2t5dpQsAVHmyKkH9p2A/s400/photo+(14).JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Ta da.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYsWtg52LpnKl2Y61hE3rp82JOca64xCIwi0fFsPoETRa3-YOC_yqjtOWp7653AZf9j6z3DB49XtJpmPEnn802ZRstTACoYH7qc0LX43Q17w4mMdW9aIwKFVWgI2IPBYJQcPVSPV0Nag/s1600/photo+(8).JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYsWtg52LpnKl2Y61hE3rp82JOca64xCIwi0fFsPoETRa3-YOC_yqjtOWp7653AZf9j6z3DB49XtJpmPEnn802ZRstTACoYH7qc0LX43Q17w4mMdW9aIwKFVWgI2IPBYJQcPVSPV0Nag/s400/photo+(8).JPG" width="300" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Enter, the stubborn oxygen sensor.</td></tr>
</tbody></table>
With the pipe free, I could now access the downstream oxygen sensor. It makes most sense to remove the entire assembly before extracting the sensor because the pipe is free and unwieldy to secure. Before removing the pipe, a skid plate is blocking the sensor wire and must be removed. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmYRK6INk6xYi4RfbDf2FIw4X2EEZW4tUS2XKp41LmL9nSOldw5hU_xDvf02FgehDYbMy0xyR04jqoueeqJen2a3ZyhS0QHjFXYgeJiP-5RuS7gQxfUA3pnxm19nmhvseYpYzakLEDHQ/s1600/photo+(12).JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmYRK6INk6xYi4RfbDf2FIw4X2EEZW4tUS2XKp41LmL9nSOldw5hU_xDvf02FgehDYbMy0xyR04jqoueeqJen2a3ZyhS0QHjFXYgeJiP-5RuS7gQxfUA3pnxm19nmhvseYpYzakLEDHQ/s400/photo+(12).JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Skidplate.</td></tr>
</tbody></table>
The wire is held to the frame via a series of clips which I pried up with a flat head screw driver. I did not have a good means of fixing the pipe in place in my parking space garage so I actually ended up following the wire up to the wiring harness in the engine bay, and removing the whole thing from the car. Remove the air distribution hose from the filter housing to access the wiring harness. <br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmS_pIvyhc6Swbht9qUN1iVmKN22ZLSmiBE4qcFCI56cSzJa1B7VC-0f_2GrV6tel8zq8JNdzEZJwoFN3908HgGN_J0DIM8gvq4pn9uQmrVwy90b2zQi9_wt-FwNgSZ1lmk7WxaWovqQ/s1600/photo+(17).JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmS_pIvyhc6Swbht9qUN1iVmKN22ZLSmiBE4qcFCI56cSzJa1B7VC-0f_2GrV6tel8zq8JNdzEZJwoFN3908HgGN_J0DIM8gvq4pn9uQmrVwy90b2zQi9_wt-FwNgSZ1lmk7WxaWovqQ/s400/photo+(17).JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">The silver washing machine hose like thing is the air distribution hose.</td></tr>
</tbody></table>
The left connection goes to the front sensor, and the right goes to the rear. There are red clips that you can pry up. At this point - poking around with a screwdriver in the engine bay - it would have been wise to start doing things one-handed because the chassis is live (floating ground). I elected to take off my watch and try not to touch things.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqy-rUSTxbWTaZEdpHncmP1AUVZK7n3u0kaJjWsMvICMmaa9ni0lC5ni5F5Mu98hcDy8AihAO5HxwjFK6S2a7uIKuE7zVvtE5H1FPTH_JbU3IendpyqoX8rFy4n0NGha_DymUCiyDaWw/s1600/photo+(16).JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqy-rUSTxbWTaZEdpHncmP1AUVZK7n3u0kaJjWsMvICMmaa9ni0lC5ni5F5Mu98hcDy8AihAO5HxwjFK6S2a7uIKuE7zVvtE5H1FPTH_JbU3IendpyqoX8rFy4n0NGha_DymUCiyDaWw/s400/photo+(16).JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Oxygen sensor connectors.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuSgabJ_4qCrTcAcylExiTxUnIGy6ENgTB5U1X81lHntfzODm-yjjpvcQOsIq-JzQwpvmnAMIL11jJT5P4rQBKF5dWKd-zXp2oSrT_3-f90MTlQs-ISWiP6MMDJnPZCR1wa746dHPvUQ/s1600/photo+(15).JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuSgabJ_4qCrTcAcylExiTxUnIGy6ENgTB5U1X81lHntfzODm-yjjpvcQOsIq-JzQwpvmnAMIL11jJT5P4rQBKF5dWKd-zXp2oSrT_3-f90MTlQs-ISWiP6MMDJnPZCR1wa746dHPvUQ/s400/photo+(15).JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">One piece.</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
Moving on the oxygen sensor extraction, I'll start by saying how you shouldn't do this. I tried to take a shortcut and extract it while the wire was still tethered to the car; with the available slack, the assembly reaches just a few inches outside of the frame. I'm not proud of this, but my plan was to wedge one end of the pipe under my front tire and get a foot on the other end while wrenching on the sensor. Attempt one involved a liberal dose of penetrating oil (probably five coats all told) but was not enough to sufficiently break through the fillet of rust fusing the sensor to the pipe. No dice. For attempt two I lit a small fire (I hope nobody from DOTS reads this) and roasted the threaded part of the tube, attempting to expand it and release compressive stress on the threads. Still nothing. A third method involved melting candle wax into the threads to lubricate them. This failed because rust almost entirely concealed any access to the threads, and was admittedly only attempted because I read about this trick online and how cool would that have been if it worked? All of these attempts were useless because my method of constraining the pipe with tire and foot was JV at best.<br />
<br />
Once I finally detethered the pipe/sensor assembly the sensor came right out with the help of a vice and a big wrench with a pipe to make it even bigger.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuqypB-SGYnL62q3Oc-_Woz6FcoedhxJaQKEXcw85h1vjdNvH9HA7N2JSE-grirVvukMNV2jn8-eT2t8x_LwAUeUjBJgIf25__SYdZrdF4yGW8vP0y-wXT_OJYz1sUvGbhFhl-t0aQBg/s1600/photo+(18).JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuqypB-SGYnL62q3Oc-_Woz6FcoedhxJaQKEXcw85h1vjdNvH9HA7N2JSE-grirVvukMNV2jn8-eT2t8x_LwAUeUjBJgIf25__SYdZrdF4yGW8vP0y-wXT_OJYz1sUvGbhFhl-t0aQBg/s400/photo+(18).JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">A more sensible strategy.</td></tr>
</tbody></table>
So, that's half of the cat removed and one oxygen sensor (of questionable functionality) salvaged. I am optimistic that the sensor still works and am reading into ways to diagnose this without a legit OBDII scanner (i.e. using an oscilloscope). We'll slate this as a problem for future self. Next up, I will remove the upstream oxygen sensor and the larger part of the cat, which is buried deep in the engine bay. Here's the updated scoreboard:<br />
<br />
D.E.C. catalytic converter - $396.55 (FREE SHIPPING!)<br />
+ Exhaust flange gasket - $3.95<br />
<u>+ Oxygen Sensor Socket - $17.00</u><br />
= <b> $416.50</b><br />
($2000 - 416.50 = <span style="color: lime;">1583.50</span>)<br />
<br />
In the green for now at least. You can borrow oxygen sensor sockets from Autozone free but I figured this was an investment for future brick chronicles and car repair projects. Until next time.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com1tag:blogger.com,1999:blog-38099976667479261.post-42224922534163003372013-05-16T12:41:00.000-07:002013-05-24T20:11:30.520-07:00The Brick Chronicles: Catalytic Converter/Exhaust Manifold(?) - Phase I <div class="separator" style="clear: both; text-align: left;">
I've had it.</div>
<br />
The other day I was driving in my '98 Volvo S70 when all of a sudden I heard this terrible noise resembling an old Civic with a cheap aftermarket exhaust kit. I panned left and right, initially thinking it was one of my road neighbors, until something bad happened: I changed gears only to hear this horrendous low-pitched babble following thine own engine RPM. Fortunately, I had only made it a few miles away from school when this all happened. The brick is a 15 year old car and according to the service history the exhaust hasn't been touched; it all made sense, I thought to myself as I poked around the car awaiting AAA. I had it towed to a garage near campus for $24 - cheap insurance in case my -- still driveable -- Volvo has something more serious it was hiding.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit8F6pRDbCFlewOmbOqZC5613KyigAu6kKJhaoBOMmpcqKjZpFQKmRD4a__WpF9SqZwlwmwwqVinENCPD4XSjjFWjs1720_v9XAg67O5MwL4RKQcBaGh0lHpvmp6wlFNtlW0zr8pkS-A/s1600/photo+(2).JPG" imageanchor="1"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit8F6pRDbCFlewOmbOqZC5613KyigAu6kKJhaoBOMmpcqKjZpFQKmRD4a__WpF9SqZwlwmwwqVinENCPD4XSjjFWjs1720_v9XAg67O5MwL4RKQcBaGh0lHpvmp6wlFNtlW0zr8pkS-A/s320/photo+(2).JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="font-size: 13px;">Old cat cantilevered off the exhaust manifold. </td></tr>
</tbody></table>
The next morning, I awoke to a call from the garage owner who diagnosed both a failing exhaust manifold and catalytic converter, with an estimated price tag of $2,000 parts and labor. This far exceeded my premonition of a bad connection between the tailpipe and muffler. However, for those reading who know me (and my brick) you know that it takes a large number to startle me when it comes to car repair. This is the same car which had a timing belt tensioner fail in Canada, costing about $1,300 in towing and $3,000 to replace the engine. Other holes in my pocket include the time I went to prepare my car for a road trip and wound up with a $1,200 bill to replace A-arms and tie rods with worn ball joints and $400 for a radiator that one time. Fortunately, I have a habit of working year round and am able to fund my aging automotive sidekick.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5S2N5J06I2CTd1vTn4zcoxn2iQVz6gd7Qsjuq7G8dX2_gxsKWioA9R65z4iMIRVuQwz8McxssJSZtkIcCDZUYPleoL3BAMBABu-n_jBuWKG2QVN58tQxhh0zz67YtYFVjHmSPAYjjRQ/s1600/011.JPG" imageanchor="1"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5S2N5J06I2CTd1vTn4zcoxn2iQVz6gd7Qsjuq7G8dX2_gxsKWioA9R65z4iMIRVuQwz8McxssJSZtkIcCDZUYPleoL3BAMBABu-n_jBuWKG2QVN58tQxhh0zz67YtYFVjHmSPAYjjRQ/s320/011.JPG" width="300" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Disaster strikes in Montreal.</td></tr>
</tbody></table>
This summer, though, I will be taking a rare break. For in the Fall I shall be blossoming into a beautiful graduate student butterfly, and heading the advice of every grad student I've ever talked to ever, I'm taking a damn break! I cannot remember the last summer like this (I think it must have been when I still went to summer camp) but it gave me an idea: now that I have the time, I can finally work on my car myself. That, combined with the realization that I now have a degree in mechanical engineering. I think this also certifies me to assemble IKEA furniture sans directions?<br />
<br />
I guess this is a somewhat pedantic and anecdotal preface to the main point of this and future posts. This is that I'm sick of blindly paying garages to do work I can do myself -- putting on my DIY car repair hat. I picked up the car immediately after hearing the garage quote, had a loud, slow, and nerve-wracking drive back to campus, and then immediately began <u>Phase I: Research</u>. I scoured the internet for parts and such and found the Volvo original exhaust manifold (which I am still not convinced is busted) could be purchased for $431 or about $75 from a junkyard, and the <a href="http://www.fcpeuro.com/products/volvo-catalytic-converter-850-s70-v70-9146685">catalytic converter</a> for just $395 if I don't plan on driving to California anytime soon. With the latter not meeting California's strict emissions regulations, I could cut the cost of the part in half and then some. So at worst, I pay $1000+ and learn something, and at best $400+ and I still learn something. And in either scenario, I can't go to California. Seems reasonable, so I bought the cat, in addition to some small supporting hardware.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUFLxehayHYW1uslBV3pHZGT5BgBw_u9YdizVV7By2cVe_zhsqsk3jfxPLK1E8VNRkThUMrFWGrLcsqJA1pzhvb-KiBrxWgb8LKGW_sHMuZRMguv8j_NOdlhJYenIo0_V2Uf4cLHwrOg/s1600/photo+(1).JPG" imageanchor="1"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUFLxehayHYW1uslBV3pHZGT5BgBw_u9YdizVV7By2cVe_zhsqsk3jfxPLK1E8VNRkThUMrFWGrLcsqJA1pzhvb-KiBrxWgb8LKGW_sHMuZRMguv8j_NOdlhJYenIo0_V2Uf4cLHwrOg/s320/photo+(1).JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Strangest object to be delivered to the front desk. Probably the most chemically diverse as well.</td></tr>
</tbody></table>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVxN_kPnNIfCMlZuPSnxlE0yCGUPg3vogudUTl9i3-rZYxm3AVRx90PPIPiOfvlFOGDzY4r7P_a-KmLWytbLHJU9_aKlMPCCmRuswmN_4LezdBnvfMAL0UJ-TCIgTyI_4xxtzS2Ant0g/s1600/photo+(4).JPG" imageanchor="1"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVxN_kPnNIfCMlZuPSnxlE0yCGUPg3vogudUTl9i3-rZYxm3AVRx90PPIPiOfvlFOGDzY4r7P_a-KmLWytbLHJU9_aKlMPCCmRuswmN_4LezdBnvfMAL0UJ-TCIgTyI_4xxtzS2Ant0g/s320/photo+(4).JPG" width="400" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Guess I'm not driving to Calif. any time soon.</td></tr>
</tbody></table>
This concludes Phase I. Let's review the score:<br />
<br />
D.E.C. catalytic converter - $396.55 (FREE SHIPPING!)<br />
<u>+ Exhaust flange gasket - $3.95</u><br />
= <b> $399.50</b><br />
($2000 - 399.50 = <span style="color: lime;">1600.50</span>)<br />
<br />
Off to a decent start! The next steps are to get the tools together and then do the actual work. Oh and graduation somewhere in between...but that's a completely different kettle of fish.LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-81484214466767406722013-01-21T18:29:00.001-08:002013-01-28T14:56:47.825-08:00TOBL2: First Rolls<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgljQC0g1W2_I-htCGmIl8-EJaPlRpKGWEBBv8fqvzm6syzLGbQp-Pk7OF2iHXp3Sott30ZCURR43Zmv1AgR7rroCf6xSwhDYA97HNJ59cS3I3dOenYXYEw1YXvw5uaTxbfZbw44iO9Dg/s1600/photo.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgljQC0g1W2_I-htCGmIl8-EJaPlRpKGWEBBv8fqvzm6syzLGbQp-Pk7OF2iHXp3Sott30ZCURR43Zmv1AgR7rroCf6xSwhDYA97HNJ59cS3I3dOenYXYEw1YXvw5uaTxbfZbw44iO9Dg/s400/photo.JPG" width="400" /></a></div>
TOBL began as an idea that popped into my head one fateful night in the Fall of 2010 - sometime around <a href="http://ycraf.blogspot.com/2010/11/tobl-intro.html">here</a>. Two years and a few months later, TOBL the sequel, is alive. Thinking about it this way, I'm not too far off Apple's new product release pace. In fact, TOBL original was controlled by my iPhone 3GS, where as now I have an iPhone 5. Interesting. Well, without further delay here's video of the first recorded rolls:<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dwb-Ux14TOOG_LMBGAvqg_9JNDrthk-Og5XfvHkNU26h4yb9z_LUSrWlFdSpapzHvORKwwlGVE3Qwo8OjFK' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
I cannot think of a more appropriate place for TOBL2 to be initiated than the filthy floors of the hallowed MITERS shop. After all, this is where the first TOBL was forged and where I learned most of the skills needed to create TOBLs. Okay, onto the technical part.<br />
<br />
The numbers:<br />
<br />
0.8 lbs<br />
22 screws and bolts<br />
6 wheels<br />
2 bridges<br />
7 different belts before getting just the right size<br />
5mm of ground clearance<br />
And my favorite: TOBL2 has traveled to and was worked on in 3 different states<br />
<br />
To get to this point there were just a couple agonizingly simple loose ends to address. First was the belt and tensioning issue. Two posts (and four months!) ago, there's a picture of TOBL fully assembled and seemingly a few 1s and 0s away from action. However, the belts used in that picture were so tight they stalled the motors. Thing I learned: the pitch diameters given for FingerTech belts aren't precise enough to be designed around. I designed the whole pattern on the side plates to the millimeter to get the belt tension just right, but went through seven different belts and three different pulleys before hitting a winning combination. <br />
<br />
Two: the radios. My brand new pair of xBees which I paired and updated the firmware on weren't talking to each other, I thought. Turns out I was using an older REV of my XPWMShield that was assembled incorrectly, denying power to the xBee on-board TOBL2. After fixing this and re-flashing the xBees to a wireless programming friendly bit rate of 57600, wireless communication was restored. I also learned a neat trick for wireless programming: when uploading the new code hit the Arduino reset button just after the program size pops up. There are fancier ways to achieve this automatically if you plan ahead a little with your circuit, but this works fine so long as you can get at the reset button! Wireless programming is a stupidly awesome upgrade for the TOBL line because otherwise there's no way to access the USB programming port.<br />
<br />
After being shelved for months that was seriously all that needed doing...took me about 6 hours yesterday. With my volatile lifestyle and imminent graduation who knows how far I'll get on this list, but here's what I would like to happen next:<br />
<br />
1. Clean up the wiring. A healthy application of zip-ties and more flexible wiring should take care of that. Needs more wall-flips.<br />
2. Incorporate the servos that currently serve no function except a slight amount of structural integrity. They were intended to auto-tension or de-clutch the belts. This is mostly a mechanical task.<br />
3. Develop the controller. My Python controller is quite rudimentary at the moment. I run the program in the shell, click on a little box, and then have the following discrete abilities: forward, reverse, left, right, and hard stop. The next step is to add speed control and a little calibration to account for unequal belt tension. A GUI would also be nice to trim different parameters.<br />
4. IMU? Well, I am taking a controls lab this semester. Maybe I can use TOBL2 as the platform for some kind of controls problem like directional stabilization? The motors probably aren't fast enough to enable Segway-mode. Shame.<br />
5. NEW ELECTRONICS. Bet I can take all the functionality of XPWMShield and MKI and put them onto one wireless motor controller board with a smaller footprint. It would also be nice to ditch the expensive Arduino Nano and just run straight off of an AVR chip with the Arduino bootloader. Regardless of whether this new batch of proprietary electronics makes it onto TOBL I'd like to have a more polished and convenient package to work with for whatever project comes next.<br />
<br />
Time to go back to school.LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-6175978683420148552012-10-29T09:27:00.000-07:002012-10-29T09:27:25.718-07:00Courtesy of SandyAs I was sitting eating some yogurt on this rainy morning, I realized how much I miss working on my small robot friend TOBL2. Same story as always: school and my innate propensity to occupy my free time with responsibilities. Quick semi-relevant aside: I am loving being a TF this semester! The class just made the transition from the instruction-based part of the semester, to the build-and-test-an-autonomous-hovercraft portion. Already my inbox is being flooded with messages about batteries selection, which sensors to use, how to wire everything up, Arduinos (I know), etc.. In a way this class has curbed my appetite for making things, which is a nice side effect.<br />
<br />
Anyhoo, I thought I'd share a video of TOBL2 in his current state. That is, a glorified python-enabled motor controller.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dw3KWALzPxix2Sf6fg1PEm4r3snUeVEJW0wyN2a9H3anLUFsXHoBBItL4i8HrnNyasS4-dX00CVuGVZ74NZ' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<br />
Not my finest cinematography but in the video you can see the directional keys have been mapped to forward, reverse, left, and right. There's a hard-stop function tied to the space bar as well (not shown). In this configuration, there's no speed control (I know booooo) but I will add two keys to increase and decrease speed. A lot of the controller specifics will be tweaked once I get the thing moving and can see what makes the most physical sense.<br />
<br />
Speaking of assembling TOBL2, there are two factors impeding that from happening. The first is that no combination of the belts and pulleys I bought seem to work. Even with the nice auto-tensioning, one belt is just way too big and the other stalls the motors from being so tight. I am placing an order for some new smaller pulleys and couple different belt sizes. Selecting those was more scientific that I just made it sound, so hopefully I'll be able to drive this thing finally. The other road block is the wireless issues I've been having. Probably not a big deal, but I don't have much in the way of debugging those issues unless I go to my lab. I'll look into that once I get a working drivetrain.<br />
<br />
Welp, thanks Hurricane Sandy for the little break from classes. Time to get caught up on everything else...LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-20886173079299706572012-08-21T17:25:00.000-07:002012-08-21T17:25:16.039-07:00TOBL2: Press PauseThis past weekend my hard drive kicked the bucket. It's kinda my own damn fault. My external hard drive died a while ago, my computer started wheezing a bit in the Spring, and I didn't do anything about it. But I guess that's what you get for moving around all the time. Hopefully it can be recovered at some point, though it will probably be expensive.<br />
<br />
Progress on TOBL2 is at a bit of a stand-still while I resolve computer issues (currently booting Ubuntu off a flash drive w/o a hard drive), finish up my summer internship, and transition from Colorado back to Maryland. But don't fret! It's really quite excruciatingly close to being done. Check it out:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUq5eHVyX7K_YMRaG7oV4ESo57xzq_oDiz-9U7R4B3w7a9uSgBem3Qcb5efaGG2P1GVHFP9mrxvZD1-p6H2-Wwu1WdwEG0zNu2pnSBkDN5Pw8HbXhsZ8IUraGyke7Q_ZjKem6PYsxdug/s1600/P1020832.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUq5eHVyX7K_YMRaG7oV4ESo57xzq_oDiz-9U7R4B3w7a9uSgBem3Qcb5efaGG2P1GVHFP9mrxvZD1-p6H2-Wwu1WdwEG0zNu2pnSBkDN5Pw8HbXhsZ8IUraGyke7Q_ZjKem6PYsxdug/s400/P1020832.JPG" width="400" /></a></div>
<br />
Essentially needs code (old code is now gone :/)and some slight mechanical tweaking to get the tensioning spot on. Next time I'll take it apart and show off some of the cool machining I did last week.<br />
<br />
It also turns out Maker Faire extended the Maker application deadline (shock) to this Friday, but it doesn't look like I'll be able to take advantage of that. More likely TOBL1 will be used as a placeholder get to get in the door. Can't do much about a hard drive dying so I'm proud of how far I got. I'll press play again after relocation. <br />
<br />
In the meantime debating updating computers a year earlier than anticipated...<br />
LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-16656939780590174722012-08-11T09:09:00.003-07:002012-08-11T09:16:18.677-07:00TOBL2: Build Week 2Sitting down feels nice right now. This week was quite a push to keep TOBL2 on World Maker Faire schedule. If I'm honest, I <i>don't</i> think I'll be able to pull off a fully functioning bot for the August 17th deadline, because I need to focus on my actually work work. A TOBL2 running the old iPhone controller or maybe a short autonomous program and no servo clutching is definitely still possible. So that's what I'll focus on. But I'm getting ahead of myself, here's where the bot's at after this week.<br />
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQmOamM7J_bpp0RTsRcuIlcabNl57V39NUnyrUdQ2I99SsgYOYAqKokEvxNzgixIJ7-8FD17eswTHT7xqtnQAARS3LBeUwJAXfe336izliugJ8eO1KdoePMphzpz_xKNS-L-4YozvZ1Q/s1600/P1020668.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQmOamM7J_bpp0RTsRcuIlcabNl57V39NUnyrUdQ2I99SsgYOYAqKokEvxNzgixIJ7-8FD17eswTHT7xqtnQAARS3LBeUwJAXfe336izliugJ8eO1KdoePMphzpz_xKNS-L-4YozvZ1Q/s400/P1020668.JPG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_MZC96Na7jWtSiyC5NNyokbRuifydqXGMW0mtM09vXX84CNTBU4wjePeSpjyWGMiPSrTq051ZG4me3smcTUo9TuTekZ-Vl9QaOmWBmZW87z51ZZHaL8uqUkH1s8jMfxGCfcpssuHeHw/s1600/P1020662.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_MZC96Na7jWtSiyC5NNyokbRuifydqXGMW0mtM09vXX84CNTBU4wjePeSpjyWGMiPSrTq051ZG4me3smcTUo9TuTekZ-Vl9QaOmWBmZW87z51ZZHaL8uqUkH1s8jMfxGCfcpssuHeHw/s400/P1020662.JPG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEictmh8_vpFwSsnQvmiMnvnBArGinGuVdA2znTJqY_2kA2eefdWRKuNdaIlVJczuLe6DaKDl3gnpXCdVqkKuWixnWoQpQL6rd0OM1dY-kUUDJ2NZdh1DMia-mrSbMftTzy9SA1WXqtHxA/s1600/P1020664.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEictmh8_vpFwSsnQvmiMnvnBArGinGuVdA2znTJqY_2kA2eefdWRKuNdaIlVJczuLe6DaKDl3gnpXCdVqkKuWixnWoQpQL6rd0OM1dY-kUUDJ2NZdh1DMia-mrSbMftTzy9SA1WXqtHxA/s400/P1020664.JPG" width="400" /></a></div>
<br /></div>
<div>
I tend to stay in the machine shop until the time I need to leave to make up for it coincides with the start of the afternoon mountain rain. Cold, but totally worth it. This week I machined all the mounting blocks which resolve the 90 degree angle between the drivetrain and electronics shelf. Remember the ridiculous custom stainless steel standoffs I made for TOBL1? I suppose these mounting blocks would be the machining analogue to those standoffs. Except machining really small things beats machining stainless any day. By a lot.</div>
<div>
<br /></div>
<div>
Here they are. The two on the left are for the battery tray and the four on the right support the electronics.<br />
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUOVpcoWlcakVJmq9qbs4JtBXf_BOESQ9whTYWymbnxaeZm4hyphenhyphenT8VFNNSfB2JOTJBUPvflBZMreHNb0O5oE24ChYyig-Haea3HnwIx0zcb0WRYi3cqEdrB1k6yo59JXAM8a0Fj8Qj__A/s1600/P1020674.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUOVpcoWlcakVJmq9qbs4JtBXf_BOESQ9whTYWymbnxaeZm4hyphenhyphenT8VFNNSfB2JOTJBUPvflBZMreHNb0O5oE24ChYyig-Haea3HnwIx0zcb0WRYi3cqEdrB1k6yo59JXAM8a0Fj8Qj__A/s400/P1020674.JPG" width="400" /></a></div>
<br /></div>
<div>
The only issue I can spot so far is the taper on the electronics plates from the water jet. The sides of these plates butt up against the motor plates and create a little gap. That's easy to fix.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg50AnirdQOlLn5OqLbHVJPdsrLsYlUus9tXnkhHSWumONhf5lAhCU75HaIiC18OnWp_aOtuf8j45921qa16dTyTT7IrjzeJMvqqkONZPrQzZ1fch3-5LIBAXXLTozDIf9xvI4Zz2UPfA/s1600/P1020669.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg50AnirdQOlLn5OqLbHVJPdsrLsYlUus9tXnkhHSWumONhf5lAhCU75HaIiC18OnWp_aOtuf8j45921qa16dTyTT7IrjzeJMvqqkONZPrQzZ1fch3-5LIBAXXLTozDIf9xvI4Zz2UPfA/s400/P1020669.JPG" width="300" /></a></div>
<br /></div>
<div>
The motor controller diodes also appear to be impeding one of the servos. That's another easy fix.</div>
<div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGLwHcgNsR6BIzPe_4LMH-0C65LFGyFlFiJUuh91ItPiVDBl5XjnHWep92dIz17Gq9yUZdZMMEpoTVYi789RJFWgUamJXUM5ananqaNbnev2CQLXYb4CsZg77t1fflqMDGvxXNoPEDvA/s1600/P1020666.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGLwHcgNsR6BIzPe_4LMH-0C65LFGyFlFiJUuh91ItPiVDBl5XjnHWep92dIz17Gq9yUZdZMMEpoTVYi789RJFWgUamJXUM5ananqaNbnev2CQLXYb4CsZg77t1fflqMDGvxXNoPEDvA/s400/P1020666.JPG" width="400" /></a></div>
<br /></div>
<div>
Oh yeah, and slightly more troubling issue: the belt appears to be undersized. I need to cut the motor shafts before attaching the outer plates and knowing for sure, but it's looking a bit tight when I just hack it together. The next size up belt has three more teeth so I'll probably invest in a set of those. Don't really need to worry about the slack thanks to the torsion spring tensioners. </div>
<div>
<br /></div>
<div>
Still left to do (mechanically):</div>
<div>
<br /></div>
<div>
1. Add springs (coming in the mail Monday)</div>
<div>
2. Shorten mounting blocks to make way for servo</div>
<div>
3. Grind down electronics plates</div>
<div>
4. Cut motor shafts, attach outer plates and see if belts too tight (if not skip 5)</div>
<div>
5. Replace belts</div>
<div>
6. Assemble </div>
<div>
7. Add servo linkage (probably won't worry about that 'til post-deadline) </div>
<div>
<br /></div>
<div>
It's a bit ridiculous to go through every little mechanical task that needs doing, so ignore that if you like, it's really just a reference for me. This is definitely doable in 5 hour blocks of machining. I'd like to be done with this list by Tuesday, leaving the last three days to wire it back up, get decent code running, and capture the required media for the Maker application. This week we should finally see this thing move! Build week 3 engage.<br />
<br />
P.S. Last weekend I moved for legitimately the 5th time this summer. So that's why there's a new backdrop for my pictures every week. I think this is my favorite so far. </div>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-79861755471779377892012-08-04T00:00:00.000-07:002012-08-06T08:46:27.468-07:00TOBL2: Build Week 1Enough waiting around. At the beginning of this week I received some of the last bits and pieces needed to finish TOBL2. Here's what I got:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMxLNsZfolkZaCFPjoNQ8uxvPUZJRG3A72bOlwEgc3mkrdUDs_sRAB0IBowYDzU-t9_n1kVpImWBNQJTrXuOjrVclxhXE2vXJLMcqjio1iaLzGcDaIomktVXPk8u976ZnJl9HumUzZEA/s1600/P1020646.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMxLNsZfolkZaCFPjoNQ8uxvPUZJRG3A72bOlwEgc3mkrdUDs_sRAB0IBowYDzU-t9_n1kVpImWBNQJTrXuOjrVclxhXE2vXJLMcqjio1iaLzGcDaIomktVXPk8u976ZnJl9HumUzZEA/s400/P1020646.JPG" width="400" /></a></div>
<br />
The parts from the water jet turned out really nicely! Seeing these parts in isolation makes me realize what a bizarre hobby/design sense I have. But, I suppose the endless hours of SolidWorks dimensioning has paid off. The only slight hitch is that Big Blue Saw messed with the dwg file and forgot to include all of the outer plates - those should come in Monday. <br />
<br />
Whilst I wait I've had the privilege of full access to an impressively well-equipped machine shop at work. They used to do production in-house so now there's just an overkill shop full of mills, lathes, a wire EDM, a water jet, and so forth. A MechE candy store, if you will. And the guys there are great. Direct quote: "Don't buy any more hardware or material, okay? We have anything you need." This past week I've been scarfing down lunch and spending the rest of the break in the shop machining.<br />
<br />
The first order of business was to clean up those inner plates.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqCVF1ljzgx0-KeR8eZ3AVsIUY_MDKUQp-Jf_gCubNqAU0wp0brzdfyI_sU0Ae91pBYT5YenLik-BxW7PW5eXZYVsmBM1KqOHQKsxZ6jvFm7dHK1HejpEIhbfX7WEziVSsozyNdHEZcA/s1600/P1020645.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqCVF1ljzgx0-KeR8eZ3AVsIUY_MDKUQp-Jf_gCubNqAU0wp0brzdfyI_sU0Ae91pBYT5YenLik-BxW7PW5eXZYVsmBM1KqOHQKsxZ6jvFm7dHK1HejpEIhbfX7WEziVSsozyNdHEZcA/s400/P1020645.JPG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzm9wR-wPGNUtbQwwd6s_PKaZXVO-uR1QbDcsd-bPJn3jg_P_jQilswMhaz26Gyg7z_bJuwpQehxb4RIM73CrTQxEKByHPnEvjPwmYrMEQtkOi7xGH_VS_SzF9_I_5pSQSfaiBmLc68Q/s1600/P1020647.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzm9wR-wPGNUtbQwwd6s_PKaZXVO-uR1QbDcsd-bPJn3jg_P_jQilswMhaz26Gyg7z_bJuwpQehxb4RIM73CrTQxEKByHPnEvjPwmYrMEQtkOi7xGH_VS_SzF9_I_5pSQSfaiBmLc68Q/s400/P1020647.JPG" width="400" /></a></div>
<br />
With all those countersinks I tested the motor mounting assembly.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG8kZWgACznDxT3b8IsgnEASPeoCNAU9eGh0ZPotiUhZiNRf6TK0YnBnYU3yOMT4wPScYkHzyyznDARJsUDCii0ZgxekIXsh9yhrO9RzftKb2SOtxsvrLZOOetHbjraTSz58nixH_EOw/s1600/P1020648.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiG8kZWgACznDxT3b8IsgnEASPeoCNAU9eGh0ZPotiUhZiNRf6TK0YnBnYU3yOMT4wPScYkHzyyznDARJsUDCii0ZgxekIXsh9yhrO9RzftKb2SOtxsvrLZOOetHbjraTSz58nixH_EOw/s400/P1020648.JPG" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEtYPYbCbK-iDwOgWla_Izdsk8wCqGGSF5qWJ6AdKV7A1ulabyuLtEsEcgw7y51HzUSHISEJg1VIe5D5Ve3e5_Kb9l1PNbXGowOT9C7ctV3PDxNYoKc49BpKUKn_u9_F2Bn23qC-98-g/s1600/P1020649.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEtYPYbCbK-iDwOgWla_Izdsk8wCqGGSF5qWJ6AdKV7A1ulabyuLtEsEcgw7y51HzUSHISEJg1VIe5D5Ve3e5_Kb9l1PNbXGowOT9C7ctV3PDxNYoKc49BpKUKn_u9_F2Bn23qC-98-g/s400/P1020649.JPG" width="400" /></a></div>
<br />
No interference! While playing with this something occurred to me: why the four letter words was I going to use tension springs to tension the belt? The thrust bearings are a perfect place to wrap torsion springs; which is a much cleaner solution. I guess you can't do all your design work in front of a screen.<br />
<br />
But before getting too excited a little bit of math is in order. The Hitec HS-45HB feather servos are rated to provide maximum 1N of force for a 1cm arm (i.e. stall torque 1kg-cm). There is an arm on the motor mount too...about 1inch or 2.5cm where the servo will catch it. The motor is about 1.25cm from the point of rotation. On McMaster, the weakest spring that fits around a 5-40 screw is 0.64 in-lbf or 0.072 N-m. Then we do a simple moment balance:<br />
<br />
<div style="text-align: center;">
ΣM = 0 = kθ + mgl - FL</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
θ = (FL-mgl)/k</div>
<br />
If we make the safety factor 2, and assume the servo can only output 0.5 N, the spring will overcome the servo at about 1.2°. For safety factor 1 we can get up to 5.2° travel. Somewhere in that range should be enough lift to disengage the belt. If not, coils can be removed to decrease k. Here's a clearer picture of the plan (I realize this is already like plan C):<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifZL2B5H47sz4ScridN_sKKSyUpU73Ki4YC9sObGcsVKZw2XyMMTiLBrcaZf_qXa2TTpJySprn4i5W-7UIgssAPhyphenhyphenca6IOMGAKi1zgEfDh9RvK79xnGjzSDsf5K_YgnqgdEA6gxQ-lgA/s1600/physics.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="268" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifZL2B5H47sz4ScridN_sKKSyUpU73Ki4YC9sObGcsVKZw2XyMMTiLBrcaZf_qXa2TTpJySprn4i5W-7UIgssAPhyphenhyphenca6IOMGAKi1zgEfDh9RvK79xnGjzSDsf5K_YgnqgdEA6gxQ-lgA/s400/physics.JPG" width="400" /></a></div>
<br />
The next things that need doing are:<br />
<br />
1. Clean up the outer plates when they come in<br />
2. Press all the bearings<br />
3. Machine the interfaces between the PCB shelf and inner plates<br />
4. Servo linkage<br />
5. Torsion springs<br />
6. Assemble!<br />
<br />
This is the plan for next week. In the background I'll be working on the new controller. I've been learning some python specially for the occasion and am hoping to be competent enough to write a controller that will use keyboard inputs (for now). Another new goal is to have TOBL2 operable enough to get video to submit for <a href="http://makerfaire.com/newyork/2012/index.html">World Maker Faire New York</a>. The submission deadline is in two weeks, on August 17th. Presumably I could always enter TOBL1 like <a href="http://ycraf.blogspot.com/2011/10/tinykart-maker-faire-nyc-2011.html">last year</a> and then bring TOBL2, but let's see if we can't do this honestly.LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-65990080277632174902012-07-21T20:19:00.001-07:002012-07-21T20:24:20.383-07:00TOBL2: Frame Design Complete!About two minutes ago I placed my first <a href="http://www.bigbluesaw.com/">Big Blue Saw</a> order. This included all* of the missing pieces for TOBL2's frame which will be water jet cut from 1/8" 6061 aluminum plate. I guess one benefit to making everything so absurdly small is that I save some money on these sort of orders. Before shipping it came out to $81.40, which I hear is about the minimum you can pay. I like how Big Blue Saw gives you a preview of what your parts will look like if they were flying through a dessert.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoIK1vli5o49-fA0iMhVf2zlALDhDiojs2cz4q16S-vzWK5COzpSdqiefgB7h_mMePtgRl3NEeDDut0IcNG2CQh501CmXIK21EGZN_TGnTw5Z_tOXaLSgZUrgopzgK1PpvurvjUfiG_A/s1600/bigbluesaw.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoIK1vli5o49-fA0iMhVf2zlALDhDiojs2cz4q16S-vzWK5COzpSdqiefgB7h_mMePtgRl3NEeDDut0IcNG2CQh501CmXIK21EGZN_TGnTw5Z_tOXaLSgZUrgopzgK1PpvurvjUfiG_A/s400/bigbluesaw.png" width="400" /></a></div>
<br />
Keeping this guy compact took a lot of changing dimensions, looking at the part in assembly, and then fine-tuning the dimensions further. The motors are mounted to a plate which can pivot, so that eats up a lot of space. The electronics stack also grew a little with the addition of the motor controller board. Altogether though, I'm very pleased with the way it turned out. The center of mass is going to be pretty atrocious, but I'm not ready to start selling TOBLs just yet, so that's alright.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGaeau7Ab2xEaIo5iLslpePbpJ-SVP7mzGDXxgGLf0XvH55nRUK2XyzeNqIW_JgwyvPGjJHR0PEwulGgRwGvioC8iYoSPlQeSEjep0rOGDq3KiYfi-2L-RAe76ryaoHpLfoj_SrY1DRQ/s1600/newframe4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="247" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGaeau7Ab2xEaIo5iLslpePbpJ-SVP7mzGDXxgGLf0XvH55nRUK2XyzeNqIW_JgwyvPGjJHR0PEwulGgRwGvioC8iYoSPlQeSEjep0rOGDq3KiYfi-2L-RAe76ryaoHpLfoj_SrY1DRQ/s400/newframe4.png" width="400" /></a></div>
<br />
I did away with the three aluminum posts mounted at each corner, and added two shelves. The top one is for the electronics stack (shown transparent) and the bottom one will hold the battery pack (ditto). PCBs should never be structural components, as I'm learning so well at work this summer. In this case, I had to be very creative, since the axles are now live and attaching posts to them won't work anymore. I prefer the old bulky aluminum posts mechanically, but I ordered an extra electronics shelf beam, so I can always put that above the servos if this doesn't cut it. As you can see, I had a little fun with the battery shelf. <br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiDlLM_BtRSGZKohnngrBoAwoQKEpLttLbfgY7BcIGuu05C5le2KjHjwNC0pioSDFg9SCZcwiFsCtxA2JFOw7PE-gqVuueDDcvr7lDqyUlVDM5OeSJ274Esg1HX5NpCYRvF2zloqz6-Q/s1600/newframe3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiDlLM_BtRSGZKohnngrBoAwoQKEpLttLbfgY7BcIGuu05C5le2KjHjwNC0pioSDFg9SCZcwiFsCtxA2JFOw7PE-gqVuueDDcvr7lDqyUlVDM5OeSJ274Esg1HX5NpCYRvF2zloqz6-Q/s400/newframe3.png" width="400" /></a></div>
<div style="text-align: center;">
Sexy battery tray</div>
<br />
<br />
A lot of what took so long designing this frame was also anticipating what's going to go wrong. Having a drivetrain with triangular geometery, belts, springs, and moving motors, is really just asking for it - in terms of alignment issues. In an attempt to resolve all this, I put some redundant holes in to allow a little tuning upon assembly. For example, all those holes in the motor bracket are to adjust the spring tension (not easy to see in the picture below).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWjWvtJfR1dm0bB3CPzMG-_EXHQKBAbQB950MlNGX6q1pP-vKa2y3mcPDPp-m5uL-Nysu7xRhou9pxwtreouRVxYa45qQrnQ9ofiA2GLrlO0YA5LZsRgpSh2q22T0NzwwnbhjuVspb5Q/s1600/drivetrain_closeup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="380" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgWjWvtJfR1dm0bB3CPzMG-_EXHQKBAbQB950MlNGX6q1pP-vKa2y3mcPDPp-m5uL-Nysu7xRhou9pxwtreouRVxYa45qQrnQ9ofiA2GLrlO0YA5LZsRgpSh2q22T0NzwwnbhjuVspb5Q/s400/drivetrain_closeup.png" width="400" /></a></div>
<div style="text-align: center;">
The drawing geometry and dimensions for these plates are disgustingly complex</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKVYFLSL5k7frncE0XxfKhbI3Slxm448DjXi2sDn5hF3nNe5AzedA22sb-eFbhMSSCM3einZDpDi3wixSxsLuYgkK9BhDAgMySnPW411Eq-Noli5wqO9oeXZ2VIvza5wWXP7mscrFqmQ/s1600/eww.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKVYFLSL5k7frncE0XxfKhbI3Slxm448DjXi2sDn5hF3nNe5AzedA22sb-eFbhMSSCM3einZDpDi3wixSxsLuYgkK9BhDAgMySnPW411Eq-Noli5wqO9oeXZ2VIvza5wWXP7mscrFqmQ/s400/eww.png" width="400" /></a></div>
<div style="text-align: center;">
See what I mean? Gross</div>
<br />
I also ordered some bearings on eBay, which had no picture, so that's always good. They were a dollar a piece though, so if they're the wrong size then I'm sure I'll create some crazy thing which will need them down the road. T<span style="background-color: black;">he asterisk in the second sentence is because as hard as I tried to make this the entire frame from the water jet order, I'm going to need to machine a few thicker (1/4") blocks at the interfaces of the plates and shelves. These are really straight forward, so hopefully the machinist where I work will be kind enough to let me knock those out some time.</span><br />
<br />
Also, just bought a road bike...so that may have something to do with why TOBL had been moving so slowly recently...<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1wuVxc3AuDHGhXqiA-HKgLi4D7zz6-p-UZuFiqPZhTSWJ7ktgC3Y8oSbkucrylLcpt7wqALek5tw00JC_hhL2P1mR22Nqv9VsmAv4hAljFnzQiykpr-3fh31OoUVPvtrwCBTTCcZaaw/s1600/P1020575.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1wuVxc3AuDHGhXqiA-HKgLi4D7zz6-p-UZuFiqPZhTSWJ7ktgC3Y8oSbkucrylLcpt7wqALek5tw00JC_hhL2P1mR22Nqv9VsmAv4hAljFnzQiykpr-3fh31OoUVPvtrwCBTTCcZaaw/s400/P1020575.JPG" width="400" /></a></div>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-15337447778300499232012-07-08T10:48:00.000-07:002012-07-08T11:01:05.609-07:00TOBL: Timers and PWMDue to shear stubbornness I only brought one suitcase to Colorado. This means no soldering iron or useful tools. All I can do is SolidWorks and software. However, I've been doing a lot of CAD lately so I changed gears and took some time digging deeper into the inner workings of PWM signals. This is what I found:<br />
<br />
Hardware, or timer-generated, PWM on AVR chips can be broken into two main categories. There is fast PWM and phase correct PWM. In fast PWM mode, the timer counts up from 0-255 (on 8-bit timers) and toggles the output once the compare register, OCRnx value, is reached. The output starts HIGH and switches LOW when this value is reached, meaning the higher the OCRnx value, the higher the duty cycle or time that the output is held HIGH. The graphs below represent the input sawtooth wave with two compare registers (most timers have two), an output PWM signal running 30% duty cycle, and one at 70% duty cycle, respectively. <br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKKspaVveFHLQwUx89xNVgp-Y-ISmo6mNrZ1byuuxtIoHQRUMJ-n2S4xHPLUBGqheeCOgTTnDe6kx1EQx9ozTH73rB2-54pVTBQT9269W9HGiJXx_94Rw52E1eqpTLknl0ocXasoMo2g/s1600/fast_pwm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKKspaVveFHLQwUx89xNVgp-Y-ISmo6mNrZ1byuuxtIoHQRUMJ-n2S4xHPLUBGqheeCOgTTnDe6kx1EQx9ozTH73rB2-54pVTBQT9269W9HGiJXx_94Rw52E1eqpTLknl0ocXasoMo2g/s400/fast_pwm.png" width="400" /></a></div>
<div class="" style="clear: both; text-align: left;">
I wrote a MATLAB program to generate these waveforms; it will become more apparent why when explaining phase correct PWM. </div>
<div class="" style="clear: both; text-align: left;">
There is however a problem with fast PWM, for certain applications. The PWM signals above emulate the two outputs from a single timer. As can be seen above, the pulses start at the same time but at different duty cycles they do not stop synchronously. This is alright for controlling a single motor or dimming an LED, but for a pair of motors, this introduces error. Say for example there were a drivetrain with two motors, one left and one right (hmm kind of like TOBL). If TOBL were to steer left by running at 50% duty cycle on the left side and 100% on the right for x time, and repeat the other way around for the same amount of time, it would not end up at exactly it's original heading. In TOBL's case, with such a wide track and short wheelbase, this error is amplified. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Ah hah! There is a solution to this issue called phase correct PWM. In this mode the timer counts from bottom to top and then top down to bottom again, toggling from HIGH to LOW crossing of the compare value on the way up, and from LOW to HIGH on the way down. This process looks like this:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGizABHueL8B96B1_oleLZuD_GuRIiU2x-SM0nYHvZlaeZCZiX-7_5PY7p9067vFWvqNvImhv69StKq9gIuvwrUzAFY5UWatgIeBEF1yi48fSbgMVki3fL4CyzgNrdWMHPhFxa97bj6Q/s1600/phase_correction_pwm.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="201" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGizABHueL8B96B1_oleLZuD_GuRIiU2x-SM0nYHvZlaeZCZiX-7_5PY7p9067vFWvqNvImhv69StKq9gIuvwrUzAFY5UWatgIeBEF1yi48fSbgMVki3fL4CyzgNrdWMHPhFxa97bj6Q/s400/phase_correction_pwm.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
There are a couple differences in these waveforms, starting with the triangle wave input. Because the timer has to count up and down the period of each duty cycle is doubled, or the frequency is halved, making it clear why fast PWM is named as such. You might also notice that now neither of the pulse edges align. However, more importantly, the pulses are centered around the top value. Returning to the two-motor vehicle example, now using phase correct PWM, if the signal instruction were suddenly stopped, both motors would stop the same percentage of the way into their duty cycle. While this doesn't entirely eliminate the error, it is a lot better than fast PWM. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
On most timers fast PWM is the default and to change it you need to reset the timer/counter control register value to make the switch to phase correct. For the Arduino, which TOBL is based off, this looks like this:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<pre><span class="wikiword">TCCR2A</span> = _BV(<span class="wikiword">WGM20</span>);</pre>
<pre>
</pre>
<pre></pre>
<pre></pre>
<pre style="background-color: white; color: #555555; text-align: -webkit-auto;"></pre>
<pre style="background-color: white; color: #555555; text-align: -webkit-auto;"></pre>
...for timer2. Of course there is a lot of other cool stuff to control at this level, so while doing this it may also be of interest to fiddle with the other registers. Setting the two outputs of the timer to non-inverting, the waveform mode to phase correct, and the prescale value to 256 would be this:<br />
<br />
<pre><span class="wikiword">TCCR2A</span> = _BV(<span class="wikiword">COM2A1</span>) | _BV(<span class="wikiword">COM2B1</span>) | _BV(<span class="wikiword">WGM20</span>);
<span class="wikiword">TCCR2B</span> = _BV(<span class="wikiword">CS22</span>);</pre>
<pre style="color: #555555;"></pre>
<br />
The prescale value is useful because it adjusts the PWM frequency (for fast 8-bit, clock speed/prescale/255 = PWM frequency). So, while I may have cut the frequency in half by selecting phase correct mode, I can do the same to the prescale value to maintain the same PWM frequency. This is less important for motor control and more important for things like servos, which usually run at about 30-50Hz.
<br />
<br />
<pre style="text-align: left;"><span style="font-family: 'Times New Roman';"><span style="white-space: normal;">Anyways, the point of this tangent is that PWM can be a lot more complex than analogWrite(), and can be easily modified for any application. TOBL2 software now implements phase correct PWM, though I can't do much with it until I get a rolling chassis. If you're interested in the m.file that generated the graphs above, you can get it <a href="http://terpconnect.umd.edu/~lmhill/pwm.m">here</a>. It's fun to play around with and see what's going on under the hood.</span></span></pre>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com1tag:blogger.com,1999:blog-38099976667479261.post-39846284281747329432012-07-03T20:12:00.000-07:002012-07-07T17:12:22.988-07:00Blog Web Address Change: You Can't Ride a FountainI've changed the URL of my blog from lmh-tech.blogspot.com to ycraf.blogspot.com. When I started the blog a couple years ago I had a few naming ideas that didn't work out, but I wanted to start blogging so I just used "my initials - tech" as a placeholder until something more meaningful came along.<br />
<br />
A little bit of history: <a href="http://www.blogger.com/scolton.blogspot.com">Shane</a> got me into <a "="" first="" href="http://www.blogger.com/usfirst.org%3EFIRST%3C/a%3E%20back%20in%202007%20and%20I%20competed%20with%20%3Ca%20href=" http:="" web.mit.edu="" www="">Team 97</a> out of Cambridge, MA. We went to Nationals in Atlanta that year but when the competition was over we couldn't stop thinking of other things to build. At this point, the Edgerton Center Summer Engineering Workshop (I think that's the official title) was born. Our first project being <a href="http://web.mit.edu/first/segway/">this home-brewed segway</a>.<br />
<br />
In the process of selecting a project, Ed of the <a href="http://web.mit.edu/Edgerton/">Edgerton Center</a> had some ideas of his own. One which he was particularly adamant about was a fountain like one we saw in Atlanta. He wanted to equip it with sensors so you could run through and either not get wet at all, or get completely drenched. My response to which was "you can't ride a fountain." This went from an inside joke among the ECSEW team and developed into a personal philosophy. I see little point in creating things that don't move (sorry <a href="http://ycraf.blogspot.com/search/label/ardWINDo">ardWINDo</a> and <a href="http://ycraf.blogspot.com/search/label/gMeter">gMeter</a>) and you'll notice that <a href="http://web.mit.edu/first/segway/">DIY Segway</a>, <a href="http://web.mit.edu/first/kart/">CapKart</a>, <a href="http://web.mit.edu/first/scooter/">BWD Scooter</a>, and <a href="http://scolton.blogspot.com/p/cap-kart.html#tinykart">TinyKart</a> are all things you can ride.<br />
<br />
And so, about two years late, I give you: You Can't Ride a Fountain, a blog dedicated to building things that can be ridden and/or move.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='320' height='266' src='https://www.blogger.com/video.g?token=AD6v5dwHr8RrVaISwethzacdSsgHOsRdv0qvwJsUS7CWeCXHmdZKuu1Ji3kfb5t5UEGg_wQK6oN-5ZnYOAjxYVlT' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-79375564050146362722012-06-27T21:55:00.002-07:002012-07-03T19:23:09.944-07:00TOBL2: Fire DayToday we had what I'm going to call a fire day. It's just like a snow day, except with fire...never thought that was an option but that's what happened. Fortunately, where I work was closed due to smoke/air quality and not because there was nothing left of the place. Going outside wasn't the best option and we don't have a TV to watch Spain vs. Portugal in the EURO, so I spent the whole day playing with TOBL instead!<br />
<div>
<br /></div>
<div>
One thing you don't realize when you relocate for a significant amount of time, is all the little things you're used to having access to. For example, usually when I do any design work I like having paper around to make sure what's in my head can actually be drawn and physically embodied. Well, I don't have any paper here, but we do have some old pizza boxes lying around...</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbp0HUni1oeWCLqdVCjcwH97Oz078H23y41C7sLT7q-Anuhr6LC6OTpLyiPEcrx2c_qCTxI_YKosxdnIzXD5lPO6ZDXrmr1pTIB_nKiqQD47oqNhtoICYQZsLe9TojzfrA6fONLGdPJQ/s1600/P1020570.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbp0HUni1oeWCLqdVCjcwH97Oz078H23y41C7sLT7q-Anuhr6LC6OTpLyiPEcrx2c_qCTxI_YKosxdnIzXD5lPO6ZDXrmr1pTIB_nKiqQD47oqNhtoICYQZsLe9TojzfrA6fONLGdPJQ/s320/P1020570.JPG" width="400" /></a></div>
<div style="text-align: center;">
Here was the original idea, of bringing the belt to the motor</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnYgw9z4AI4mQjToXYi5YJHyIQlOrDEBmaZGy_T87lLehTmjE2l9Z2pkAU249nqE6cq8z8uP1gurbDfonMOTQ4reA-WUPN3X8YmY2AIEvt-sZ7V8snQbi3lt1wnzxG6ZUC1olstB_DNQ/s1600/P1020571.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnYgw9z4AI4mQjToXYi5YJHyIQlOrDEBmaZGy_T87lLehTmjE2l9Z2pkAU249nqE6cq8z8uP1gurbDfonMOTQ4reA-WUPN3X8YmY2AIEvt-sZ7V8snQbi3lt1wnzxG6ZUC1olstB_DNQ/s320/P1020571.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
And here would be some servo mechanism to tension the belt</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVfH9WES5IEa4fV6ajF5vYhNPKhlsWPOwUXr4KAesl6Xu4hGqUOuN8T4FtgQ3EAjLXMtO7fZ1W5QO3Vf8t2Bw_YykMjz9i0xPBQlgCuqmEj0kwuefC3BRWJidf5AsEbVLABzk92dSkCg/s1600/P1020572.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVfH9WES5IEa4fV6ajF5vYhNPKhlsWPOwUXr4KAesl6Xu4hGqUOuN8T4FtgQ3EAjLXMtO7fZ1W5QO3Vf8t2Bw_YykMjz9i0xPBQlgCuqmEj0kwuefC3BRWJidf5AsEbVLABzk92dSkCg/s320/P1020572.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
What's this, moving the motor to the belt. Is this opposite day? No, it's fire day...</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now whenever somebody says to do envelope calculations, I'm going to do them on a pizza box, so much more room! Anyways, a few minutes into my brainstorming session I realized that my original plan of bringing the belt to a fixed motor was going to be difficult. Initially I wanted to do something like this:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSk_71my0av2kSOqOuByVNfMNudVt6qsjidHxTC-JaUUicByTBxpkAN_NLIrTmSilUU5JXc0VyZIK4GyBXD4XLXVzmXU3Zb8bXoRovicgi2eargWj1tOjgIWYwD0Z28e8xiWtAJdjBmg/s1600/clutch1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="266" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSk_71my0av2kSOqOuByVNfMNudVt6qsjidHxTC-JaUUicByTBxpkAN_NLIrTmSilUU5JXc0VyZIK4GyBXD4XLXVzmXU3Zb8bXoRovicgi2eargWj1tOjgIWYwD0Z28e8xiWtAJdjBmg/s320/clutch1.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
The second spring isn't shown, but if it were the servo would have a neutral point where the spring displacements are equal and thus F1 = F2. This way, the servo could be floating during driving (tension) and the spring (F2) could do all the work. Then, when you need to detension, the servo arm would rotate downwards. However, this gets complicated when trying to load the pin that the tensioner bearings are riding on. This pin would require a slot on both of the plates that sandwich the wheels, and if the spring forces on either side weren't perfectly balanced the pin would tilt and not tension very well.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
At this point, I thought back to my real first idea, which was to have the motor on a pivot. I threw out that idea originally because I didn't like having a motor that's not rigid with the frame (and I still don't). Practically though, this is a lot simpler because a motor itself does not rotate like a belt does -you can't bolt anything to a belt. So, that's where my third pizza box drawing comes in, which looks like this in SolidWorks form:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk76n6QJdGTqidyjIA87eYRbGah-xw1jd4ASVPTuMb6AZQh5Too0ROoaqvh-ln2Jwc0JqDn2WCICcyBkCCEKMnrhl3g3rVorp5d-oz8FfATJIKprdrnSrM0BaFuqES0wObCE50fmG3wA/s1600/clutch2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="324" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk76n6QJdGTqidyjIA87eYRbGah-xw1jd4ASVPTuMb6AZQh5Too0ROoaqvh-ln2Jwc0JqDn2WCICcyBkCCEKMnrhl3g3rVorp5d-oz8FfATJIKprdrnSrM0BaFuqES0wObCE50fmG3wA/s320/clutch2.png" width="400" /></a></div>
<div style="text-align: center;">
Most of the drivetrain complete </div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlLVXo436Usm3v8bjnLbIPOuFBG_gwEAjmFX-i3qrJKKG3fmAdHro9_RMyfK5oJrjnaW3GhHKSKdToQcj97D33TtQ63sPQsXa_GWvxirKrvF2JfyHO_xAwNMUWofJJk3wHejm1NRiYPQ/s1600/clutch3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="321" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlLVXo436Usm3v8bjnLbIPOuFBG_gwEAjmFX-i3qrJKKG3fmAdHro9_RMyfK5oJrjnaW3GhHKSKdToQcj97D33TtQ63sPQsXa_GWvxirKrvF2JfyHO_xAwNMUWofJJk3wHejm1NRiYPQ/s320/clutch3.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Better shot of the motor mount plate</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzdKzAN8IwLGf8cQRls584Cz_At9l-dQhNHApN-Y0Xz5gY8aJq0qsTR5sVNlJ8yWaH3yaDPtT5QdDuTBH16pikbMDQmlIghQI31ycDcqInAUGsKPope8ScqVsWrL-EtmeO1A7ECMGRLA/s1600/clutch4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="340" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzdKzAN8IwLGf8cQRls584Cz_At9l-dQhNHApN-Y0Xz5gY8aJq0qsTR5sVNlJ8yWaH3yaDPtT5QdDuTBH16pikbMDQmlIghQI31ycDcqInAUGsKPope8ScqVsWrL-EtmeO1A7ECMGRLA/s320/clutch4.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
View of the drivetrain from the inside where the electronics will eventually sit</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
This of course had it's own challenges. The primary difficulty was making a robust mounting system for the motor that would withstand the torque from the belt tension on a single pin! To that end, the motor is centered as much as possible so that it's entire mass isn't cantilevered. The plate that carries the motor will serve as one washer of a thrust bearing, the other will be the inner plate, and a matching thrust bearing on the other side. Thrust bearings can take a lot of lateral load, these ones are rated to about 26lbs and were the only ones on McMaster small enough for the task. This picture should clarify what that actually looks like:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3RxUpInbuRqIlv7WrwUSh1kZbGvW50zpj73b1-vPUKexS8OI7KGyZOjh1sH2ffajllLyiOB-oXPbpstlLcaBTOv1ZAK64cwuqBxbhSA7U5r8s4C3-RngJ_LM8GGIW8odywBJXP_i6Uw/s1600/clutch5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="246" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3RxUpInbuRqIlv7WrwUSh1kZbGvW50zpj73b1-vPUKexS8OI7KGyZOjh1sH2ffajllLyiOB-oXPbpstlLcaBTOv1ZAK64cwuqBxbhSA7U5r8s4C3-RngJ_LM8GGIW8odywBJXP_i6Uw/s320/clutch5.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In the middle of the frame you can see the darker grey thrust bearings sandwiching the inner plate. To get everything to fit and not interfere (still not entirely done with that) took a lot of geometry and trial and error. Probably took more time to dimension this plate than design all of the electronics.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzgOwGc9DdQRsGO1J1z2d9rq5LlrMaCnlx1OaVOimhCyZrbrkXHQUq30eIZ516byaSjgEXe_2libfMcE_746hGi1cTzH2C6ZLToftsM-iXk_t0HxFhMCJItgLxiG0t6EwuHQhEwkE5bA/s1600/crazy_geometry.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="290" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgzgOwGc9DdQRsGO1J1z2d9rq5LlrMaCnlx1OaVOimhCyZrbrkXHQUq30eIZ516byaSjgEXe_2libfMcE_746hGi1cTzH2C6ZLToftsM-iXk_t0HxFhMCJItgLxiG0t6EwuHQhEwkE5bA/s320/crazy_geometry.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
Not including the servo or supports to keep the inner and outer plates together. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
There are several advantages to this design. Firstly, due to the way the motors are mounted there is more room in the middle section for the electronics and battery to sit. I'm still playing with the tray that will mount all of that but I'm going to do my best to make TOBL2 narrower -this would make driving a lot more controlled. Unlike the original design, I don't have to worry as much about the springs. As you can see above on the shots of the drivetrain in its entirety, there are holes galore on the motor mounting plate, both to accept some sort of turnbuckle from the servo and a spring(s) to maintain belt tension. Having all these mounting options will be important in finding the perfect spring displacement which keeps tension in normal and 60 degree mode, but also isn't too strong for the servo to de-clutch. Next step: figure out the supports which hold the two drivetrains together and carry the electronics. Maybe tomorrow will be a fire day too?</div>
<div>
<br /></div>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-88581908373633800342012-06-17T15:42:00.000-07:002012-06-28T10:12:17.961-07:00Summer in Colorado: HardwareHardwareHardwareAn embarrassing amount of time has passed since my last blog post. I don't resent that, because I think it just means my life is getting more interesting, so I have had less time to myself. Certainly though, I have missed my secret life as a rogue robot tinkerer, and all the creative stimulation that having projects to work on seems to bring. My six-wheeled friend, TOBL (soon to be TOBL2), has been waiting patiently, yet eagerly in his little box. He's finally about to get some attention! <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr4n7RKAwD35EocOI8asCVbCLtceXl9oe3cFXSh6oyVdrrIHLUQ66pRqYzEvIQURzY23Zci7dE63yWHoaBdz_RQuXQ-37dyWZzTDCGJGSVNJM-kd1doZO4LeT7V2kfIlIgnhYssYPYSg/s1600/P1020467.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgr4n7RKAwD35EocOI8asCVbCLtceXl9oe3cFXSh6oyVdrrIHLUQ66pRqYzEvIQURzY23Zci7dE63yWHoaBdz_RQuXQ-37dyWZzTDCGJGSVNJM-kd1doZO4LeT7V2kfIlIgnhYssYPYSg/s320/P1020467.JPG" width="400" /></a></div>
<div style="text-align: center;">
Box O' TOBL has a pretty nice view. </div>
<br />
Yesterday, I moved to Colorado to spend the summer interning as a hardware engineer...sort of. My first day is Monday so we'll find out what work really entails then. As far as I can tell, I'll be beating some oscilloscopes to death and then when they fail, attempt to figure out why from a hardware perspective. I was told that you're either a hardware guy, and you'll absolutely fall in love with it, or the opposite. I'm hoping for the former.<br />
<br />
In a way, I'll learn more about my various robotics projects this summer more so than ever before. Hardware is at the heart of each of them after all. It's also going to be tantalizing working somewhere with so many oscilloscopes, logic analyzers, a machine shop complete with CNC mills and a water jet, pick-an-place machines, clean room, the lot. Surely, I won't have access to any of these nice things for my personal projects, so it'll be a true test of character not to use my keycard to sneak in on weekends.<br />
<br />
So, last time I had just got my motor controller boards back and soldered together. There were (and still are) a lot of loose ends to take of for MKI. In the original DigiKey order, I forgot to put in the resistors for the current detection circuit and the ones for the hard-short between the signal and power ground planes. The board has also yet to be hooked up to a scope (this is going to kill me), though this isn't as critical until I get around to the current detection stuff. It would also be nice to take a look at the pwm too, though.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvkjtf_6lTyvPUf5x7I-cpxhLFO3HAbqa7FvEdCPKo-S79HFpThDxqcjPyAJEN5-XJODNeWSQyHArA58NQjQB822OFqXtWqKM-a4h7-Y6qqQWP1tPT6qecpFB7Lqp7jMUBdij3UJ0kRg/s1600/P1020468.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvkjtf_6lTyvPUf5x7I-cpxhLFO3HAbqa7FvEdCPKo-S79HFpThDxqcjPyAJEN5-XJODNeWSQyHArA58NQjQB822OFqXtWqKM-a4h7-Y6qqQWP1tPT6qecpFB7Lqp7jMUBdij3UJ0kRg/s320/P1020468.JPG" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
All of the hardware! Arduino board, motor controller, motors, radio, servos, everything.</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
As for the rest of TOBL2, all of the pieces for the new drivetrain are in but I still don't have a frame. Most likely this will be a water jet piece(s) so that's something I can work on here. Since last time I got some <a href="http://www.sparkfun.com/products/8664">new XBee radios</a>. They're still Series 1 but this time I opted for the chip antenna, which has slightly worse range but should help keep the electronics a little more compact. The old ones I had worked great but were salvaged and had such old firmware that it couldn't be changed. This doesn't matter since they were already set to talk directly to each other. It's nice to have a second set so I can have multiple boards going at once. I updated the firmware and paired them so they're ready to go. I also modified the code so the servos trigger on a new button I added to the iPhone control layout. Though the way I did it would probably make CS people cry.<br />
<br />
Well, that's not much of a progress post but all I got for now. Looking forward to summer of hardware and outdoorsy things!LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-75375510887483673392012-01-24T12:50:00.000-08:002012-01-24T14:42:48.617-08:00MKI: First stepsYesterday three MKI boards came in the mail and today two motors were driven by one MKI board. I'm very pleased with this controller so far because whenever it doesn't do what I want it to, it turns out it's my fault and not its; which is great! Let me explain...<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhezQjg8_xR0ixBz6RkT9vzPD9Kizecxb9ZbzU7lDwKta8Bd-i1kVoUBUbfe5PKChXM_Xn3sBLRPaMYLHtibI2TZ829PkItBV6I3iBSl5pfRkKfm5cSCduYPzOtbZCmsoBCZdjoweS2zQ/s1600/P1010051.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhezQjg8_xR0ixBz6RkT9vzPD9Kizecxb9ZbzU7lDwKta8Bd-i1kVoUBUbfe5PKChXM_Xn3sBLRPaMYLHtibI2TZ829PkItBV6I3iBSl5pfRkKfm5cSCduYPzOtbZCmsoBCZdjoweS2zQ/s400/P1010051.JPG" alt="" id="BLOGGER_PHOTO_ID_5701317493363466914" border="0" /></a></div><div style="text-align: center;">Top<br /></div><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyMiVq-wjDaJWYbNJ_5b0BtLG0WLhqluxhiC98ti-aRJYq1vLvjyk5YXiOMjbwHO8aHWZdlg8uoyoEeLxL-dvuC3Dq1EehWmWZGDUnrSIxaGUGCpq5ySR_xX6rIgnKKmpDrk9Ygh0MCw/s1600/P1010052.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyMiVq-wjDaJWYbNJ_5b0BtLG0WLhqluxhiC98ti-aRJYq1vLvjyk5YXiOMjbwHO8aHWZdlg8uoyoEeLxL-dvuC3Dq1EehWmWZGDUnrSIxaGUGCpq5ySR_xX6rIgnKKmpDrk9Ygh0MCw/s400/P1010052.JPG" alt="" id="BLOGGER_PHOTO_ID_5701317702492973202" border="0" /></a></div><div style="text-align: center;">Bottom<br /><br /></div>MKI was easy to solder together, despite having no solder mask. The trickiest part was actually preparing XPWMShield. To accommodate a motor controller upstairs, the 5V regulator was just too tall and had to be bent down; which also meant putting the battery input terminal on the bottom. In addition, two of the servo pwm inputs were flipped (to eventually incorporate servos). All power is passed through a temporary splitter that supply the boards individually. When TOBL2 comes together I'll make a nicer connector.<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEcczDjyEL9KgcwAabu6OHYX7FIa6qn221AxzrYWX-Pr1yW1X4JFMvMCpklyOGw_CRZZwxRsHMElPN92pOrcsICzxM05eLI96NoMkZwy63RdG6JTAMsvVQEiQEmpypo_RVgixtgT_ETw/s1600/P1010057.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEcczDjyEL9KgcwAabu6OHYX7FIa6qn221AxzrYWX-Pr1yW1X4JFMvMCpklyOGw_CRZZwxRsHMElPN92pOrcsICzxM05eLI96NoMkZwy63RdG6JTAMsvVQEiQEmpypo_RVgixtgT_ETw/s400/P1010057.JPG" alt="" id="BLOGGER_PHOTO_ID_5701318278867853314" border="0" /></a></div><div style="text-align: center;">Soldered<br /><br /></div><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCDaYxjo8DUlwEBhUaeMs4n1xae-VcG38Kudw3wiok1b6i06j7OKB1EtLbGOGvf2DNMugB6wR-u5cp5B_GO0KGVxzznsUx29Rth8JTwM-bNykaTVErxyggbdVU14QwC-7MA8IjjNIAzg/s1600/P1010068.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCDaYxjo8DUlwEBhUaeMs4n1xae-VcG38Kudw3wiok1b6i06j7OKB1EtLbGOGvf2DNMugB6wR-u5cp5B_GO0KGVxzznsUx29Rth8JTwM-bNykaTVErxyggbdVU14QwC-7MA8IjjNIAzg/s400/P1010068.JPG" alt="" id="BLOGGER_PHOTO_ID_5701323986446098210" border="0" /></a>Shield mode<br /><br /></div>Once it was all together I ran into a slight problem with motor A. With no solder mask I shorted a small gap by one of the diodes which meant the motor would run fine and make the L298 burning hot in the other. After a few tests runs - being oblivious to this problem - it still works fine so the stock heat sinking does a great job, which was a concern given there is no space on the board to add heat sinking. Here are the motors running through a quick forward and reverse ramp program:<br /><br /><iframe src="http://www.youtube.com/embed/E6iUmU3NF0U" allowfullscreen="" frameborder="0" height="300" width="400"></iframe><br /><br />In getting to this stage I learned some subtleties about the L298. For example, I forgot to mention why the motors took their first steps today and not yesterday. In the datasheet ST says <span style="font-style: italic;">"The sense resistor, not of a wire wound type, must be grounded near the negative pole of Vs that must be near the GND pin of the I.C."</span> Maybe it's just me but this doesn't get across the same message as <span style="font-style: italic;">"The current sense pins must be connected in some way to ground for the motors to work!"</span> -which I found digging though forums. Until I get small enough resistors there is a wire in their place to keep the controller happy.<br /><br />It's also important to note that for now at least, the regulator I had planned to use is bypassed by a wire, supplying 7.4 uncensored volts. It was hard to find a regulator with a low enough differential between input and output voltages to be efficient. Essentially with the current 2S pack I'd need a 4V regulator to support the voltage overhead and voltage loss during use. This would mean dissipating (read: wasting) a stupid amount of power. Combined and unloaded the motors draw 10mA times 3.4V loses only 34mW. However, during loading and more extreme conditions 2A is feasible which would be a 6.8W loss; which is quite significant! We'll see how it works without a regulator for now...glad I was talked out of it.<br /><br />Next steps are to test the current sensing and implement my iPhone controller setup. Classes start tomorrow. Boooo.LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-6735832029982041802012-01-13T19:49:00.000-08:002012-01-16T19:47:42.315-08:00MKI: Motor ControllerAt some ill-defined point in time routing becomes art, I think. I've spent the greater part of the last week transforming that schematic from my last post into the pretty pictures you will see below. It's my first motor controller so I don't want it to suck. Call it MKI if you like (i.e. motor kontroller one or MKI like the <a href="http://en.wikipedia.org/wiki/Volkswagen_Golf#Golf_Mk1.2FRabbit_.28A1.2FTyp_17.2C_1974.E2.80.931983.29">VW GTI</a>). The point is I've hung around <a href="http://scolton.blogspot.com/">Shane</a> too long and am beginning the motor controller phase of my life; which is sure to see many iterations.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTQsFQLOf4sGGsGwJyCGJZwFst_aHk4j0eEnIsyYdhYSUKK4ex_-RHUs0BEKa-0fPVghcV6h756tzXu1kZhl-HxeOH5V2TBUHtZNRbpXHoWE5c6YNmLaCGdxQnhXc0n06EwrhVSnnT_Q/s1600/mki1.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 363px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTQsFQLOf4sGGsGwJyCGJZwFst_aHk4j0eEnIsyYdhYSUKK4ex_-RHUs0BEKa-0fPVghcV6h756tzXu1kZhl-HxeOH5V2TBUHtZNRbpXHoWE5c6YNmLaCGdxQnhXc0n06EwrhVSnnT_Q/s400/mki1.png" alt="" id="BLOGGER_PHOTO_ID_5697337492388159826" border="0" /></a><br />This first - shield - controller is being produced for TOBL2 and is therefore stupid compact. I know this because routing was a beach. It's contained within a 1.65" x 1.85" form and will plug directly into the headers on XPWMShield I created last year.<br /><br />MKI has some things that I'm proud of:<br /><br />There are isolated ground planes on the bottom layer of the board. This technique was suggested by Shane, of course. The logic pins are tied to a ground plane (SGND) which is only connected to the main power ground plane (PGND) by an 0805 resistor. This resistor is sized such that it will explode when too much current is drawn, acting like a fuse to protect the current-sensitive pins on the logic end. In this case running at 6V and fearing 2A gives a 3ohm resistor.<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip5JiqGdWLu5P4xqowSVKJuuKkFyEEO7QFWUAXN6a55o0W4GbbkuWMXEmhxWpodPSsnfAaQKPIq2h5NRRLC4Z-SOTtAmVX97ERkwzLtemAdZnrne3rdlqieksIPKpTYmHpzGw4Lq-whA/s1600/mki2.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 358px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEip5JiqGdWLu5P4xqowSVKJuuKkFyEEO7QFWUAXN6a55o0W4GbbkuWMXEmhxWpodPSsnfAaQKPIq2h5NRRLC4Z-SOTtAmVX97ERkwzLtemAdZnrne3rdlqieksIPKpTYmHpzGw4Lq-whA/s400/mki2.png" alt="" id="BLOGGER_PHOTO_ID_5697343695585216994" border="0" /></a></div><div style="text-align: center;">Power ground plane.<br /></div><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPU5Um7NBQcxF7h6MpInd06amR5uO90q_ryqtzYIUKx3CmaXh6A3HSz_hxw-bAsnADl2dIIaxoRg2PkxEia31KNWVoyNQABSZSlq3jUb8llvIFeMKtMLgk6wTaqbZQMsFh_YneHxNHHg/s1600/mki3.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 356px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPU5Um7NBQcxF7h6MpInd06amR5uO90q_ryqtzYIUKx3CmaXh6A3HSz_hxw-bAsnADl2dIIaxoRg2PkxEia31KNWVoyNQABSZSlq3jUb8llvIFeMKtMLgk6wTaqbZQMsFh_YneHxNHHg/s400/mki3.png" alt="" id="BLOGGER_PHOTO_ID_5697343920448922658" border="0" /></a></div><div style="text-align: center;">Signal ground plane.<br /></div><br />Each motor has three diagnostic LEDs. One to indicate forward, one for reverse, and another for over-current. The latter I cannot tout until I write the software for the controller. This LED is not connected to the actually current sensing pin but will use feedback from it to illuminate. More on that once I have a board to test.<br /><br />It's not visible now but originally several traces wove through the seven-pin header; which the DRC did not like. Moving these traces basically meant ripping up half the wires and starting fresh...#firstworldproblems. (<-- first and last time I will hash tag...yuck...Twitter)<br /><br />Things I'm not proud of:<br /><br />Looking at the images above the ground planes are pretty well-contained save for a few wires that need to reach the top header. We'll see if any noise results from this, shouldn't be too bad.<br /><br />There are 50 f***ing vias. On a via/area basis that isn't bad at 16.4/in^2. However, this board is being ordered 4pcb Bare Bones which allows 35/in^2 maximum, and I'm sure you could pick a given 1" x 1" where that is the case. Hopefully they don't check that so carefully but regardless, that is a shameful quantity of vias.<br /><br />Switching to the mechanical realm the Robot Marketplace order is in and I suspect so is the McMaster order. In addition I have been working on the frame design. Don't believe me?<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic-fQjUhZCJvfQJHCZd46jyhH8ubFs_1E_fOfJkFWXr4x8OqCBUHS6hL1Gus-4CDgLet9kV8vO29hKtnMSKZaIHDse_nu7Y2KwVskkfp6ylQ4PZJaRXi-BDbA1zashyhBde79JhOcY_Q/s1600/2tobl1.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 238px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic-fQjUhZCJvfQJHCZd46jyhH8ubFs_1E_fOfJkFWXr4x8OqCBUHS6hL1Gus-4CDgLet9kV8vO29hKtnMSKZaIHDse_nu7Y2KwVskkfp6ylQ4PZJaRXi-BDbA1zashyhBde79JhOcY_Q/s400/2tobl1.png" alt="" id="BLOGGER_PHOTO_ID_5697347690523984898" border="0" /></a></div><div style="text-align: center;">Boom.<br /></div><br />This wasn't meant to be in the "things I'm not proud of" section but now that I think of it I'm not proud of how little attention the mechanics have received. Maybe I can make it up by over-engineering servo-automated belt-tensioners...LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-80376323990677268992012-01-04T13:18:00.000-08:002012-01-04T14:32:29.137-08:00Space Invaders and Motor ControllersThe first order of business to address in buildapalooza is TOBL2's motor controller -that way the new chassis can be built while the board and parts are being shipped! This is the first motor controller I've designed and it's based off of the <a href="http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/DATASHEET/CD00000240.pdf">L298 Dual H-Bridge</a>, PowerSO 20 package. Essentially it's an Arduino shield...shield, because it will stack onto XPWMShield. Here's the schematic:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBtAZZSA7JsTVK8LGZuHcrVpXLhLV4QfLTHxohVZFC7WQIvcGangYhLuyyXE-ScYAgRwgBjjk4J9FJmN89acwnbwofS3fLv7hV_9MqzjCvYR4R5mrysByDC8ZfRrW7UmszD18rN0RYNQ/s1600/space_invaders.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 177px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBtAZZSA7JsTVK8LGZuHcrVpXLhLV4QfLTHxohVZFC7WQIvcGangYhLuyyXE-ScYAgRwgBjjk4J9FJmN89acwnbwofS3fLv7hV_9MqzjCvYR4R5mrysByDC8ZfRrW7UmszD18rN0RYNQ/s400/space_invaders.jpg" alt="" id="BLOGGER_PHOTO_ID_5693905337171291682" border="0" /></a><br />Actually this is the schematic, but it does <span style="font-style: italic;">kinda</span> look like the Space Invaders alien:<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimbRCUjHsXrgVGYwj1Qgm15Gr5OVP1HVoy4kWNS8SUECexKe9N78c4f8aDnLPNZHz88nh6GiTGvUxa4wQludfIQu43zHYi4DTbABNamw7wB7kINAk1BZkHEtCa0E0_PWSKiCyQavbAVw/s1600/spaceinvaders.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 205px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimbRCUjHsXrgVGYwj1Qgm15Gr5OVP1HVoy4kWNS8SUECexKe9N78c4f8aDnLPNZHz88nh6GiTGvUxa4wQludfIQu43zHYi4DTbABNamw7wB7kINAk1BZkHEtCa0E0_PWSKiCyQavbAVw/s400/spaceinvaders.png" alt="" id="BLOGGER_PHOTO_ID_5693906299915841490" border="0" /></a><br />It will drive TOBL2's two <a href="http://www.robotmarketplace.com/products/0-FT-SPARK16-35.html">new FingerTech motors</a> at 6V, which promise not to ask for any more than 2.6A combined if both motors stall. The L298 is rated to handle up to 4A, but to be safe the current sensing pins will be in effect and there will be more status LEDs than one could ever need. Oh, and automated belt tensioning/detensioning....yeah I really don't want any more slipping or breaking (which were all part of TOBL1's charm). More details on the controller once I have a physical controller in my hand to test. Just a little <span style="font-style: italic;">amuse-bouche</span> before the feast of blogposts and building commence.LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-87178594814698729982011-12-27T18:42:00.000-08:002011-12-27T19:17:46.760-08:00< Buildapalooza 2012 >Did I mention I'm an undergrad? Apparently junior year is is a buttload harder than sophomore year, but after a long semester I'm back for what I call Buildapalooza 2012 (on vacation now won't be building until after the New Year). Here is the plan:<br /><div><br /></div><div><a href="http://lmh-tech.blogspot.com/search/label/gMeter">gMeter</a>, the amount of time it will take to write your software, including all the LCD code, was just not feasible this semester. And now that I finally have a break, I simply don't hate myself enough to plow through the datasheets. Unfortunately, I'm putting you on the back shelf until the summer rolls around.</div><div><br /></div><div><a href="http://lmh-tech.blogspot.com/search/label/TOBL">TOBL</a>, you break too much. In the middle of September I brought TOBL to <a href="http://lmh-tech.blogspot.com/2011_10_01_archive.html">World Maker Faire</a> in New York. Before I could even set up a demo I watched a five year old strip an internal gear on the left servo, by rolling it around like a wind up toy. Maybe that little tyke was trying to tell me something, like "get rid of the servos!" So that's what's going to happen.<br /><br />Introducing TOBL V2.0 or TOBL2 if you like...there was already a V1.1 when counting the revised XPWMShield board. Some new things I'd like to incorporate into this version:<br /><ul><li><a href="http://www.robotmarketplace.com/products/0-FT-SPARK16-20.html">Gear motors</a></li><li>Belt/Pulley drive</li><li>Automated tensioning/clutch</li><li>Aluminum plates (replacing acrylic)</li><li>Bearings and proper supporting</li><li>Revisit the wireless updating on XPWMShield V1.1<br /></li><li>New control interface (on iPhone)<br /></li></ul> By swapping the <a href="http://lmh-tech.blogspot.com/2010/12/tobl-hs-82mg-360.html">modified plastic geared servos</a> for gear motors the possibility of breaking gears on back-loading should be eliminated. Further to this end, an automated clutch system is in the works to tension and de-tension the drive belts when summoned. The gear motors will also increase TOBL's top speed from a fraction of an MPH up to about 4.6 of them by my maths (using the motors linked above). Swapping the acrylic should work towards the goal of making TOBL more durable, not to mention I'll feel better pressing bearings into aluminum. Oh yeah, and because she'll be running motors I need to design a motor controller to interface w/XPWMShield. So there will be some electronics to keep things interesting too.<br /><br />Okay, there you have it, Buildapalooza 2012 starts in T-minus one week. Until then I'm gonna go sit on a beach ;-)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSdln66xO1zI8UtiQJBB05CT3loHmAJEVKzfaW4XuEVx5gebZZAMBdrqgUiaKwOHa5HJsPzBM41rLW_wZc3XdUW-YIrtrN-mIbOd7VmGeyeT7b0tm37ao7OKgGFPCCpr3cmIzCPlgTWg/s1600/photo.JPG"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSdln66xO1zI8UtiQJBB05CT3loHmAJEVKzfaW4XuEVx5gebZZAMBdrqgUiaKwOHa5HJsPzBM41rLW_wZc3XdUW-YIrtrN-mIbOd7VmGeyeT7b0tm37ao7OKgGFPCCpr3cmIzCPlgTWg/s400/photo.JPG" alt="" id="BLOGGER_PHOTO_ID_5691011952483825682" border="0" /></a><br /><br /></div>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-55067657229935843002011-10-09T19:25:00.000-07:002011-10-09T19:32:35.783-07:00TinyKart @ Maker Faire NYC 2011<iframe width="560" height="315" src="http://www.youtube.com/embed/US-5eIObAPY" frameborder="0" allowfullscreen=""></iframe>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-35588579361986708212011-08-19T09:49:00.000-07:002011-08-25T20:18:27.769-07:00gMeter: ElectronicsThe electronics for this project are simple. So I asked myself, why spend money on a board from <a href="http://www.4pcb.com/">Advanced Circuits</a> when I can make my own? After completing the etching process I have plenty of answers to this question, which I will address on a rolling basis.
<br /><div>
<br /></div><div>First, the circuit itself. Laying a board out for single-sided etching adds some headache to the design process. Without vias you have to think a little harder about trace traffic, to minimize using jumper wires. It's a fun game until you realize that's probably something they play at EE parties. I scored a 7 (I think it's like golf). Other modifications for achieving etch-spec: minimum trace size of 24 mil and minimum clearance up to 16 mil. I really wouldn't etch a board that's any more complex than this unless the form factor is less constrained and bigger.
<br />
<br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDKDfrKvcCDx7z6pCz_VhwUcReLdhgSZ7wytzQZnTJBzL9XU0OxaizBdAcjqg_lyWmUR2W4rg0LO4DwhqcOMois6Kf4eGD_kxL_f4tw7aFnUBDcKjkUrtZgoJd0wTq_AI9CJ2IF-arDw/s1600/gm1.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 174px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDKDfrKvcCDx7z6pCz_VhwUcReLdhgSZ7wytzQZnTJBzL9XU0OxaizBdAcjqg_lyWmUR2W4rg0LO4DwhqcOMois6Kf4eGD_kxL_f4tw7aFnUBDcKjkUrtZgoJd0wTq_AI9CJ2IF-arDw/s400/gm1.png" alt="" id="BLOGGER_PHOTO_ID_5644982177531996274" border="0" /></a>Export to png (monochrome) and...
<br /></div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWzLRujltDifqieNAB91A_zOgCRpBXsnBpjqymME-LKLtqOtKOHIEPMtDD96zNRYQRQPqjllfMe44DqasSTUeThAkzw01v-Q3uZWqY7hAvXRo-zexARw06U6xMC6fAhMa1Hjhw2TfQ4A/s1600/the_board.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 184px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWzLRujltDifqieNAB91A_zOgCRpBXsnBpjqymME-LKLtqOtKOHIEPMtDD96zNRYQRQPqjllfMe44DqasSTUeThAkzw01v-Q3uZWqY7hAvXRo-zexARw06U6xMC6fAhMa1Hjhw2TfQ4A/s400/the_board.png" alt="" id="BLOGGER_PHOTO_ID_5644980159017748914" border="0" /></a></div><div style="text-align: center;">...ready to be printed.
<br /></div>
<br /><div>There are hundreds of DIY PCB etching tutorials out there so I'll spare you the step-by-step procedure. Besides, after etching one board I'm far from pro! I went the iron-on toner transfer route, messing up three blank boards before getting one that was "etchable." Partially that was not my fault because the laser printer I used was good but not great, leaving thin spots of toner here and there. Mainly I wasn't putting enough pressure on the iron. To get it to work, I literally put all of my weight on the iron for two minutes solid. Then 4-5 minutes moving the iron around giving the interior a lot of attention, and still maintaining absurd pressure.
<br />
<br /><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidC51UtZqqR5VfNjuVEplBSWiWdLu8ZKu364F-C9BefGvTkokbWogvuOM9sPrrc3Bpxk3BawMaN4dJu5i3NupPaxljTL2Srn_eiwzLiXUaHh-ZlO35rlseYR0rWXPY5m9flHkaWBwhBA/s1600/gm6.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidC51UtZqqR5VfNjuVEplBSWiWdLu8ZKu364F-C9BefGvTkokbWogvuOM9sPrrc3Bpxk3BawMaN4dJu5i3NupPaxljTL2Srn_eiwzLiXUaHh-ZlO35rlseYR0rWXPY5m9flHkaWBwhBA/s400/gm6.JPG" alt="" id="BLOGGER_PHOTO_ID_5644991446233230834" border="0" /></a>I used a sharpie to touch up the spots the toner missed.
<br /></div></div><div>
<br /></div><div>The etching part is where things got really sketchy though. The copper took at least 45 minutes of continuous agitation to etch...? That's at least 15 min longer than what I read online, so I'll need to hunt down the ferric chloride MSDS, perhaps it was diluted more than usual (around 60%). More likely rubbing it with a sponge probably would have cut the time, instead of waiting for the copper to dissolve on its own. As much work as this is, there is an unbeatable zero day lead time and low cost. Having the ability to wake up with an idea for a cool board and use it that day is plain awesome. With practice I'm confident it will take less time and it's far superior to leaving your project at breadboard status.
<br />
<br /><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhokgRmWYtxhr_AKTdk6mqS3uo7JM5lg7PU75zEJ29INhi9H3uvCQIVbICnTzTP6fYWwdEFFEtiY0NXkFUeSrhIu3FSYfwkWVIlHUapp-JedY_uTE5TKIl4877qwUzHkquRYQ3agfowSQ/s1600/gm4.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhokgRmWYtxhr_AKTdk6mqS3uo7JM5lg7PU75zEJ29INhi9H3uvCQIVbICnTzTP6fYWwdEFFEtiY0NXkFUeSrhIu3FSYfwkWVIlHUapp-JedY_uTE5TKIl4877qwUzHkquRYQ3agfowSQ/s400/gm4.JPG" alt="" id="BLOGGER_PHOTO_ID_5644992302356554354" border="0" /></a>Soaking in ferric chloride...
<br /></div>
<br /><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrFWCdWDam5Z1V7iRZs_88m22PPRlR57EGtjjl2wFzYfesJ1ZaK_QkJxz4t40EMMJNfh2QWcM-xMdvn-HG4_1sLZKGe9Tno_eY3S9mOVzCK9aPnL0uY2pvXsHbBx5BJrjEr1xOjhMvZw/s1600/gm3.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrFWCdWDam5Z1V7iRZs_88m22PPRlR57EGtjjl2wFzYfesJ1ZaK_QkJxz4t40EMMJNfh2QWcM-xMdvn-HG4_1sLZKGe9Tno_eY3S9mOVzCK9aPnL0uY2pvXsHbBx5BJrjEr1xOjhMvZw/s400/gm3.JPG" alt="" id="BLOGGER_PHOTO_ID_5644992692281161794" border="0" /></a>Stipped of toner courtesy of spray carb cleaner
<br />
<br /></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNTrW7e0jfYagVMRR8eY0m6GWsGUYOgCiXEDyDslm8XZaUVxHkCDg3qtjCL7ViwLdMrlO2zxk3NN98VBb_OgtjqxesMX5FWXi8w7RzDhv_r442TbGqOWg_t-RqF2KNiFUxJTGreEmawg/s1600/gm2.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNTrW7e0jfYagVMRR8eY0m6GWsGUYOgCiXEDyDslm8XZaUVxHkCDg3qtjCL7ViwLdMrlO2zxk3NN98VBb_OgtjqxesMX5FWXi8w7RzDhv_r442TbGqOWg_t-RqF2KNiFUxJTGreEmawg/s400/gm2.JPG" alt="" id="BLOGGER_PHOTO_ID_5644992976815318994" border="0" /></a></div><div><div style="text-align: center;">Finally got some use out of my Dremel drill press, I think this is what it was designed for.
<br /></div>
<br /></div><div>Next, I soldered it all together and bam....no, who am I kidding it didn't work first shot. Again, I would advise against etching with 24 mil traces, especially in confined spaces. I made this mistake and spent a lot of time with a multimeter and an x-acto knife peeling up traces to resolve about ten different shorts. Finaly I got it to light up.
<br />
<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1vkTFHxAmMJmK-WJMcr8z34ltOVmCZP_8n25F2SbHBp-9ym2e9_Ufn4U2Ygg8W2sN79f34P8N3XbObyM4bvbfTr3F3LIhSI7gHKqSIXIKppfTPMlGJj3Deqga8EgpmAv2UAIpCAKsgQ/s1600/gm7.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1vkTFHxAmMJmK-WJMcr8z34ltOVmCZP_8n25F2SbHBp-9ym2e9_Ufn4U2Ygg8W2sN79f34P8N3XbObyM4bvbfTr3F3LIhSI7gHKqSIXIKppfTPMlGJj3Deqga8EgpmAv2UAIpCAKsgQ/s400/gm7.JPG" alt="" id="BLOGGER_PHOTO_ID_5644995386624942194" border="0" /></a>
<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwun_20YX8Y4_1NFpOTfs8LebqGOm7D26fPPlJoPGG46bPFL6bPAx-zu2GpZG_ErEwzGuPOc-buQi4kewvP7e7XgGJGTx4Iq5bHu__moFkFKBq0Qb7HhgqjW1ltg-uFoE8pG_iRhNT2g/s1600/gm8.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwun_20YX8Y4_1NFpOTfs8LebqGOm7D26fPPlJoPGG46bPFL6bPAx-zu2GpZG_ErEwzGuPOc-buQi4kewvP7e7XgGJGTx4Iq5bHu__moFkFKBq0Qb7HhgqjW1ltg-uFoE8pG_iRhNT2g/s400/gm8.JPG" alt="" id="BLOGGER_PHOTO_ID_5644995238542226994" border="0" /></a>
<br />Ok, the board works. Now there are zero excuses left to procrastinate from coding. Well maybe that classes start next week, but I will do my best not to drag this project too far into the semester. Putting on my software hat...
<br /></div><div> </div>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-13007357442177286602011-07-25T05:26:00.000-07:002011-08-18T05:00:31.135-07:00gMeter: ...Oops, it's August and gMeter is very incomplete. That's probably because the part I really care about (tangible mechanical things) are not the important part. Alas, progress has still been made and to satisfy the self-imposed minimum project SolidWorks/<span class="Apple-style-span">machining time, I came up with a cool sheet metal enclosure. I've never made one before, but SolidWorks has a great tool for laying them out, with a nice "flatten" tool to get a drawing of the part for construction. </span><span><span><span class="Apple-style-span"><span class="Apple-style-span">Got all the materials, time to cut, mill, and bend!</span></span></span></span>
<br /><span class="Apple-style-span">
<br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXcYxHQflm7Za_OqN9gOLX9wZ5mrXDMv9qVh3MYtPGwxA8jSSs39nB6VnZF2tf8h4AD8Hz7LUrRow5o4c6xpEI3D0I6KmqPLXjTvloo2MWwdwsAjyIVxFDALrDNoxFFDztvEQEn1j2pQ/s1600/enclosure.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 225px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXcYxHQflm7Za_OqN9gOLX9wZ5mrXDMv9qVh3MYtPGwxA8jSSs39nB6VnZF2tf8h4AD8Hz7LUrRow5o4c6xpEI3D0I6KmqPLXjTvloo2MWwdwsAjyIVxFDALrDNoxFFDztvEQEn1j2pQ/s400/enclosure.png" alt="" id="BLOGGER_PHOTO_ID_5642001353058649954" border="0" /></a>
<br /><span class="Apple-style-span"></span><span class="Apple-style-span"><div>You'll notice a right flange is omitted, motivation for which will become more apparent later. Out of context, I'll admit, it's not very exciting. Especially following my <a href="http://lmh-tech.blogspot.com/2011/02/tobl-its-working.html">last project</a>, which could do wall flips! Though, anyone who has ever programmed a microcontroller will appreciate the inherent awesomeness of that itself. Which brings me to my next point -> electronics.
<br />
<br />The board containing the logic and everything else is ready for fabrication. I'm going the DIY route and etching it tomorrow, so look for an electronics/etching post soon. I used an Arduino Nano to prototype everything before porting it all over to the ATtiny2313. This would have gone a lot quicker if I hadn't fried the regulator on the Nano and consequently the not-so-cheap ADXL335. Fortunately the Nano still runs off of USB power and a brave friend has loaned me an accelerometer. I look forward to having a nice clean pcb to replace this sea urchin looking setup.
<br />
<br /><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5lGWXyH3WnEi8VBFOhr5OjVVvKFFE-6K2ZRT7epVOiSPXXQMDDjE-ZJNEIvv_hNqckxvk-IZ5MWKdtA4CuqPCa19x3aIrft7uFdpuaaXBYXLTod72jaiHVY2T6qLaj3jlA4c_RymHDw/s1600/sea_urchin.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5lGWXyH3WnEi8VBFOhr5OjVVvKFFE-6K2ZRT7epVOiSPXXQMDDjE-ZJNEIvv_hNqckxvk-IZ5MWKdtA4CuqPCa19x3aIrft7uFdpuaaXBYXLTod72jaiHVY2T6qLaj3jlA4c_RymHDw/s400/sea_urchin.JPG" alt="" id="BLOGGER_PHOTO_ID_5642009256488375586" border="0" /></a><span style="font-size:78%;">I need to invest in normal-sized breadboards.</span>
<br /></div>
<br /></div><div>On the flip side of all this procrastinating, my attention has been finely concentrated into the sexiest thing on four wheels. In our 5th year of ECSEW, the <a href="http://scolton.blogspot.com/2011/08/tinykart-round-4.html">tinyKart</a> is a sub-50lb e-cart you can essentially wear. The idea being to make it lighter than a single battery from the original <a href="http://web.mit.edu/first/kart/">cap kart</a>, circa 2008. Mainly this is done through prevalent, if not exclusive, use of 6061 aluminum. Without a driver it will have a better power-to-weight ratio than a Lotus Elise, with a -healthy- driver the figure is more comparable to an E92 BMW 328i. I say <span style="font-style: italic;">will</span> because as you can see it still needs to be wired up. More to come on that and gMeter very soon as the August building marathon begins! Leaving for school in 11 days, bring this. </div></span></span>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-1707133545318422402011-06-14T13:01:00.000-07:002011-08-05T10:04:38.682-07:00Grand Prix du Canada, done right.<div style="text-align: left;">The past weekend marked the only North American stop on the Formula 1 calendar - <a href="http://www.formula1unitedstates.com/">until 2012 at least</a> - held at <a href="http://en.wikipedia.org/wiki/Gilles_Villeneuve_Circuit">Circuit Gilles Villeneuve</a> in Montreal, Quebec. The circuit skirts tiny Île Notre-Dame and features some famous corners, including a hairpin and one named after racing deity <a href="http://en.wikipedia.org/wiki/Ayrton_Senna">Ayrton Senna</a>. The course is a driver's favorite although this year's GP may have temporarily spoiled that sentiment, due to an unprecedented 2-hour rain delay. Quick recap: Mercedes Mclaren's Jenson Button stole what would have been another victory for Vettel, in lap 70. Out of 70! Button deserves the credit though, working his way from dead last at one point, making up for many pit stops, a tussle with team mate Lewis Hamilton, a speeding violation (they have those), weather etc. Also of note, is a 4th place finish from Shumacher, who is on the rise in his second season back from retirement. Hamilton, who has been successful here historically, was forced to retire. Kinda had that coming to him. Anyways, the point of this post is to shed some light on what to expect at a GP and how to do it right, and cost effectively.</div><span class="Apple-style-span"><div style="text-align: left;"><br /></div></span><span class="Apple-style-span"><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/VYLGJX-oaok?hl=en&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/VYLGJX-oaok?hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object><div><br /></div></span>Tip number one on the weekend: Do NOT plan a trip last minute. I decided to go to the Canadian Grand Prix just two days before the event. I had an amazing time, and being spontaneous is fun, however, you can save a lot of money if you book in advance. Fortunately I was able to cash in on some frequent flyer points, and didn't pay a cent for lodging. Had it not been for this though, the only hotel less than $100/night was 40 miles away from the race. The city takes the GP very seriously and staying downtown becomes a $500/night affair. Hostels are in the range of $30/night and a good option if you are traveling in a group, but they're almost exclusively 3-night minimum rental, so plan for that. Definitely book on Expedia and maybe they'll mess up and give a free upgrade to here...<span class="Apple-style-span"><div><br /></div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiZ1IK_I8e9XYxiiHCUzKyRuthemioc2humZupM16AQV9t96xLf5F3x_EjeWcYF_PWa8IiNUMsheSbZVdt7zLZMAWD8SqJ9XdRcja4bRBFlP4YYrP6ob5Zsch8QkS1TcXVipAOpjefq9w/s400/P1000377.JPG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5618270722742128834" /></div></span>Second: Buy general admission tickets. Well sure, if you have the money buy grandstand seats, over by <i>Virage Senna</i> being the best to watch overtaking. For the rest of us, a 3-day GA pass costs $110, which is cheaper than a single day in the stands. You will have to get to the track early to secure an un-obscured spot on the infield, but it will be worth it -there are other races while you wait. If you heed the advice from tip two then you will also need to follow tip 2a: BUY EARPLUGS. We sat about 15 feet from the cars mid-straight and I thought my ears were going to bleed.<div><br /><span class="Apple-style-span"><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgrFMvmXgI5gH-9Gxa7Y4MpIZ-Q8GNWPtj6WmqMHVD04HYkMxNgpKq3cuu48FixgyQ-nK8BKUdYBEUUq-7jgAkQbCVn57x9E3uYXonGGPTUlRYGzMm6HJkkhZTwbJQuPEAy3yJKYpy2w/s400/P1000365.JPG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5618268175791321282" /></div><div>Number three: BYOR (bring your own radio). Being at a Formula 1 race is kind of like observing a golf tournament from the 9th hole. Unless you can cover a lot of ground really quickly (~200mph), or are willing to shell out hundreds for seats you will have no idea what's going on. Alternatively you can camp out by a screen but you will be hard-pressed to do so unless you get there seriously early. No matter what time you arrive, you will be able to see the action, though. The earlier the less likely you will be looking through a tree.</div><div><br /></div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIE5n2QbaHkfitWG_W5nSrh1ajcoOgGuM50FddOUqA9zinFJG-PX88aZGs7T2R-GY3MPao9bhGp7kOGBXhsC_ZVZUqPKkm-Sx9iDNh2ZfeyvlRn7DiPJ6a0DPKJBH19dVtcx-gjuxRiA/s400/P1000284.JPG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5618283139709094194" /></div><div>Final tip: Pick your transportation wisely. Having a car is essentially useless because there is nowhere to park and there is a metro stop which lets you out right at the front gates of the track. I say this with somewhat of a bias after my car suffered a freak break-down, costing me a couple thousand dollars more than I had planned to spend in one weekend. Even still, there are metro stops scattered all around town and buses to take you to the stations, if you can catch them. Busing up is definitely the most reasonable way to go, $75 one-way from Boston at least, which is currently what you would pay in gas anyways. </div><div><br /></div><div>Even if you do not follow Formula 1 going to a race is an incredible experience. The sounds of howling V8s revving to 18,000rpm and the brutal shotgun-esque downshifts alone are worth the price of admission. It truly is a symphony but watching the race unfold you realize that this sport does not exist solely for our entertainment. It is a business and a showcase of modern engineering for the companies who sponsor the teams. The cars have presence, they command your respect. Watching the drivers chase down the car in front of them is like watching a really loud game of chess. As was the case with Sebastian Vettel the simplest mental error can <a href="http://www.youtube.com/watch?v=91-6l8KgxIs">lose you a race.</a> The Montreal atmosphere is great too, the locals get really into it and appreciate every ounce of heroic late-braking and high-speed overtaking. I highly recommend the Canadian Grand Prix to anyone and will certainly be back next year, definitely smarter, hopefully dryer.</div></span><div></div></div>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-6264901778740591642011-05-28T22:19:00.000-07:002011-07-08T21:35:16.229-07:00gMeter: l'introduction<div style="text-align: left;">Preface: As mentioned in the previous post I hit some car trouble in Canada. Actually I had an engine swap, so it's more like a major problem. Between fatigue, sorting that out, and <a href="http://scolton.blogspot.com/2011/06/ecsew-v-tinykart.html">another project</a> in collaboration with ma man Shane, this project is off to a slow and undocumented beginning. To that end, here is an intro while I chip away at the project.</div><div><br /></div><div>For the longest time I've been interested in doing something with inertial sensors. It's no secret that I am also a car-obsessive, so the logical starting point was to create a g-meter for my car. Does it tell you how "G" or ghetto someone/thing is? No, but later versions may feature a cockometer setting to tell you <a href="http://www.youtube.com/watch?v=Yw7D9cDQqHo">"how much of a cock you look."</a> Of course, a g-meter measures the lateral cornering force of your car, typically in units of gravities. As a basic reference an average street car can handle just under one gravity, and a formula one car will stay planted while pulling nearly five g's! "How many can the Volvo manage?" I wondered. Time to find out.</div><div><br /></div><div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjbvv-SKlyQY81TTP8AoTzyNibMpWVx43WWlkAiiYQEFUj5J_tIP6iZ1QjznCv-gpix4jD5-HIp_4_f9CmwGUxGLyhlnb2J1INBk1dCJExhjporT3G39dY18nNa7C0hUjfYaIDMSCTQw/s400/corneringforce.jpg" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 170px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5627203420702907346" /></div><div style="text-align: center;"><span class="Apple-style-span">Image courtesy of <a href="http://www.google.com/imgres?imgurl=https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXVwK0x8z3Lai_aCpt8joLhpFd71qoDDFDFE0O7wNFiYT9jC1TIarc_vE1Oflgyon1mDxnswyS47OLFmU0BXCk7BENq4WQAwl1eXwiLB9h-fDg2vjYrSFoF-bIv8MxWIPngKHJwzUZml4/s1600/Tyre+trade+contact+patch+distortion+when+subjected+to+side+force..jpg&imgrefurl=http://kmotoinfo.blogspot.com/2011/02/vehicle-steady-state-directional.html&usg=__xMVDB_AH-MNz3gB1uoh2le9h8dw=&h=240&w=564&sz=26&hl=en&start=0&sig2=naf00Lc420PueXRo71pJtg&zoom=1&tbnid=2uPjYGu8oHLzTM:&tbnh=71&tbnw=167&ei=xtYXTqLoM6Xl0QHgpoWXBQ&prev=/search%3Fq%3Dcornering%2Bforce%26um%3D1%26hl%3Den%26safe%3Doff%26biw%3D1920%26bih%3D955%26tbm%3Disch&um=1&itbs=1&iact=hc&vpx=361&vpy=113&dur=1939&hovh=146&hovw=344&tx=187&ty=75&page=1&ndsp=66&ved=1t:429,r:2,s:0&biw=1920&bih=955">TheEngineersCorner</a>. </span></div><div style="text-align: center;"><br /></div><div>The most critical component of this project would be the accelerometer, for which I chose the tried and true 3-axis <a href="http://www.sparkfun.com/products/9269">ADXL335</a>, yours with breakout board for $24. Having no prior experience with accelerometers and no qualitative evidence for comparison I think this is a great sensor. I used it as it came, with 0.1uF decoupling capacitors which restrict the bandwidth to 50Hz. Choosing the bandwidth is a compromise between noise and resolution and the stock setup proved a good balance thus far.</div><div style="text-align: center;"><br /></div><div>For starters the sensor needed to be calibrated by picking an accurate scaling factor. This is a number in units mV/g which converts the output signal from volts to gravities. The ADXL335 is ratiometric so the data sheet provides experimental values for the scaling factor at the max and min supply voltages. Running the sensor off a 3.3V line I needed to determine the SF in between the given values, which meant linear interpolation. Not the best since clearly the response is not linear, but close enough. To confirm this I devised a shotty test by taping a breadboard with the accelerometer and an Arduino to my dash as a brave friend riding shotgun read the x (lateral axis) outputs off my laptop in realtime. Meanwhile, another friend monitored readings from a <a href="http://itunes.apple.com/us/app/porsche-gforce-app-powered/id376645510?mt=8">free app</a> on my phone and I drove fast (safely, Mom) down a windy road. The results were reasonable, achieving a max of about 0.74g on a particularly tight bend. During this test power was being supplied via USB so I will need to tweak the SF once the power source is finalized, probably a small 2S LiPo.</div><div><br /></div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxCWmpbrUdup9VTDJ-V7-hlzSZQPdb5kFC1NkZyOSPzXZ3vGuAPQIrZ3z98Sy4llnR4npUh5LVy-tWGG2kBJAdsh73n3F-XAUb-vRnhMHFZ7_dKTLJFjlwGOUNi5BwpkFPGzBk5wQvwg/s400/P1000430.JPG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5627198791100319090" /><div style="text-align: center;"><span class="Apple-style-span">Quick and dirty g-meter.</span></div><div><br /></div><div>This all came together frighteningly quickly. I added an <a href="http://www.sparkfun.com/products/256">lcd</a> to the mix but even that has a very common HD44780 chipset and pre-made Arduino library of course. I did not like this, and I started to feel guilty about all this Arduino business. Using them is kind of like admitting that you like Britney Spears music...or something. It's just not hardcore. Arduino's are great tools and by no means have I come close to mastering all of their capabilities, but building things shouldn't be like one of those snap-together model airplanes. So instead of soldering what I had together and stuffing it all into a box, it was time to take the project down a windier and potentially bumpy path.</div><div><br /></div><div>If we're going to dabble in such terrible things as software, then we ought to at least do it right. Enter the <a href="http://www.atmel.com/dyn/products/product_card.asp?category_id=163&family_id=607&subfamily_id=791&part_id=3229">AVR ATtiny2313</a>, a very popular microcontroller for small custom applications like this, and most importantly, no Arduino bootloader! In fact, that is the last time I will use the "A-word" in this post. It feels liberating now but pretty soon I'm sure I will begin kicking myself. I bought an <a href="http://parts.digikey.com/1/parts/408608-programmer-avr-system-atavrisp2.html">AVR ISP II</a> and put together a little target board. In the next few weeks I will work on the software, anticipating that the lcd will probably be the hardest part. No turning back now.</div><div><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-6GDcij_wYmjNx-lU5f71-BcNqY_dMf-7utC8KwARZGoBaCQPK-ir2KPXObDEaX175g0WQhdJXyMoJ45CitmoH-DhAQChr5iz2D2_PETuf-V5ra75LdO7Za6DYI-Zx-rJ6oNqTMAyew/s1600/P1000434.JPG" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-6GDcij_wYmjNx-lU5f71-BcNqY_dMf-7utC8KwARZGoBaCQPK-ir2KPXObDEaX175g0WQhdJXyMoJ45CitmoH-DhAQChr5iz2D2_PETuf-V5ra75LdO7Za6DYI-Zx-rJ6oNqTMAyew/s400/P1000434.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5627200508708173906" /></a></div><div style="text-align: center;"><span class="Apple-style-span">Unnecessary switch, led, and cap. Why not. </span></div><div><br /></div><div>After the recent car bill I need to be thriftier than ever. For the circuitry I won't be ordering a shiny new PCB, instead I am researching the process of etching one myself. Failing that look for a perfboard from Radio Shack with a lot of wires. Mechanically, all I can say is I've ordered some 1/16" sheet aluminum...</div></div>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-12576458024930364502011-05-16T14:36:00.000-07:002011-06-15T05:41:00.806-07:00< Summer Projects ><div style="text-align: left;">While studying for finals I realized something, and that is <i>procrastination, </i>NOT necessity, is the mother of invention. With the dark cloud of exams looming overhead my mind naturally started generating ideas for the more exciting ways I could be spending my time. Now that they are over* my ideas are rapidly coming into fruition.</div><div><br /></div><div>Motors Controllers:<span class="Apple-tab-span" style="white-space:pre"> </span></div><div style="text-align: center;"><br /></div><div><span class="Apple-tab-span" style="white-space:pre"></span>After working with servo's for far too long, I bought some <a href="http://www.sparkfun.com/products/315">TI SN754410</a> quad half H-bridges and Sparkfun's <a href="http://www.sparkfun.com/products/9608">cheapest motor</a>, which turned out to also be their smallest! I wrote a quick Arduino/Processing sketch and touchOSC layout to integrate my iPhone control process to this tiny motor. It's very straight-forward, just PWMing the enable pin to control the speed. This was a success.</div><div><br /><center><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/plNGMNB2jdo?hl=en&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/plNGMNB2jdo?hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></center><br /></div><div style="text-align: left;">More recently, a friend handed me a hard drive spindle motor after realizing that a battery and wires alone could not bring it to life. It even has four wires, "what could the extra two do?" he might have asked. I knew it must be brushless and after a little bit of research, it turns out it's a 3-phase BLDC. There is one wire for each phase and the fourth is common. In a trial by fire effort I am in the process of building a controller with some parts I had lying around.</div><div><br /></div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4vN6Swii42jzBMvF34-05rACDIh9t_oU2Ig4ahaCtNWwe8HcOC4ZzqinGbisLH-D9yBIsKhU2PRpOzTlMXZBw6bovS9_DQEXsXHBf5-ZnVZ-Q2hiv2D4tXCgjhz2DbPgZUI-hrrkpEw/s400/P1000258.JPG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5607457332852440690" /></div><div><br /></div><div>The basic idea is to drive each of the phases with one side with one, or one half-bridge. Thus two SN754410s are used. The Arduino Nano provides the PWMing for the three enable pins, the inputs for the six logic pins, and the back-EMF sensing. The latter will be the tricky part, and I am still doing some reading to determine the best way to do that -both in hardware and software. This is a sensorless motor, meaning instead of onboard hall-effect sensors the position of the rotor is approximated by detecting the back-EMF. Not any easy undertaking, and for now just a clusterfuck of wires.</div><div><br /></div><div>In the background -or maybe the foreground- another project is in the making. Today I ordered a <a href="http://www.sparkfun.com/products/9269">3-axis accelerometer</a> and a <a href="http://www.sparkfun.com/products/256">20x4 LCD</a>. I've had an itch to start working with inertial sensors for some time and I think I've found the perfect application. Hmm what could those be for? Hint: my car.</div><div><br /></div><div>*one non-engineering final left </div>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-77054766493911200702011-04-07T19:17:00.000-07:002011-04-07T19:32:40.043-07:00Something DifferentThere's more to life than building things. Please enjoy this semi-serious cover of John Lennon's <i>Imagine</i> with my friend Seti on vocals and me with the keys.<br /><br /><iframe title="YouTube video player" width="400" height="244" src="http://www.youtube.com/embed/qhafYPxkjdI" frameborder="0" allowfullscreen=""></iframe>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0tag:blogger.com,1999:blog-38099976667479261.post-84450293211138159852011-02-24T19:04:00.000-08:002011-03-13T23:51:59.570-07:00TOBL: It's Working.<div style="text-align: left;"><a href="http://www.youtube.com/watch?v=AXwGVXD7qEQ" target="blank">It's working, it's working</a>. It = TOBL and here are some stats:</div><div style="text-align: left;"><ul><li>6 wheels</li><li>18 gears (think about it...)</li><li>84 oz/in Torque</li><li>iPhone-controlled via TouchOSC app interface</li><li>OSC/Serial communication </li><li>8 zip-ties</li><li>Top speed of <b>0.413 mph</b> (my personal favorite)</li></ul></div><div style="text-align: left;">After much adieu, TOBL has been captured on film with my new camera -a <a href="http://panasonic.net/avc/lumix/compact/zs7_tz10/index.html" target="blank">Pansonic Lumix DMC-ZS7</a>. It's about to make this blog a whole mess snazzier, 9.1 megapixels more snazzy to be exact. Henceforth, all videos shall be shot in 720p HD, like this one (fast-forward to 2:34 for wall flips): </div><div style="text-align: left;"><br /></div><div><center><iframe title="YouTube video player" width="400" height="244" src="http://www.youtube.com/embed/0Q4uB_Ob_7E" frameborder="0" allowfullscreen=""></iframe></center><div style="text-align: center;">Kind of dark but I still recommend watching in 720p.</div><div style="text-align: center;"><br /></div><div><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_BK6iwd9hSUYG7QA1aId4ZkM4QfG26GY0og7Z_rODiEb7JbR2ziFx4Y0m2sp0qXciInx7o2vvsJp52v3_JjEcCOfWblzLbak5m1DrPglITKbw-5JxquVcy7Oril52N3k8zCba4AakjQ/s400/TOBL+%25282%2529.JPG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5578877768734794898" /></div><div style="text-align: center;"><span class="Apple-style-span">Now held together by 8 zip-ties, thats 4X as strong as last time!</span></div><div style="text-align: center;"><span class="Apple-style-span"><br /></span></div><div>One of the finishing touches on TOBL was trimming the servos. However, <a href="http://lmh-tech.blogspot.com/search/label/XPWMShield" target="blank">PWMShield V1.0</a> is not yet wirelessly-updateable and in the monotony of disconnecting and reconnecting all the controls hardware, I vaporized yet another trace. This board should be renamed "GhettoShield" after all the loose wires I've had to solder to busted traces. The circuit works fine though, and using it saves $33. After fixing the trace the servos were trimmed.</div><div><br /></div><div><span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhPgTXftTofNpANTb5iInPqGtP-wCH2-F4eJ9OLj50YdYRAzndGEAZAyZ0uFUOdCBoWwbnRcJkeaqEyvv-5-_nKjhLUdbTbGD2hLvdYe0LcTxrcttKTUngOE5ISucXfUFaLMCZPZoj9Mg/s400/badtrace.JPG" border="0" alt="" id="BLOGGER_PHOTO_ID_5578880644871068802" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 400px; height: 300px; " /></span></div><div style="text-align: center;"><span class="Apple-style-span"><span class="Apple-style-span" style="-webkit-text-decorations-in-effect: underline; ">Can you spot the latest exo-trace?</span><span class="Apple-style-span" style="color: rgb(0, 0, 238); -webkit-text-decorations-in-effect: underline; "></span></span></div><div><span class="Apple-style-span"><br /></span></div></div><div><span class="Apple-style-span">I don't talk about software very often, and that's because I don't know much about it. I do like to share the code I use though, isn't that the point of the whole open-source movement? After all, most of the communication software for TOBL was "taken" from this <a href="http://www.projectallusion.com/1/post/2009/11/iphone-controlled-solar-powered-arduino-tank.html" target="blank">iPhone-controlled tank</a> and this <a href="http://www.sparkfun.com/tutorials/152" target="blank">SFE tutorial</a> (Thanks to both!). I modified bits of this software and wrote the rest to interface this existing code with <i>my</i> TouchOSC layout and electronics. In order to return the favor here is the <a href="http://terpconnect.umd.edu/~lmhill/tobl_a.pde" target="blank">Arduino</a> and <a href="http://terpconnect.umd.edu/~lmhill/tobl_p.pde" target="blank">Processing</a> code. You'd think a wireless iPhone-controlled robot would have denser code than <a href="http://lmh-tech.blogspot.com/2010/08/ardwindo-v10.html" target="blank">ardWINDo</a>, but take a look, it's surprisingly compact.</span></div><div><span class="Apple-style-span"><br /></span></div><div><span class="Apple-style-span">This project was a lot of fun. It's rare that you can take an idea and bring it into fruition exactly the way you imagined it. My initial goals were to make it iPhone-controlled and able to drive after rolling over -TOBL does both of those things. It wasn't cheap, I would estimate ~$250 including redundancies, but TOBL is an awesomely fun desk toy and an even better platform for playing with software, different sensors, and whatever else. </span></div><div><span class="Apple-style-span"><br /></span></div><div><span class="Apple-style-span">I also learned that servos are great for being servos, but not so great at being drive motors (especially modified micro-servos). For future projects I will venture down the <a href="http://scolton.blogspot.com/p/motor-controllers.html" target="blank">new and exciting road of custom motor-controllers</a>. Time to start playing with <a href="http://www.sparkfun.com/products/315" target="blank">H-bridges</a>... </span></div>LMHhttp://www.blogger.com/profile/12800827576931982846noreply@blogger.com0