00:00
222
I took apart a bunch of ink jet printers to experiment with. This is my first attempt at doing PID motor control using an Arduino and the Adafruit motor controller.

Credits

Likes

See all likes
  • Dan Thompson 3 years ago
    Very cool Josh. I just started pulling apart an old printer last weekend. Now I know what parts to hang on to! Nice blog too. Very informative.

    Dan.
  • Josh Kopel 3 years ago
    Thanks Dan!
    I have discovered that (at least in my neighborhood) printers happen. I see them on the side of the road constantly. If you have a good use for the parts they are like found money.
    Besides, taking things apart is fun in and of its self.
  •  
  • Bill Dreschel 3 years ago
    Josh,
    Very cool. Are you thinking miniature CNC? How much bandwidth do you have left in the Arduino, could you watch 2 more encoders and control 2 more motors???
    Bill
  • Josh Kopel 3 years ago
    Bill,
    I am working on some basic stuff to teach in my upcoming Arduino class. As for future plans I think we will just have to wait and see...
  •  
  • Dominic Muren 3 years ago
    Josh,
    This looks pretty awesome. I've often taken these printers apart and fantasized about using the steppers in them. This looks like you've gotten out of using steppers by using the optical encoders.

    As for CNC, why not try something like a CNC laser burner using a dvd burner diode. You could control the laser back and forth, and then move a table or tray using the radial wheel. That would allow you to do etching on a variety of materials, and you wouldn't have to worry about being able to exert force with the motors which you would have to with a mechanical cnc.
  •  
  • Josh Kopel 3 years ago
    Hey Dom!

    The steppers are pretty easy to control with an Arduino as well.
    I don't have a video of it here, but there is one in my flickr stream (flickr.com/photos/mrigneous/2958308791/).

    I have been thinking about CNC for a while, but as you say, I doubt these motors would give me enough torque to do much.

    I like the idea of DIY laser etching, but I will hold out until I can afford a CO2 machine. Even the blue-ray diodes don't really have enough power output to do much, and they are fairly difficult to drive at high outputs without destroying them.
  •  
  • Andrew Milne 1 year ago
    btw PID = Proportional Integral Derivative

    cheers
    a
  •  
  • simon 9 months ago
    hi there
    this is great fun!
    i know its a while since you posted this but i have a question if you dont mind.
    would this work out of the box or did you do any programming?
    thanks
    simon
  •  
  • simon 9 months ago
    and could you put a quadrature encoder instead of the pot to control many rotations?
    thanks
  •  
  • Josh Kopel 9 months ago
    @simon

    The short answer is that this uses a quadrature encoded for sensing the wheel position. The pot is just for input to indicate a relative amount to turn.

    I have a pretty complete write up on my blog here abigmagnet.blogspot.com/search/label/PID

    Things have progressed in the 2 years since I did this, and there are probably better Arduino PID libraries now. You should look into those instead of the code I hacked together.
  •  
This conversation is missing your voice. Take five seconds to join Vimeo or log in.

Advertisement

About this video

FLV
00:03:42
  • 320x240, 16.31MB
  • Uploaded Sat October 25, 2008
  • Please join or log in to download
1 Related collection

Statistics

Date Plays Comments
Totals 23.4K 11 10
Feb 15th 5 0 0
Feb 14th 7 0 0
Feb 13th 13 0 0
Feb 12th 15 0 0
Feb 11th 22 0 0
Feb 10th 14 0 0
Feb 9th 27 0 0

Related lessons from Vimeo Video School

Check out these lessons to learn more about how you can make videos like this one!