Demonstrating the single-chip motor-control application on the AM437x industrial development kit
Resources
Hey there. You're maybe looking for a small footprint, low power, and a single chip solution in applications such as vector automation or real-time industrial communication. Today, I'm going to show you the AM437x single chip motor control application on the TI AM437 Industrial Development Kit, also known as IDK.
The Sitara AM437x family contains an ARM Cortex-A9, plus a powerful set of programmable and fixed function preference for industrial communications, measurement, and control. This allows a single AM437x to replace multiple devices with the easy-to-use, compact, low power, and cost-efficient solution.
The high performance Cortex-A9 with NEON and VFP performs application float point calculations. You need a Real-Time Operating System, also known as RTOS, a communication stack, and a motor control field orientated to control, a FOC position velocity control loop.
The control loop provides drive inputs to PWM controller to position the three-phase permanent magnet synchronous motor. The AM437x quad-core Programmable Real-time Unit, also known as PRU, performs a real-time processing for communication and data acquisition.
Each of the two industrial communication subsystems contains two PRUs that perform industrial internet protocol, a quiet encoder position feedback data, and a quiet ADC current sense data. ICSS-1 supports real-time industrial internet and provides system timing for all data acquisition and control.
The ICSS system supports various industrial communication protocols, such as EtherCAT, PROFINET, PROFIBUS, Ethernet/IP, OPC UA, and Matrikon, et cetera. For the complete list of industrial communication protocols supported on Sitara processors, please refer to the application report at the link shown.
The single chip motor control application use EtherCAT as the industrial communication protocol, and use the standard CiA 402 drive profile over an EtherCAT network. The IC standard of CiA 402 specifies a set of generic default PDOs available to all drivers, as well as a set of specific default PDOs applicable only to a specific class of drives, such as server drives, frequency inverters, or step motors. The CiA 402 drive provides a map to EtherCAT.
The single chip motor control applications uses AM437x IDK. The IDK is the application development kit to evaluate the industrial communication and the control capabilities of Sitara AM4379 and AM4377 processes. Key components of the AM437x IDK include an AM437 line ARM Cortex-A9, one gigabyte DDR3, six megabyte QSPI-NOR flash, industrial communication interfaces, EnDAT connectivity for motor feedback control.
The application demonstrates a three-phase sensor to field-oriented control for single permanent magnet to synchronous motor use on chip AM437x ADC. The EnDAT 2.2 master interface provides position information with the EnDAT encoder attached to the motor.
The motor control application had been validated using a permanent magnet motor. In this example, the BLY171D 24 voltage brushless DC motor from Anaheim Automation. The motor can be coupled to EnDAT 2.2 encoder. In this example, the ROQ437 encoder from Heidenhain to provide position information to the FOC algorithm. Coupled the encoder to the longer shaft of the motor.
The IDK uses three terminals of J17 to provide the motor drives and seeing the diagram. Insert the AM12 connector of the encoder into the IDK J10 bolt connector. The application using EnDAT 2.2 encoder as the default encoder. But that also provides a build time option to use other encoders, such as a Tamagawa encoder and Hiperface DSL encoder.
In this example, we create EtherCAT CiA 402 ARM ICSS project with EtherCAT [INAUDIBLE] package and its dependent package industrial drive. The binary dot [INAUDIBLE] file built from the project is downloaded to IDK [INAUDIBLE]. Certainly, you can also flash the binary to SD card and it put from it the application. We turn on the digital LEDs, which indicates the slave is on and in each state.
After the application is up running, the EtherCAT master TwinCAT will be able to detect it, as seen on the screen. For details of TwinCAT setup and its motion task creation with CiA for there to access, please follow the procedures described in the document of AM437x Single Chip Motor Control Design Guide.
After the device variables are linked it to the axis variables, we can't can click on Activate Configuration to start the TwinCAT system in Run mode. To set the motor in Cyclic Synchronous Position, or CSP mode, we write 8 to the mode of operation variable. To enable the access control, select Online tab and Access 1, click on Set button, and enabling section. Take all the options and set override percentage to 100.
Now let's set the target position to 300 degrees, and click F5 to move the axis. We can see the motor turns and stops, and the specified target position is 300 degrees from original 10 degrees. And if we set the target position back to 10 degrees from starting 330 degrees, we can see the motor turns backward and stops at 10 degrees.
On behalf of Texas Instruments and the Sitara processor industrial team, thank you for watching this demonstration. For more information, refer to the links shown. If you have any questions, please post them on Texas Instruments E2E forum at e2e.ti.com. Have a great day.