Showing posts with label Mill. Show all posts
Showing posts with label Mill. Show all posts

Sunday, February 1, 2015

New Project (Finished too) - Computer Charger Repair

The output wire from my laptop charger frayed and shorted about a year ago. The wire was built into the charger and broke right where it came out of the charger. I couldn't do without my laptop so I had to get a new charger. I kept the broken one so I could repair it and have a spare at some point. There wasn't enough wire left out of the charger to simply solder the cable back together, so I knew it would need a full case replacement. I also wanted to add a second connector so I could remove the output cable and a similar break in the future.

The charger appeared to be one solid piece of plastic. There were no seams or obvious places to try prying the charger apart. I managed to chip away the rubber that sealed the output cable to the charger. The small opening let me look inside and determine the wall thickness of the charger's case. I could also see the orientation of some of the internal components. I guessed the circuit board was inserted right-side-up into the charger during assembly which led me to guess which side was the lid.


I used a mill to cut away just the outer wall of the charger. I stepped down a small amount with each pass until the top lid broke free. It turned out to be held in with plastic snaps. I believe the lid was glued or friction welded to the rest of the case. It was a clean, but unrepairable design. I managed to avoid cutting any of the components.


The charger had pretty simple internal geometry. I reversed engineered the critical geometry in the case to hold the remaining components.


I bought a pretty nice looking connector without looking at the dimensions... The connector wasn't going to fit in the original case geometry, so I was forced to put it on the lid. I'll admit its a strange form for a charger, but it worked out. I originally planed to use the black resin on my 3D printer to make it look nice, but I got lazy and used the clear resin that was already in my printer.


Here is the main part of the case after it came out of the 3D printer. This is probably the largest part I've printed so far. Thankfully it didn't have a print failure like I had with a few other parts recently.


The lid also printed cleanly. As usual the extra material for the support felt like a waste, but there isn't much I can do to avoid adding it.


I wanted the charger to be symmetrical, so I put screws on the bottom. They don't hold anything together, but they do look nice.


The charger fit snugly into the case. The wall power plug even fit into the case!


Here's the lid before squishing the remaining wires into the charger.




The charger has been revived! The design is pretty strange, but it's functional which is what counts. The upward angle output plug is actually nice because it reduces wire stress when reaching from the floor to a table. It also makes the USB charging port easier to access. I should have been less lazy and printed the charger case in black, but at least the insides are visible like one of the old clear gameboys.




Friday, January 9, 2015

New Project - Cheap Hexapod

I've always wanted to build a Hexapod. They look pretty cool with all of the legs moving in sync. They can also be used as a desktop toy, unlike my RC car, which is basically an outside only toy. The biggest problem with hexapods is they are really expensive. A proper hexapod requires three degrees of freedom for each leg. This ensures that the leg doesn't need to slide on the ground. The three degrees of freedom per leg and six legs require a hexapod to have at least 18 servos. The servo cost adds up fast and had previously discouraged me from building a hexapod. Recently I came across micro sized servos (HXT900 9g servos). These servos cost about three dollars each. Even with 18 servos that still isn't too expensive compared to typical on brand servos that cost about 20 dollars each.

I wanted to build the hexapod around my new 3D printer. The first thing I decided to do was integrate the servo splines into the legs themselves. After a number of test prints I was able to confirm it is possible to create micro size servo splines with my 3D printer (Form1+). I also wanted to keep the design minimalistic and avoid over complicated joints and leg segments.


I bought three servos before I committed to building the hexapod. I printed and assembled one leg to ensure the servos would be strong enough to drive the leg. I also wanted to test the tolerances on the servo splines with multiple servos. This image shows the leg prototype, The only change I made to the leg design was an increase in the depth of my logo.


This was the first "production" run for my 3D printer. I had to make six copies of each leg part as well as the body section. Aside from one print failure (on the main body servo mount plate) everything printed perfectly. I literally couldn't make these parts through machining given the orientations of the splines and the shapes of the parts.


This is the body piece ( the one that printed correctly) as it came off of the printer. There was an update to the printer software that dramatically reduced the material wasted in the support structure for the parts.


