Project: Melissa Hands - Perhaps a little easier..

Discussions regarding building a walking robot at home. Most of the robots participating at Robo-One competitions are custom fabricated.
135 postsPage 7 of 91 ... 4, 5, 6, 7, 8, 9
135 postsPage 7 of 91 ... 4, 5, 6, 7, 8, 9

Re: Project: Melissa Hands - Perhaps a little easier..

Post by xevel » Tue Apr 29, 2014 12:35 pm

Post by xevel
Tue Apr 29, 2014 12:35 pm

This seems to be getting close to a reasonably finished state :)

When you say that you arranged the components for the hands in order to have them use a single solder paste stencil, what does it look like? Just curious, but you could show the finished PCBs when you get them, no rush ^^
This seems to be getting close to a reasonably finished state :)

When you say that you arranged the components for the hands in order to have them use a single solder paste stencil, what does it look like? Just curious, but you could show the finished PCBs when you get them, no rush ^^
xevel offline
Savvy Roboteer
Savvy Roboteer
Posts: 74
Joined: Sun Mar 27, 2011 6:37 pm

Re: Project: Melissa Hands - Perhaps a little easier..

Post by PaulL » Thu May 01, 2014 11:40 am

Post by PaulL
Thu May 01, 2014 11:40 am

It's getting there, but my day job keeps getting in the way - like Mon -> Fri. :)

I can describe it, maybe post some screenshots of side-by-side of the two boards when I have some time - the boards will be 10 days or so after I order them - so nearly 2 weeks from now.

What I did was this:

* Started with one single design.
* Aligned the major components across the hand in a line parallel to the knuckles.
* Set oscillators on both sides of the initial design.
* Added a few (2, I think) capacitors to balance out the odd number / placement of 0805 components.
* Moved all 0805 components equidistant of the center line on each side.
* Placed a header on either side, equidistant from the major component center line.
* Placed one header centered with the major components (programming header).
* Placed all 5 x 3 pin servo headers in a row on one side.
* Placed all 5 LED's appropriately.
* Placed the original Maple Mini LED in two spots.

Then, I copied the .sch and .brd to two new folders, and:

* Pulled out the duplicate components (Maple Mini LED, Oscillator, caps, etc).
* Ripped up all traces for the removed components.
* Re-routed the headers left and right.
* Moved the other LED's by their distance to the centerline, opposite the center line.
* Moved the servo headers and rotated them to the other side with power polygons, then rotated each header to keep ground towards the bottom of the hand.
* Ripped up and re-routed traces to LED's and servo headers (after re-wiring in the sch).

I switched on only the dimension layer, then copied, and mirrored the copy, then deleted the original. I verified dimensions with some lines to make sure it was in the right spot.

I used a test layer to draw lines for positioning that I later removed once groups of objects were moved and placed.

It was tedious, I even set up Excel to do quick left-to-right calcs for the left-to-right positions.

Having two monitors helped a lot, but it was still tedious. I could have used a 3rd monitor for Excel. :)

Paul
It's getting there, but my day job keeps getting in the way - like Mon -> Fri. :)

I can describe it, maybe post some screenshots of side-by-side of the two boards when I have some time - the boards will be 10 days or so after I order them - so nearly 2 weeks from now.

What I did was this:

* Started with one single design.
* Aligned the major components across the hand in a line parallel to the knuckles.
* Set oscillators on both sides of the initial design.
* Added a few (2, I think) capacitors to balance out the odd number / placement of 0805 components.
* Moved all 0805 components equidistant of the center line on each side.
* Placed a header on either side, equidistant from the major component center line.
* Placed one header centered with the major components (programming header).
* Placed all 5 x 3 pin servo headers in a row on one side.
* Placed all 5 LED's appropriately.
* Placed the original Maple Mini LED in two spots.

Then, I copied the .sch and .brd to two new folders, and:

* Pulled out the duplicate components (Maple Mini LED, Oscillator, caps, etc).
* Ripped up all traces for the removed components.
* Re-routed the headers left and right.
* Moved the other LED's by their distance to the centerline, opposite the center line.
* Moved the servo headers and rotated them to the other side with power polygons, then rotated each header to keep ground towards the bottom of the hand.
* Ripped up and re-routed traces to LED's and servo headers (after re-wiring in the sch).

I switched on only the dimension layer, then copied, and mirrored the copy, then deleted the original. I verified dimensions with some lines to make sure it was in the right spot.

I used a test layer to draw lines for positioning that I later removed once groups of objects were moved and placed.

It was tedious, I even set up Excel to do quick left-to-right calcs for the left-to-right positions.

Having two monitors helped a lot, but it was still tedious. I could have used a 3rd monitor for Excel. :)

Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Re: Project: Melissa Hands - Perhaps a little easier..

Post by xevel » Thu May 01, 2014 9:13 pm

Post by xevel
Thu May 01, 2014 9:13 pm

Wow, that indeed looks tedious :s
I guess that, faced with the same problem, I would have simply routed the board twice without too much thoughts about making it possible to use one stencil - but on the other hand (no pun intended :p) I totally understand the need to make thing as perfect by your standards as can be, even to the cost of spending some hours of your time on tiny details ^^

I'll be very interested to see the result when you get the boards :)
Wow, that indeed looks tedious :s
I guess that, faced with the same problem, I would have simply routed the board twice without too much thoughts about making it possible to use one stencil - but on the other hand (no pun intended :p) I totally understand the need to make thing as perfect by your standards as can be, even to the cost of spending some hours of your time on tiny details ^^

I'll be very interested to see the result when you get the boards :)
xevel offline
Savvy Roboteer
Savvy Roboteer
Posts: 74
Joined: Sun Mar 27, 2011 6:37 pm

Re: Project: Melissa Hands - Perhaps a little easier..

Post by PaulL » Fri May 02, 2014 12:04 pm

