Wednesday, October 3, 2012

Getting Back soon

It's been a real busy summer and fall so far - but I will be getting back on the project real soon.

I still have to replace the bad servo, I've gotten the replacement - Thanks Pololu! Once I get that done, I can get back to startup testing.

I still need to get the ground movement encoder boxes finished, I may end up replacing one pair of wheels due to the poor mounting and 12V brakes.

I still need to wire up the arm motors, and add the rotation motor to the arm assembly.

Another noted change - I will be swapping out the Phidget SBC2 with a Raspberry Pi.  I had only borrowed the SBC2, and now that I have my Pi, I'll use that instead to do pretty much the same thing.  I hadn't planned on using the built in IO of the SBC2 anyway, so this shouldn't be an issue.

Just wanted to keep anyone reading informed!

Saturday, June 9, 2012

Finished wheel motor testing


Ok, I got three of the four motors working.  It appears that the 4th amplifier is bad.  I'll have to send it back for a return.  I'm not sure why it's bad, hope it isn't a trend.  


I had to pull the ATX power supply. I only need 12V out of it, and I needed the terminal space, so I changed it out to a dedicated small 12V supply to get the 12V. 


The brake I burned up a while back is fixed.  I had found two surplus brakes on ebay.  They were for a different motor, but I modified it to replace the bad one, and it worked great.  Fortunately, its a 24V brake like the other two motors.  I have one extra brake, so I will replace the other 12v brake as well so that they are all 24V.


Some next steps:


1) Replace bad 24v23 amplifier.
2) Get power to Flowboard and Phidget SBC2
3) Wire Flowboard Digital Outputs to Brake and Motor Enable Relays
4) Test Phidget Sensors over webservice
5) Wire up Sweep Arm Linear actuators
6) Mount encoders to non-driven feedback wheels, and finish cover boxes.
7) Mount encoder to sweep arm rotation
8) Mount rotation motor and belt drive to sweep arm
9) Wire up Phidget Motor Amplifiers
10) Power up/Test Phidget motor amplifiers...

Wednesday, June 6, 2012

First motor test last night

Ran the first motor tonight! Yay!  This was done over the network, using a VNC viewer connected to the server on the rover PC.  The motor amplifier (Pololu 24v23) is driving the motor.  I used the Simple motor center test program to test the motor.

I'll be wiring the other motors this week, and testing on the weekend.

The metal detector didn't seem fazed by the motor testing either...

video here:




Monday, June 4, 2012

Weekend work on Controls Enclosure



Ok, I didn't like how the lid turned out from a couple weeks ago in mounting some of the parts.  There were too many screws and nuts poking out, which would have created a leaking issue one day, and it looked bad.  So,  I ordered inner aluminum panels for the lids, and butch plates for the box interfacing.  A butch plate is basically a term is to describe a cutout on an enclosure, with a plate cover for mounting connectors, penetrations, etc. This prevents constant cutting and drilling into the enclosures, when adding or modifying connectors.  In total, I added seven plates to the two boxes, four butch plates, two lid inner panels, and a replacement bottom panel for one box.

To eliminate the added cost of either connectors between boxes or conduit, I cut out and joined the two boxes together, which will allow cabling and wires to go between enclosures. I did the cutting of the hole, the four butch plate cutouts, and the box joining last week.

During the week, I also mounted all of the parts to the three remaining panels.  Doing this I found to be MUCH easier mounting the boards to a sub-panel on a workbench, rather than having to deal with stretching and contorting myself to get into the boxes.

So now, having cut all the butch plate cutouts, and mounted and bolted the two boxes together, it was ready for final painting.  Since I had pre-painted boxes, I had to find a paint that would allow me to paint over my existing boxes as is with only minor cleaning.  I found some, and this allowed me to not deal with blasting off the existing paint, and not dealing with a primer coat.  I test painted a throw away panel to make sure it looked ok.  I finished painting yesterday and mounted the assembled inner panels after drying.

