Archive for September, 2012

 

The Pre-Maker Faire Madness of Chibikart

Sep 29, 2012 in Chibikart, D.P.R. Chibikart, Project Build Reports

Along with most of the rest of MITERS, I’ll be party vanning down to the New York Maker Faire on…. well, now. It’s this weekend.

Like last year, I’m hauling an immense pile of MITERS cargo in addition to a few hapless freshmen and sophmores (who I think count as cargo anyway?). Last time, I brought Landbearshark. This time, I’ll be bringing something about equal in mass but a little more fun: Double Chibis! Tagging along also because they fill space efficiently will be RazEr REV2 and Kitmotter Display Stand.

There go any chance of flying down the hillsides at the NY Hall of Science though.

The Chibikarts, unlike most of everything I build, have been working rather reliably. Chibikart 1 suffered 2 broken motors when MITERS used it for Orientation activities – I’m not really sure went on, but the front two motors were just totally unresponsibe – but the controllers were fine. However, Chibikart 1 still worked with the 2 rear motors, so that’s been its demo state for most of this month.

Last week I decided to crack them open in anticipation of repairs for the NYMF.

Well damn. It looks like my somewhat hastily-soldered phase star-point connections exploded. The solder joints became little balls of solder – indicative of a serious current overload or something. Either way, the damage to both of the motors was similar, so I just re-terminated them. I coated the windings in a thick layer of polyurethane varnish that the high-voltage crew at MITERS like to seal their Tesla Coil secondaries with.

A few days ago, Chibikart1 was involved in a…. “filming accident”.

While I was in the middle of the Poorly Coordinated Death Spiral, the right front motor lost power and started smelling real funny. Upon opening the motor again, I discovered that the windings were actually not burnt – but just shorted. As I unwound the stator,huge chunks of the magnet wire insulation were flaking off and coming apart. I was literally pulling lengths of bare wire from the stator.

My suspicion is that the urethane varnish damaged the insulation of the wire either by being too tenacious (typical cheap magnet wire with sub-300 celsius insulation rating are coated with polyurethane-based enamels) which caused the insulation to prefer the urethane coat instead of the wire, or the solvent was too strong and dissolved or damaged the insulation chemically.

Bottom line is, don’t seal your motor with urethane if it has wires made of urethane. On a similar note, titanium screws in titanium threads will degenerate into the slightly less useful case of a solid blob of titanium.

What was worse, actually, was that the urethane sealed the whole stator into a solid mass of wires. I could not hope to ever unwind this without baking or chemically destroying the urethane in some way. The magnet wire strands just broke off as I tried to pull on them.

I had to rewind both of the front motors, which didn’t take that long since I was used to it:

To give the wires one more layer of protection, this time I insulated the crossing strands with some Kapton layers.

Completed rewind. I decided to group the star point connections into one termination this time instead of attempting to solder a ring of wire around the outside of the windings. The whole mess was coated in epoxy (like I should have done to start with…), and Chibikart 1 is now kicking again.

Chibikart2/DPRC has received no mechanical mods or upgrades, but I did jump the shunt on the 350W Jasontrollers a bit to give it some more punch. Because of the ~25A constant current limit of the Jasontrollers, DPRC is actually a little anemic despite having higher potential power. To really use those motors, I’d need some sensor boards (hmm, I wonder where I could get some) and use higher-current Kelly controllers.

Come see Chibikart and DPRC (and RazEr & co.) at the MITERS display area in the Hackerspaces area (Zone B) at NYMF!

Oh yes, a preview of things to come:

 

Some more random boards: The sm00thsensor Project

Sep 23, 2012 in Motor Controllers

In keeping with my promise of not building anything else huge and parking-requiring this semester, I’ve been investigating in more detail some other potentially useful electronics projects which have been the products of discussions with peers as well as my uncalibrated imagination. This is one idea that has been in on-and-off development for a while.

(Also, buy my stuff.)

One thing that we like to do around this neck o’ the silly vehicle woods is to append Hall Effect rotor sensors onto motors which don’t have them. The majority of industrial brushless motors have 3 Hall sensors embedded in the windings in order to pick up the position of the rotor magnets – this is so that the controller can switch the windings in the correct order, even at extremely low speeds. The sensors essentially become a 6-state absolute encoder. The positioning afforded by this is extremely coarse (for instance, the example 3-slot, 2 magnet pole motor in the link will only have 60 degree positioning clicks), so for high-precision applications like robot arms and CNC servos, this is usually backed up (or totally replaced) by a sinusoidal resolver or much finer optical absolute encoder.

Plain old sensors are well-suited for vehicle traction purposes, though, where the motion is generally in 1 direction and whose timescale of change is much greater than 1 motor electrical cycle – the motor usually has to apply a few seconds of effort to get the vehicle up to speed. Pretty much all e-bike hub motors combine Hall sensors and a very high tooth/magnet poles count to get super-smooth motion at low rotational speeds.

sensors on r/c motors