Post by PaulL
Fri May 02, 2014 12:04 pm

Yeah - very tedious!! I do tend to try a bit too hard at certain things - like bending alu, or laying out boards symmetrically - but I think it'll pay off in the end. I keep trying to find a level I'm happy with, to get to the level of "good enough" - it's hit and miss. Sometimes I go back and redo, thinking I had "good enough", but didn't quite. So, I usually go a little overboard, but I tend to learn along the way. Hopefully as I go, I'm getting a better feel for what I find acceptable. :)

Every once in a while, I'll get some crazy idea in my head (Like multi COM Express boards with custom host boards for more processing in a smaller space), but I dismiss such time intensive efforts fairly quickly - though I do more research than I probably should. I really have gone a bit too far in some ways, but I always find my reasons to justify. :)

I figured since I may not even cover these boards (thinking of airbrushing them in black and mask the headers and LED's - the OSHPark purple doesn't quite work with the look I'm going for, black and blue), I might as well make them look identical. When I was planning on using the Pololu boards, I intended to cover them, as they weren't symmetrical - and that darned MiniB is too tall!!

I thought it would be interesting to take a basic RN-1 and see how far I could go with it. So far, so good! :)

In the end, it should be a relatively unique bot (without being too radical), as unique as the software that will run him.

Of course I'll post pics when I get the boards back! :) And Done! :) And... :)
Yeah - very tedious!! I do tend to try a bit too hard at certain things - like bending alu, or laying out boards symmetrically - but I think it'll pay off in the end. I keep trying to find a level I'm happy with, to get to the level of "good enough" - it's hit and miss. Sometimes I go back and redo, thinking I had "good enough", but didn't quite. So, I usually go a little overboard, but I tend to learn along the way. Hopefully as I go, I'm getting a better feel for what I find acceptable. :)

Every once in a while, I'll get some crazy idea in my head (Like multi COM Express boards with custom host boards for more processing in a smaller space), but I dismiss such time intensive efforts fairly quickly - though I do more research than I probably should. I really have gone a bit too far in some ways, but I always find my reasons to justify. :)

I figured since I may not even cover these boards (thinking of airbrushing them in black and mask the headers and LED's - the OSHPark purple doesn't quite work with the look I'm going for, black and blue), I might as well make them look identical. When I was planning on using the Pololu boards, I intended to cover them, as they weren't symmetrical - and that darned MiniB is too tall!!

I thought it would be interesting to take a basic RN-1 and see how far I could go with it. So far, so good! :)

In the end, it should be a relatively unique bot (without being too radical), as unique as the software that will run him.

Of course I'll post pics when I get the boards back! :) And Done! :) And... :)
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Re: Project: Melissa Hands - Perhaps a little easier..

Post by patkangu » Sun May 04, 2014 5:41 am

Post by patkangu
Sun May 04, 2014 5:41 am

Been following this for a while now - really good to see you coming so close to completion.

This forum isn't very active though...maybe only 3-5 people who actually actively post on here :D
Been following this for a while now - really good to see you coming so close to completion.

This forum isn't very active though...maybe only 3-5 people who actually actively post on here :D
patkangu offline
Robot Builder
Robot Builder
Posts: 14
Joined: Mon Sep 19, 2011 7:07 am

Re: Project: Melissa Hands - Perhaps a little easier..

Post by PaulL » Mon May 26, 2014 10:34 am

Post by PaulL
Mon May 26, 2014 10:34 am

Thanks, Pat! Sometimes I lag a bit, but things are still moving forwards - would be nice if I could get paid to do this kind of work!!

Yeah - the board isn't what it used to be... But, for now, I post here. I've tried elsewhere, some forums have too much drama.

Update:

I've been working on the boards, I sent off all 9 designs for fab, ordered 3 paste stencils (multiple boards on 2 of the 3), and ordered parts for all yesterday.

The number of changes are many, and the power and control boards got reworked a bit as well. It took longer than I would have liked, but sometimes the rest of my life demands some time.

Changes:

* Found a problem with servo header height with plugs (dual USB jack on the SBC), so they'll be right-angled out the back.
* Moved switches and LED's from the control board to a switch and LED panel.
* Examined voltages of the PC Header, figured out how to get rid of the optocoupler.
* Added an OR gate for TX lines from foot and hand controllers.
* Changed controller board outline to route a few wires by it.
* Reworked the layout on the power board, it's a bit cleaner now.
* Reworked a number of routes on the control board. I relocated the laser actuator and power signals.
* Moved a filter cap from the power board to the control board, reworked the 3.3v trace on the power board.
* Reworked tStop and bStop layers, reworked polygons, etc, on the power board.
* Made a PC header board to connect to the signals there.
* Routed HDD LED signal through the control board and up to the Switch and LED board.
* Moved power inputs for body servos towards the fan on both sides (closer to the 20A DC to DC converter), increased servo pin header spacing.
* Built a board to connect 4 sets of power, gnd, tx, rx for hand and foot controllers, this same board breaks out power, gnd, PWM for neck servos.
* Finished the foot controller board (same board for either side).
* I managed to find an undocumented "I'm on" signal from the SBC, that should be handy for monitoring when it's OK to shut down the power.

Lots of small changes, but they're done and off to fab. I'll be building a total of 10 boards:

* Power
* Control
* Left Hand
* Right Hand
* Rx / Tx / Neck Servos
* PC Board Header
* Switch and LED
* Left Foot
* Right Foot
* Programming Board

I spent a good bit of time making sure the board-to-board and board-to-component wiring will work out.

Metalwork-wise, there are a few changes needed as a result of these boards:

* Top Plate needs Switch and LED cutouts and board mounting holes.
* Control Board needs revised alu bracket across the front of the SBC.
* Back Panel needs different cutouts for servo wires and such.

Otherwise, mechanically, everything should be OK as it is / was.

