PDA

View Full Version : Want to make a USB perfume mixer



determinedperson
04-26-2008, 11:58 AM
I want to make a perfume mixing machine connected by USB. Do any of you have any idea how I would start making this using robotics. I am a complete beginner in robotics.

Adrenalynn
04-26-2008, 12:11 PM
Welcome, Determined - determination is certainly key to hobby robotics, IMHO. ;)

Have you seen this? : http://www.lynxmotion.com/images/html/proj054.htm

Trossen has the parts here to build an upgraded version of that arm, as well as a different arm (the one I have) - the arm part is easy. The programming can be a gotcha. Do you have any experience in programming?

metaform3d
04-26-2008, 04:51 PM
Mainly it depends on how accurate the fluid measurements have to be. I've been working on an application of robotic fluid flow (bartending) which requires accuracy of about +/- 3 ml. There seem to be several common approaches:

1) Gravity feed. You put all your agents up high on a rack and control the flow with values. I've had success using a servo to control a three-way stopcock -- even a relatively low-torque servo can turn the valve. The problem with this is that the only way you have to gage flow is time, which may not be accurate enough.

2) Syringe. The method I use is a 60ml syringe lashed to a custom-built linear actuator. You can also buy linear actuators that run on standard servo pulses. The stopcock then directs flow from the source into the syringe, and in the other position squirts it into the glass. You also need a way to change sources, which in my case is a lazy susan driven by a servo hacked for continuous rotation.

3) Pipette. If you need medical accuracy you could replace the syringe with an electronic pipette. I think there are some that can be controlled by USB, although that will not be cheap. You would then just need to build an arm of the sort Adrenalynn linked to above to position it.

Adrenalynn
04-26-2008, 05:06 PM
Much better notions there, Meta. I think I was only just forming the thoughts for vacuum pipette and arm control for mixing. You know - I'm not sure that still won't work for the low-volume-high accuracy stuff. I'm going to think that through a bit more. I think a vacuum pipette could be hand-hacked together without all that much work.

determinedperson
04-26-2008, 06:19 PM
Yes I have some experience in Java. I am final year Internet Computing student.

determinedperson
04-26-2008, 06:21 PM
Thanks

metaform3d
04-27-2008, 12:35 AM
Adrenalynn: I would be very interested to see how you would hack a pipette. My e-bay syringe method was about the best I could think of but has serious precision problems. Not to mention it's noisy and slow.

determinedperson: Good luck! And make sure to show us what you come up with.

Adrenalynn
04-27-2008, 12:51 AM
I'm still just thinking here, Meta. But the partial pressure of the tube should be accurately measurable digitally.

I'm working on some code here, trying to finish my laser-pointer-follower tonight. (yes, Matt, video is uploaded showing it primitively working :P) Let me dial this code in, and then I'll turn my attention to that opportunity. It is definitely an interesting conundrum!

Matt
04-27-2008, 03:05 PM
What about using ink jet printer heads for small mixture samplings?

jdolecki
04-28-2008, 08:23 AM
You want to look at a pump called "Peristaltic" its kind of like the hospital IV ones.

The benfit is that the fluid never contactis the pump and is always inside the tubing
so its can never set contaminated and its very accurate.

You could even mak one with a small geared motor.

I dont know if a hobby type of servo could turn it.

determinedperson
04-30-2008, 05:08 PM
Would you recommend a syringe with a needle on the end to improve accuracy?

metaform3d
04-30-2008, 08:28 PM
I think accuracy is going to depend most on how precisely you can drive the piston. Get an actuator with enough linear precision to meter out the measurements you need, and then attach it to the piston in a way that doesn't have much slop. This is tricky because most syringes are plastic and will warp if you don't attach to them evenly and securely.

The way a needle could help is that it has a smaller volume. This means that there will be less residue from previous uses, which is probably a concern for you, and more importantly there will be a smaller air bubble. Since gas is compressible the volume of air in the syringe can affect accuracy.