For indirect drives that use stock or modified R/C style outrunners, adding sensors needs some creativity. There’s usually two approaches: putting them inside the motor and mounting them externally.

I generally favor the inside approach, in part because I usually construct hub motors (with few exceptions, you can’t sense externally with a hub motor). However, fixing the sensors inside also has disadvantages.

  • You have to know how the windings are disposed. The sensors need to be in key locations between phases (putting them accidentally in between 2 teeth of the same phase means they are always mistimed by 30 electrical degrees) and this is only possible to find out if 1. you wound the motor, or 2. you have a sensitive enough magnetometer to check each phase to see which direction the teeth’s fields are pointing.So, it’s riskier than externally mounting them because you have to crack open the motor again in order to fix it if you got it wrong – plus, the motor will totally run like this if the right combination of phase and sensor wires are achieved, but it will sound terrible and draw much more current to produce the same torque, because some of the current is wasted on firing the windings at the wrong time.
  • There is no ability to fine tune the sensor location to account for timing errors caused by sensor hysteresis.

The sensor boards that I’ve been using and which are occasionally seen on this site are custom made with angular slots to allow easier “combo finding”, since I did not wind those outrunners and therefore their internal layout is a mystery. They were developed for “2.00EV“, which ran entirely off the principle of using R/C outrunners, and I judged sensored control to be the more reliable method.

The second issue is one which is concerning for vehicle traction that needs to be bidirectional (i.e. have a reverse). I’m not sure if it’s just not been noticed because most R/C motor modified vehicles don’t ever go backwards (e.g. bicycles) or what, but on vehicles like Landbearshark and tinykart the issue of hysteresis-induced timing error can be quite severe.

The majority of hall sensors employed on motors are “bipolar latches”, which means they have 2 states (outputing high/low, coresponding to ~5v and ~0v for the usual 5v system), and they flip between those states whenever the magnetic flux density sensed goes above or below internal thresholds:


from the Allegro A1250LUA datasheet

Above is the state diagram for the A1250, a common hall sensor. For this sensor, Bop is approximately 5 gauss – when the field strength exceeds this amount, the output will pop low. It will not return high again until the field reverses directions and exceeds -5 gauss. These are “typical” specs – the maximum band is +/- 25 gauss, which leads to a hysteresis band of 50 gauss.

With the sensors being on the outside of the motor and trying to sense the magnets through a steel can, every little bit of field counts. I’m lucky that R/C motors are made so cheaply that the rotor is not thick enough to fully contain the magnetic flux. The field from the motors looks vaguely like this:

…by the way, here’s an actual magnetic field simulation made using the FEMM software. You don’t see as much leakage in that one because the rotor is thick enough that pretty much the entirety of the field is contained. (I’ve also wondered how much more torque per amp you can get just by wrapping another layer of steel around the typical R/C motor, but that is an aside.)

The message that my sketch is meaning to convey is that at each point where you can measure the flux density (“strength of the field”), there is a tangential component and a radial component. The only thing that the Hall sensors detect is this radial component. This is where the hysteresis of the sensor can introduce timing errors.

Say that the radial field at the location of the arrow head is -25 Gauss, and is where the hall sensor switches states. For the sensor to switchback to its original state, it has to travel all the way across to where the radial field is +25G. In the above drawing, the mechanical distance (in degrees) between these 2 points is about 5-6 degrees. Not a big deal, right? But because most R/C motors are 14-pole “LRK” motors, the equivalent electrical degrees of that error is 5 * 7 (pole pairs) = 35 electrical degrees.

What that means is if I moved the sensors to trigger exactly on-time for one direction of rotation, it will be 35 degrees too late for the other direction. It’s pretty much ‘magnetic backlash’ to use a mechanical analogy. The ideal hysteresis-free sensor would switch exactly as it crosses the midplane between the two magnets with no delay. This can actually be a pretty big deal. A few degrees of timing error might just result in a lowered top speed and more current draw, but 35+ degrees might make your motor just straight up not reverse or have issues starting. 25 gauss is also really goodfor a Hall sensor latch – the ATS177 type I typically use actually have triggering thresholds of +/- 70G with some specifications having +/- 100G.

Shane did a very thorough investigation using a strobe tachometer of this phenomenon when it is applied to externally-sensed r/c outrunners in traction applications if you want to see how bad it can get on video.

how fix

One idea I thought of which would fix this would be to use hysteresis-less sensors.

Yeah.

Smart, huh? It’s what I went to MIT for, duh.

Well, the real explanation is slightly more complicated. Instead of using digital latches with their own hysteresis bands built-in, I would instead use analog (linear) hall sensors which output a varying voltage, typically 1 to 2 millivolts per gauss centered around half of the logic supply voltage (VCC/2).