So, until the boards and stencils and parts get here, I'm back on firmware and / or mechanical work. I can code up just about every function I need using the V1 control and power board, except for the multi-processor comms, and I could do that with a few Maple Mini's.

The STM32 has a "multiprocessor" mode, I'm using the control board as host with the 4 other STM32's (feet and hands) as slaves. I'll probably just packet forward from the SBC instead of working out some different code for sending data to the slaves - I'll still have to poll for readings from the main STM32, though. Whatever I end up doing, it's all software, no hardware changes will be needed.

I still wonder if I'm going to run out of CPU on the main STM32, it's going to have a lot to do, and not a whole lot of RAM to do it with. I don't know how many moves I'll be able to store, 33 servos invokes quite a few data points.

What I'm not doing (for now):

* For now, nothing fancy with the foot controllers (FSR's), just an LED and an MPU-9150.
* LED's on the fingertips - I doubt it would work well. Maybe if I notch the bottom side of the UHMW blocks in the fingers, but that's not optimal either. I can always revisit later if I change my mind. I do have LED's for each knuckle.
* Charging Circuit. I just have nowhere to put one. Maybe once he's built I'll find a little room but I doubt it. For his charger, I'm thinking I'll set up a base for him instead with charger built in (after I get tired of manually recharging batteries).

The main thing left is to copy some dimensions from the boards back to CAD and re-cut the top plate, back plate, and front plate (this one needs the SSD mounting holes). I already know I made the battery covers too short, but those aren't a big deal.

A pic (sorry for the resolution, I sized everything to the smallest image OSHPark sent - the controller board).

Image
Thanks, Pat! Sometimes I lag a bit, but things are still moving forwards - would be nice if I could get paid to do this kind of work!!

Yeah - the board isn't what it used to be... But, for now, I post here. I've tried elsewhere, some forums have too much drama.

Update:

I've been working on the boards, I sent off all 9 designs for fab, ordered 3 paste stencils (multiple boards on 2 of the 3), and ordered parts for all yesterday.

The number of changes are many, and the power and control boards got reworked a bit as well. It took longer than I would have liked, but sometimes the rest of my life demands some time.

Changes:

* Found a problem with servo header height with plugs (dual USB jack on the SBC), so they'll be right-angled out the back.
* Moved switches and LED's from the control board to a switch and LED panel.
* Examined voltages of the PC Header, figured out how to get rid of the optocoupler.
* Added an OR gate for TX lines from foot and hand controllers.
* Changed controller board outline to route a few wires by it.
* Reworked the layout on the power board, it's a bit cleaner now.
* Reworked a number of routes on the control board. I relocated the laser actuator and power signals.
* Moved a filter cap from the power board to the control board, reworked the 3.3v trace on the power board.
* Reworked tStop and bStop layers, reworked polygons, etc, on the power board.
* Made a PC header board to connect to the signals there.
* Routed HDD LED signal through the control board and up to the Switch and LED board.
* Moved power inputs for body servos towards the fan on both sides (closer to the 20A DC to DC converter), increased servo pin header spacing.
* Built a board to connect 4 sets of power, gnd, tx, rx for hand and foot controllers, this same board breaks out power, gnd, PWM for neck servos.
* Finished the foot controller board (same board for either side).
* I managed to find an undocumented "I'm on" signal from the SBC, that should be handy for monitoring when it's OK to shut down the power.

Lots of small changes, but they're done and off to fab. I'll be building a total of 10 boards:

* Power
* Control
* Left Hand
* Right Hand
* Rx / Tx / Neck Servos
* PC Board Header
* Switch and LED
* Left Foot
* Right Foot
* Programming Board

I spent a good bit of time making sure the board-to-board and board-to-component wiring will work out.

Metalwork-wise, there are a few changes needed as a result of these boards:

* Top Plate needs Switch and LED cutouts and board mounting holes.
* Control Board needs revised alu bracket across the front of the SBC.
* Back Panel needs different cutouts for servo wires and such.

Otherwise, mechanically, everything should be OK as it is / was.

So, until the boards and stencils and parts get here, I'm back on firmware and / or mechanical work. I can code up just about every function I need using the V1 control and power board, except for the multi-processor comms, and I could do that with a few Maple Mini's.

The STM32 has a "multiprocessor" mode, I'm using the control board as host with the 4 other STM32's (feet and hands) as slaves. I'll probably just packet forward from the SBC instead of working out some different code for sending data to the slaves - I'll still have to poll for readings from the main STM32, though. Whatever I end up doing, it's all software, no hardware changes will be needed.

I still wonder if I'm going to run out of CPU on the main STM32, it's going to have a lot to do, and not a whole lot of RAM to do it with. I don't know how many moves I'll be able to store, 33 servos invokes quite a few data points.

What I'm not doing (for now):

* For now, nothing fancy with the foot controllers (FSR's), just an LED and an MPU-9150.
* LED's on the fingertips - I doubt it would work well. Maybe if I notch the bottom side of the UHMW blocks in the fingers, but that's not optimal either. I can always revisit later if I change my mind. I do have LED's for each knuckle.
* Charging Circuit. I just have nowhere to put one. Maybe once he's built I'll find a little room but I doubt it. For his charger, I'm thinking I'll set up a base for him instead with charger built in (after I get tired of manually recharging batteries).

The main thing left is to copy some dimensions from the boards back to CAD and re-cut the top plate, back plate, and front plate (this one needs the SSD mounting holes). I already know I made the battery covers too short, but those aren't a big deal.

A pic (sorry for the resolution, I sized everything to the smallest image OSHPark sent - the controller board).

Image
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Re: Project: Melissa Hands - Perhaps a little easier..

Post by xevel » Tue May 27, 2014 4:40 am

Post by xevel
Tue May 27, 2014 4:40 am

Yeah, progress :)
Very impressive as always!

For the charging part: I would agree on having a base - or at any rate an external charging circuit. The bot seems already overcrowded with stuff (I hope not overloaded :/), anything that can be left out while still being practical seems like a good idea.
Yeah, progress :)
Very impressive as always!