The paint looks nicer than the pix show, and I may actually paint the sweep arm and rover chassis with the same paint.  It will give the whole rover, a uniform stealth look, and should look pretty good.

Below are some pictures of the box...



Side 1 Butch Plate holes cut, original paint


Side 1 Butch Plates installed, new paint


Side 2 Butch plate holes cut, original paint


Side 2 Butch Plates installed, new paint


Phidget and Pololu Motor Drives and Flowboard Lid


Computer and Sensor Lid


Interface Wiring Section


Power Supply Section.  Notice the cutout center.




Monday, May 28, 2012

Memorial weekend work

Ok.  Another weekend of work.  I wasn't happy with the lazy susan bearing design.  I don't believe it would have held up, it looked like the bearing would have popped open fairly soon.  So I went to a backup design.  The profile is not as low, but it will be easier to motorize.

I also re-did the square tubing on the arms.  The arms before were too short, and I wouldn't have gotten the full stroke possible.  I redid the arms to give me the full stroke on both raising/lowering, and the extension.  I ran the motors also, looks like it will work.  Not probably good for high speed, high duty cycle, but for what I will be doing it should be ok.

For the enclosures, I joined them in the middle, and cut out an access.  This will keep me from having to cable between the boxes, and I like the extra space it gives me.  Due to the nature of this being a research platform, I'm going to cut out two square sections on each side and use aluminum tapped butch plates for mounting cable glands, sensors etc.  This way, if I want to add or modify something going into or out of the box, I will only have to pull the plate and modify it, and not drill on the box at a later date once it its mounted and wired.  I am also going to redo the parts I had mounted to the lid.  I am going to use 1/8 aluminum plate instead mounted on standoffs, so that a) the nuts don't stick out of the lid.  It looked like crap, and would have leaked water. and b) I can mount the parts, and wire on a bench and then install.  This will be easier to maintain.  For the enclosures, I found some large rubber shock bumpers that will give me shock absorption.

During the week, I worked a bit on the encoder wheels.  This is the non-driven wheels I will have on a third axis in the middle to give me dead reckoning feedback from rover movement.  I still have to mount the encoder boxes to the four all-thread rods, but overall it doesn't look to bad.  It is a bit weird looking on the rover, and I may need to come up with a spring loading mechanism to let the wheel ride up and down, but well see how this works.  I may even step back a bit, and redo the wheels with a same size wheel as the driven wheels.  For now, I'll go with this design.  If I come up with something better, I may redo it.  I'm already thinking of using the same bearings, that I used on the rotation.

Here are also some links to some testing I did of the arm.  For the heck of it, I mounted my Gamma 6K detector to the arm, just to see how the coil senses all the metal around it.  Pretty damn good results if I must say.  Obvious, the mounting won't be like this on the permanent detector.  One caveat.  I really like how easy it would be IF the detector was mounted this way.  I could use different detectors, with an audio cable and just using a preset setup, I could theoretically use the heck out of this as is, without adding anything else other than motor controls.  Here are some links to the testing I did with the detector.  One really amazing thing.  Note the consistency of the audio tones as the coil spins around the rover.  Its the same exact sound. Every time.  Try to do this with a hand motion with this consistency.  It's even better than I hoped for.

overall rotation scanning test



quick video of detector mounting


closeup test of multiple targets on one end


consistency test.  listen as arm rotates around rover.


Below are some pictures I took of everything.


The upper plate connected to the lower plate with the 2 flange bearings.  Smooth..


The completed rotation assembly mounted to the rover chassis.  Much more sturdy than the lazy susan.


The redone sweep arm with the longer square tubing supports, with a slotted guide for the round tubing.


The rover with the mounted arm, rotation base, and one side visible of the non driven encoder wheel assembly.



Monday, May 21, 2012

Detector Arm Rotation Base

Ok,

