Hi All. I hope some of you find this interesting. I'm not putting this here to win anything because I don't think it will. I think it's fascinating but I'm not sure anyone else will. I hope this isn't too blabby.
What It Is
- A Controller for a Classified Fuel Burner
- Phidget 4-Servo Controller
- 2 HiTec HS645 Servos (the most powerful I could use with standard wiring)
- Banebots 45A DC Motor Controller
- Measurement Computing USB-TC (USB Temperature Measurement Interface)
- Omega J Type Thermistor
- E-Flite Brushless Motor Controller (possibly part of failed experiment)
- E-Flite 370 Outrunner Brushless Motor (possibly part of failed experiment)
- Scavenged DC Motor (possibly part of failed experiment)
Current State Of Affairs
- Microsoft C#
- Version 2 of the software controls the devices but not much more.
- I'm trying to develop a blower to replace the experimental air supply - a shop vac. I'm pondering the use of a cordless leaf blower.
- Waiting to see if Burner can be made stable.
- We're currently finding 1/2 turn fuel valves that can be actuated without adding gears to the servos.
A brilliant friend of mine has invented a fuel burner that is a very cool idea. It's so simple and (potentially) effective that I'm sworn to secrecy! Investors are being rounded up and patents are currently being worked on. When I have the freedom to fill everyone in then I'll tell you all about it.
When I was first told the (especially classified) thing that this burner would do I said it was impossible. When I first saw it - just sitting on the bench and not running - I basically said "I don't get it" and asked "how does this thing work?" When it was explained to me it I was suddenly very excited. In that same conversation I said "I think you'll need a control system and I may be able to make one for you." I was sure I could somehow do it. He said it didn't need one but has since changed his mind.
It is thought that this burner will be scaled up to a variety of sizes and I'm hoping to build a controller that will work for all of them without tuning.
Poking Around In the Dark
I'm a software guy with a lot of experience building all kinds of software - none of it involving AI, though. I've never interfaced with anything in the real world from my software until now.
"Stepper motor - what's a stepper motor?" "Servo - they use those in R/C airplanes but, really, I have no idea how." "Temperature measurement - can I do that via USB?" "Can I control all this stuff via USB so I can use my laptop?"
My first crack at things was to buy a stepper motor controller. I hadn't found Trossen yet and bought a controller from a guy in Australia. It arrived but, although it worked fine, the supporting COM object came with hoardes of undocumented methods, the documentation was minimal and the person wasn't even remotely helpful via email. I wasn't happy. I did manage to get a motor out of an old printer and it worked but was way to wimpy to turn a fuel valve. (I should note that the controller was built for a 5-wire motor but I was using a 4-wire motor. A 5-wire can be faked with 4 resistors but this may have sapped a lot of the strength of the motor. I don't really know, though) When I included the gearing from the printer it barely had enough poop to do the job. If it doesn't make every move as directed then I can't use it because there is then no way to reliably know where it currently is.
I then started looking into servos and managed to find Trossen. As you've probably all experienced, the interface objects are nice, the documentation is great and the people there are responsive and helpful - very nice!
The Blower Fiasco
My friend has been using the exhaling part of a shop vac for the blower and built a door over the suction side to control the flow. The shop vac is big, oud and I don't feel that it is accurate. I can (and may have to) use a servo to control the door on the vacuum side but I think I have a better idea - I purchased the Banebots DC motor controller from Trossen with the intent of using it on a blower to control the air.
I first connected it to a DC motor I scavenged from a printer, bought an R/C prop and put them together. It barely threw enough air to keep one cool on a warm day so that didn't work.
I then went to an R/C shop and bought a little E-Flite brushless motor/controller combo and an appropriate prop. (no, this doesn't use the Banebots controller) Connected to a couple scavenged 12V UPS batteries in parallel (believe it or not - one battery doesn't supply enough current!) this thing kicks out a LOT of air. For such a teeny little electric motor it's astounding! Having no idea what I'm doing, I built a nice shroud out of furnace duct to direct air from a 9" prop into a 2.5" hose. It didn't work work at all. The air ended up recirculating around the prop because of back pressure. The whisp of air coming out the 2.5" end actually decreased as the prop speed increased!
Then, I researched ducted fans, cut down the prop and changed my shroud to be much closer to the recommended reductions. It works much better and likely supplies enough air, but, only without back pressure. A little experimenting by putting my hand near the exit showed that this wasn't going to work either.
Then I researched blowers. It seems that I need something like a centrifugal air pump which supplies less volume but is far more capable of dealing with back pressures. Then it dawned on me - a leafblower. Leaf blowers likely operate fine with some back pressure. I can get an 18v cordless Black and Decker one for about the price of the E-Flite motor/controller combo. I hope that I can replace the NiCad battery pack with power from the Banebots controller and it will serve as a blower - at least on our small experimental burners. We'll see.
Software Version 1
My first version of software used the stepper motor and a temperature sensor (not via Trossen - but I hadn't found them yet!). It had the capability to scan or do manual control. It kept a graph of the burner temperature above a horizontal scroll bar showing the device temperature for the fuel setting - clearly showing the sweet spot. I took it to the burner "lab", hooked it up and it worked just dandy.
I hadn't build any smarts into it yet but maybe that's a good thing. The burner itself works great but it's operation isn't continuous - it isn't "stable". I expected that the ideal fuel setting could be arrived at by any means so the AI portion of my software could poke around to find the sweet spot. To my dismay, the burner required putting in too much fuel and then lowering it to get to the sweet spot. We could not get there by just turning up the fuel. This completely threw my confidence that I could build an application that provided anything more interesting than manual control.
Software Version 2 - The Current One
It doesn't do much yet but it can control the 2 servos, the DC motor and hopefully a useful interface. One servo is used for the fuel rate and the DC motor control will eventually (hopefully?) control the air. The other servo is the master fuel valve and is basically a fuel cutoff. The graph is now 2D (air and fuel) and I will have to use color to show the sweet spot. Maybe a blue to red gradient.
The rest depends on the burner stability. If it can be made stable then I can go for my original idea of some AI to make constant corrections and find the sweet spot. If it can't be made stable then this will be a (relatively boring) programmable controller. If that's the case then we'll end up having to find an ideal startup sequence for each size of burner and the steps will likely be kept in something like an XML config file. Boring but effective. I hope that I end up building it to to do both but I'll only do AI if it seems worthwhile.
This Is All So Cool!
I can't say that this project has been a success so-far. It may get there but there are too many things up in the air right now. What I can say is that the journey has been well worth it. The possiblities of things I now see that I can make is endless. There are just so many cool devices to be made with all this stuff. I hope you're all finding this as fun as I am!