For the charging part: I would agree on having a base - or at any rate an external charging circuit. The bot seems already overcrowded with stuff (I hope not overloaded :/), anything that can be left out while still being practical seems like a good idea.
xevel offline
Savvy Roboteer
Savvy Roboteer
Posts: 74
Joined: Sun Mar 27, 2011 6:37 pm

Re: Project: Melissa Hands - Perhaps a little easier..

Post by PaulL » Tue May 27, 2014 11:59 am

Post by PaulL
Tue May 27, 2014 11:59 am

Thanks, Xevel! I try... :)

Well, I already found one problem - should've looked a bit closer at the pic I posted, the alignment of the LED for the thumb LED isn't the same for both hands, and it should be - I verified on the two boards, and it's off a bit. I ordered one paste stencil to flip for the hands, looks like I'll have to do one LED by hand. Not too bad, I guess. It's off by about half a mm. I don't think it'll be noticeable. There's enough room on the pads for each such that I could move them both a bit in either direction to make the LEDs themselves correct. Messy, but if that's all I've missed, I guess it's not so bad. We'll see.

I looked into a number of charging chips, and I've thought a good bit about what to do for charging. I want him to head back to his charger on his own, but that'll be a bit down the road. Not sure what mechanical method will be best for making the charging connections, but all I need is a circuit that charges a battery when one is attached, then stop charging until the battery is removed and reconnected.

Xevel, you've hit on a major concern of mine, one I've had for some time - will he be too heavy? I have room for airflow, so cooling shouldn't be a problem. But weight, yes, there will be quite a bit on him before he's done. If I had stuck with the stock servos, it wouldn't have worked - they're not strong enough. But, the HSR-5498SG's add some weight, too. They're quite a bit stronger than the HSR-8498HB's, but what I don't know is if they'll be strong enough on 6v. The DC to DC converter won't go to full battery power, not without some extra circuitry to bypass it. These servos are 11 kg/cm at 6v, 13.5 kg/cm at 7.4v. I'll revise the power board with some bypass FETs if needed - I can simply wire to 7.4v to test, that won't hurt anything either.

Weight has been a concern since the start. The Kontron PicoITX has substantial weight as received, but I've gotten rid of the top plate (3mm I think) and large blocks of alu (11mm thick or so, fairly large compared to the board). Add the weight of the hands, the neck servos, the hip and wrist servos, etc, etc, and I'm still thinking he should be under 4 pounds. I'm hoping under 3, but we'll see. He's definitely more top-heavy than when stock, but the upgraded servos have a lot less backlash and flex.

I will probably have to modify his walk and moves, but I think he'll be stable so long as he has enough torque. It'll be right near the edge of the servo's usable range I think, but I won't know for sure until he's "all up".

I, too, have my doubts...

I'm hoping he'll be OK on 6v, or even standing still at 5v, but it's a bit of an experiment I suppose.

As for overcrowded, yeah, there's a lot packed in, but I've been trying to stick as close to the RN1 stock dimensions as possible (though, the torso is going to look blocky, coverings may be able to break up the boxy look a bit - in black, he'll look OK - I hope!).
Thanks, Xevel! I try... :)

Well, I already found one problem - should've looked a bit closer at the pic I posted, the alignment of the LED for the thumb LED isn't the same for both hands, and it should be - I verified on the two boards, and it's off a bit. I ordered one paste stencil to flip for the hands, looks like I'll have to do one LED by hand. Not too bad, I guess. It's off by about half a mm. I don't think it'll be noticeable. There's enough room on the pads for each such that I could move them both a bit in either direction to make the LEDs themselves correct. Messy, but if that's all I've missed, I guess it's not so bad. We'll see.

I looked into a number of charging chips, and I've thought a good bit about what to do for charging. I want him to head back to his charger on his own, but that'll be a bit down the road. Not sure what mechanical method will be best for making the charging connections, but all I need is a circuit that charges a battery when one is attached, then stop charging until the battery is removed and reconnected.

Xevel, you've hit on a major concern of mine, one I've had for some time - will he be too heavy? I have room for airflow, so cooling shouldn't be a problem. But weight, yes, there will be quite a bit on him before he's done. If I had stuck with the stock servos, it wouldn't have worked - they're not strong enough. But, the HSR-5498SG's add some weight, too. They're quite a bit stronger than the HSR-8498HB's, but what I don't know is if they'll be strong enough on 6v. The DC to DC converter won't go to full battery power, not without some extra circuitry to bypass it. These servos are 11 kg/cm at 6v, 13.5 kg/cm at 7.4v. I'll revise the power board with some bypass FETs if needed - I can simply wire to 7.4v to test, that won't hurt anything either.

Weight has been a concern since the start. The Kontron PicoITX has substantial weight as received, but I've gotten rid of the top plate (3mm I think) and large blocks of alu (11mm thick or so, fairly large compared to the board). Add the weight of the hands, the neck servos, the hip and wrist servos, etc, etc, and I'm still thinking he should be under 4 pounds. I'm hoping under 3, but we'll see. He's definitely more top-heavy than when stock, but the upgraded servos have a lot less backlash and flex.

I will probably have to modify his walk and moves, but I think he'll be stable so long as he has enough torque. It'll be right near the edge of the servo's usable range I think, but I won't know for sure until he's "all up".

I, too, have my doubts...

I'm hoping he'll be OK on 6v, or even standing still at 5v, but it's a bit of an experiment I suppose.

