Tuesday, February 4, 2014

Peeling Up: An Up Mini Temperature Hack

Just purchased a 3D Printer for a certain special course that I am TA for this spring term. See below, its an Up Mini!



These guys had great reviews off the MAKE Magazine 3D Printer guide for 2014 and with a nominally low cost we were interested in making these become the primary workhorse of the course. The Form-1's and Mojo's may feel a bit sad.



There is a lot of good to say about this guy; nearly plug-and-play operation for Windows 8*, a superb software that considers the end user (except their ears), and a PCB print surface that enhances adhesion during the print but also facilitates easy removal after the job.



The one bad part is the warping for ABS materials. I made several calibration test prints and anything with gratuitous flat surface came up with nasty warping on one side. The Up Plus that my buddy Charles has never suffered from this issue and its hard to imagine that they downgraded between revisions.

Investigation showed the bed temperature was 60 deg C for both ABS and PLA. Two things strange about this. PLA doesn't need temperature stability to print well (especially on this perforated surface) and the bed temperature for ABS is half that of what other machines report as an ideal setting.



So how do I change it? In the Up Plus, the user could view the temperature settings under the "Maintenance" options. The bed temperature displays under the extruder temperature in the upper right of the window. However, when connected to the Up Mini the temperature option disappears! Stratasys holds a patent on heated enclosure systems, a feature that happens to be advertised by others when considering this machine. Is this Up's hilarious method of avoiding legal?

Okay, how about hardware fixes? I remove two screws and a ribbon cable to access the heated bed itself. The ribbon cable presumably connects to a heating element, the temperature sensor, etc...



NOPE. The bed is a routed circuit board resistive heater with a SINGLE component on it. Its not even a magical IC, its a single transistor. This engineer is good at saving money.



Investigation of this KSD-01F shows that a) it is native chinese and b) is nothing more than a temperature switch (thermostat). The controller pumps current into the board until it reaches a temperature threshold. Then the transistor shuts off and the board is assumed to maintain steady state as it switches on and off and temperature fluctuates about the cutoff. These thermostats appear to sell in a variety of different temperature cutoffs.



This is so ghetto, I decided to hack it. Using the Up Plus as the paragon of 3D printing, I set my target temperature to 100 deg C. I purchased a higher temperature model from amazon and soldered it onto the board in place of the old one.



As a simple test, I allowed the bed to preheat for and hour and began a print. The result was simply phenomenal. No warping at any section of the part. Subsequent prints of various size and shape also returned similar results.

 


 


Before you declare this a godsend and perform this on your printer consider this piece of heat transfer; the preheat is now absolutely necessary to achieve the higher bed temp. The printer has no feedback mechanism to monitor bed temp so if you hit "Print" the printer will not heat for longer to accommodate the higher temperature threshold; the heating cycle is likely hard-coded into the printer ROM which I do not yet know how to change. Also, given the printer dumps constant current into the bed means the input energy rate is constant; to achieve max temperature the time of heating needs to be increased. This assumes the ambient heat loss rate does not cause the bed temperature to reach steady state before the temperature threshold...

Later science posts regarding Up Mini:

  1. transient temperature profile for
  2. input current hack for heated bed (and temperature profile after)
  3. hack to lower or remove annoying buzzer

Thursday, July 25, 2013

Cake Slice and PA Bot Blast 2013

Hi Charles, I'm writing a blog post.

________________________________________________________________________________

Part of my joy of moving up to MIT was the fact that I was now in prime vicinity of a more lively roboting community. In the Northeast region, we have well established competitions like the Franklin Institute of Motorama.

Another regular event in Pennsylvania was PA Bot Blast, held in Bloomsburg every July. My friend Aaron fan from the Georgia Tech Invention Studio convinced me to go, so I convinced my long time bot buddy Charles Guan to make the trip with me. We created enough hoobaloo in MITERS to spawn a small team and soon we had an entire van committed to go. Hence fourth it was time to get prepared as the date loomed closer and closer.

DDT was definitely going. The new version was completed in late 2012 after Dragon Con in preparation for GMX robot battles where it went undefeated and unscathed. The only work I needed/wanted to do on him was trim the through bolts that hold the frame halves together. This way, the robot was actually invertable.

