Andy's Hex

Niccceeeee - Hey Andy, did you etch all of those yourself? If so, what kit? I’ve never etched before and after reading about the OpenServo project I considered giving it a go. Any suggestions would greatly helpful. Thanks

No they are ExpressPCB. I’ve just gotten setup to do some home etching but haven’t yet tried it. I think my first couple attempts are going to be simpler boards, single sided, no vias. The current OpenServo layout is a tough one by account of the home etchers. Vias under the chip and a few features that are particularly rough for doing at home, but “ginge” (Barry) over at the OpenServo forums has many such successes.

So you used to ExpressPCB huh? So who actually etched and cut the boards then? vendor ? In either case - lots of work in making 18 - well done and thanks for the reply

Chris

ExpressPCB etched them. They have a service called something like “quickboard” which gives you 3 copies of a small panel for something like $60. I had a layout that sqeezed 6 OS boards per panel. Once they arrived (etched and in 3 panels) I cut them up and assembled the components.

Hey Andy,

Which analog servos are you going to use?

:smiling_imp:

Andy,

I have never used ExpressPCB and I was wondeing did you have to cut the outer board dimension? or did ExpressPCB rout each to the desired shape?

I’m going to use HS475s because I have a lot of them already. I’m kind of thinking I’d like to keep the old bot intact. The old bot uses 475s except for the second joints which are 645s. I upgraded them because I was breaking gears fairly often on that second joint. My current working theory is that I can put some current limiting code in the OpenServos to avoid the gear breakage, but if it happens too often, I’ll either scavange from the old bot of buy some more.

The cheap board package from ExpressPCB does not include any routing only the rectangular size selection (about the size of 6 of the boards pictured). Mike Thompson (OpenServo originator) had the foresight to place really large vias as the corners of the boards which serve the dual purpose of acting as guides for where to cut the boards as well as the cutouts for the screws the run through the cover and into the rest of the servo case.

If you have the ExpressPCB software installed, see this file and the layout will be a bit clearer.

I picked up a large throatless sheer from ebay to do my board cutting.

Andy, this has been immensely helpful in helping me understand your successes on this project, of which I hope to accomplish portions of someday myself. Thank you sir and good luck with rest of this endeavour

Chris

Unrelated but paying work ensued, kept me from the real work for a while. Planning stages of version two begin again.

I’ve given up on my previous obsession with power regulation. Opting instead for dealing with battery fatigue as just another of the myriad of complex and difficult problems that must be handled by a good AI. This was a big impediment to progress as my electrical engineering skills couldn’t come close to meeting my prior demands.

When I left off, I had painstakingly built 18+ OpenServo boards that have been sitting around waiting for lightning to strike and bring them to life.

At very least, I’ve got enough labor into version 2 that I must see it through :wink:

Just looked at the date and saw that it’s been a full year since my last update… what a slacker.

Doesn’t the Open Servo already allow you to read the current current value? If so, then couldn’t you use this to adjust the robot’s stance to limit current usage? Increased current draw is more load, less is less of a load, right?

8-Dale

Yep. But last I knew there wasn’t any action that would be taken within the servo based on that number. It seems that within the servo is a really good place for that kind of failsafe code.

I believe the cases when the breakage was happening were all either while debugging errors in the high level code or operating under joystick control when there was some interruption in the wireless signal. The latter was a problem because rotation of the gait pattern was a bit of a clumsy way of dealing with turning. It gets less appealing when there is a huge and almost instantaneous change in that rotation which was easily caused by the combination of joystick control and network hiccups.

So yes, I think there are ideal things to do in high level code, like change stance. These things should probably happen a one threshold, while the servo itself takes immediate action at a higher threshold.

Looking at the open servo schematic, the servo current value is generated by monitoring the voltage drop across a .1 ohm resistor. If desired, this same setup probably be used with any standard servo without even opening up the servo. The specification for the .1 ohm resistor shown in the schematic is .25 watt, which appears to me to be undersized for its placement in the circuit that supplys the servo motor.

Zoomcat, you’re right, it is a bit meager if the motor is pulling the full 3A that the FETs can supply and should probably be beefed up.

I think I’m safe though as I’ve never seen a hs475 suck up any more than 1.1A stalled (1.1A * .1Omh = .12watts). The actual part that’s called out in the digikey parts list is a 1/3W (which I think it what I ended up using).

Prior to OpenServo, I had done exactly as you suggest with standard servos: vizlog.com/robot