Here is the part before support material removal. The supports are removed with wire cutters and then the remaining bumps on the part surface are removed with a file.


The final part looks pretty clean. All of the dimensions seem to be within tolerance for the hexapod. There is some warpage in the part that occurred after the post curing, but it shouldn't prevent the part from being usable.


Each servo requires two 2-56 screws to be threaded into the frame. My hand got pretty tired trying to screw all of the servos into the mounting plate. Each servo fit nicely into the plate.


I decided to try fitting all of the pivots into the lower central support plate. It was fun getting to see the hexapod come together.


This was the first time the hexapod was fully assembled. I knew the wiring would be an issue, but I didn't realize how messy the hexapod would look without proper wire management.


Here is my programming testing setup. I was at my house for the winter break and no longer had access to my 3D printer. I had CNC access but I didn't particularly want to get covered in chips as I usually do when machining. I used a raspberry pi model a+ as the controller. This raspberry pi is the smallest one currently available. I wanted to run the hexpod with linux and python because it makes the programming easier. The hexpod currently connects to a computer over wifi which was really easy to do and should be a convenient way to control the hexapod. The two blue boards are PWM driver boards from adafruit. Each board can drive up to 16 servos ( I needed to drive 18 so I had to get the second board). The boards are controlled with an I2C interface. This means I need a minimal number of pins from the raspberry pi to control all of the servos. It helps to keep the wiring from being a mess.


Here is an early motion test. I programmed the legs to look like they were walking. I still needed to calibrate each servo and complete the actual leg motion program. This shows the hexapod moving its legs near the peak servo speed.


This was the first PCB I milled on a proper milling machine. I've always had access to a dedicated PCB mill, so coming up with my own milling procedure was fun. I drew the circuit board in SolidWorks so it would be easy to generate the G-Code for the CNC. A proper circuit CAD program like eagle probably would have been a better choice.


The PCB I milled was for the hexapod's power supply. This supply is capable of driving up to 20A at 5.5V. I wanted to drive the hexapod with a 7V battery, but the servos and raspberry pi wanted 5V. Each servo doesn't draw very much current, however the combination of all 18 which could all be running at full torque at one time would overwhelm most power supplies. I decided to go with the 20A supply to ensure there would never be a sever voltage drop that could shut down the raspberry pi.


Here is the final hexapod assembly. I ended up milling three plates from polycarbonate to create the electronics mount. The electronics are all held in with zip ties. I would have used screws, but I didn't want to make the standoffs required to mount the electronics with screws.

Unfortunately during testing I managed to break three servos. Shipping the hexapod back from break caused another four servos to die. All of the servos broke at the same internal gear. I haven't been able to finalize testing my leg motion code without a fully functioning set of legs . I chose not to use an existing set of code for the legs because I was excited to create my own algorithm from scratch. I need to rethink my servo choice and look into getting slightly more robust servos. Currently I am looking at using metal gear servos that are around five dollars each. I'm sure the hexapod will be up and running quickly once the new servos are integrated into the design.

Sunday, November 30, 2014

Servo Spline Adapters

My transmission design for the Mini Combat Robot uses large servo gears. Unfortunately the output from these gears is a spline shaft. I had to come up with a way to easily adapt to the spline without making a sketchy connection with the servo horns that are meant for those servo gears. My first technique for making a servo spline can be done with a milling machine. It's a fairly straight forward and doesn't require special tools.



I put a "blank" shaft into a collet block. The collet block isn't required, however holding a round part vertically in a vise can be difficult to align. It also has a good chance of slipping which could break tools and ruin the part. The first thing I did was drill a set of starter holes. I used a small carbide ball end mill because it was the only tool that could make a mark smaller than the drill bit I wanted to use. Each hole corresponds to one of the teeth in the spline. I designed the holes so the outer edge would meet up with the tip of each spline tooth.



Once I made all of the starter dents, I proceeded to use the final size drill bit. Each hole was very close, but none of the holes intersected. If the holes intersect the drill bit will likely drift and break. The final step was to mill out the center. Milling out the center creates the inner part of the spline. It is important to design the geometry such that the leftover wall between the drilled holes fits between the spline teeth. I simply plunged and endmill down to the desired depth and let it swirl around to the correct diameter. This opened all of the holes drilled to the center.