I hope heating those screws don't melt the nylocks

I was previously intending to bring Cake, my old Beetleweight made in 2010/2011, but I had lent it out to some friend going to Robogames and it returned to me... missing a few things.

Without a waterjet, there was no hopes of finishing the parts needed to make it competitive or solid. Time to move on.

Instead I opted to make a joke bot. Lets design a wedge with absolutely insane speed for the sole purpose of box rushing people and maybe decking them into the wall. No way it would win, but it would be extremely entertaining to watch and drive.

I grabbed a pair of 280-sized motors from my spares bin. These motors were surplus back from Florida but had some serious power. First indicator of this were EXTERNAL BRUSH HOUSINGS WITH HUGE CONTACTS. This is of course opposed to the dinky precious metal springs that daintily drape over the commutator. I knew this motor had some serious current carrying capabilities.

And they did. They drew 3 amps no load.

To make the robot a tad more reasonable I mated these motors to the 10:1 gearboxes of the ever popular "1000 RPM Gearmotors". First I had to remove the pinions from the old motors. Then I had to secure them to the new splined shafts of the surplus motors. Historically, we know that a press fit simply isnt enough for these motors since their monstrous torque essentially reams out the pinion if any excessive load is on the shaft (i.e. robot weight). I remedied the problem by complimenting the press with a flux and solder treatment.

With the drive motors finished, I began arranging the parts to develop a chassis design. While a traditional wedge could have worked, I felt it was to boring. Some creative arrangement later turned up an old friend of a robot: the dustpan.

3D printing frames is cheating

By this time, we only had two days left until the event. The only option was to 3D print the frame on the IDC's Dimension 1200es ABS FDM printer. It saved a lot of time on parts machining but it also introduced some headaches of its own along the way.

Robot taking shape! Control electronics were selected to hopefully run the powerful motors. I whipped out my 9 year old Scorpion HX esc for the drives, and pulled an orange RX for the control. It was then I discovered the esc was not enough to handle those surplus motor hacks. Sad day. I suppose we will have to compromise with a Pololu 4.41:1 HP gearmotor.

The wheels were leftover Banebots 40A durometer wheels with a hex bore. I made hubs from some metric hex stock center drilled for the 4mm motor shafts, drilled to hold a 6-32 set screw, and pressed into the BB wheels.

robut.

so far so good

To save some time on printing, I elected to make the dustpan bottom from a thin sheet of garolite. This sheet would be held on the bottom using adhesives.

It was decided that this robot, being made from parts of the robot cake, would refer to its inheritance in some way. Also being a wedge shape, I decided to name it Cake Slice. It would be a part (or slice if you prefer) of Cake, while having a slice-like shape. So brilliant, I know.

Apparently I don't have any finished photos :(

On the Friday evening two hours before our departure, I came home hoping to test drive the robot. Unfortunately I left my transmitter on and was unable to practice with the robot. Its first match would also serve as a driving test.
_______________________________________________________________________________

Game Day

Five hours of Miku later, we arrive at a waffle house and meet Aaron for a 4am meal. From there we venture down the last hour to the Columbia Mall in Bloomsburg to see the wonderful new arena that Jeremy and his parents had put up.

THIS IS IT. jk, test box

builders watching the robot being tested outside the test box

okay, the new arena seriously

omg prizes! best trophies in the US
Being the first builders that morning (we better have after camping out in the parking lot), we picked prime seating in a center row, right above a power outlet.

Aaron's robot ,"Final Exam" without hat

My two robots DDT and Cake Slice. Washers taped to the front to prevent wheelies

delran-bumble:a stepper motor drive robot from out MIT crew

threecoil: an innovative flywheel 4-bar flipper robot

Alex Hone's stuff
After a smooth check-in and drivers meeting, it was time to begin the fray. Leggo robots!
______________________________________________________________________________
DDT vs Slim Pickens
DDT drew the first match of the event against a sheet metal wedge. Slim was based off a viper kit if I recall correctly, and added some extra steel to strengthen the front plate from my horizontal blows. Unfortunately for him, DDT doesnt attack the body as much as he punishes the corners of any robot. DDT ripped and bent up the front wedge enough to high-center Slim and he tapped out.