However, just using them by themselves is not necessarily enough, because the logic that is reading the sensors usually has digital hysteresis by itself. For instance, the ATMega328 microcontroller’s input thresholds are 0.3*Vcc for low-going transitions and 0.6*Vcc for high-going. Not only is this not symmetric around 0.5*Vcc, but the band of 0.3 Vccs is 1.5 entire volts for a 5v system. If my linear hall sensors are 1mv/gauss, then that’s a hysteresis band of 1500 gauss. That ruins the point. I’m fairly certain that is actually way worse than using digital sensors. The asymmetry would mean that the Halls are not “on” or “off” equally, so the motor will prefer several states over others.

The solution I settled upon was to pass the linear hall sensor outputs through a fast, low-hysteresis comparator which checks the input voltage against a Vcc/2 resistor divider made of 0.1% ultra-tight tolerance resistors.

The comparator I chose for this task was the MAX9034 4-channel comparator, which was selected mostly by stochastic Digikey-ing (I have no particular attachment to this part number), and the hall sensors are Honeywell SS49E linear types. I had to go with a TSSOP chip, which will be bitchy to solder but was the only size that could really fit on the board.

The idea is that the comparator’s internal hysteresis is the only discontinuous element in the system, and that is almost vanishingly small. For the 9034, it is 4 millivolts, which translates to 4 gauss or less depending on the actual sensitivity of the Halls. The output of the comparator will be a fast-edged square wave feeding into the logic and skipping over its hysteresis band.

Here’s a picture of the board. I’m starting with 63mm motors since tinykart is an excellent plant for validation of the idea, and it uses the 63mm class outrunners formerly retailed by Hobbyking (now retailed by Leader Hobby).

It uses the same adjustable slots as the current generation of sensor boards so it should be a drop-in replacement in most cases.

I sent the board to MyroPCB about 2 weeks ago and had them panelize it:

And last week, they arrived!

Sweet, that means I can get to testing them, right?

I wish. Alot of this design and thinking was performed several months ago, and I ordered all the parts then, but not the boards. Problem is, I’ve since lost the Hall sensors! That was like 50 bucks in sensors…

I had to reorder them, but they did’t get here in time for the weekend. Ideally I’ll have the sensors in-hand tomrrow and can get to populating these boards. Then, testing to see if I am bullshitting myself.

other sensor boards

Besides these super special ones, I’ve also updated the designs of the 2.00EV boards. Not only am I going to make another run of these boards for next semester’s 2.00gokart where everybody will need them, but I fully intend on selling these on this site too. These are just plain digital latch boards, suitable for one directional movement. I’m also working on some mounting rings that fit the 59-80mm common outrunners for the complete value-added package.

f

 

Beyond Unboxing: Cordless Saw Extravaganza!

Sep 19, 2012 in Beyond Unboxing, Reference Posts

First of all, buy my excess stuff! I’m still periodically adding goodies to the page. There are now MELONS.

As hinted in the Carly Rae Jepsen Wallbanger build report, I tore into a few different types of cordless saws to gauge at how adaptable to robot drivetrains they would be. Cordless drills have been a staple of small robot drives (in the 12-30lb range) for many years, but recently they’ve been getting a little… flimsy. The Sketchy Chinese Drill Co. Ltd. loves to cut corners. Not to say that these are intended as replacements for the drills, but expanding your robot part horizon is always a good thing.

During the week of robot mayhem leading up to Dragon*Con 2012, I binge-purchased 3 different types of cordless saws from the Harbor Freight store near my historical home base of Atlanta. I then proceeded to rip them apart and photograph their remains like the world’s most enterprising and aggressive medical examiner. The 3 tool-like devices I investigated were the 68242 18v cordless jigsaw, the 68240 18v cordless reciprocating saw, and the 67026 18v cordless saw.

Let’s start in the sequence of usefulness. First, we have the jigsaw:

From the same updated “Drill Master” line as the 18v drills I’ve come to love so much, and with a battery which even fits those drills, are these cute little cordless jigsaws. I didn’t check to see if they could, say, actually cut things, but that is not important here.

A few Phillips head screws later, and the case splits in half. Hmm, it’s not too exciting.

There are very few parts that go into making a jigsaw apparently. The crankshaft-like pin on the main gear engages with a stamped slot in the blade holder, which rides in sintered iron bronze guides.

That’s it.

The main gear rides on a roughly 6mm pin…. made of the same plastic the motor mount is made of. Hey, who thought this was a good idea? I was hoping it was at least black-oxide plated steel or something, but nope. Totally plastic.

Maybe this will be useful if you needed a gearset THAT BADLY, but there is also no easy way to couple that gear to anything. The motor is also not very worth pulling, since it’s the same type of generic 550 motor in the drills.

Verdict: Not very useful. Let’s move on!

Next is the reciprocating saw (“sawzall”) from the Chicago Electric line. These use batteries which are of course incompatible with everything else, so I couldn’t try to cut anything with it. Not that I was in the mood to anyway.

Cracking this one apart shows quite a surprising amount of metal. Well, shady cast aluminum, which may qualify as metal under certain tax brackets. I’m interested in what that right angle drive looks like.

The gearbox itself is modular, which is a big plus for this thing. The reciprocation mechanism is housed under the black stamped cover.