Yesterday, I worked on the rotation base for the coil detector arm.  I had to add some counter balancing weights to the arm to offset the weight of the PVC and coil assembly.  I ended up using 1" PVC.  It fit well into the aluminum round tubing of the arm, but it has quite a bit of deflection.  I may try wood to see if its any better.  The 6" lazy susan bearing I used is rated for 500lbs, but that is all with the weight centered on the bearing.  Weight isn't something normally desired, but in this case the bearing will last much longer, and the overall weight addition, is still well within what the rover can handle. As a footnote, the arm rotation base is smooth as silk.  My off the cuff testing looks like the whole arm assembly can be moved with a pound or so of force.  This will be good when adding the motor.  I still have yet to redo the 2" square tubing on the arm.  I got the material, but didn't have time to work on it.  That and adding the motor/gear assembly should finish up the arm.

One of the next items on my to-do list is to bridge the two enclosures.  I don't like any connector solution I've able to come up with, so I will join the two boxes together in the center and cut out an access port between the two, I will seal the edges with insulating seal tape to prevent water from leaking in through the gap.  This will mean the only penetrations I will need into the box will be 4 water tight cable glands for the wheels, 1 for the arm, and one for power from the generator.  I can add more later if I need to but that looks  to be it, and cable gland strain reliefs are cheap.  Way cheaper than connectors.  With the frame, and hard wiring i will be using, it doesn't appear that this rover will be capable of easy disassembly.  Once I get all that done, I can mount the parts for the Control Box, and start wiring.

For the non-driven wheels for position feedback, I also figured out how to that as well.  I will be using some inexpensive bearings from a set of wheelbarrow wheels I picked up for about $4 each on sale.  Using that, the wheel, coupled to an encoder with a 5/8" all thread shaft should work well.  I didn't have time to work on that, other than a rough assembly, but it looks like it will work.  I actually considered using this design for the arm rotation base, but the height was a bit much. If the lazy susan bearing doesn't work out, I may use this on the arm as well.

Below are some pictures of the base and arm.





Sunday, May 13, 2012

More progress this weekend

Alright folks,

I made good progress this weekend.  I mounted the parts for the Drive Box, which includes the power supplies, the motor amplifiers, relays and local IO board (using DSP Robotics Flowboard).  I decided on the Flowboard at the last minute because I found out that the output drive IC is a ULN2803 - which will allow me to drive the 24V relays directly without an extra SSR board.  Its handy.  I even have some low resolution A/D on the board, which I will use to monitor all the power supplies.

I also mounted the treadplate for the chassis.  This will allow me to mount items more flexibly than the bare cross beams I had before.  It looks better also :)

Finally,  I started on the detector coil sweep arm assembly.  I got the riser and extension section prototyped up, it looks like it will work just fine.  I will remake the two square tubing pieces and make them longer enventually, I want 12" of stroke, and right now only have about 9 or 10.  I didn't buy enough, so I have to get more.  I still have to add the wooden dowel end piece and coil attachment, for the non-metallic distance factor.  I ordered a 6inch lazy susan bearing off Ebay Friday so the rotation base.  The sweep arm assembly will mount to a 12"x12" aluminum plate rotating on the bearing.  It should give me a nice, smooth rotation axis.  After that I will attach the sprocket assembly and motor, and that should complete the arm assembly once its mounted to the chassis.

I also remade the two wheel mounts for the Inviracare motors.  I finally got some more material, so I went ahead and made those pieces.

Here are some pictures that show some of the new stuff.


This is the lid of the Drive box.  Still need to add some circuit breakers..  I had to use Velcro for the super small 24V23 amplifiers because I couldn't find screws small enough to mount them :(


These are the power supplies for the Drive Box.  Four 24V supplies for the motors, and a 500W ATX power supply for everything else.  Velcro for the ATX also, since there was no mounting holes other than the power cord side...


New Motor mount plate..

Another one...

Diamond tread-plate when first mounted on the chassis..  Mmmmm


This is the detector sweep arm assembly test mounted on the side.  The real mounting will be a swivel rotation base, center mounted on the chassis.


Tuesday, May 8, 2012

Assembled chassis with wheels

Here is a picture of the almost completed chassis with the wheels mounted and the enclosures mounted to the chassis.