determinedperson
04-30-2008, 09:08 PM
Ok so I'll have to squeeze all air out of the syringes before using them. But have you any idea of what kind of gears and screwy things I should be using? I would like the motor to be able to drive the syringe piston down very slowly while the motor is moving in very fast, measurable rotations. I am a complete beginner in robotics so I don't know what kinds of gears and screwy things are available.

I don't know what a linear actuator is, but I'm thinking of a motor attached to a small gear who's rotations are counted, and then combined with a bigger gear and a screwy thing to slowly drive the syringe piston down. Can you think of the cheapest suitable motor/optical counting thingy/gears/screwy thing combination that I could buy? I mean actual products and brand names which I can order online.

Or is this way of doing it too expensive or not optimal?

Regards, d

jdolecki
05-01-2008, 07:22 AM
I guess i should ask about tthe volme of perfume your mixing.

Is it a couple of cc you want to dispense or are you making gallons at a time.

determinedperson
05-01-2008, 10:59 AM
I guess i should ask about tthe volme of perfume your mixing.

Is it a couple of cc you want to dispense or are you making gallons at a time.

Tiny amounts only. Regards, d

Matt
05-01-2008, 10:00 PM
I'd take a look at the Firgelli actuators:
http://www.trossenrobotics.com/linear-actuators.aspx

OR

the mechanical gear and sprocket sets at servo city:
http://www.servocity.com/html/gears___sprockets.html

I haven't shot heroin in years, so I can't advise on syringes :p

determinedperson
05-02-2008, 12:17 AM
Cool, but can the quadrature encoder such as http://www.trossenrobotics.com/store/p/5112-Quadrature-Motor-Encoder-w-Cable.aspx be attached to any motor, including the Firgelli/any linear actuators? Do you just have to stick it on for it to work?

Matt
05-02-2008, 09:25 AM
No you can't just stick it on for it to work :) If only life were that easy. That is an encoder for a DC motor. It won't work on a linear actuator. If you want a linear actuator with an integrated encoder you would be looking at something like this:
http://www.usdigital.com/products/pe/

