Plotter - 3 servos

Arduino sends one byte to confirm that it is ready for next position.

Full arduino code is here: http://ezio.ovh.org/pliki/arm plotter v2.rar

hope this helps

if (inProgress==true && servo1.read()==s1 && servo2.read()==s2 && servo3.read()==s3)
{
Serial.print(1,BYTE);
inProgress=false;
}

appearance of the arm -
hmm well this is not very useful project. And this is only proof of concept. Servos are not very precise.

I thought servo.read() only returned what angle you'd set it to - the servo doesn't have any way of returning it's actual physical position. Or am I wrong?

Andrew

I'm confused as well. Can you kindly explain again from where do you get the measurement of the servo angle...when it doesn't have any feedback.
I really appreciate your help. It's essential for me to understand this, as I'm doing a somewhat similar project, and it's driving me nuts!

your link doesnt work
mainly cos u got spaces in "arm plotter v2.rar" u cant use spaces in url's
most if not all browsers hate it.
"arm_plotter_v2.rar" would be a better way to go :wink:

I thought servo.read() only returned what angle you'd set it to - the servo doesn't have any way of returning it's actual physical position. Or am I wrong?

Andrew

yes you are right. I've used servo.read() to not create other variables and save some ram. There is no feedback form servos. The program sends position and then wait for a moment. Servos are quite fast and the program sends values which are +-1 degree compare to the last position so it takes very small amount of time to set the servos on the right position.

I'm confused as well. Can you kindly explain again from where do you get the measurement of the servo angle...when it doesn't have any feedback.

for calibration I've measured angles manually.

new link: http://www.ezio.ovh.org/pliki/arm_plotter_v2.rar

P.S.
you can have the feedback from servos if you connect potentiometer from servo to the arduino's analog pin, but I haven't tried this.

Thank you very much. Your reply was most helpful.
I guess I'll implement it without feedback the way you did.

I'll be constructing, programming and so in the next couple of weeks.
Help me when I run into problems :wink: ?

Thanks again for replying (and for the link).

I've started new project.
This time it is a xy table, moved by steppers motors. It is working but I have to write better software.

Really impressive!!!!

Congratulations!

What is that you're holding the pen with? I'm working on a similar plotter and don't like my current pen holder.

the "arm" is dremelholder:
http://www.duanesplanes.com.au/images/P/2222a.jpg

and the part on the end of "arm" - this is a tool which has came with bed from IKEA ::slight_smile:

Thanks.

hello again.
my xy table works !
it is slow but it works.

and the pc software:

this time PC sends only x , y coordinates and arduino does all calculations.

Nice take on a plotter!

Hey eziosoft,
i really like your projects and your quick style to do prototypes!

Your servo-arm-plotter is very interesting for me, because I started a similar project. Im not so good in all this programming stuff, but i try my best.

I have a important question and hope you can find time and a way to help me.

Im trying to create some simple graphic in processing (XY coordinates) and want to send them to an arduino which controls a simple 3-servo-arm, like yours.

I just don't see a way, how to convert the XY data to the needed ServoAngle data.

How did you do it???

Thats really good, is that the same software as the previous project?

I made a 2 axis plotter from the chassis of a broken Roland plotter, just used the motors and mechanism, but my software is very crude. ( it was my first attempt at programming )

I have two steppers, and a pen up solenoid ( to actually move a nozzle up - its a machine for doming with urethane.)

I can set a pattern in the arduino and let it run, but I have to reprogram each time I have to dome another shape label.
It would be nice to have it connected to a pc and just call up the right shape from a file.

Thanks Eziosoft for sharing your project. I am trying to put together something very similar where precision is critical. However I am a complete newbie. I'll appreciate if anyone can provide brief feedback on the following:

  1. I plan to use three Hitec HS55 servos for the arms and the pen. Is this a good enough servo for high precision?
  2. Is the Arduino Uno the right chip for this project?
  3. Do you know if there is any code similar to Ezisoft's in C#? I am more familiar with C# and hope to build upon it for further functionality.

Will appreciate your feedback.

Thanks

  1. I plan to use three Hitec HS55 servos for the arms and the pen. Is this a good enough servo for high precision?

Probably not. Hobby servos are not precision devices.

Probably not. Hobby servos are not precision devices.

Thanks for the feedback. To give you an idea, I am trying to make sure my plotter writes reasonably well on college-ruled-lines paper (7mm spacing). The two arms are 6" long each. Can you please suggest a servo (reasonably priced, may be <$30) that would do this job and work with the Arduino Uno? The servo rotation would have to be 180 deg.

Thanks.

Below are two inexpensive servos you could use for initial testing. Metal geared servos would probably have less flex and gear slop than the plastic based ones. If you are expecting to make a simple plotter using hobby servos that write characters within a 7mm spacing, it will probably be much more difficult than you realize.