It’s a “scotch yoke” mechanism made of a stamping of steel….. welded?! to a precision ground rod. Given my adventures with welding things, neither of these components are likely heat treated. There is at least a real needle roller bearing that is doing the yoking!

A bottom stamping isolates the yoke from the crankshaft gear. I took apart the slider for kicks – the main guide bushing is pretty robust. It’s a solid iron-bronze bushing, which seems to be a Chinese tool favorite ingredient.

Here’s the crankshaft gear – it’s a machined spiral bevel gear sintering (as far as I can tell – the machining patterns don’t match up with any 3D process I know of). As spiral bevelly as it might be, it is not very useful because there’s no way to attach something to it that isn’t a crank pin. The assemble rides on a live shaft supported by ball bearings on one side.

The ball bearing and part of the spiral bevel gear is seen here. Unfortunately, I could not get that shaft out of the bearing at all, and ended up cracking the casting.

My curiosity satisfied for now, I elected to take off the motor.

…certainly not what I expected. So let’s see the thought process here.

“Hey 李小龙, what motor do you think we should put on this saw?”

“Not sure, 刘少奇… They want this to cost $0.45 less, but I’m kind of out of options from the motor factory. We’d need a custom shaft to couple to the gearbox and they will charge more for that”

“What if you just took the motor from the 18v cordless nose hair picker? It’s the same size as the motor we need for this.”

“They supply that with a gear already on it though.”

“So? Make a fucking adapter that goes to the gearbox we need that has a  cutout of the gear in it.”

I’m really betting it went down kind of like that. That’s what I’d do, anyway.

Anyways, the input pinion has a negative gear that fits onto the motor’s gear. I guess it’s a variant of a spline transmission, but it’s so Chinese.

The combination of nonremovable specialized output gear and nonremovable input…. thing has led me to give this thing a verdict of not very useful either save for maybe making a pokey-spike weapon for your robot or something.

Now, if the existence of CRJW is any indication, here’s the useful thing!

A cordless circular saw should consist at most of a motor, a gear, and a switch; two of those are interesting to me. This model, by the way, is from their third (out of like 5) line of battery-incompatible cordless tools!

Full disclosure: A little while back, I bought a Grizzly 18 volt cordless saw second (or third) hand for like $5, which led me to take it apart and discover what’s inside. So really I knew the conclusion coming into this teardown, but for the sake of informing everyone else, I’m doing the other two saws anyway. Additionally, the Grizzly saw seems to be a 2004 era vintage, so I wanted to check on the quality decline between then and now (the drills have gone downhill a whole bunch…).

Off the trimmings come! The metal nosecone of the gearbox poking out from the plastic is a good sign.

The cordless circular saw also uses a 700-class DC motor like the reciprocating saw.

And here is the assembly that was shown in CRJW’s build report!

The metal casting looks fairly stout, but it’s just an awkward shape. However, this gearbox is useful as-is. The shaft is supported in a ball bearing that is in the metal cone, so if you bolted it to a bulkhead or side plate in a robot it could be an immediately swappable part.

Inside the gearbox is this sintered assembly that consists of the spindle lock (for changing blades) and a solid ring gear/output shaft bushing assembly. I can tell that they are two different sinterings, but I wouldn’t be surprised if they were somehow the same material!

Here’s the gearbox split apart into components. As discussed in CRJW’s build report, the ratio is 5.2:1, single stage, using gears of (roughly) module 0.8 (about 32 pitch, but larger) that are 6mm in face width. All metal. Questionable metal, but better than that 1-stage-of-nylon, 1-stage-of-questionable-metal bullshit in the drills!

The output speed at 18 volts is about 3800 RPM.

So do I like these? Absolutely. They can be useful under certain circumstances – I think that they are far too fast for drive (CRJW may or may not disprove that), but in a situation where you have 2 motors and 4 wheels and can link them with chain or belt, a small amount of external reduction is reasonable. They are certainly more useful than the previous 2 saws, and I believe the gearbox is quite durable.

I’m satisfied with CRJW’s use of 2 plates to mount the plastic ring gear holder by itself, without the weird casting. The total weight of the gearbox assembly is about 18 ounces without the casting. I don’t anticipate using these on a robot quite yet, but I now have about 6 different saw motors and so have an option of it if I needed. Besides this HF version, I took apart the Grizzly and a “Speedway” brand saw (formerly retailed at homier.com which seems to have gone under) and they all have this same style of gearbox.

As a comparison, I also bought this Ryobi 18v saw secondhand. Ryobi is marginally more legitimate than a Chinese generic tool manufacturer, so I was expecting some custom hardware in this.

Ryobi is well known for making nicer 18 volt drills but whose chucks are patently impossible to remove – often needing to be cut off!

Long story short – no.

The gearing is spur instead of planetary, which, while it isn’t THAT terrible on its own, is integrated into the molded plastic case! The ball bearing in this case is just pressed into the plastic. As long as I’m not actually using the tool for the purpose it was intended, I’m gonna stick with the shady generic-brand import with their modular gearboxen. I’m wondering if the generics will move towards this design in the future too..