As for overcrowded, yeah, there's a lot packed in, but I've been trying to stick as close to the RN1 stock dimensions as possible (though, the torso is going to look blocky, coverings may be able to break up the boxy look a bit - in black, he'll look OK - I hope!).
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Re: Project: Melissa Hands - Perhaps a little easier..

Post by PaulL » Sat May 31, 2014 3:57 am

Post by PaulL
Sat May 31, 2014 3:57 am

The Sparkfun order showed up first (USPS), then Digikey showed up today (UPS). Digikey fouled the order, in at least one way - 5 small surface mount switches, cut from tape-and-reel, the side of one switch was clipped such that the switch could fall out the side - I am guessing it fell out between the cut and putting it in the bag - so I received 4 switches vs 5. And for some reason, they decided to do a ton of oversized bags and what I would consider too many desecant pouches in some of the bags (ex, one DC to DC converter, the 20A one, it has more weight in desecant than the part actually weighs!). I understand why they use desecant (to control humidity), but what they sent is a little over-the-top. The stencils should show up next week (USPS), then the boards perhaps the end of the week or the following week (also USPS).

I am about to go through the box again, there are quite a few parts here (48 different parts from Digikey this round).
The Sparkfun order showed up first (USPS), then Digikey showed up today (UPS). Digikey fouled the order, in at least one way - 5 small surface mount switches, cut from tape-and-reel, the side of one switch was clipped such that the switch could fall out the side - I am guessing it fell out between the cut and putting it in the bag - so I received 4 switches vs 5. And for some reason, they decided to do a ton of oversized bags and what I would consider too many desecant pouches in some of the bags (ex, one DC to DC converter, the 20A one, it has more weight in desecant than the part actually weighs!). I understand why they use desecant (to control humidity), but what they sent is a little over-the-top. The stencils should show up next week (USPS), then the boards perhaps the end of the week or the following week (also USPS).

I am about to go through the box again, there are quite a few parts here (48 different parts from Digikey this round).
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Re: Project: Melissa Hands - Perhaps a little easier..

Post by PaulL » Mon Jun 09, 2014 3:03 am

Post by PaulL
Mon Jun 09, 2014 3:03 am

More Progress!

I assembled:

* Header Board.
* 2 x Foot Boards.
* 1 x Programming Board.
* 1 x Switch and LED Board.

The 2 foot boards have the LeafLabs Maple Mini boot loader loaded, and I've run a couple test sketches on them - so far so good. I haven't tested the MPU-9150's, but they're not getting hot, so that's a plus. :) As usual, solder bridges occurred on the STM32's and one of the MPU-9150's - my shaky hands don't do too well at placing, I end up nudging the parts after I drop them. Easy to clean up with a flux pen, iron, and wick. None of these boards is more than an inch long (about 25mm), they're pretty small.

The programming board has 2 buttons (like the ones on the switch / LED board) under it (manually soldered, turned out fine).

The 4 pin headers on the 2 foot boards (bottom side) are tacked on, that's why the solder's so-so looking, I'll remove the 4 pin headers before these boards are hardwired in.

The PC Header board was (of course) manually soldered, it's the lowest profile solution I could come up with to connect to the RST, HDD LED, ON Status, and PWR signals I could find (Gnd is common to power in for the SBC).

For the switch and LED board, I'll probably cut a teflon strip with nubs that protrude through the top plate on the torso to actuate the switches, and do some light piping for the LED's (I have some stuff around for that). I have a zero ohm resistor for the HDD LED, I don't know yet how bright it will be (powered from the SBC) - I'll swap if the power and HDD LED's are different brightness (power LED voltage comes from the STM32, so it may be flashed, or PWM'd, etc, to indicate additional state as needed).

5 Boards Done (I don't think the one on the right counts.. :)):

Image

And 4 of the 5 to go (one not shown is an interconnect board):

Image

A number of changes from V1, but I doubt I'll need a V3 - though, the thumb LED position mismatch on the hand boards will probably drive me to order at least one more hand board (otherwise, the mirrored left and right hands match up to the paste stencil when it's flipped).

The programming board turned out to be a decent idea, saved me having to replicate those components on the hands and feet. I still have the programming / USB interface in place on the controller, I'm betting the firmware there will get rewritten a bit more than the hands / feet (and the control board won't be accessible once he's all buttoned up).

I should be able to program the hands / feet using the programming board plugged into USB on the back of the SBC, that should work fine.

I'm hoping to make some progress on the remaining boards during the week, but if not, there's next weekend. One day should be enough to build the rest of the boards. At the least, I may try to locate the MPU-9150 test sketch I have somewhere and test it out on the foot controllers.

Take Care,
Paul
More Progress!

I assembled:

* Header Board.
* 2 x Foot Boards.
* 1 x Programming Board.
* 1 x Switch and LED Board.

The 2 foot boards have the LeafLabs Maple Mini boot loader loaded, and I've run a couple test sketches on them - so far so good. I haven't tested the MPU-9150's, but they're not getting hot, so that's a plus. :) As usual, solder bridges occurred on the STM32's and one of the MPU-9150's - my shaky hands don't do too well at placing, I end up nudging the parts after I drop them. Easy to clean up with a flux pen, iron, and wick. None of these boards is more than an inch long (about 25mm), they're pretty small.

The programming board has 2 buttons (like the ones on the switch / LED board) under it (manually soldered, turned out fine).

The 4 pin headers on the 2 foot boards (bottom side) are tacked on, that's why the solder's so-so looking, I'll remove the 4 pin headers before these boards are hardwired in.

The PC Header board was (of course) manually soldered, it's the lowest profile solution I could come up with to connect to the RST, HDD LED, ON Status, and PWR signals I could find (Gnd is common to power in for the SBC).

For the switch and LED board, I'll probably cut a teflon strip with nubs that protrude through the top plate on the torso to actuate the switches, and do some light piping for the LED's (I have some stuff around for that). I have a zero ohm resistor for the HDD LED, I don't know yet how bright it will be (powered from the SBC) - I'll swap if the power and HDD LED's are different brightness (power LED voltage comes from the STM32, so it may be flashed, or PWM'd, etc, to indicate additional state as needed).