This is the final shaft. The part fit snugly on the spline and didn't seem to damage the spline even under loading conditions. I used this part on the Mini Combat Robot until a design iteration forced me to a 3D printed design (I no longer had access to a mill). Any mill with CNC or even a digital readout can produce splined holes.


This is a 3D Printed replacement for the metal adapter. I needed a different pulley, but I couldn't use the metal spline shaft for the upgraded design. I decided to 3D print an adapter instead. I used the same geometry as the metal spline and simply printed a new adapter. It also slipped right on and worked first try.


Here is the 3D printed servo adapter as well as a splined shaft that copied the original servo spline. I doubt an FDM type 3D printer could produce the details required for this spline to work, so I'm glad I went with the SLA type 3D printer (Form1+). Making giant servo splines led me to test miniature servo splines.


The first part to my process to make a servo spline is getting a picture of the spline itself. I use this picture and one reference dimension (the outside diameter of the spline) to trace the spline profile. This seems to be pretty reliable and is able to get details that my calipers can't measure.


Here is a screen shot from the CAD I used for the servo spline. I get the spline dimensions by tracing the profile that comes from the drawing. It is surprisingly fast to CAD this way. The camera image reveals a lot of details that my measuring instruments won't capture.


Here is a servo spline made for a micro size servo (9g servo). The printer was able to handle the small details required to make the spline.


The gear fit perfectly onto the servo first try. I attempted to strip the spline, however I only managed to cut myself with the 3D printed gear teeth. I was unable to get the spline to skip on the servo.

For future projects using large servos I will attempt to make more metal shafts and splines. I find them more durable than the 3D printed parts. I also know the servo gears will strip before the metal spline slips. The 3D printed splines for smaller servos are too awesome. I'm still amazed the printer can handle details like that. The cool part is these splines can be put into any 3D printed part. It doesn't matter whether the part is round, square, or even a hexapod leg!

Sunday, July 20, 2014

New Project - RC Car

I've wanted a real RC car (not one of those tiny indoor only RC cars) since I was a little kid. Now that I'm a big kid I can just go out and get one. In this case I mail ordered a relatively cheap 4WD 1:10 scale buggy. The frame came as a kit. I had to pick out the motor, motor controller, radio, and batteries. I already had the radio from the mini combat robot, which cut the cost of the car. The reason I decided to buy a RC car instead of building one was that I didn't want to build something and then decide it was boring. I figured a cheap RC car would require repairs and could have an opportunity for many custom parts.


Here's a sweet action shot of the car before parts started breaking. I put a "somewhat" larger motor and battery in the car than suggested. The car's peak speed is over 40mph! (timed by driving on a football field) It probably has more power than I can control... I flipped it and hit things a full speed many times as well as taking jumps that brought the car around head height in the air. Needless to say the cheap plastic parts started breaking real fast.


Here's the machining of a new shock absorber mount. The original part didn't break, but it bent ~45 degrees. I decided a metal version would be a good first upgrade for the car.


Here is the aluminum part next to the original (which I bent back). I removed some of the extra "adjustment" holes that were in the original part. I also remade the pockets to make the part considerably stronger. I don't expect this part to break before any of the other parts on the car.


After a few more jumps I busted the front A-arms. I didn't have a spare axle so I was forced to bend this one straight again. Thankfully the axle was made from cheap steel and I have decent pliers.


Here is the A-arm that broke. The plastic split at the axle. This part is not a simple 2D part like the shock mount.


I started the part from flat aluminum plate. I forgot how slow it is to mill with a 1/8" endmill...


I wanted to save material so I did a REALLY good job orienting the stock on the mill table.


Here's a before and after picture of the side machining. The parts required a total of 3 sides of machining each.


My trusty mini-vise did a great job holding the parts. I also tried a set of carbide drill bits. They seemed to drill much better than my sketchy old drill bit set.


