That's pretty cool, you have to be quite proud of your efforts.
Tried making it run faster with acceleration on the motor speeds yet?
Ive been browsing this forum for quite some time, you guys have given me quite a bit of insight in my first CNC engraver build. After building my engraver I wanted to build a 6 axis robot. here is a video showing my build. I built the robot from scratch printing the parts on my davinci printer and parts purchased from Amazon. I wrote my own programming software in python and wrote an arduino sketch to control and program it. I posted all the 3D models and software I wrote on github for free under GNU license. hope some people can have some fun with this. https://github.com/Chris-Annin/Annin-Robot-Project
<a href="https://github.com/Chris-Annin/Annin-Robot-Project" data-cke-saved-href="https://github.com/Chris-Annin/Annin-Robot-Project">
Similar Threads:
- Need Help!- Calculations to find stepper motor for 5th axis. What motor?
- Need Help!- 3 axis CNC controller kit 3 NEMA17 78 oz-in stepper motor + 3 axis CNC board
- 3 Axis CNC Router Stepper Motor Driver Kit 2.8A NEMA 23 56x56x57mm Motor 24V PSU
- How can I coupling a stepper motor axis directly to other axis?
That's pretty cool, you have to be quite proud of your efforts.
Tried making it run faster with acceleration on the motor speeds yet?
Thank you, If I were to program it using moves that only use J1, J2, J4 or J6 it can move really quick. Keep in mind I have the arduino board programmed to make sure all the joints finish their moves at the same time so its a fluent motion with all joints moving together - other wise the robot for example might rotate really fast to a position using J1 and J2 and then it might take 5 more seconds while J3 or J5 finish up their moves. J3 and J5 are geared very low given the amount of torque needed and given the low budget gears I was able to find on amazon and ebay (the entire robot was designed around low cost easy to acquire parts). So J3 and J5 really slow the robot down quite a bit since all the joints are waiting on J3 or J5. In the software I wrote you can set each moves speed to be a percentage of full speed (100% being the fastest it can go). In that video I think it was at 80% and 100% for most of the moves and 10% for some of the smaller moves near the disc pickup and load stations. This first robot was designed to be low cost and fairly easy to make with readily available components and a 3D printer, Its a fun project to build but certainly leaves some to be desired when it comes to torque speed and accuracy. I'm certain a lot of the issues would be eliminated with a larger unit with higher quality (custom designed metal) components and higher torque stepper motors that don't need to be geared as low. those nema 17 and nema 11 stepper are so small its hard to get them to do much without a ton of revolutions.
Impatience notwithstanding, it's quite a tidy project. Well done!
Hi Chris Annin,
impressive job!
Please explain the electronics and the robot software of your robot.
I'm planning to build a one for me.
Great job !
Is there a complete assembled model in the step files ?
I only saw parts models, but not an assembled one.
Would love to take a look at it in Rhino et al
hello, I saw your email as well and will try to answer your question here. first off download the schematic from github to get your board wired up https://github.com/Chris-Annin/Annin-Robot-Project also watch the video on calibration and programming to get an understanding of how the python control program keeps track of motor steps and angle and how to build a program.
the next thing to understand how the arduino sketch works. the python program reads each line in the program and codes it into a simpler string and sends a serial string to the arduino. each command has a 2 letter prefix that the arduino sketch uses to execute the command. a move command starts with "MJ" for move joint. it then follows up with axis, direction and number of steps. so a complete string would look like this "MJA0100B0100C0100D0100E0100F0100S100" A stands for joint 1, B for joint 2 and so on. so that string says to move joint 1 (A) direction 0 (counterclockwise) 100 steps and then the same for B,C,D,E and F and then the final part is the speed "S100" for speed 100%.
the arduino sketch parses out this string and then within the execution loop pulses each motor the direction and number of steps requested - the loop does contain a function that divides all steps into the highest number of steps and then skips on that interval for the motors that have shorter number of steps to move so that all motors finish their moves at approx the same time.
hope this helps,
Chris
I ran thru your videos and the amount of work in programming behind this must be huge. Its really cool robot! I tried to do similar thing several years ago but it ended up as not good enough to spend time on it...
Let me suggest you to look at direct and inverse kinematics for robots, with kinematics well calculated you could command to robot coordinates xyz instead of 6 angles. It is a LOT of mathematic but I bet you can get it.
Poslano sa mog MI 5 koristeći Tapatalk
I agree. I'm currently working with a local machine shop and building a larger aluminum frame version using geared stepper motors. I'm working on a method to autocalibrate and I also plan on kinetic calculation to jog in coordinate directions. We hope to put it to work tending auto lathes. I'll share video when I'm further along. I'm probably 6 months out on getting the prototype done.
Hi Chris,
Thanks for your reply with detailed explanation.
I'm happy to inform you, that I modified the pin assignments suitable for my board and successfully ran the stepper motors.
with MJA1200B1200C1200D1200E1200F1200S100 command.
What is the max speed of stepper motor in your program?
What are the Joint speeds of robot in deg per sec?
How can i change speed and what is the max advised speed for stepper?
Do you have any plans to implement acceleration and deceleration for the stepper?
Next i want to work on the Servo and I/O.
Can you explain how to run servo, turn on an output, read input - What is the command and how it works internally?
I plan to use RC servo as gripper. RC servo is required to rotate 30deg from the initial position to clamp the object.
How to give this as command?
thanks & Regards
Balaji
heres the latest
Ar-2 is Very nice project. good work really.
I downloaded 3D parts for AR-2 project but I cant open them at Autodesk Inventor.
Could you mind to share step format part files/assemble file for AR-2.
(if you have a assemble file)
Im currently building an aluminum version of this robot. I’m working to make the solid models or step files available as soon as possible. My machinist has made a couple adjustments given unexpected difference in the bearing models - I am waiting for his red line prints. If I sent you models now you will be disappointed. When I made the 3-D printed version I found some of the same issues but I made the adjustments to my print files to accommodate so they are correct however I did not modify the original models that I sent to my machinist and I wanted him to verify the exact changes needed. I am assembling the aluminum version now I expect to have it done in a month or two and I will get the redline prints back as soon as I can. When this is done I will get .step files published on the project page for all to use.
cja7928 - How's it going with this project? I'm considering building the aluminum version as well.
the aluminum version is done, below is a video of the demo. The guys at the machine shop are tied up so they havnt programmed it in production yet. it looks like to make aluminum kits it will have to be in batches of 100 robots and the price will likely have to be approx $1250 which means I would have to come up with $125K to get started. I would have to do some kind of crowd funding if there is enough interest.
Very Impressive !
Jim Dawson
Sandy, Oregon, USA
Amazing work, Chris. I found the .step files. Great job on the documentation as well. I'm going to try to machine using my 3 axis cnc mill. A couple of the parts look challenging, especially at my skill level. Do you know if all of the parts can be machined using only a mill, or are other machines needed for some?
Thanks,
Joe