So here ends the lesson on cordless saws! I hope it spawns at least one retardedly fast robot besides the Carly Rae Jepsen Wallbanger!

The Triumphant Return of the Ragebridge: RageBridgeTwo

Sep 14, 2012 in Motor Controllers, Project Build Reports

First, in accordance with the Charles Z. Guan Strategic Stuff Reduction Act of 2012, I’ve opened up a listing page of things I’m clearing out. Let me know if you want a thing. As I continue mining through my multiple mid-dens, more things may be added.

Now, onto the real content.

With the version 1 of the Ragebridge controllers having proven themselves at Robot Battles 2012 (after being the stuff of nightmares prior to that), and now that I understand what I’ve been doing wrong the whole time, it’s time for me to make an update which addresses the little shortcomings and fine details that were lacking in version 1. Recall the major hardware issues:

  1. Gate driver bypass caps were placed incorrectly, thus causing the gate drive power traces to have higher impedance to pulsed currents, with the resultant voltage spikes some times causing instability.
  2. Gate drive current return path was long and loopy: through the main power ground, and back in through the narrow logic regulator trace.
  3. Non-rotationally symmetric current sensor placement meant there was a major current bottleneck for one side
  4. Long power traces in general made for more bottlenecks
  5. The logic regulator inductor was (and apparently has been in many of my past designs) too small which caused the regulator to become unstable.

Luckily they were all solvable with component-level hacks (no more wire cutting and trace jumping!) so I can easily roll them up into an upgrade. Next, there were a few little gripes I wanted to resolve which didn’t impact the function of the board so much as was just annoying.

  1. None of the 3-pin digital input headers had the correct orientation for standard servo cables. I had intended to make 2 of them “potentiometer” style inputs, reading [5v] [Signal] [Ground] from one side to the other, and 2 of them R/C style inputs reading [Signal][5V][Ground], but messed up (and didn’t check), making the latter two [Signal][Ground][5V] instead. Basically this meant I had to hard-solder pigtails to the board so as to not plug in a normal servo cable and explode everything.
  2. The board is 2.2″ wide, which precluded it from fitting vertically (space-saving) in a 2″ frame, fairly standard for the 12 and 30lb classes. Only Clocker could fit it vertically in a custom little “rack”.
  3. It still uses that ATMEGA328 breakout board called the Arduino Nano. Not only is that kind of unnecesary, but the thru-hole package of the Nano actually makes routing pretty difficult since I have to fit signal traces between the thru-holes.
  4. I could only read 60A peak with the “single bypassed” ACS714 current sensors. With a little help from a fan (and maybe 4oz copper) I don’t doubt this board can flow more than that.

With these issues in mind, the goals for RB2 were clear:

  • Squish the design down to 2″ wide maximum
  • Rebuild the schematic from scratch to eliminate possible cross-generation schematic copying problems, which is what led to my incorrectly placed buscaps and ignorance of the logic regulator problem for so long.
  • Widen all the power traces and make sure all the gate drive traces have their own low-impedance path back to the driver chip and the power supply
  • Make the current sensors “double bypassable” to read peak currents up to 90A and make the layout as much of a 180 degree rotation as possible to preserve the bottleneck-free layout.
  • Board-mount the ATmega328! It’s still going to be Arduino, but I’ll forego the extra $12-20 breakout board.

It’s also important to note that RB has been printed on 1oz copper using the cheap prototyping service from MyroPCB. Even moving to 2oz copper would help alot with the current bottlenecks. Ideally I’d try to get it fabbed from 4oz copper.

Here’s the first shot of the layout progress. The master layout remains essentially the same. The board is now 4.5″ long and 2″ wide:

Beginning the layout is usually the hardest for me because that’s when the problem is totally unconstrained. I usually jiggle the major power components around in a rough grid snap (to ensure reproduceability) first. After that, I usually work from the “outside in” – gate drive components get arranged next, then the logic fills in the loose volume. I’ve gotten all the way to the “so, where to put the logic components?” stage here, so they remain in a formless blob in the center. It does show that I have space to play with however.

For the ATMEGA chip, I knocked a footprint and schematic symbol from the Sparkfun Electronics library. The one difference is that I added to the ATMEGA’s pin names in the schematic their equivalent analog and digital pins when the chip is brainwashed into Arduino mode. This just makes mapping from old to new schematic easier. I’ll update my EAGLE Library under the Useful Stuff / references page with this device.

There’s one more little detail about this board, but I’ll keep going for now. Let’s see if you can figure it out.

I’ve now added some of the major power planes and a logic ground plane. One of the things I’ve never done in the past is a logic ground plane, for some reason. It makes trying to tie all the ground nets together so easy! And a wide plane is lower impedance than narrow 10 mil wide traces hopping through 9 vias. I just had to be careful with the bottom-layer traces not cutting the plane in half or totally isolating a ground pad, which would defeat the purpose.

The big SMT 6 pin header has disappeared – it just took up too much floorspace.

