Ball and Plate Arduino PID Control




Introduction: Ball and Plate Arduino PID Control

This is my homemade Ball & Plate system. System consist of 2 digital servo motors (HS-422 ECO), microcontroller Arduino UNO, and 4 wire resistive touchscreen (7"). There are two PID controllers working separately for each axis. This system can move any ( heavier ) round element to any point of the surface to an accuracy of ± 2 mm .

Step 1: Parts

Here is a short video that shows the parts of my real physical model

Step 2: Electronic Parts

1x Arduino UNO

1x Resistive touchscreen
1x Real time module DS1307
1x Wii nunchuck kit
1x IR remote kit
1x Breadboard
Some wires

Step 3: Mechanical Design

The model was built from aluminum base and lego blocks . In the middle is Cardan Joint on two shafts. The plate of lego blocks is connected to servo motors wit "Ball & Socket" mechanical joints.



    • Fix It! Contest

      Fix It! Contest
    • Tiny Home Contest

      Tiny Home Contest
    • Metalworking Contest

      Metalworking Contest

    25 Discussions


    Question 4 months ago

    Hi friend could you send the code im working in the same project please my email

    can I get the coding please

    Hi friend could you send the code im working in the same project please

    Hi DavidH334! I love this machine! I am building it and hope you are willing to share your codes? Can't find it in the instructable? Hope you will send it to or post it here! Think more people would like that....

    can u help with programming my mechanical is ready..!

    2 replies

    if you have code kindly mail; me

    hello, I really need some advice for the mechanical design. Can you help me with it?

    I think it's some type of steel...i dont know it exactly

    no matter which material is being used because the TF of this system is independant of ball material and mass i.e (-5*g/7*s^2)

    why anybody use image processing? cheaper and easier :(

    1 reply

    my final year project is based on image processing i'm using 6 motors (stewart platform)
    i have already done 95% of work but at the end i was facing a huge problem which is a time delay
    the data sent to the arduino after around 850ms (serially) and at the receiving end of the arduino there are some bits of data is missed due to the fast transferring of data and arduino data receiving rate is slow so the conclusion is with image processing it is not possible nevertheless you have to use Raspberry model and STM

    I'm building a similar project to yours, would you mind sending me the code you used for this? My email is (If anybody else has made something like this and still has the code I would really appreciate it if you could send me your code)

    I am planning to make this project
    But there is some problem.

    I have no clue how to make the code
    can you send me the code?
    It will very helpful for my project

    Joint is used from wrench set ....i found it in garage :)

    maybe in musician shop
    ask for double drum pedal


    Please can u help in getting the transfer function of the system. If transfer function is available what type of input should be given to the system as it is unstable. Pl reply fast !!