Reader small image

You're reading from  Practical Arduino Robotics

Product typeBook
Published inMar 2023
PublisherPackt
ISBN-139781804613177
Edition1st Edition
Tools
Concepts
Right arrow
Author (1)
Lukas Kaul
Lukas Kaul
author image
Lukas Kaul

Lukas Kaul is a robotics Research Scientist, currently working at the Toyota Research Institute in Silicon Valley, where he develops mobile manipulation technologies to support people in their homes and in their workplace. Throughout his career he has worked on projects as diverse as humanoid robots, aerial robots and mobile manipulation systems. A maker at heart, Lukas has been using Arduino technology extensively for more than a decade in countless side-projects, ranging from mapping systems to self-balancing robots. Lukas is passionate about teaching robotics with Arduino to inspire and empower anyone who wants to enter the exciting field of robotics. He holds a PhD degree from the Karlsruhe Institute of Technology, Germany.
Read more about Lukas Kaul

Right arrow

Making Your Robot Move and Interact with the World with Actuators

Every robot needs motors, or more generally, actuators, to move and interact with the world. This chapter will present a selection of robot actuators that are accessible, effective, and easy to integrate into Arduino-based robots.

We are going to look specifically at these types of actuators and learn how to use each of them in your Arduino project:

  • RC servo motors
  • DC motors
  • Brushless DC motors
  • Stepper motors
  • Dedicated robot actuators

Technical requirements

We will explore several different motor types and drivers along with the code to make them move with your Arduino Uno. You do not need the hardware to reproduce all of these examples, but at a minimum, you should have a standard RC servo on hand and follow along with the servo example. You will also need your trusty Arduino Uno again.

Understanding electric motors and motor drivers

Even though there is a large variety of actuators you could choose from to power your robot (who would not want to build a rocket-powered robot at some point..?), by far the most common and versatile actuator type for DIY robots is the electric motor. This is why we will focus this chapter exclusively on electric motors. This leaves a lot to cover still since there are several different kinds of distinctly different electric motors that are useful for Arduino projects, all with their unique strengths and weaknesses. By the end of this chapter, you will understand what kinds of electric motor types you can choose from and when to use which.

Fundamentally, all electric motors that are relevant to DIY robotics work the same way. They contain electromagnets (copper coils or windings) that create a magnetic field when electric current flows through them and permanent magnets that are pushed around by this field. The motors are constructed...

Different motor types and how to use them

Now that we have a good understanding of the basics of how electric motors for DIY robots work, let us look in more detail at the most used motor types. We will discuss the advantages and disadvantages of each of these motor types and go through the hardware setup and Arduino code to use them.

Using RC servo motors

The easiest electric actuator type to use with Arduino is the standard RC servo motor. An RC servo is an integrated system that has the following components, all packaged in a very compact housing:

  • An electric motor with a gearbox, most commonly a miniature DC motor
  • A suitable motor driver circuit
  • A shaft encoder at the output of the gearbox, most commonly a simple potentiometer
  • A microcontroller that reads an input signal and controls the position of the gearbox output by driving the motor accordingly

There is a large selection of RC servos available that vary in size, speed, torque, and input voltage...

Dedicated robot actuators and servo controllers

The RC servo we got to know earlier in this chapter is a self-contained actuator but it has significant limitations. Most importantly, it does not provide any feedback (for example, position, speed, torque, and internal temperature), it does not rotate much more than half a rotation, and it only has one mode of operation, namely position control.

There are several dedicated robot actuators that integrate a motor, gearbox, motor controller, position, torque, and temperature sensors, as well as powerful interfaces for rich feedback. These actuators often offer different modes of operation that allow you to either a target position, a target speed, or a target torque. Most of these integrated actuators tend to be too expensive or too complicated to be widely used in DIY Arduino projects. The most relevant robot actuators for DIY robots nowadays are the Dynamixel servos by Robotis. These devices are capable servo motors for high-end Arduino...

Summary

In this chapter, you learned how to use RC servos, DC motors, BLDC motors, and stepper motors with your Arduino and the Arduino motor shield. We wrote example code using the Servo and Stepper libraries that are built into the Arduino IDE. You now have a good understanding of the strengths and weaknesses of different actuator choices and can choose the right one for every aspect of your next robotics project.

After learning a lot about using the Arduino Uno for the core robot functionalities (sensing and acting), the next chapter will focus on the key features of other commonly used Arduino boards and why they can be the right choice for your robot.

Further reading

The following resources can help you dive even deeper into the topics we discussed in this chapter:

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Practical Arduino Robotics
Published in: Mar 2023Publisher: PacktISBN-13: 9781804613177
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Lukas Kaul

Lukas Kaul is a robotics Research Scientist, currently working at the Toyota Research Institute in Silicon Valley, where he develops mobile manipulation technologies to support people in their homes and in their workplace. Throughout his career he has worked on projects as diverse as humanoid robots, aerial robots and mobile manipulation systems. A maker at heart, Lukas has been using Arduino technology extensively for more than a decade in countless side-projects, ranging from mapping systems to self-balancing robots. Lukas is passionate about teaching robotics with Arduino to inspire and empower anyone who wants to enter the exciting field of robotics. He holds a PhD degree from the Karlsruhe Institute of Technology, Germany.
Read more about Lukas Kaul