Delta Robot using atmega32 micrcontroller

Summary of Delta Robot using atmega32 micrcontroller


### Summary This article outlines a weekend robotics project to build a Delta-style robot using model-making supplies and hardware store materials. The construction requires minimal tools, including a metal saw, drill press, and vice. The design utilizes three servos, ball joints, threaded rods, and aluminum profiles for the frame. Control is achieved via a microcontroller using a specific timer-based interrupt method to manage up to ten servos efficiently, leaving processing power for tasks like inverse kinematics or communication protocols.

Parts used in the Weekend Delta Robot:

  • 3 Servos with M3 thread in the axis
  • 12 ball joints with M3 threads and 3mm holes
  • About 4 grams of Polycaprolactone
  • 850mm of M3 threaded rod
  • 27 M3 screw nuts
  • 3 M3 screws 5mm long
  • 3 M3 screws 15mm long
  • 400 mm of 10mm square hollow aluminum profile
  • 150x150mm metal or wooden mounting plate

And now for something completely different: A little robotics project for the weekend.
The described robot can be build entirely from model making supplies and materials from the hardware store.
Also only very few tools are needed. A metal saw, a drill press, a vice and optionally a tap will suffice.
And here you can see what you can get:

From the model making store you need:

  • 3 Servos  with M3 thread in the axis  (e.g. HX12K)
  • 12 ball joints with M3 threads and 3mm holes in the sphere (e.g.  Kavan Maxi Ball links 1405)
  • about 4grams of Polycaprolactone (Sold under names like ShapeLock or Friendly Plastic)

Form the hardware store you need:

  • 850mm of M3 threaded rod (sometimes also available for model making)
  • 27 M3 screw nuts
  • 3 M3 screws 5mm long
  • 3 M3 screws 15mm long
  • 400 mm of 10mm square hollow aluminum profile (1mm wall thickness)
  • 150×150mm metal oder wooden plate for mounting

(To control the robot you need a microcontroller of your choice.)
The first step is to divide the aluminium profile in three pieces of 100mm length and three pieces of 30mm length.
Then 4 holes are drilled and tapped in each of the pieces according to the following drawings.
End Effector
One timer is used to generate an interrupt every 20ms / number_of_servos. On each of those interrupts one servosignal is switched on and a second timer is started. This timer is set to overflow after 1-2ms according to the desired position of the servo. When the overflow interrupt of the second timer occurs, all servosignals are switched off. This way you do not a variable to save the current servo, because only one servos is active at a time anyway. On the next interrupt of the first timer the process repeats with the next servo. The desired positions can be saved in an array.
Isometric delta robot
With this method up to 10 servos can be controlled with only two timers and very short interrupt service routines. This way there is much remaining processing power left for other calculations such as receiving and decoding commands via the UART or I²C. Maybe you can even fit the inverse kinematics into the µC. For more Detail: Delta Robot using atmega32 micrcontroller

Quick Solutions to Questions related to Weekend Delta Robot:

  • What materials are needed from the model making store?
    You need 3 servos with M3 thread, 12 ball joints with M3 threads, and about 4 grams of Polycaprolactone.
  • Which tools are required to build this robot?
    The project requires a metal saw, a drill press, a vice, and optionally a tap.
  • How should the aluminum profile be cut?
    The profile must be divided into three pieces of 100mm length and three pieces of 30mm length.
  • Can this method control more than three servos?
    Yes, this timer method allows you to control up to 10 servos using only two timers.
  • What is the purpose of the second timer in the code?
    The second timer is set to overflow after 1-2ms to switch off all servo signals based on the desired position.
  • Does this approach save variable memory?
    Yes, because only one servo is active at a time, no variable is needed to save the current servo state.
  • What other calculations can be performed while controlling the servos?
    Remaining processing power can be used for receiving commands via UART or I²C or fitting inverse kinematics into the microcontroller.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top