Solidworks to design the 3D model that represent the movements of the arm.
Arduino Mega 2560 card for connecting the real world with the computer.
An Introduction. Here I briefly talk about the Mechatronics as a field of study which enabled me to develop this kind of a device.
The Arduino Mega 2560. Some basic features of this Arduino Board which I used in this project.
3D Models in Simulink Environment. How to transfer 3D Model from Solidworks to Matlab / Simulink using the SimMechanics Link.
The accelerometer is used for tracking the orientation of the arm. As the arm moves, the values from the X, Y and Z axis from the accelerometer change and are being read in the Analog Inputs of the Arduino Board. According to them the 3D Model moves as well.
The potentiometers are used for tracking the position of the fingers. I attached a spring (pen spring) to each of the potentiometer. The spring holds the potentiometer slider at a certain position and as the fingers move the slider is being pulled and the resistance of the potentiometer is change. That values are being read in the Analog Inputs of the Arduino Board and according to them the 3D Model’s fingers moves as well.
I used a plastic cover from a calculator as a base on which i attached the five potentiometrs. On top of them I put the Breadboard on which i secured the Arduino Board and the Accelerometer using a tape. On the picture below you can see the final appearance of the device.
The 3D Model is a representation of a human arm. First, I modeled it using Solidworks and then I transferred it into Matlab / Simulink using the SimMechanicsLink from Matworks.
Before building the Simulink model, first I had to install the Arduino IO Package which consists the Simulink library for communication with the Arduino board. Also using the Arduino IDE i had to upload the code to the Arduino board that comes with the package to enable the Simulink library. Here I would highly recommend my Tutorial for Matlab and Arduino IO Package so that you can understand the working principle and see the code.
Check my Extension of this Project.
I reprogrammed the Arduino Glove to work as a Game Controller.
Very good project mate, Are you on Facebook? I have some queries.
Hey Dejan, awesome work. I really liked your informative videos and I finally understand how I2C works, which I never able to grasp before 🙂 Thanks buddy.
Thanks! I’m glad to hear this.
Please how could we add a button to turn it ON and OFF.
Nyc bro.Its a fantastic project. U r a brilliant.i want to make this project as final year project.To what have u connected the pen spring ???
Thanks! Well they are connected on the sliders. One side is to the slider itself, and the other end to the one side of the housing of the slider.
can i use arduino atmega328p instead of Arduino Mega 2560?
Thanks! Yes of course you can use that one or any other as well.
i am mechatronics engineer bro. and i want to make this project,please share the code of arduino….
The Arduino code is the code from IO Library Package from Matworks/ Matlab.
Amazing bro. you have done great work.I’m mechatronics engineer and i also want make this project ,can you please share the arduino code.
Good project bro… I just like to know what sensor you use in this project…? Can you give the code you use for this..? I like to make it… If you help me, the will be so kind… Thanks for your post….
I’m using the code from the Arduino IO Package from Matwork/ Matlab. Check my Arduino and Matlab Tutorial in order to see how it works.
What sensor you use for this…?
Can you give me full instruction please…. Or give me some link that i can learn an do this project…. Thanks….
First thing you are doing great projects. the second and most valuable thing is you are sharing this information with public. I really appreciate that..
Can I translate it to Turkish to make it benefical for people who cant speak english.
Well all my projects and tutorials are my original work on which I have put enormous amount of time and effort. All the photos, videos and illustrations are copyrighted. Just translating them to your language would be the same as copying them which is not allowed.
If you want to do that, you should rebuild (recreate) them on your own, with your own content (photos, videos, illustrations, text).
Thanks. Well the code is from Matworks Arduino IO Package. Check my Arduino and Matlab Tutorial, you should find more details about that in that post.
hai…great work you have there…I’m wahid from malaysia..I’m doing my final year project this year..I want to ask, is it possible make the GUI for 5 axis robotic arms using the way you create yours?if it is possible, can you teach me how to do the integration between all the software?
Well yes it is possible but I can’t see how I can help you. That project would require quite big and time consuming.
Great Work, very interesting. The 3D Arm model you have uploaded here shows rebuild errors in Solidworks 2016. Is it possible to upload the file again?
Thanks! Yea it gives those errors because it is a .step file. Nevertheless, now I uploaded the Solidworks files as well.
Thank you very much. You are truly awesome for being so helpful to people all around the world.
WOW.You are perfet my friend,PERFECT! I realy like the way you do things,BRAVO!
just one question: can it work for the other 3d models like a MAYA or 3D MAX model? if the answer is yes, can you guid me about it?
Thanks! Well it can work if you can transfer the model into Matlab/ Simulink.
In the Simulink model you provided, how can I connect the imported xml model from the Solidworks file and the arduino hardware?
Check my other video tutorial for this one, Solidwroks and Matlab / Similink similation, you might find useful information.
I am trying to build your system out of curiosity, with your help, the solidwork model now works, but, I am facing error when I run the simulink model in Matlab 2015. They show a algebraic loop error inside the PID controller. How did you get past this error? How can I do proper simulink rebuild? Awaiting your help. Thanks.
great job, really it has helped me a lot.
What you’ve done is great! Congratulations! I got the idea to follow the rotary chassis , boom, arm and bucket of the excavator and always know how much have to dig. Much like your project. I’m curios how accurately can measure angles between components with combined accelerometer an gyro sensors. The rest is mathematics.
Greetings for best tutorials that you have shown here ! Keep going!
Well the gyro tends to drift and make errors. There are different filters that can reduce these errors but they could be complicated to be implemented.
So, a project like that would work for sure, although the mathematics would be complicated and as for the accuracy I could say anything specific.
Thanks. Well there are already few tutorials related to this Project on my website.
I love this tutorial very much! I’d like to make one by myself. But I can not find the arduino code in this tutorial and how to use the SimMechanicsLink ? Could you help me out? Really appreciate!
The Arduino code comes with the Arduino IO Package and I have an example tutorial how to use the SimMechanicsLink here on the website. However, take a note at the version of your Matlab, because the latest versions don’t work with this Arduino IO Package, they have made a different one.
Excellent work! I want to make one too! Could you share more code and other details about this project with us?
Thanks. That’s all I have for this project.
what is the value of linear potentiometers?
I think it was 1K, but it doesn’t matter much, anything from 1K to 100k could do the job.
what kind of potentiometer you used? and how many kilohms?
I used 10k potentiometers, but it doesn’t really matter, you could any value for it.