5 Boards Done (I don't think the one on the right counts.. :)):

Image

And 4 of the 5 to go (one not shown is an interconnect board):

Image

A number of changes from V1, but I doubt I'll need a V3 - though, the thumb LED position mismatch on the hand boards will probably drive me to order at least one more hand board (otherwise, the mirrored left and right hands match up to the paste stencil when it's flipped).

The programming board turned out to be a decent idea, saved me having to replicate those components on the hands and feet. I still have the programming / USB interface in place on the controller, I'm betting the firmware there will get rewritten a bit more than the hands / feet (and the control board won't be accessible once he's all buttoned up).

I should be able to program the hands / feet using the programming board plugged into USB on the back of the SBC, that should work fine.

I'm hoping to make some progress on the remaining boards during the week, but if not, there's next weekend. One day should be enough to build the rest of the boards. At the least, I may try to locate the MPU-9150 test sketch I have somewhere and test it out on the foot controllers.

Take Care,
Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Re: Project: Melissa Hands - Perhaps a little easier..

Post by PaulL » Tue Jun 17, 2014 11:54 am

Post by PaulL
Tue Jun 17, 2014 11:54 am

Sorry, no pics yet, but YES, I finished the boards!! Ok, I still have a bit of soldering and some headers and whatnot to do, but the other components are all done. Next step, get it all wired up and test as I go.

My plan is to test the power board, then connect the controller, then wire everything together, even to the SBC and out to a power plug for the battery. Minus yet-to-be-finished brackets, the electronics will be "all up", aside from some resizing of wire lengths as needed. The latest designs essentially require being interconnected, which is fine, and will allow me to code using the "all up" configuration of the hardware.

I'll post pics tomorrow.

Take Care,
Paul
Sorry, no pics yet, but YES, I finished the boards!! Ok, I still have a bit of soldering and some headers and whatnot to do, but the other components are all done. Next step, get it all wired up and test as I go.

My plan is to test the power board, then connect the controller, then wire everything together, even to the SBC and out to a power plug for the battery. Minus yet-to-be-finished brackets, the electronics will be "all up", aside from some resizing of wire lengths as needed. The latest designs essentially require being interconnected, which is fine, and will allow me to code using the "all up" configuration of the hardware.

I'll post pics tomorrow.

Take Care,
Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Re: Project: Melissa Hands - Perhaps a little easier..

Post by PaulL » Tue Jun 24, 2014 11:55 am

Post by PaulL
Tue Jun 24, 2014 11:55 am

The work continues, but I still haven't taken pics of all of the boards.

