(0) Shopping cart
You have no items in your shopping cart.
Shopping Categories

    Modbus RS-485 Serial Communication with New Version of ATO BLDC Motor Driver (Controller)

    This video will give you a step-by-step instruction on RS485 serial communication with the upgraded ATO BLDC Drivers rated at 30A/50A/100A. To begin with, the new version and the previous one are essentially the same in terms of their wiring with the motor, which includes three parts, respectively phase connection, Hall wire connection and DC power connection. Wires involved are distinguished by different colors and different sizes. All wires must be connected properly. The color of each wire as well as their descriptions has been given here. A RS485 to USB Converter has been used to make the connection between RS485 interface and PC or any other master. The connection is complete as shown in the figure. That’s the end for the preparation of hardware on the motor side.

    Before starting control with the driver, we need to select the code. To achieve this, we’re gonna select closed loop control mode. What we need to know before carrying out communication is the default station number and baud rate of the controller. Insert the RS485 to USB converter into the PC, click open the device manager to take a look at the COM port number. What we’ve adopted here is the Modbus-RTU protocol. If you want to control the driver, you need to select Function Code 06 to write relative date to the special storage area. The addresses for major functions are tabulated as follows.

    Related picture

    RS485 interface hardware wiring.

    For example, the address for activating RS485 is 00 25 Hex. The address for selecting control modes is 00 05 Hex. 00 22 Hex represents the address for Run command.

    Driver code sequence

    Here we’ll run a driver code as example.

    The steps are given as sequenced:

    1. Open the RS485 port
    2. Select the control mode
    3. Set the speed
    4. Select the rotation direction and activate the motor.

    Make sure the wiring is nicely done. Open the test software. Set the COM port, baud rate, and protocol type as per specifications. Open the port. Enter and run the code to open the RS485 port. Write the control mode selection code. Input the speed setting code. The code 0B B8 in hexadecimal equals 3000 rpm in decimal. Enter the code for rotating direction. Enter the start code command and you can see the motor starts spinning immediately. And the motor stops rotating as soon as the Stop command 00 00 is written to the address 00 22. The motor restarts with Command 00 01 written to Address 00 22. Clear all data.


    How to test read command 03?

    Next, we’re gonna test the read command 03. We’ll let the program read the current speed command of the motor. The command code is 01 03 01 00 00 01 + check code (optional). 0B B8 Hex is the currently-read motor speed which equals 3000 revolutions in decimal. The software can also read the data in other storage areas, such as current, temperature, etc. For more details, please view our protocol document.


    Leave your comment