Cleaned up and painted enclosures


Here is a picture of the enclosures after they have been cleaned up, holes filed and painted.

Chassis and enclosures in progress







Here are some pictures of the chassis and Controls and Drive Box enclosures in progress...

Baracuda metal detecting circuit pics

Here is a picture of the Baracuda metal detecting kit (from Silverdog in the UK), and a test coil I built using 25 turns of 22AWG, on a 7.5" paint can form.

Some sample screens of a Flowstone GUI and the metal detector LCD



Here are a couple screenshots of some proof of concept GUI's I threw together using a webcam, the PC soundcard input with an FFT display of the metal detector audio output.  Note the On-Screen Display time and date stamp on the webcam video stream (Put there by Flowstone BTW), and the waterfall display of the audio Formants in the upper right of the 3rd picture.  Both the timestamped video and the waterfall display can be saved to disk from the GUI.

Some sample screenshots of the 12Blocks sensor code



Here are some screenshots of the sensor code I will be doing some of in 12Blocks.  I like 12blocks because it is a really quick way to prototype up code objects for the Propeller.  I have used some of the built in blocks, and have modified several other OBEX objects to work inside the 12Blocks environment.

Some Major parts bought off Ebay


I couldn't build this project without Ebay.  Here are a couple pictures of the wheelchair motors and linear actuators which will be used for the detector arm.

Turning scrap into usable stuff





Here I have taken the scrap frames, and have cut them, up, disassembled them, and turned them into usable parts...

Searching for parts..


Here are a couple pictures of the scrap 80/20 extruded aluminum frames that I am using for the Rover's chassis.

Start of Giant Metal Detecting Robot Project


I've long had an idea for a project, that I have been kicking around. The project is to design and build an tele-operated semi-autonomous detecting rover, which will drive up and down a beach, or in a desert area, or in an open field, all the while scanning the ground it traverses for metal, and uploading finds to the operator's remote control PC laptop.

The idea is to have the detected locations wirelessly sent to a laptop with a nice GUI front-end, that is using Google Maps to display GPS coordinates.

I plan on offering this design open source on an as going basis, to allow for others to contribute, and make suggestions. I plan on not only offering the entire design for the detector, but for the rover, and all hardware and software involved from the PC to the detector itself. This includes Eagle PCBs and schematics, CAD drawings, source code, etc. Nothing will be hidden.

As a quick rundown on the hardware and software I plan on using for the build, this is what I'm looking at using so far:

1) Parallax Propeller Prototype USB board with sensors for GPS, Digital Compass, Temp/Humidity, Barometric Pressure, Gyroscope, 3 axis Accelerometer. The software for this will be done in 12blocks to illustrate use of graphical programming on Propeller.
2) XMOS controlled metal detecting front-end.
3) DSP Robotics Flowstone graphical programming software for PC-Based GUI frontend.
4) Gas Powered power source (small 2kw generator). Battery bank for controls.
5) Phidget SBC2 running Debian Linux.  Phidget GPS, Spatializer 3/3/3, 4ch Encoder, 4ch solid state relay board, IR sensor module, 1 Motor Amplifier boards X3, Text LCD display, Encoder Module.
6) Wireless interfacing from PC laptop to Rover using standard Wifi home router.
7) Xbox 360 wireless controller operator frontend. Rumble control for detected metal or terrain.
8) HTPC media PC running Windows XP or 7
9) Android based Cell phone for 3G internet connectivity.
10) 80/20 Extruded aluminum frame for hardware mounting, 5ft x 3ft
11) Detector Boom arm with rotation, adjustable height, and arm extension for detector coil.
12) Baracuda Pulse Induction metal detector circuit
13) Gamma 6000 VLF metal detector circuit
14) 13" Wheelchair Motors
15) 3rd axle, non-driven for dead reckoning
16) DSP Robotics Flowboard for relay and ESTOP I/O control.
17) Pololu 24V23 amplifiers for the wheelchair motors.



Feel free to let me know what you think.  I'm open to any and all suggestions.