This firgelli linear actuator (http://www.trossenrobotics.com/store/p/5310-L12-100mm-stroke-Miniature-Actuator.aspx) actually takes a PWM signal so you don't need an encoder, the PWM signal tells it what position to go to. (but this is not going to be very accurate.)

You send it a PWM signal by using a servo controller (http://www.trossenrobotics.com/store/c/2665-Servo-Controllers.aspx).

If you are talking about trying to control really minute amounts of liquid, there isn't much at the hobby level that is going to do what you need it to. The reason stuff is cheap is that it doesn't have laboratory accuracy or resolution.

Dave
05-02-2008, 11:40 AM
Cool, but can the quadrature encoder such as http://www.trossenrobotics.com/store/p/5112-Quadrature-Motor-Encoder-w-Cable.aspx be attached to any motor, including the Firgelli/any linear actuators? Do you just have to stick it on for it to work?

You don't need an encoder with these actuators, conveniently enough. They have built-in potentiometers, which you can use for positional feedback. Here's some pin-out info, from the spec sheets:

L12 series
http://www.trossenrobotics.com/images/forums/firgelli-L12-pins.jpg



PQ Series
http://www.trossenrobotics.com/images/forums/firgelli-PQ-pins.jpg

determinedperson
05-02-2008, 01:12 PM
You don't need an encoder with these actuators, conveniently enough. They have built-in potentiometers, which you can use for positional feedback. Here's some pin-out info, from the spec sheets:



Ok, cool, but is there a USB "multiple voltage reader" board that I can buy so I can send these values (from each actuator) back to the computer?

Would this method be as accurate as using a quadrature encoder attached to a DC motor, with a small gear, running a larger gear, with a centrally attached small gear, running a larger gear again, with a centrally attached small gear again, and so on if necessary, eventually running a gear rack so that you get very slow linear motion with many rotations? If this method happens to be the most accurate method, is there a USB "multiple encoder reader" I can buy, to send these numbers to the computer through a single USB port?

Regards,
d

determinedperson
05-03-2008, 02:32 PM
Would I need to use a servo control board like this one http://www.trossenrobotics.com/parallax-usb-servo-controller.aspx for reading the positional feedback voltages (as well as controlling the actuators)? Would this read those voltages directly and correctly and send it back to the computer? Or would I need anything else to convert the voltages into something the servo controller can read? Or do I just use input 4 (white) on the actuator from the servo controller and this will do both actuating and positional feedback control all in one? Or is there a better way? Or is this the wrong component completely?

Regards, d

determinedperson
05-03-2008, 02:59 PM
Whoa I just read the price tag on the Firgelli actuators, and it's too expensive, as I want to buy at least, say 10 of them, one for each ingredient! I want to use DC motors, maybe the Solarbotics $5.75 ones, with gears and a gear rack as I think it might be cheaper. Does anyone know of a multiple encoder reader for the output of many quatradure encoders to be inputted into the computer via USB?

determinedperson
05-03-2008, 09:57 PM
Ok I've decided to use DC motors (with gears and a gear rack each), but what is the best method of controlling DC motor SPEED? The reason why I ask is that I would love to be able to control motor speed rather than activation time so that I could create an instance fragrance machine rather than waiting for all the ingredients to mix first.

I could use the output of a quadrature encoder to measure the existing speed, and then use my computer program to adjust the motor's speed to the required amount, but what is the best way to control a motor's speed to a constant value, voltage? current? or variable-timed, or variable-length, pulses? I mean purely in terms of accuracy.

Regards, d

determinedperson
05-05-2008, 02:38 AM
I'm going for pulse-width variation to control speed. Does anybody know the cheapest way to control 16 channels of variable pulse-width to 16 DC motors? Would I be able to just use my computer to generate the PWM to the outputs of a plain USB I/O board like this one http://www.trossenrobotics.com/store/p/3201-InterfaceKit-0-16-16.aspx, or do I have to use a dedicated external "PWM hardware" for generating the pulses? Cheers, d

Alex
05-05-2008, 10:26 AM
Whoa I just read the price tag on the Firgelli actuators, and it's too expensive, as I want to buy at least, say 10 of them, one for each ingredient!This sort of project is going to be a bit pricey, there really is no way around that. But I agree that the linear actuator route is a little much.

Maybe I'm missing an important aspect of your system though, but if you use DC motors, how do you plan on controlling your accuracy? DC motors are not really made for a precise application like yours. If you do decide to go the DC motor route, in the end after you add all of the parts you need to build the system, I would think that this would be a fairly complicated system, but I'm not an EE or a ME guy, mostly software.


Side note though, have you taken a look at the PhidgetStepper motor controller (http://www.trossenrobotics.com/phidgetstepper-unipolar-usb-4-motor-stepper-controller.aspx)? This might be right up your alley, but I'm not too sure on how expensive/inexpensive unipolar motors are..

Matt
05-05-2008, 10:51 AM
I'm going for pulse-width variation to control speed. Does anybody know the cheapest way to control 16 channels of variable pulse-width to 16 DC motors? Would I be able to just use my computer to generate the PWM to the outputs of a plain USB I/O board like this one http://www.trossenrobotics.com/store/p/3201-InterfaceKit-0-16-16.aspx, or do I have to use a dedicated external "PWM hardware" for generating the pulses? Cheers, d

The SSC-32 (http://www.trossenrobotics.com/store/p/3191-SSC-32-Servo-Controller.aspx) is what you want to create many PWM signals cheaply. Have you watched the How to control a DC motor from your computer (http://www.youtube.com/watch?v=X4stWDy-bPA) tutorial yet.

I also think Alex has a smart suggestion. Using stepper motors gives you the ability to output accuracy in your motor control. I really think trying to use encoders on DC motors is the wrong way to go on this. I don't see creating all that mechanics and reading in from 16 encoders working very well or being cheap.

Adrenalynn
05-05-2008, 11:06 AM
The only way I could think of to increase the accuracy would be to put really big gears with really fine teeth on them. But you're still going to be limited in the reproducibility department.

I'm totally onboard that it's just not the right application.

jdolecki
05-05-2008, 12:57 PM
What about using a Burette?

They measure out in cc's and all you would have to do is use a rc servo to open and close the valve. Your ammount dispensed would be bases on how long you kept the valve open. You will have to search around for the best price but stores like American Science and surplus here in chicago has them used.

determinedperson
05-05-2008, 01:58 PM
Yes the stepper motor thing looks like a great idea! No position monitoring needed because the stepper motor takes care of that! I didn't know stepper motors existed!

Now I still have to check price to make sure it's the cheapest method, if not I will reconsider.

I have to confess I was looking forward to programming my computer to generate its own PWM for motors and using those optical quadrature encoders (I actually bought 6 from eBay for only 14=$28), but oh well, not needed.

determinedperson
05-05-2008, 02:11 PM
Yeah, jdolecki, sounds like a good idea. Only problem is I'm currently thinking of an instant fragrance machine where I control the speed of delivery and use a fan to blow the fragrance out in real time. BUT my original idea was of a perfume-mixing machine so I'll check with my colleague which way we want to go, with all costs also considered etc. But your way sounds like the cheapest way of doing the first idea :rolleyes:

determinedperson
05-05-2008, 02:17 PM
Oops I said sounds cheapest, but I couldn't find any cheap burettes upon a quick search. I'll look again if I go that route.

Adrenalynn
05-05-2008, 02:42 PM
http://en.wikipedia.org/wiki/ISmell

I have an "I Smell" T-shirt around here from the 90's...

determinedperson
05-05-2008, 02:50 PM
I just bought 10 stepper motors from eBay for £29.99=$60 + p&p £12.00 :happy:. Then I'll probably buy 3-4 of those phidgets 4-way stepper motor controllers and a cheap USB hub I in an online store for £6.00 ($12.00) :happy:.

To answer somebody's question about accuracy, as long as there isn't too much friction, I can use a tiny gear on the motor driving a large gear with a centrally attached small gear to drive another large gear with another centrally attached small gear and so on, if necessary, with the last small gear driving a linear gear rack piece, in order to reduce the transmittion of many rotations of the motor to a very tiny linear motion, to make sub-millimetre accuracy if necessary. Am worried about friction, though, so I need to try to make every part move as smoothly as possible, and may need advice for this.

determinedperson
05-05-2008, 03:05 PM
http://en.wikipedia.org/wiki/ISmell

I have an "I Smell" T-shirt around here from the 90's...

Thanks for this!! Looks like their system has 128 odors! I have a feeling their system simply sprays the ingredients straight into the air! This is great food for thought, it absolutely craps all over my machine idea.

I might have to revert to an actual perfume-making machine for the purposes of originality. But their product didn't even take off, it never caught on.

Thanks and regards, d

Dave
05-05-2008, 03:49 PM
I just bought 10 stepper motors from eBay for 29.99=$60 + p&p 12.00 :happy:. Then I'll probably buy 3-4 of those phidgets 4-way stepper motor controllers and a cheap USB hub I in an online store for 6.00 ($12.00) :happy:.

I realize you already bought them, so I may be a little late bringing this up, but did you get unipolar or bipolar stepper motors? The Phidget stepper controller only works with unipolar motors.


You will have to search around for the best price but stores like American Science and surplus here in chicago has them used.

Best store ever. I live a few miles from the Chicago location, and I can't imagine living in a part of the world where I didn't have access to such a wonderful source of useful junk.