The new A-arms look pretty nice on the car. The shock spring mounts rub the aluminum a bit. I'll need to make some replacements to prevent any possible damage to the shocks.


Here's the whole car with its cover attached. The rear wheels are pretty worn down. Those will have to be replaced soon as well.


Here's the car without the cover attached. The electronics are fairly compact. I've been very impressed with the motor and motor controller combination. Neither has melted yet!

Overall I'm glad I bought an RC car instead of making one from scratch. I really wouldn't be able to beat the price I paid for the frame. When a part breaks I can have fun making a replacement. Eventually the whole car will be custom!

Monday, March 24, 2014

Mini Combat Robot Update

I tend to prioritize class work rather than my own projects, so I haven't made too much progress on the Mini Combat Robot. Hopefully I'll find the time to finish this project before the semester is over and I lose access to the nice CNC machines at school. 


The frame started to come together nicely. I quickly held the unfinished parts together with a few clamps just to see how the frame looked in person. I have quite a few 3D printed parts on the robot. These parts are low quality compared to nicely machined parts. I want to see the robot assembled as quickly as possible, so I decided to 3D print a number of non critical parts.. The 3D printed parts should hold up well enough to drive around , however almost all of them will need to be replaced before the robot goes into combat.


The 3D printed transmission mounts might stay... They seem to be strong enough to handle the torque output from the transmission. They're also green which matches the motor's color.


Here is right after I finished drilling and tapping all of the cross bars. this is the first time the robot has actually looked like the final product in the CAD. The robot uses "tank treads" which are made from timing belt. They took less space than wheels and seemed like a simpler, more reliable way to make the robot move.


These are all of the frame parts. Although they aren't the simplest shapes, they can all be made with a standard milling vise setup. They took longer to machine than I had estimated, but I guess that is always the case with machining. Cutting the 45 degree angles took some patience, but they shoud be worth it if there are any other robots with spinners. Hopefully the beveled edges will help the robot deflect any kind of spinner weapon.


This is the state of the robot for now. It is by no means ready for combat. It still needs a spinner, replacement parts for the currently 3D printed parts, electronics mounts, as well as top and bottom armor plates. I'll try to finish this project before the semester ends, but I can't make any promises...

Sunday, July 28, 2013

New Project - Mini Combat Robot

For a number of reasons we (the combat robot club at my school) have started work on a mini combat robot competition that will take place on campus. This summer we've worked on getting the competition ready for the coming school year. The first thing I started with was the drivetrain. I wanted to avoid making all of the gears as I have for many of my other motorized projects, so I looked for a cheap and easy to purchase solution. I found large RC vehicle (car, plane, boat, etc...) servos have very cheap replacement gear sets. I bought two sets of the largest common servo I could find. This gear set works with the HITEC 805 servo series.

All of my motorized projects now use brushless motors. They deliver the most power in the smallest package. They are also very cheap compared to other motors. These little transmissions use a set of 220 watt motors. Each motor is about 20mm in diameter and 40mm long. The only down side to these small motors is they spin very quickly which requires a large gear ratio to make them useful. Thankfully the servo gears make this gear ratio easy to obtain. I designed the maximum output torque of the transmission not to exceed the original servo's rated torque. This should prevent the gears from immediately stripping. Wear may become an issue because of the increased gear speed, but I'm not too worried about that because they're a cheap and easy to replace solution.


Since these transmissions are for a mini combat robot, the screws also have to be small. I had quite a few #2-56 holes to tap. As always I was afraid of breaking the tap, but in the end I tapped 24 holes without incident.


Dowel pins are used as a bearing for the intermediate gears. Everything except for the #2-56 screw is metric in this transmission (I didn't want to buy metric taps and screws when I already have a large stock of English taps and screws). The output gear takes ball bearings, which should make this transmission pretty tough and smooth.


Overall the transmissions look pretty beastly. I'm waiting on pinion stock for the motor gears to come in from an order. I'll test them once I can actually transfer motion from the motors to the rest of the gears.

The next step in the mini combat robot build process is to get the motor controllers designed (yes; I'm making the motor controllers from scratch) and to finish the chassis CAD.