Asked

Connecting EZ-Robot To Stepper Motor

Hi, I am a complete novice. I am trying to connect my EZ-Robot to a stepper motor using a DM556 Stepper Motor Controller. I am not sure how to connect this controller to my EZ-Robot. Can someone please help me with this setup?


Related Hardware EZ-B v4
Related Control Stepper Servo

ARC Pro

Upgrade to ARC Pro

Unlock the true power of automation and robotics by becoming a proud subscriber of Synthiam ARC Pro.

PRO
Canada
#1  

Below are the steps and details to help you connect your EZ-B v4 to a stepper motor using the DM556 stepper motor controller via the Stepper servo skill:


Overview

Because stepper motors require precise timing (pulses for step and separate direction control), you won’t be wiring the DM556 directly to the EZ-B’s digital ports. Instead, you’ll use a low-cost Arduino that has been programmed with the Stepper servo firmware. This Arduino acts as an intermediary: it receives commands from ARC on a virtual servo port (for example V1) and then generates the necessary step/direction pulses for your DM556.


What You’ll Need

  1. EZ-B v4 with EZB Firmware
  2. An Arduino board (e.g., Pro Micro, Nano, or similar small board)
  3. Stepper servo Firmware for Arduino
    • Download the firmware from the Stepper servo documentation (see the Stepper servo (by Synthian Inc) support page on Synthiam).
  4. DM556 Stepper Motor Controller
  5. Your Stepper Motor
  6. Required cables, diodes (if setting up a serial network), resistors, and common ground connections

Step-by-Step Setup

  1. Program Your Arduino:

    • Download the latest Stepper servo firmware (for example, the Stepper_Servo (Version 20230223) package provided on the support page).
    • Unzip the firmware package and open the INO file in the Arduino IDE.
    • Configure the BUS_ID:
      In the firmware, set the BUS_ID for your Arduino (a number between 1 and 127). In ARC, this BUS_ID corresponds with a virtual servo port (for example, BUS_ID 1 corresponds to virtual port V1).
    • Select the Stepper Driver Type:
      In the Arduino code, find the section that supports your stepper motor driver (DM556 uses the typical two-wire STEP/DIR interface) and uncomment that section.
    • Optionally, adjust any inversion settings if your gear requires that.
    • Upload the firmware to the Arduino.
  2. Wiring the Hardware:

    • Between Arduino and DM556:
      • Connect one of the Arduino’s digital outputs (as defined in the firmware) to the STEP input on the DM556.
      • Connect another Arduino digital output to the DIR (direction) input on the DM556.
    • Common Ground:
      Make sure that the EZ-B v4, Arduino, and the DM556 (and motor power supply) all share a common ground.
    • DM556 Setup:
      • Verify that the DM556 wiring to the stepper motor and the power supply matches the manufacturer’s guidelines.
      • If you’re using any enable or reset pins on the DM556, you may need to wire those according to your setup needs.
  3. Setting Up ARC:

    • In your ARC project, add the Stepper Servo skill (by Synthian Inc).
    • In the skill’s configuration:
      • Bind Virtual Ports: Check the virtual port checkbox that corresponds to your Arduino’s BUS_ID (for example, if the BUS_ID is 1, select V1).
      • Set Max Steps Parameter: This setting determines how many steps the motor will move when ARC sends a command. For example, if ARC’s Max servo Position is 180 (default) and you set Max Steps to 1500, a position value of 180 in ARC will move your stepper by 1500 steps. The actual step count is calculated using a mapping function from the ARC servo position to the stepper steps.
    • Use the Advanced settings if you wish to configure acceleration or speed limits, which allows the stepper to ramp up/down smoothly.
    • Follow the calibration instructions provided with the skill. It’s good practice to use an end-stop (limit switch) if you have one so you can set a reliable home position.
  4. Testing the Setup:

    • Use the Ping option on the Stepper servo skill interface to verify bi-directional communication between ARC and your Arduino.
    • Try sending a servo position command (e.g., using a script command such as Servo.setPosition(V1, 90)) and observe if the stepper motor moves as expected.
    • If you need to calibrate, you can use the provided control commands (such as controlCommand(Stepper Servo, SetAsHome, V1)) to set the current position as home.


Final Tips

  • Double-check all wiring to ensure common grounds and correct digital connections.
  • Consult the Stepper servo manual (linked above) for further details on Arduino configuration, operating modes, and wiring diagrams.
  • Experiment with small test commands in ARC before running any longer sequences.

Do you have any additional questions about the Arduino wiring or the configuration within ARC? Let me know so I can help further!


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
#2  

i cannot download the firmware, can you provide a direct link?

PRO
Canada
#4  

Thanks for sharing that information. As noted, the firmware link changes with each version. To get the latest firmware and detailed instructions, please follow these steps:

  1. Visit the Stepper servo manual Page
    Go to the Stepper servo robot skill Manual. This page contains the current firmware link and detailed instructions on configuring your Arduino for use with your stepper motor and DM556 controller.

  2. Follow the Instructions
    The manual page includes clear, step-by-step instructions on:

    • Downloading and installing the correct firmware.
    • Configuring your Arduino settings (like setting the BUS_ID, choosing the correct stepper driver type, and configuring any control line inversion if required).
    • Wiring your stepper motor to the DM556 controller and integrating it with your EZ-B v4 system.
  3. Need Additional Help?
    If you have any questions about wiring details, firmware configuration, or setting up your DM556 with your EZ-B v4, feel free to ask. I'll be happy to help you through the process.

This should have you up and running in no time. Let me know if you need any further assistance or additional clarification along the way!


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
#5  

thanks again, but these links do not work, kit is getting very frustrating

PRO
Canada
#6  

It looks like the log messages are indicating that you're running ARC Free while you actually have an active subscription. To get the full benefits of your subscription and access all the Pro features, I recommend installing ARC Pro.

Here’s what you can do:

  1. Download ARC Pro:
    Visit the ARC Downloads page where you can find the latest version of ARC Pro.

  2. Installation:
    Once you download ARC Pro, follow the on-screen instructions to install it. ARC Pro is designed to complement your subscription, unlocking a broader range of features that are not available in the Free version.

  3. Subscription Verification:
    After installation, sign in with your subscription credentials. This will ensure that you’re accessing all the Pro features that come with your subscription plan.

  4. Getting Started:
    If you need assistance with ARC Pro or want to explore its full potential, check out the ARC Pro Subscription Plans page for more details on what’s included.

If you encounter any issues during the installation or if you need further guidance configuring the software, feel free to ask. Happy building!


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
PRO
Canada
#7  

I am checking in on your progress. The manual for the stepper robot skill is comprehensive, but it could be overwhelming. If you have any further questions, please let me know.

In the meantime, here are some suggestions to get you started...

  1. Add the stepper servo robot skill to your project
  2. Download the stepper servo robot skill Arduino Firmware, configure the firmware settings, and upload to an Arduino
  3. Verify the stepper servo is connected and you can successfully ping the stepper servo arduino

To move the stepper servo, use a Vertical or Horizontal servo robot skill. The one you choose is irrelevant as it's only the graphical layout on the screen that determines if it is horizontal or vertical. You will find that skill in the Servos section when Add robot skill menu is displayed

  1. Configure the servo robot skill and select the Vx (virtual port) of the stepper. Generally you'd have it set for the first V1 port.
  2. Also configure the range

Now you can move the stepper as a servo.


I am a customer support GPT-powered AI and still learning. If you have doubts about my response, please use the support documentation to verify my answer.
#8  

What is the wiring between the EZB and the Arduino board please?