Cake Slice vs TTI Wedge
Titan Tech Industries is developing a series of modular robot kits for interested persons. In this Bot Blast, they are debuting their wedge kit, which looks like a sloped Weta without an active weapon. By this, I mean a classic cheese wedge shape with UHMW wheel guards bend around the frame. My only concerns were CS's tendency to lift up when he charges the opponent. I would need to get a running start to keep the drive aggressive and the front end down.


What ended up happening was completely unexpected. I actually stripped the gears running around the box. When I opened them up, it appears the boxes were design to have about 1/5 gear face contact. Ugh. So terrible engineering. If you buy these ever, remember to remove some of the spacers on the intermediate stages to get better contact.

DDT vs Speed Bump
Nooooo! I have to fight one of our own :( Speed bump was a low wedge bot made from the donated frame of a fellow bot builder. It was less than an inch tall, and features a gaussian cross-section double wedge. The top was made of a plastic found in 3-ring binders and I was a bit afraid of blasting through it and hitting the lithium battery.


Luckily, there were no fires. The match was also far more difficult than I had imagined. The low angle of the wedge and the flexibility of the binder material made it early impossible to get a bite. My only good shots were the aluminum sides. After a few taps late into the match, Speedy was high-centered and tapped out.

Cake Slice vs Speed Bump
q.q

DDT vs Dust Pandemonium
Now I have to fight the style robot i was originally famous for: the dustpan. Pandemonium was a custom made CF almost-unibody with a meanacing thresher type weapon protruding from the front. He would charge opponents, capture them in the dustpan, and gnaw on their frames with the thresher. As long as I kept my blade out front, I knew I would be able to stay out of the pan and away from the weapon.


When the match began, he charged straight at me figuring he would not be able to maneuver around my blade. I hit straight into the gut of the dustpan and luckily hit a seam. That one hit penetrated into his electronics and gave me the fastest KO at 15 seconds.

Cake Slice vs Guildenstern
Guildenstern is a vertical bar spinner what didn't alarm me at first. But it turns out the bar is asymmetrical, made of steel, and packs quite a punch as seen in its previous matches. For Cake Slice, this would pose a problem  because he could probably easily punch through the front wall and hit my gooey insides.

I added a layer of padding on the inside wall to dampen any blows just in case. I was mainly hoping I could suspend his frame using the dustpan pontoons. This was actually feasible since unlike many other vertical spinners, Guildenstern lacked anti-wedge devices. Either way, all strategies soon went kaput when I lost a drive side early on.



eep.

It appears layered ABS is easily ablated. No throwing hits though


DDT vs Ripto
Ripto is the classic vertical disk design of a talented builder and driver Kyle Singer. He scaled down his beetleweight for this competition to enter this antweight version. He also has gone through thus far undefeated. I knew there would be no mistakes allowed in this match. I could not allow any wasted movement since Kyle could easily capitalize on my gyro dances. I would need to aim for a disabling hit or weapon kill early on.



I think I was lucky my first hit. Taking out the drive made things easy for me in that he couldn't hit me in my instability. After that, it went downhill for him. I was able to sneak in behind him and chop up his o-ring wheels.

DDT vs Ripto (finals)
Same strategy with a little more desperation. This time, it was for the infamous Bot Blast light tree trophy! The hits were far better this time but the result was the same. This version of DDT is an absolute keeper!


Before the finals!

Unhappy bearing trying to escape
Cake Slice did was Cake Slice was supposed to do. But DDT performed flawlessly going 5 wins and 0 losses. The match against Dust Pandemonium also went in as the quickest knockout. Below is a shot of DDT and his spoils of war.

DDT and his spoils of war


Saturday, June 8, 2013

More Guavascooter: Speed and Distance Testing

Today I took a little adventure to visit my good buddy Chris down over at Bolt IO, a new shiny hardware startup incubator located conveniently close to campus (and chinatown!). Needless to say, I'll be visiting often.

This trip, for this time anyway, included the use of the T, so I had to park my scooter somewhere on campus. When I returned, I visited the ME graduation banquet and then returned home for a bit. Later, I left my housing again for a meeting with my PI over in building 35. Nowhere throughout the day did I charge guavascooter. This was a perfect additional data point to hopefully better estimate traversal distance. Here is the route:



A total of 3.5 miles. using the numbers from last post, we expect a battery expenditure of about 1170 mAh per mile. However, today's route only used 3170 mAh, which means approximately 905 mAh were expended per mile. This results in a projected distance of 7.6 miles. Lets say 7 miles just to be safe.

The second test that day was the speed test. I selected the section of road between Amherst Alley and Mass Ave as the trial space. This is a roughly half-mile section of road.

My timer showed I made the trip in approximately 1 minute and 52 seconds. This meant that my scooter maxed out at about 16 miles per hour. That's pretty slow for my tastes considering Razor Wind was estimated to run at 30 miles per hour and Razor Reloaded was to run at ~25. This is not a major issue but if I decide to address it I could change the sprocket ratios or select a new motor.

Thursday, June 6, 2013

Cambridge and Guavascooter

I made it alive to MIT. Today marks one week of life up here. One week of life walking about because my latest scooter  just came today. Discussing the name with Charles, we decided a more fitting name for it was "Guavascooter", as an extension of Melonscooter except using the guava sized SK3 motors.


Without delay, here comes testing.



Tonight I drove this route to MITERS from my temp housing at Tang. Its about 1.68 miles as indicated by the picture above.

This route expended 1967mAh of battery capacity. From a 6900mAh pack, this means I could run this route about three times safely assuming voltage drop does not fall below 21V (ESC cutoff).

Tomorrow, I will determine the max speed of this scooter via time trials down Vassar street. More to post later.

An additional note, I am no longer using the chatparts.ltd esc in Guavascooter. The current ESC is a elifebike esc, which Charles and I will touch on later in the coming weeks. Cheers!

Sunday, May 19, 2013

Gigarazor: The Practical Scooter (Backblogging)

About 5-6 weeks ago, I bought one of these from a fellow Georgia Tech Student.

What is it? That is a fully functional Razor E300 electric scooter. I bought it with the intention of making it even MORE functional.



I was looking at Cambridge and Boston now. A larger campus with more bumps of sorts from historical sidewalks and roads. I was planning some seriously legit mods to Razor Reloaded (another scooter you dont know about) but opted for the premade sturdy steel frame foreseeing a busy time ahead of me for the final few weeks of the semester.

So what was the plan?

  • new motor
  • new batteries
  • proportional control
  • big switch
  • power consumption feedback
  • new controller
  • LEDs everywhere


I had bought a Turnigy Aerodrive SK3 6374-149 awhile back and decided it would be my motor choice.

After removing the old components, a motor mount was fashioned quickly from some 3/8" 7075 plate on the waterjet.




I had initially picked the Jasontroller as my brushless controller because my other graduating friend was selling his old equipment. Here is a unmodified no-load test from a bench top power supply.



The battery was comprised from generous donations from A123. This 8s3p pack shown below was bridged using copper mesh instead of copper braiding. I figured the equivalent copper cross section couldnt be any worse than the 12ga wire exiting the pack.



Completed and bundled. Yes, that is a DE9 female connector being used as a balance plug. It works wonderfully.



By this time I started riding it about campus. It did not have a main switch (on order from RMP) nor did it have a top plate. Regardless, it was hella fun.



Then came the top plate. Attempting to bend polycarbonate with a 40W heatgun...



...failing to bend polycarbonate with a heatgun.

Friday, May 10, 2013

Thrifty Roboting: The Vex Motor Controller 29

The Vex Robotics Motor Controller 29 is quickly becoming the go-to esc for insect weight class robots. It offers a small form-factor single channel esc at a low cost of $10. Very minimal; no LEDs, current protection, or temperature protection.

Vexbox!

The website advertises 8.4V, 4A max. Roboteers know from experience that these little controllers can be pushed much higher. Some report running as high as 14.8V on some rather beefy 370 sized motors. this type of performance does not go without some minor electrical work.

The ambiguity arises in the minor modifications. Those who have never hacked about with analog servo boards may be unfamiliar with these methods. This post will provide a step-by step on how to hack your Vextrollers apart and will also conclude with a component level analysis and bench test to decipher their true capabilities.

Modifications:
Step 1: Deshelling the Casing
The enclosure is two halves of injection molded plastic with some drops of CA applied in the seams. To get the crab meat out, it is as simple as cracking the rather brittle superglue.

Stock OEM Vextroller

Apply a sharp knife to the corner and press in until the blade sits within the groove.

Applying Knife Edge to Vextroller Casing

Wiggle the knife until the casing begins to pry apart. Repeat this process for all four corners until the shell magically pops off.



Step 2: Modifying the Power Leads
The blackbox IO model of the Vextroller looks like this:



To get higher voltage input to the esc, we need to do some splicing. This is what we want in the end:



Cut the PWM male connector off, and separate the white, black, and red wires from each other.

PWM wires separated. Fourth Wire Created from the Leftovers


Then solder another black wire to GND (where there is already a black wire).

Black Wire Added to the Underside of the Board


You should now have 4 wires coming off of three pins. The white (signal) and one black (GND) wire will go to your receiver. The red (V_in) and other black (GND) will go towards your power source.

Done!


Step 3: Add Connectors and Protective Coatings
The last step is to add the appropriate connectors that mate to your devices. It is common to have the female PWM cables for the signal since most hobby receivers use male .1" spaced headers. I typically replace the motor connector with 2mm bullets or simply solder onto the motor ends. The entire esc can be covered in a tube of 3/4" OD heat shrink or potted with a rubberized glue. Completely up to you!

Here is a pair of Vextrollers installed in my Antweight, DDT. I used CA to bind two boards side-by-side and then used breadboard jumpers to connect the V_in and GND together. Because GND is also shared between inputs on the Rx, I only have three wires going to my receiver (expected four) and two wires headed to my power switch. The pair was afterwards wrapped in electrical tape and the leads will be potted in GOOP later.



Congratulations! You now have a simply-elegant insect-class esc. I have created a IGES solid model for the caseless Vextroller for those who wish to integrate it into their CAD. It can be downloaded below:

Download Link for Vextroller 29

NOTE: Since you will likely be using this controller with other components that supply power to your receiver (BEC) it is not necessary to add the fourth wire for the Rx GND. Instead, use the original three wires where V_in and GND are used for mains power and signal is the only wire going to the Rx. The device supplying BEC will provide GND connection. This technique will reduce ground loops, which are a major source of noise. In other words:



Parts Breakdown:
Here I have pictures of the top and bottom layout of the board. It can be seen there are some SMT resistors, a tantalum capacitor and some other devices. The main distinguishable components are listed below with datasheet if available.

Top of the Vex Robotics Motor Controller 29

Bottom of the Vex Robotics Motor Controller 29



  • Microcontroller:          PIC12F615
  • Gate Drivers:              301(?)
  • Half-Bridges:              FDS4935BZ (Fairchild), IRF8313PbF (International Rectifier)
  • Voltage Regulator:      2x(?)

Aaronbot3000 reports the voltage regulator is linear and outputs 4.5V

Based on these components, the Vextroller should be able to handle 30V and 6.9A continuous. these values are subject to change as more is learned about the gate driver capability and voltage regulator capability.

Performance:
Vextrollers will be tested for their maximum voltage ratings as well as their maximum current ratings through a no-load incremental voltage test and a constant voltage incremental load test. From these experiments we expect to detonate two Vextrollers but hope to determine a maximum wattage rating for robot use.

Known Motor-Voltage-Weight Class Pairings:
Pololu 50:1 - 11.1V - Antweight
Fingertech Silver Spark (11's, 22's, etc...) - 14.8V - Antweight
Fingertech Silver Spark (22's and 33's) - 14.8V - Beetleweight
Kitbots 1000 RPM Motor - 14.8V - Beetleweight

If you use the Vextroller and would like to share your setup, please let me know so I can add yours to the list of successful pairings! Thanks!