I've started wiring up the boards. I've tested the power board, though the main controller has yet to be tested. Power board is OK, and I've done solder overlays for traces (improve current handling) and have even powered the board off a battery and verified voltage levels. I'm going to do some more wiring (there's a lot to do), and post pics later. Otherwise, the pics of the boards would be similar to those in previous postings - they look fine. :)

Instead of right angle headers for the servo pins, I have changed my mind - I am going to use machined pin connectors instead. Their stack height when connected leaves plenty of room, so no plugs out the top or back. I'd have to re-make most or all of the servo connections after running servo wires anyway. So, they'll be soldered. These connectors (machine pin) are good to 3A, should be fine, and low profile enough to not have to do major rework on the back plate.

Take Care,
Paul
The work continues, but I still haven't taken pics of all of the boards.

I've started wiring up the boards. I've tested the power board, though the main controller has yet to be tested. Power board is OK, and I've done solder overlays for traces (improve current handling) and have even powered the board off a battery and verified voltage levels. I'm going to do some more wiring (there's a lot to do), and post pics later. Otherwise, the pics of the boards would be similar to those in previous postings - they look fine. :)

Instead of right angle headers for the servo pins, I have changed my mind - I am going to use machined pin connectors instead. Their stack height when connected leaves plenty of room, so no plugs out the top or back. I'd have to re-make most or all of the servo connections after running servo wires anyway. So, they'll be soldered. These connectors (machine pin) are good to 3A, should be fine, and low profile enough to not have to do major rework on the back plate.

Take Care,
Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Re: Project: Melissa Hands - Perhaps a little easier..

Post by PaulL » Wed Jul 02, 2014 11:38 am

Post by PaulL
Wed Jul 02, 2014 11:38 am

Progress...

I've been working on the wiring. Not done with the wiring, but progress pics to show what's there so far. I should have the first run at wiring done this coming 3 day weekend. Some things will need final trimming to length after fitting to the bot.

What I have so far:

* Power and Ground to servo busses on controller left and right.
* Power to the PC (runs through the control board through notches either side of the fan cutout).
* USB Wires (Programming and High Speed Serial).
* Header Wire.
* 4 x 4 wire USB cables used for power, gnd, tx, rx, to hands and feet.
* 3 pair Power and Ground for left hand, right hand, and neck servos (bottom of board).
* Power connected to the interconnect board on the bottom of the control board.
* +5v digital power wire off the interconnect board (goes to the main power board, uses a 5v Logic tap instead of using the converter for the servos themselves).
* Audio In, with Mic gnd tap (brown / black wires for Mic).
* Battery In.

Left:

* Header wire to header PCB for PC board.
* Laser Power.
* Laser Actuator (PWM).
* Camera Power.
* Speaker L / R.
* 3 x signal wires to switch panel off power board.
* 4 x signal wires to switch panel off control board.

More than halfway done, and the rest are easy.

Pics:

Image

Image

As you can see there're a lot of wires. I ended up reworking the power wires, there was a lot blocking airflow from the fan - it's better now.

Other work:

* Loaded the bootloader to the controller board (verified, STM32 OK, CP2103 OK, etc).
* Wired up a SATA power connector, verified SATA SSD needs only 5v.
* Loaded up WinXP on the SSD (much faster than MicroSD!).
* Designed SATA connector (power and signal) and SATA plug in Eagle.
* Layed out a board to keep wiring tight and break out power to two solderable connections.
* Turned the first of two custom standoffs (4-40 to M2) for PC board to Controller board, verified spacing, all OK.

The purpose of the SATA board is to keep the length short - standard SATA power plugs are HUGE! This is much shorter. And, it doubles back the SATA data wire back over the SSD.

SATA board:

Image

I think that's it.

It's coming along...

Paul
Progress...

I've been working on the wiring. Not done with the wiring, but progress pics to show what's there so far. I should have the first run at wiring done this coming 3 day weekend. Some things will need final trimming to length after fitting to the bot.

What I have so far:

* Power and Ground to servo busses on controller left and right.
* Power to the PC (runs through the control board through notches either side of the fan cutout).
* USB Wires (Programming and High Speed Serial).
* Header Wire.
* 4 x 4 wire USB cables used for power, gnd, tx, rx, to hands and feet.
* 3 pair Power and Ground for left hand, right hand, and neck servos (bottom of board).
* Power connected to the interconnect board on the bottom of the control board.
* +5v digital power wire off the interconnect board (goes to the main power board, uses a 5v Logic tap instead of using the converter for the servos themselves).
* Audio In, with Mic gnd tap (brown / black wires for Mic).
* Battery In.

Left:

* Header wire to header PCB for PC board.
* Laser Power.
* Laser Actuator (PWM).
* Camera Power.
* Speaker L / R.
* 3 x signal wires to switch panel off power board.
* 4 x signal wires to switch panel off control board.

More than halfway done, and the rest are easy.

Pics:

Image

Image

As you can see there're a lot of wires. I ended up reworking the power wires, there was a lot blocking airflow from the fan - it's better now.

Other work:

* Loaded the bootloader to the controller board (verified, STM32 OK, CP2103 OK, etc).
* Wired up a SATA power connector, verified SATA SSD needs only 5v.
* Loaded up WinXP on the SSD (much faster than MicroSD!).
* Designed SATA connector (power and signal) and SATA plug in Eagle.
* Layed out a board to keep wiring tight and break out power to two solderable connections.
* Turned the first of two custom standoffs (4-40 to M2) for PC board to Controller board, verified spacing, all OK.

The purpose of the SATA board is to keep the length short - standard SATA power plugs are HUGE! This is much shorter. And, it doubles back the SATA data wire back over the SSD.

SATA board:

Image

I think that's it.

It's coming along...

Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Re: Project: Melissa Hands - Perhaps a little easier..

Post by PaulL » Sun Jul 06, 2014 9:22 pm

Post by PaulL
Sun Jul 06, 2014 9:22 pm

Update:

More success!! I have the control and power boards wired up all the way to the SBC, second standoff is cut, controller and power boards are mounted. I have tested running everything off of a battery (no more external supply for the SBC alone). So far, so good. The logic DC to DC converter (powering the control board, the PicoITX SBC, and the SATA SSD, etc) gets just slightly warm with the fan on. So far, everything is OK.

I had a problem with the main power FET, something that happened before. The MAX1614 when commanded ON sends voltage to the gate, but the connection between the FET pad and FET device wasn't good. I reflowed the one pin before, and that worked, but this time I ended up reflowing the whole FET and moving it slightly. So far, this has worked fine.

There is only one problem I've found, and that is all of the wiring. There are a LOT of wires in this thing (not counting servo wiring). So, I started laying out a board just to see if it was possible, moving most of the logic off the control board and moving two of the three DC to DC converters to the control board. Everything else (including the logic DC to DC converter) will get moved to another board, below the control board, in some open space on the SBC. This reduces board-to-board wiring in front of the fan, and moves one board out of the way of the fan. The airflow is restricted by all of the wiring, and I've already reworked the wiring to minimize this effect.

For now, I'm going with what I have (functionally, the electronics design is complete). Next step is to build up the torso (tapping, sanding, bending, painting?) and see if everything is OK. I need a few more holes for wiring on the torso, but I will manually drill those to test out the rest of the torso design.

Space is tight for the neck rotation servo, but I may just have enough room to fit it in there.

I also found some wire that will work for the BlinkM Mini and the camera in the head, these wires will run right through the middle of the 3 DOF neck joint - no cable sticking out of the back of his head.

I also figured out the pads for the plugs and wires for the USBLive2 video capture board. The video side will be easy to wire up, the USB side uses a proprietary connector with very fine pitch pins that will be much more difficult to wire up. The board is small enough that I may be able to have it on the top side of the SBC instead of the bottom side.

SATA wiring is going to be a pain. It takes space from where I can place a logic board under the control board, as it will be right-angled in and over the SBC (still have to order a cable, the right angle SATA cables I have are the wrong way). I will likely have to perform surgery on a cable end to get the length right.

I've also placed an order for parts and a board for the SATA SSD (similar to above pic of the image in Eagle), this will keep the plugs from sticking out the wrong way. A SATA power plug is LONG!

In looking around, I found that the SBC I'm using is due to be expired in September this year, and the successor doesn't leave room for the fan in the same spot (which would require a major rework of all I've done on the torso and boards and such). So, I can stick with what I have and order another 1 or 2 of these boards, or I can wait for the new version and then rework air cooling. I'm planning on sticking with what I have, too much time invested to switch now.

Did I mention windows startup with the SSD is FAST!?!? Yeah, it's notable.

I'll be moving my bench supply from my workshop to my office (where I build boards and write code), it's a 25A 12v supply. I may be able to tune the voltage a bit lower to get higher efficiency from the DC to DC converters for bench testing.

There's enough here now to do the firmware, but I'm going to see about the torso before I get into the firmware. I do need to code something for the power button. To do single on / off button with the MAX1614 (nice chip, great for LiPo cutoff), I need to monitor the LBO signal with the STM32, and activate the OFF pin on button press (signal for button press goes to the chip and the STM32).

So, power control will go like this:

* If LBO, shutdown SBC, wait for SBC shutdown (with timeout to force power off), turn off all power.
* If button press, shutdown SBC, wait for SBC shutdown (with timeout to force power off), turn off all power.

I forget what I set the voltage at for the comparator in the MAX1614, it's whatever's typical for 2C LiPo.

So, up next, hardware. I'll play with the board rev in time, I'd rather find out if the torso is OK. If the torso's OK, I'll go ahead and finish tapping / bending the other parts and start final assembly.

Coming along...

Image

Image

Image

One more thing - the HDD LED is a bit bright on the switch and LED board, I'll swap out the zero ohm resistor on this board to match with the other LED (resistor on SBC is apparently lower resistance than I have on the other LED). But, it works - HDD activity routed from the SBC header to the control board, on the control board, out and up to the switch and LED board.
Update:

More success!! I have the control and power boards wired up all the way to the SBC, second standoff is cut, controller and power boards are mounted. I have tested running everything off of a battery (no more external supply for the SBC alone). So far, so good. The logic DC to DC converter (powering the control board, the PicoITX SBC, and the SATA SSD, etc) gets just slightly warm with the fan on. So far, everything is OK.

I had a problem with the main power FET, something that happened before. The MAX1614 when commanded ON sends voltage to the gate, but the connection between the FET pad and FET device wasn't good. I reflowed the one pin before, and that worked, but this time I ended up reflowing the whole FET and moving it slightly. So far, this has worked fine.

There is only one problem I've found, and that is all of the wiring. There are a LOT of wires in this thing (not counting servo wiring). So, I started laying out a board just to see if it was possible, moving most of the logic off the control board and moving two of the three DC to DC converters to the control board. Everything else (including the logic DC to DC converter) will get moved to another board, below the control board, in some open space on the SBC. This reduces board-to-board wiring in front of the fan, and moves one board out of the way of the fan. The airflow is restricted by all of the wiring, and I've already reworked the wiring to minimize this effect.

For now, I'm going with what I have (functionally, the electronics design is complete). Next step is to build up the torso (tapping, sanding, bending, painting?) and see if everything is OK. I need a few more holes for wiring on the torso, but I will manually drill those to test out the rest of the torso design.

Space is tight for the neck rotation servo, but I may just have enough room to fit it in there.

I also found some wire that will work for the BlinkM Mini and the camera in the head, these wires will run right through the middle of the 3 DOF neck joint - no cable sticking out of the back of his head.

I also figured out the pads for the plugs and wires for the USBLive2 video capture board. The video side will be easy to wire up, the USB side uses a proprietary connector with very fine pitch pins that will be much more difficult to wire up. The board is small enough that I may be able to have it on the top side of the SBC instead of the bottom side.

SATA wiring is going to be a pain. It takes space from where I can place a logic board under the control board, as it will be right-angled in and over the SBC (still have to order a cable, the right angle SATA cables I have are the wrong way). I will likely have to perform surgery on a cable end to get the length right.

I've also placed an order for parts and a board for the SATA SSD (similar to above pic of the image in Eagle), this will keep the plugs from sticking out the wrong way. A SATA power plug is LONG!

In looking around, I found that the SBC I'm using is due to be expired in September this year, and the successor doesn't leave room for the fan in the same spot (which would require a major rework of all I've done on the torso and boards and such). So, I can stick with what I have and order another 1 or 2 of these boards, or I can wait for the new version and then rework air cooling. I'm planning on sticking with what I have, too much time invested to switch now.

Did I mention windows startup with the SSD is FAST!?!? Yeah, it's notable.

I'll be moving my bench supply from my workshop to my office (where I build boards and write code), it's a 25A 12v supply. I may be able to tune the voltage a bit lower to get higher efficiency from the DC to DC converters for bench testing.

There's enough here now to do the firmware, but I'm going to see about the torso before I get into the firmware. I do need to code something for the power button. To do single on / off button with the MAX1614 (nice chip, great for LiPo cutoff), I need to monitor the LBO signal with the STM32, and activate the OFF pin on button press (signal for button press goes to the chip and the STM32).

So, power control will go like this:

* If LBO, shutdown SBC, wait for SBC shutdown (with timeout to force power off), turn off all power.
* If button press, shutdown SBC, wait for SBC shutdown (with timeout to force power off), turn off all power.

I forget what I set the voltage at for the comparator in the MAX1614, it's whatever's typical for 2C LiPo.

So, up next, hardware. I'll play with the board rev in time, I'd rather find out if the torso is OK. If the torso's OK, I'll go ahead and finish tapping / bending the other parts and start final assembly.

Coming along...

Image

Image

Image

One more thing - the HDD LED is a bit bright on the switch and LED board, I'll swap out the zero ohm resistor on this board to match with the other LED (resistor on SBC is apparently lower resistance than I have on the other LED). But, it works - HDD activity routed from the SBC header to the control board, on the control board, out and up to the switch and LED board.
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

Re: Project: Melissa Hands - Perhaps a little easier..

Post by PaulL » Mon Jul 07, 2014 10:27 pm

Post by PaulL
Mon Jul 07, 2014 10:27 pm

Image

... and ... TRANSFORM!!!
.
.
.

Image

Nope, nothing.

But, at least all of the holes are tapped (even on the pile of parts not shown). Sanding next!

Take Care,
Paul
Image

... and ... TRANSFORM!!!
.
.
.

Image

Nope, nothing.

But, at least all of the holes are tapped (even on the pile of parts not shown). Sanding next!

Take Care,
Paul
PaulL offline
Savvy Roboteer
Savvy Roboteer
Posts: 423
Joined: Sat Sep 15, 2007 12:52 am

PreviousNext
PreviousNext
135 postsPage 7 of 91 ... 4, 5, 6, 7, 8, 9
135 postsPage 7 of 91 ... 4, 5, 6, 7, 8, 9