Tag: motion control
Playing with ethercat servo drives
Design of an 8-axis PCI/USB motion card [1]
Design of a PCI motion card
Building and running “Ethernet Powerlink” demo on PCs
Building and running openPOWERLINK v2.1.1 demos on Linux PCs
1. Ubuntu14.04:
- demo_cn_console, demo_mn_console: run without any problem.
- demo_mn_qt: crashes. —> bug fixed in openPOWERLINK v2.1.2
2. Ubuntu 14.10, Ubuntu 12.04, Debian Jessie :
- demo_cn_console, demo_mn_console, demo_mn_qt: run without any problem.
3. Kernel 3.18.11-rt on Ubuntu 14.10:
- locktorture.c should be patched to compile the kernel.
- RCU-related kernel options should be properly set to prevent softirqs messages while running the demo.
Details of the “Ethernet Powerlink” can be found at
www.ethernet-powerlink.org
Implementation of a PC-based motion controller/robot controller with USB interface [4]
USB Comminication speed between a host computer/board and the motion-control FPGA.
1. Experiment setup.
- 1530-byte round-trip test.
- Asynchronous FIFO mode of the FT2232H.
2. Experiment results.
- PC running a plain Linux: about 50 Mbits/sec.
- Raspberry Pi 2 running a realtime Linux: at least 30 Mbits/sec.
Implementation of a PC-based motion controller/robot controller with USB interface [3]
Motion-control FPGA:
- Reads the status of external sensors and servo drives and sends it to the PC.
- Receives commands from the PC and writes them to external devices and servo drives.
Internal structure of the motion-control FPGA:
- command-pulse-generator module: generating command pulses for servo drives.
- quadrature-counter module: counting quadrature pulses from servo drives.
- output-latch module: latching parallel output signals to external devices and servo drives.
- input-latch module: latching parallel input signals from external sensors and servo drives.
- USB-interface module: reading/writing data from/to USB bus.
- Finite-state-machine module: controlling the data flows among the above modules.
Implementation of a PC-based motion controller/robot controller with USB interface [1]
Design of 6-axis serial and USB motion cards:
1. Motion card with serial interace.
2. Motion card with USB interface.
Implementation of a PC-based motion controller/robot controller with USB interface [2]
PC-based motion controller with USB interface:
Examples of FPGA board with USB interface:
- FlashLink module (Xilinx Spartan-3).
- Saturn module (Xilinx Spartan-6).
- Morph-IC-II FPGA Development Module (Altera Cyclone II).
FTDI FT2232H for USB interace:
1. Interface A port of the FT2232H: asynchronous FIFO mode.
2. Interface B port of the FT2232H: UART mode.
Connecting FT2232H to FPGA module:
1. XFC-XC3S50AN FPGA module and FTDI FT2232H mini module:
VCCAUX of the FPGA = 3.3V
2. Open3S3500E board and the FTDI FT2232H mini module:
VCCAUX of the FPGA = 2.5V
Design of a motion-control ASIC/FPGA
Assuming all the compulations are done by a PC or an external processor, I designed a motion-control FPGA as follows:
If a soft processor such as MIcroBlaze or Nios II is placed on the FPGA, construction of a standalone motion controller (without a PC or an external processor) is possible.
Because both MicroBlaze and NIOS II are Linux/Xenomai-ready, porting Linux/Xenomai software to MicroBlazer or NIOS II is trivial.