@Knightrous - Thank you! Welcome to the forum i guess. And yes, i will make the code public, i think that is the essence of the Arduino. Fell free to ask if something seems weird.
@marcuschan - Thank you! And yes, future development is planned. The pen was mounted just to visually show what it can do.
@tinkermonkey - Thank you! The code is posted now.
@focalist - Thank you! Of course i know that project, at first i was simply amazed because i thought that the marker was hanging in the air with a magnetic field. Congratulations. After i've looked closer (and listen your comments) i've figured out what's the deal. Very nice, and very precise. And a very nice name too To the chase now: 1. "How are you compensating for the difference in distances radially (in that a movement toward the center is "smaller" than a movement further away)?" This i don't understand. If you can explain further please, i will be happy to reply.
2. It's so nice that your system is in a plane (like xyz plane, sorry for the english) so you only have x and y to mess with. That simplifies the process. I was thinking about stretching of the wire, but you said that you use fishing line, so most probably that isn't a problem. 3. Yes, mine is faster, but with some costs. I can actually decrease the speed, and that makes it more accurate, but.. i have a new problem: servo jitter. And that makes the drawing very not cool. The current speed is a compromise between speed and accuracy. For the future i have in plan a dedicated servo-controller. 4. Bouncy'ness . I was thinking. What about my quick sketch (the second attachment)? 5. Thank you again. I worked very hard on this.
So the code is now public. Notes: I admit that the code is improvable. I have changed my mind several times during the design, and that is reflected in the code. Special thanks needed for this code go to: mzavatsky and jarkman especially.
Hello everyone. I have just finished my latest project, the biggest I've done so far and now i want to share (brag about). So... I am talking about my own delta robot. For those who don't know what a delta is, i will briefly explain: it's a parallel robot (because the lower arms use parallelograms to maintain the lower platform parallel to the upper platform) very fast, very precise (the concept is, mine is not that good) and a bit complicated (mathematically speaking) at first site. I have so many things to say about this project, it took me 7 months to complete (working from time to time).
Components (i have attached a picture with the (almost) final rig). - 3 black arms for support - made of wood, painted - an upper platform (the light-brown thing from the top) - made of wood - 3 standard servos (towerPro 946r) places on their sides (pivot point facing exterior) mounted 120 degrees apart. - upper arms - made of plexiglas - connected to servo throw a plastic arm with 2 connection points (one on the servo pivot point and another 2.5 cm appart) - in the exterior point of the upper arm i have 2 spacers (2 pieces of carbon-fiber tube) connected to articulated joints (2 pieces). One parallelogram (out of 3) is formed with 2 spacers, 4 articulated joints (2 up, 2 down), 2 carbon-fiber tubes and, in the lower part, where the joints meet the lower platform, there is another "spacer". All of this is called lower arm. - the lower platform - made of plexiglas. It's an equilateral triangle with some other pieces of plexiglas glued, for forming a mounting point for the lower arms. - in the bottom part we have a working area (the light-brown thing from the top), connected to the support arms with a diameter of 40cm, made of wood - the controller: made of plexiglas, it consists of an 20x4 serial lcd, an Arduino Mega2560, and a pcb that contains an infrared receiver, 2 rgb leds and a button.
The robot has 2 main states: - a manual state: this state allows for independent increments of the xyz coordinates.
Delta Robot - Manual mode
- a path following state: this state allows the robot to follow a predefined path. I have selected just a few paths and a few different modes of operation.
1. External power supply - home made stabilized 5.2 v source. 2. Servo wiring. The servo connections are: servo + to power supply +, servo - to power supply -, signal to digital (pwm if makes any difference) pin of arduino. The exact pins are 5, 6 and 7. And yes, the grounds are conected. 3. The code. I present a simplified version.
#include <Servo.h> #include <Servo.h>
Servo myservo1; Servo myservo2; Servo myservo3;
int servoCalibrationPos1 = 1100; int servoCalibrationPos2 = 1100; int servoCalibrationPos3 = 1100;
The more complex version only has some Serial2.print for debugging. I use a 20x4 lcd screen. The serial writing really makes the servos useless. They jitter allot. The only mod in the code is in the loop where I have some
and the Serial2.begin(9600), the max baud rate. But the problem appears event without the serial.write. Is there something that I can do? I even tried some toroidal iron cores wrapped around the servo cables. Doesn't work...
Hello. I have an Arduino MEGA2560, and 3 servo's connected to it. It jitters... allot..
Details: - Tower Pro MG-946R servos. - standard. - the servos are powered from an external source. - the library used is <Servo.h> the one from the Arduino IDE. - there is no serial communication (nothing is sent via serial to produce interrupts), just plain old initialization and writeMicroseconds. - i have googled the problem allot before asking, please help me, I couldn't find anything useful.