NMotion Documentation
website·Indexed 31 days ago
https://docs.nmotion.inTechnical documentation for NMotion hardware and software, including the NMotion Transport Library (v0.1.10-beta), ndrive-z1 motor drivers, smart actuators, NCoder-CAN encoders, and NIMU IMUs. Provides C/C++ and Python API references, firmware configuration guides, and operational procedures for CAN Bus and USB communication via the NLink Adapter.
What's inside NMotion
- The NCoder 5047 is a breakout board for the AS5047P high-resolution rotary position sensor. It supports angle measurement up to 28krpm over a full 360-degree range and features Dynamic Angle Error Compensation. It provides 14-bit absolute angle position data via SPI and incremental movements via ABI signals. Note: This hardware version is not recommended for new designs.
Overview of NCoder 730 Magnetic Encoder Breakout
The NCoder 730 is a breakout board for the MPS MagAlpha MA730 high-resolution rotary position sensor. It supports angle measurement over a full 360-degree range for high-speed applications (up to 60krpm). It can be used in end-of-shaft or off-axis (side-shaft) mounting configurations. The device provides three primary output methods: 14-bit absolute angle via SPI, 12-bit ABZ Quadrature interface (programmable 1 to 1024 PPR), and a 14-bit PWM output.Overview of NCoder 5047 Breakout Board
The NCoder 5047 is a breakout board for the AS5047P high-resolution rotary position sensor. It supports angle measurement over a full 360-degree range at speeds up to 28krpm. It features Dynamic Angle Error Compensation and can be interfaced with a microcontroller via SPI for 14-bit absolute angle data and non-volatile settings, or via quadrature signals (ABI) for incremental movement.Overview of nMotion Smart Actuators
nMotion Smart Actuators are all-in-one integrated packages consisting of a BLDC Motor, Harmonic Gearbox, and Motor Driver. They are designed to be connected to an NLink Adapter via a Controller Area Network (CAN) Bus. Control and movement are managed using the provided Software SDK.NCoder 600 Overview and Capabilities
The NCoder 600 is a breakout board for the MPS MagAlpha MA600 magnetic rotary encoder. It provides a high-resolution rotary position sensor capable of measuring angles over a full 360° range. Key capabilities include:
- 16-bit absolute angle position data via SPI.
- 14-bit incremental ABZ quadrature output with programmable pulses per revolution (1 to 4096).
- On-chip non-volatile memory for storing zero reference angles and ABZ settings.
- Support for both end-of-shaft and off-axis (side-shaft) mounting.
Understand the Cascaded Controller Structure
The actuator uses a cascaded PID controller structure. The active loops depend on the selected control mode:
- Position/Trajectory Control: All three loops (Position $ ightarrow$ Velocity $ ightarrow$ Current) are active.
- Velocity Control: Position loop is bypassed; Velocity $ ightarrow$ Current loops are active.
- Torque Control: Only the Current control loop is active.
If gain values cause system instability, the driver will trigger a
UNSTABLE_CONTROLLER_GAINerror.NLink Bidirectional CAN-to-USB Adapter Overview
The NLink Adapter bridges CAN-based peripherals with USB-equipped host systems. It is powered via USB-C, features two CAN ports, and supports baud rates up to 1Mbps (default is 500kbps). It runs modified CANable firmware and supports two operational modes: Native USB (via NMotion SDK) and SocketCAN (via SLCAN ASCII protocol).Connect to ndrive-z1 via CAN Bus or USB
The driver is controlled via CAN bus. This can be achieved using a native CAN interface or by connecting to a PC via USB using an NLink Adapter. The NMotion Transport Library is used for control regardless of the interface.Connect and control the NIMU IMU
The NIMU can be controlled via two primary interfaces: the CAN bus or the onboard USB-C port. For USB communication, users can utilize the NMotion CLI Tool or the NMotion Transport Library. USB connectivity is supported both directly via the onboard port for standalone operation and through the NLink Adapter for managing multiple devices.NMotion Transport Library architecture overview
The NMotion Transport Library facilitates communication between a main system and NMotion components (e.g., Actuators, NDrive Z1). It is structured into two abstraction layers:
- Interface Layer: Manages USB or native CAN interface operations and communication protocols.
- Device Layer: Abstracts device-level functionalities, including data handling and device management.
The core library is implemented in C++, with a high-level Python wrapper available. Currently, USB communication requires the NLink Adapter.
Connect to ndrive-z1 via CAN Bus
The driver is controlled via CAN bus. You can connect using a native CAN interface or a PC via USB using an NLink Adapter. The NMotion Transport Library is used for communication regardless of the physical interface.NCoder 732 Overview
The NMotion NCoder 732 is a breakout board for the MPS MagAlpha MA732 magnetic rotary encoder. It is designed for high-speed (up to 60krpm) angle measurement over a full 360-degree range. The device supports 14-bit absolute angle position data via SPI and 12-bit incremental ABZ quadrature output (programmable from 1 to 1024 pulses per revolution). It is suitable for both end-of-shaft and off-axis mounting.