I funded the kickstarter for the uFactory uArm featured on the EEVBlog and have been looking for something somewhat useful to do with it. After using a pocket microscope for doing my solder joint inspections, I thought it would be nice to use a USB microscope, and because getting these lower priced microscopes over boards and in the right place can be tricky (especially when the come with the crappiest stand known to mankind) I thought it would be nice to use my uArm as the "stand" for the microscope.
One problem with the version of the uArm I got through its kickstarter was that it really likes to break servo horns. I probably put it together incorrectly somehow, but the screws that attach the fixed platform to the servo horn and platform bearing were interfering with the bottom of the moving part of the arm, where the base servo mounts. My solution? I bought a stronger metal servo horn and 3d printed an attachment for it.
Once I got that done and working, I ran the arduino servo sweep code to confirm I had good motion.
From here, I will be working on the code to control the motion through the web browser, work on the user interface and generally finish the proof of concept. Once I get that working I plan to take apart the microscope and 3D print a way to change the zoom remotely. Some other things I may want to try include making it fully battery powered, autofocus using javascript on the host machine (by moving the arm up and down), and making the microscope show up as a wifi webcam.
The good: I think I have a good enough grasp on mjpeg-streamer and the Bridge library to build some controls. My first test page showed the analog readings off of A0-A5 and a stream output of the microscope.
The bad: While testing this, I had hot-wired the uArm-shield to back power the Yun by jumpering the 5V line to the Vin line. This worked fine until I started streaming. When streaming from the camera, the light on the microscope was flickering, and I soon found out why: The regulator on the uArm shield, an NCP4625, is only rated to 300mA. I was asking way more of it than that while running the streaming output. I feel sorry for my Yun, for starving it for power for so long.
The fix: The large ethernet port and usb port on the Yun causes me, and as far as I can tell, many other people minor issues. I decided the best way to fix all these problems was to build a regulator mezzanine specifically for the Yun that will let you power it from a 5V wall-wart through a barrel jack. My results can be found at https://oshpark.com/shared_projects/IkCdJgfk.
So far I am in the proof of concept stage. I have taken my uArm's original controller off, and made sure the Yun is going to fit. One of the posts is a little close to the usb port, but that is okay, it is still usable. I got mjpg-streamer working on the Yun, very quickly, and took a of a microSD card.
The streamed video is unfortunately a bit jittery, but it works, and I think I will be able to improve it. Going forward, I need to actually mount the YUN and the camera on the uArm, and use extenders, found here or here to get the uArm shield above the ethernet and USB ports on the Yun. I may need slightly longer standoffs for the acrylic cover, but I am not sure yet. After that I will work on software for the YUN to control the robotic arm with the mjpeg controls and change the height of the microscope to focus the camera on a certain piece. at a certain zoom.
Long term goals for this project from most desired to it would be nice:
Automatic Zoom Control
Better Lighting
Auto focus using height of arm.
Automatic inspection routines based on EDA pick and place output.