Alright, so I’m in Atlanta.
Sunday and Monday evening were mostly spent tuning the signal module. I found out that the Victors do indeed have optocouplers larger than the asses of most Hollywood women, and not even the Atmel chips could drive them. In the end, I still have to splice some small signal transistors (ran open-emitter style for non-inverting buffering goodness) into the PWM cables so the Victors would notice my desperate attempts to communicate.
The signal module is an Arduino embedded Atmel controller, and the code was all written by me. It’s my most complicated recent microcontroller adventure. I excavated a little of what I learned about discrete-time control systems from 6.01 to implement the control loop. Essentially, the AVR waits for an incoming R/C signal and reads each pulse width to determine my throttle stick position (and thus the fork position). It then has 18 milliseconds to determine what to do with it. 18 millseconds at 16MHZ is alot of time.
The AVR chips have a 10-bit analog-to-digital converter, so it reads the arm potentiometer and returns a value between 0 and 1023. Conveniently, R/C PWM signals have pulses between 1000uS and 2000uS, which is close enough to 1024 and 2048, 2^n values. So it was rather easy to make a proportional-only controller by scaling the armpot values. I added an integral term to the output equation also to get rid of the steady-state positioning error that resulted from the Victor controller’s deadband around 1500uS. This got the arm responsive enough for me to call it a night and tune it later.
Then stuff broke.
Of COURSE I had to go back and make a few solder joints more permanent, and otherwise touch up the PCB I mounted everything to. I didn’t notice that I had made a very tiny solder bridge between +22 volts (the robot’s main battery) and the output side of the 5v regulator chip.
When I plugged it back in, the AVR controller quite literally exploded in my face. It’s in several pieces.
So then I really did have to call it a night…and started packing the bot up. I ordered a new Arduino board (since the roasted one is very securely soldered to the PCB and not worth the effort to extract) and should have it next week. For anyone interested in learning from my adventures in making a giant servo, I’ll post my code when it’s cleaned up and tuned.
I stuffed two suitcases full of robot equipment with clothing and personal supplies interspersed between the goods. Here’s Uberclocker locked into its handy bot carriage, with spare parts and hardware. As there was plenty of space in the suitcase, I zip tied NK and Pop Quiz in, to keep the bots in one place. The other suitcase contained the charger, transmitters, and tools.
Somehow this all got past Homeland Hilarity, but the botcase suffered a bent caster wheel. In order to make the thing self-supporting, I borrowed a hammer from one of the baggage offices to beat it back into shape. Wait, I just got handed a massive claw hammer by an airport desk clerk? Huh?
Anyways, in Atlanta, I got to work on the new clamp arm actuator. Here’s a rendering of the new design.
The gist of it: Solid aluminum structure, indirect gear drive. The leadscrew is fixed to the fr0k and does not rotate – instead, this whole assembly climbs up and down it. This takes all the loads off the motor shaft and instead transfers it to some big chunks of metal. The only way to destroy the clamp arm now is to rip the leadscrew clean out, or applying so much force that the nut strips out.
I’m not saying this can’t happen, but it’s unlikely to happen at D*C.
Here it is implemented. Yes, I’ve been COMPLETELY spoiled by easy access to machine tools – while this would have taken me a few minutes walking to get done at MITERS, I had to drive no less than 50 miles round-trip to make this sucker, and of course make Dale put up with my really bad habits that I’ve accumulated from working without supervision.
Suburban Atlanta needs a few you-build-it freelance engineering places, so I think I’ll make it a mission later in life to start them. Although I suspect the culture to support it is missing…
This actuator is a throwback to something I made in late 2005 for Science Olympiad. My robot entry for that year had a linear actuator attached to a movable jaw that could clamp down on objects. I custom-made the actuator using some gears hacked out of an R/C car, a block of UHMW, and patience on the drill press. The output gear is threaded on the inside to ride up and down a piece of threaded rod.
Pop Quiz 2
In the same machining session, I made a new blade collar for Pop Quiz. This retains the blade on its drive motor, so it’s a pretty critical part. Stock steel shaft collars didn’t come in the width I needed, and would have been a tad too heavy. So I made a quick aluminum clamp-style shaft collar, 1/4″ wide, 1.25″ OD.
I’m still facing severe failsafing issues with Pop Quiz. It’s been a reported problem with the tiny GWS receivers, and there seem to be no workarounds besides the usual anti-RF stuff, but the thing is still pretty jittery. It goes nuts if I turn the radio off when anything is moving.
Pretty bad for something that can remove outlying body parts with ease. I might switch back to the other micro-style receiver and mod it for height.
Here’s Pop Quiz in its final state.
In other bot news, Nuclear Kitten’s replacement battery pack arrived and will be swapped in shortly.
Dragon Con is A WEEK AWAY!