A few hours later, the first round of iteration is complete. Really I should send the board out to manufacture right now…

…but I decided to wait a while this time. I didn’t do anything with the board for about 2 days, upon which I returned and started optimizing. The differences are very minor, mostly in component fine placement. There’s now plenty of room to attach standoffs to the board at its mounting holes. Furthermore, the mounting holes have been made into a slightly smaller square that is the same size as a 52mm DC fan’s mounting pattern. This means I should be able to get some active…. microcontroller? cooling going on with this board.

Even though I say microcontroller (the ATMega would be receiving the best airflow in the house), almost any airflow at all would make the FETs’ thermal resistance to ambient air lower and hence increase the current rating of the board. Maybe there’s enough space to fiddle with putting a temp sensor on it…

Alright, one more layer of optimization. I’ve organized the top row of parts, which are 15v logic supply regulator related, into a better arrangement. Previously, they were extremely close together (soldering would have been difficult and hell if an IR lamp can reflow the pads in the dark alleyways of my L/C skyscrapers). I’ve space them apart alot more, but that involved moving the regulator chip itself down. This in turn meant I needed to shift some passives around. Whatever, the component density has only increased as a result.

(Now, none of this would be a problem if I would only use 0603 or 0402 SMT parts, but I’m too heavily invested in 1206 and fuck people with good eyesight.)

That is pretty much the final version of the board as it stands. With each of these revisions, I was sending it off to Advanced Circuit’s FreeDFM service in order to double check that it can actually be printed. I also ran a full Design Rule Check every time I changed a bunch of things between iterations. This was mostly me clicking “Approve” to all my vias-in-pads and insufficient solder mask clearances, but it did catch a few too-close-spacings.

Speaking of vias-in-pads, apparently they’re generally discouraged in automated PCB assembly, so in the interest of possibly getting this board professionally stuffed, I went through all the difficult tunneling in the gate drive and tried to un-pad my vias, at least connecting them to the pad with a short neck trace if possible.

This is a picture showing the VSS (everything-power-return) highlighted. Each gate drive now has its own private access to VSS at the location of the FET. This makes sure that 8 switching current pulses aren’t trying to octo-penetrate the thin logic regulator supply trace at the right in order to get back to the regulator. While it “worked” in RB version 1, it’s definitely not optimal. This general idea of not having signals mix with power is called Kelvin connecting, after the dude who first used it to sense very small voltages.

Highlighted now is the 15 volt distribution bus, which I’ve made strictly tree shaped this time. I try to adhere to the rule that any time power is being dealt with, closed loops are a bad idea.

The 5 volt bus follows a similar tree structure.

The large ground plane, which is the logic return path, is actually not a closed loop either. On the lower left corner, it was purposefully broken by judicious gate drive trace routing. It’s topologically a big mirrored C shape with the ends of the C right at the regulator output.

I’m pulling out all the stops I know to make sure that this board works on the first try. Ideally I’d get this sent to manufacturing through Myro tomorrow and have it ship right before Maker Faire 2012 in New York. This will probably be my on and off diddling project for most of the semester as a result. If it works out, I am now much less opposed to letting a few out “in the wild” for testing and subsequently investigating how much it would cost for Myro to just assemble all the parts, minus cables and through-hole pin headers and capacitors, for me.

To make it easier for them, I’ve placedallthe parts on the top side. That was the surprise – go back and look at the first few pictures now. Notice how all the parts are red (top layer)?

Now, all top side parts doesn’t instantly mean manufacturable. Once I build a few I might find where problem areas are. Say, anyone know if you can tell pick-and-place machines to put on the short and flat parts first?

 

The Dragon*Con & Robot Battles 2012 Recap

Sep 07, 2012 in Bots, CRJ Wallbanger, Events, Null Hypothesis, Überclocker Remix

It’s over.

Again. And this time, it wasn’t total ass. This is probably made obvious by the fact that I’m making the recap report so soon after the event, as opposed to past years where I forgot about everything for, say, a month or two. Here’s how it all ended.

Überclocker (Unicorn):

With a drivetrain that finally approximates reliable, Überclocker actually managed to win matches! Later in the tournament, however, and pretty much expected, the repaired fork gearbox began failing and finally left Clocker without the lift portion of the fork. I briefly was able to use the clamp as a lifter (due to the much larger motor now there), but Clocker ended up losing out of the tournament due to …. unscrupulous… driving.

Null Hypothesis:

Well, it sure worked well as a fast pushybot, so I can’t say it failed, but I just didn’t practice driving in confined spaces enough and most of NH’s losses were due to ‘stagediving”. However, it faced two other powerful drivetrain bots, and I think NH caught several seconds of combined airtime over the course of the tournament, finally losing just due to being outmaneuvered.

The Carly Rae Jepsen Wallbanger:

Oh, poor CRJ. It really only had 1 match in the 12lbers, due to the 12s being run single-elimination out of time constraints. But the one match was fairly good – it caught some air glancing  off Apollyon before getting pushed out, then whacked a few people in the 12lb rumble before getting scooped up.

