1. Introduction

The system uses LinuxCNC as its control platform, with two igus® dryve D1 controllers which are used to control a stepper motor and a brushless motor, respectively. The system diagram is shown in Fig. 1. Below, we detail the system’s configuration, including the boards and components used.

../../_images/system_diagram.svg

Fig. 1 System diagram.

1.1. LinuxCNC

LinuxCNC, formerly known as the EMC, is a software system designed for the computer control of various machine tools, such as milling machines and lathes, as well as robots like PUMA and SCARA, and other computer-controlled machinery with up to nine axes. LinuxCNC is free, open-source software. Current versions are fully licensed under the GPL and LGPL.

In our system, LinuxCNC communicates with the igus® dryve D1 controllers via the MESA 7I96S and 7I77 boards. LinuxCNC is responsible for coordinating the operation of all motors, providing precise, real-time control over the system.

Detailed information on LinuxCNC’s operation and configuration can be found in Section 3.

1.2. System Hardware

Fig. 2 shows a photograph of the testbed setup. This system comprises the following key components:

../../_images/installation_labelled.svg

Fig. 2 Testbed setup.

  • Aim-TTI EL302RD Dual Power Supply: Provides two independent power outputs, each capable of delivering a maximum of 30 V and 2 A. For the testbed setup, we required 24 V and 5 V power.

  • Two igus® dryve D1 Motor Controllers: igus® dryve D1 can be used for controlling stepper, DC, and brushless motors in industrial and automation applications. The igus® dryve D1 supports the following communication methods with control systems:

    • CANopen: A communication protocol widely used in industrial automation systems, built upon the CAN bus (ISO 11898) standard.

    • Modbus TCP: A communication protocol extensively employed in industrial applications for data transmission over Ethernet networks using the TCP protocol.

    • Analog and Digital Signals: In addition to network communication options, the igus® dryve D1 can receive analog and digital signals for direct control.

      In this system, we communicate with the igus® dryve D1 controllers using MESA 7I96S and 7I77 boards using digital and analog signals. This setup enables LinuxCNC to have precise, real-time control over the motors’ operation.

  • MESA 7I96S Board: This board is the primary hardware interface between LinuxCNC and the igus® dryve D1 controllers. It connects to the computer running LinuxCNC via an Ethernet connection. Its main functions include:

    • Controlling the stepper motor by sending step and direction signals to its designated igus® dryve D1 controller.

    • Receiving input signals from limit switches.

  • MESA 7I77 Daughter Board: This board connects to the 7I96S board via a 25-pin flat cable. Its primary functions are:

    • Controlling the brushless motor by sending an analog speed signal to its corresponding igus® dryve D1 controller.

    • Receiving position feedback signals from motor encoders.

    • Receiving warning and error signals from the controllers.

    • Receiving the emergency stop signal when the emergency stop switch is activated.

  • Brushless Motor: A STEPPERONLINE 42BLS40-24-01, equipped with a CUI Devices AMT102-0512-I5000-S optical encoder of 512 PPR.

  • Stepper Motor: A STEPPERONLINE 17HS24-2104-ME1K. This motor includes a 1000 PPR magnetic encoder.

  • LED Indicators: Custom indicators with red, yellow, and green LEDs, which provide a visual display of the system’s status.

  • Two Buttons for Limit Sensor Simulation.

  • Emergency Stop Switch: This switch has both a normally closed and a normally open contact.

The system wiring diagram, detailing all components and their interconnections, is available in the project repository.