You can read more about this and other Esmacat tutorials on the official Esmacat website. You can also learn more about us on our main website.

Detailed documentation of the codes and steps for this tutorial can be found here.

Overview:

In this tutorial, you will learn how to set up and use the EtherCAT Arduino Shield by Esmacat (EASE) Slave device on top of an Arduino subsystem with a Motor Shield.

  • First, some general information about the shields used has been discussed.
  • After learning to set up the devices, you will learn to implement a practical project involving both the LCD and EASE Shields to print the button pressed on the LCD Shield on to the terminal of the Esmacat Master (PC/Laptop).

EtherCAT Arduino Shield by Esmacat (EASE):

EASE is an EtherCAT slave that connects to an EtherCAT master (PC/ Laptop/ Dedicated Master devices like the Esmacat Master S and Esmacat Master C. It can be stacked on top of Arduino, Arduino-like boards and Arduino Shields. This shield allows high-speed communication with an industry-standard EtherCAT protocol for high-performance robotic applications.

EASE.png

Crowd Supply Campaign Page: https://www.crowdsupply.com/harmonic-bionics/ease

More info: https://www.esmacat.com/ease

This shield has 8 registers that can be used to send/receive data between devices via ethernet cables attached to the shield.

Suggested Reading: EASE Datasheet.

Motor Shield:

The Adafruit Motor Shield is a stackable motor shield that allows up to a maximum of 2 Servo motors, 4 DC motors or 2 Stepper Motors to be controlled using a single shield. By configuring the shield for our requirement, one can control the motors as needed. In this tutorial, 1 servo motor, 1 dc motor and 1 stepper motor is controlled as a proof of concept.

motor_shield_only.png

Suggested Reference: Adafruit Motor Shield V2 datasheet.

Hardware Connections:

The primary hardware components include,

  • EtherCAT slave (EASE with Arduino)
  • EtherCAT Master (PC/ Laptop)
  • Power Over Ethernet (POE Injector)
  • Motor Shield
  • Motors
  • Ethernet cables and
  • DC Adapter (for POE)
  • Power Source (battery to power the motors)

Since EASE uses a POE injector, there is no need to power the Arduino boards separately. EASE can power the board through EtherCAT!

The connections are as shown in the two schematics attached in the "Schematics" section of this tutorial. "The Hardware setup schematic" gives an overview of the connections to be made while the "Physical connection schematic" shows the setup once all the connections are made.

Note:

  • Make sure the Ethernet connections are fit tightly into the sockets. (Loose connections may lead to the slave device not being recognized.)

Required Libraries:

There are two libraries that will be used for this tutorial.

  • An EASE Library for Arduino to communicate with the Arduino subsystem.
  • An Esmacat Master Library for the master (PC) to communicate with the EASE slave device.

The link to both the libraries have been included under the Code section. Install these libraries to get started with the coding part.

Refer to the links below to get more detailed step by step help with installing these libraries.

Suggested Reading: EASE Master Software structure.

Suggested Reading: Getting started with EASE.

Software :

The software required for this tutorial involves coding for

  • the Esmacat Master and
  • the Arduino.

Programming the Esmacat Master:

Open Visual Studio or any other (IDE) and copy all the 4 C++ codes available from the Code section (source files starting with ease_master_motor_control/) into a new project folder and build the source code.

Refer to the links below to get more detailed step by step help with building source codes in Ethercat Master,

The following sections describe them in detail.

Suggesting Reading: Getting started with the Esmacat Master (Windows).

Suggesting Reading: Getting started with the Esmacat Master (Linux).

Coding the Arduino:

Open the Arduino IDE and...

Read more »