The Ragebridges:

I’m glad to report that for the first time ever, all of my competition robots ran a full-custom motor controller design. The Ragebridges, with their Semi-Intelligent Current Limiting (a.k.a constant-current mode) worked flawlessly, and the CC mode came in so very handy when Clocker’s lifter gearbox shattered and stalled out both motors. I didn’t realize it at first, so I spent a few seconds pulsing the fork control stick up and down, which certainly could have smoked the motors if there was no limiting. None of the boards had the 15v instability and resetting issue after I changed the regulator inductors, and while they did get hot, there were no burnouts or smokage, probably aided by the CC mode.

But robots wasn’t all that happened. Quite a few things went down during the week, too.

The first mission was to get down there. Same as last year, I rented a car with a sufficiently large trunk/hatch, because air freighting or ground shipping were totally uneconomical (and I would have had to build a crate weeks in advance). Joining me this year with his large blue and green EV magic boxes was Adam Bercu, fellow robot builder of many years and also purveyor of fine murdered-out C80 “melon” motors. I brought along several demoables for the Electric Vehicle intro panel that we were hosting, including Chibikart2, the Kitmotters (demo stand and working motor from Johnscooter), and some random R/C parts and batteries. Adam took up the bigger end of the scale with prismatic Li cells, the giant Manzanita “micro” charger, and a large series DC motor controller along with other doodads.

The con itself was quite a time as it always has been. This year, though, I began noticing far more mechanical and home-built costumes and…. other things.

News flash: Eteks are now steampunk.

Update: Steampunk now officially meaningless.

As much fun as I make of steampunk, stuff like this still tickles me correctly because it shows that more people are getting down to building, no matter how silly and brassy it looks. The fabrication on this mono-tri-wheel-thing was pretty well done.

The same group also had a pretty sweet mono-moped with a ring wheel. Does this constitute a hub motor?!

IS IT STEAMPUNK!? I can’t tell any more.

Other mechanical costume parts abounded, like these deploying… something wings. Not too sure if they’re angel or paraglider or what, but watching it in action was awesome.

They were driven by a single motor meshing with a nicely finished geartrain. The drive parts were all waterjet-cut. This was present in the Waterjetting & Digital Fabrication panel, for good reason.

There was also plenty of more decorative elements involving LEDs and lighting on costumes. I’m not sure what the above character is (furry-rave-angel-quarterback-gunner?), but she had a very well made arm cannon doodad and plenty of LED accents everywhere. While throwing LEDs on things might not seem impressive to the average jaded engineer, for many people doing so is an introduction to hooking up a battery to a thing they made and having it work. That’s how it all begins.

I’m definitely supportive of more people making electronic and mechanical costumes and costume parts, and it kind of makes me want to do it more. I think I suffer a bit from costume one-upsmanship envy because I don’t want to start until I make a fully functional mech or something of that scale.

With the expansion of the Robotics Track to include the maker/hacker movement in general, I’m hoping to see many people make engineered costume bits in the future.

Besides the functional stuff, there was the usual plethora of paper mache and foam oversized objects. I’m fond of oversized tools, so here’s a giant wrench. Hey, one of those 3 is Alice Cooper, right?

Sadly, there was no space in the car for Excaliper, my giant 5.5-foot (real steel) vernier caliper that I brought one year and waved around.

Before the con itself, however, there were more robots. We didn’t go down a whole week beforehand just to sit around and drink sweet tea.

Above is Adam’s emergency 30lber build in progress. Nicknamed “Blitz”, it was built essentially over 5 evenings. On Monday immediately after arrival, we stopped by the area Harbor Freight and raided them of almost all of their 18v cordless drills. This was the same time I bought the cordless saws for Carly Rae Jepsen. The next day, we dropped by and bought some more.

A few days later, before the big show. Also present during the week was the other quickly-built-for-fun 12lber, Turboencabulator. Blitz’s design was based off the heavyweight champion Sewer Snake, which has a non-actuated extension of its main lifter weapon that swings forward when the lifted is driven under the robot, making for a flipper-like effect.

Also happening during the week was the installation of the new arena hazard in the Bot Arena, courtesy of yours truly and the arena build crew.

Yes, that is the secret thing I worked on through most of July and August. It doesn’t look very exciting from up top, certainly. In lieu of me explaining what is going on, it might be worth watching some of the antweights videos from this year (videos courtesy of Mike from Near Chaos Robotics)

I still need to put up an epicly long build report for this sucker one day.

This contraption is the control panel for the hazard. It has buttons and does things.

Let’s get down to robots. This is the new Atlanta arena.

Seriously. Isn’t it fucking gorgeous? Not only that, but it’s so outrageously modular. It takes a group of 4 guys maybe 15 minutes to set up if we have practice and tools nearby. Rigging the wiring for lights takes longer, but if you needed instant no-frills robot fight, that’s it. It’s also grown to nearly double the space, from 6 x 6 feet to 8 x 8 feet.

The hole. It’s supposed to have a 12″ sanding disc, but I forgot to bring it and nobody seems to sell those in the Atlanta area in a reasonable timeframe. So we had to make do with these little sanding pads. They fell off as quickly as expected.

If you haven’t figured out from the video, the turntable also goes up and down, creating a whirling pit of annoyance.

I didn’t get many good arena shots since i was primarily recording video. Plus, my free 4-year-old fake-DSLR doesn’t stand up to the professional and camera-penis-contestant photographers there anyway. Above is Dominant Mode briefly before it rocketed the pushybot most of the way across the arena.

The tournament this year was really boned for time – we were supposed to have 3.5 hours, but only ended up getting 2.5, and another event was scheduled to set up during out takedown/loadout time. As a result, many matches had to be cut short and the tournament had to be switched to single elimination mid-stream. Next year, though, this should not happen again.

The day after was the big day!

Again with the last minute random even details, the hotel sadfaced at the robots destroying the brand-new stage risers they had purchased just this year. As a result, a few dedicated builders put together a MDF and carpet overlay for the MDF and carpet stage riser surface. Steel plate annoyance bumps were also bolted to this upper layer, but not very securely – the 30lbers started plowing them off one by one.

There were too many 12lbers to run double elimination, but the 30s ended up being double.

Carly Rae Jepsen Wallbanger lost once to Apollyon for a net 0-1 record.

Überclocker won against Nyx and subsequently won against Scary-go-Round before losing to Pinball and then Nyx, for a 2-2 record.

Null Hypothesis faced Pinball immediately and lost (but not before catching some serious air by ramping off the front wedge of Pinball), then lost to Nyx, for a 0-2 record.

The carpet ended up being a little fragile on its own with no strong, bonded substrate (unlike the stage riser carpet). By the end, there were so many holes and tears in it that the duct taped used to fix the stuff became a hazard in its own right. The lint was also very tenacious and got into drivetrains. Quite an interesting element to add to the game, though the builders are now thinking of a better solution for future years in case the hotel requests stage condoms once again.

Yes, that is a sword on Clocker. After all, I did name it Überclocker Ünicorn, right?

After my match with Scary-go-Round, the lifting fork was pretty much totally useless. Both of the gearboxes had shattered completely from the impacts and the motors were totally locked up. I got as much postponement time as I could in order to pull the gearbox and take out the broken gears, a process which took about 20 minutes exactly as I found out. I restored one gearbox to functional status (leaving the other one freewheeling) , there was not enough time to put it together for the Pinball match.

The top clamp has enough force to lift 30lbers, so I just needed an extension to get it to the ground. Hence, emergency death-shank provided by Jamison. It worked exactly once, but not really.

Next version of Clocker is designed with serviceability in mind…

The carpet also destroyed the McMasterbots wheels. Clocker managed to grind the two back wheels right down to the plastic core, which compromised its traction a fair lot near the end. These wheels are clearly one event use – they’re too soft to just leave on, so I guess I need to make them easily replaceable and have plenty of spares hanging out.

videos

I’m glad to say that many people besides just me had cameras at the events, so Clocker and crew have alot of footage from their matches. It’s almost to the point where I don’t have to do anything!

I’m waiting on some video from other people before editing together my own bots’ summary videos, but in the mean time, NCR has a list of almost every match, and Dale’s Homemade Robots has several compilation videos.

outlook for the fall

That’s it. My annual robot party has ended, and it’s now back to the grind of taking classes. This fall I’m going to play a bit of a catchup game in that regard, so I’ve promised myself no large engineery things. Let’s see how long that lasts.

Clocker will be dismantled now, to force me to rebuild it. The earliest I might be able to call it is Motorama 2013, in February. NH will be kept totally as-is, but it won’t go to Moto 2013 (the only category it would be legal in would just make it be more disassembled, not necessarily reversibly so). CRJW might become the inspiration for a new true “melty brain” translate-while-spinning bot next year.

This semester, I’m going to focus on little things which don’t need time spent fabricating. It would be nice to get the Ragebridge boards compactified more and get rid of the discrete Arduino (or “the ATMega328 breakout board” as some have called it). Not to say it won’t use the current Arduino code, but the chip will just be integrated on board. I’d like to reduce the square footage by 25% or more this way. I’ll also try to characterize the Semi-Intelligent Current Limiting some more to see how fast and effective I can make it. Given the discovery of mismatched component values and incorrectly placed parts, tinyTroller might make a reappearance since it has the same power side architecture.

Next, it’s my intention to reduce my gargantuan pile of robot debris some more. I’m currently split between 4 different shelves and storage locations, and even those are becoming hard to handle… I may put quite a few things up for sale here, and if I do, they will be on a separate page.

As for the distant future, next Dragon*Con I intend to make more appearances at the Maker/Robots track. I do want to run Resources and EVs again, but also I want to add How to Shop on McMaster-Carr… one of the seminal skills that hobbyists and amateur engineers have to learn that really makes projects nice.