The MKU40 controller is intended for use as a universal embedded high-performance system for direct digital control of frequency converters and secondary stabilized and autonomous power supply systems. The controller was designed as a full-featured replacement for the MK17.3 controller and corresponds to its overall and connecting dimensions, the control peripherals for power converters and the communication interfaces of the MK17.3 controller. However, it is maximally based on native element base, including the latest native developments of microprocessor systems (ARM microcontroller NIIET K1921BK01T (working name MS01, NT32M4F1) – 100 MHz, 1 MB flash memory, 192 KB RAM from the NIIET company). Currently, absolutely all components on the controller are native or manufactured in the countries of Eurasian Customs Union. The controller has two galvanically isolated (500V isolation) CAN interfaces and two galvanically isolated (500V isolation) RS-485 interfaces. The controller provides a direct interface with the power switches of the converters (open collector), supporting sinusoidal and vector pulse-width modulation modes for bridge inverters, as well as a direct interface with position sensors: pulse sensors, analog sensors on the Hall elements, using the hardware capabilities of the microcontroller for signal processing ( CAP module).
Functional diagram of the MKU40 controller
The table shows the signal map of the MKU40 controller
|PWM outputs (open collector format)
|Hardware fault inputs with hardware PWM blocking (open collector format)
|Hardware fault inputs for software processing (open collector format)
|Discrete input/output of expansion connector (microcontroller GPIO, not buffered)
|Interface for position sensor connection (format “differential receiver”)
|Interface for JTAG emulator, 20-pin (ARM standard)
|Analog inputs of format:
|Temperature sensor integrated into the microcontroller
The controller is designed by order and is not supplied in the form described on the website. However, upon request, we are ready to develop a similar controller for the necessary technical specifications. An agreement may also be concluded for the supply of necessary software modules in source codes in C language with documentation. The following software modules are available for this microcontroller (NIIET K1921BK01T):
- CANopen driver (stack) with PDO support (asynchronous, dynamic mapping 8 for receiving, 8 for transmission), expedited SDO, heartbeat, a dictionary of objects with data types of 8, 16, 32 bits integer and float. In addition, it is possible to purchase software for a personal computer – an object dictionary editor for this driver (COODEdit) and a higher-level shell (UniCON) that performs parameterization, configuration, and oscillography of data by operation with the CANopen network using this driver.
- Digital oscilloscope module that works in conjunction with the CANOpen driver. The oscilloscope allows recording up to four waveforms of 255 points each simultaneously into the memory of the microcontroller with a sampling frequency of up to 80 kHz. Oscilloscope variables are selected by the user from any parameters of the CANopen object dictionary. After recording the waveform, it can be downloaded and displayed on the computer screen using UniCON software.
- Library of integer calculations in the format 8.24 (8 bits for the integer part, 24 for the fractional). It includes such functions as: sine, cosine, division, multiplication, atan2, sqrt and others which are necessary for the implementation of a digital control system for electric motors and power sources. The library is made for simple migration from a similar IQmath library from Texas Instruments.
- Digital control library for electric motors and power sources. It implements software modules such as a PID controller, a first-order digital filter, Park and Clarke transformations, a U/f curve unit, a ramp unit, and other modules based on the library of integer calculations.
- The vector PWM module for the 6-switch voltage inverter. It provides 6-sector and 12-sector vector PWM, changing the PWM frequency and the value of dead band during on-the-fly operation.
- Encoder signal processing module. The module determines the speed and position of the shaft. It dynamically switches measurement ranges to provide the best “level sampling rate / time sampling rate” ratio for different rotation speeds.
- The module for processing the signal of hall position sensor (three discrete hall elements with 120 degrees shift between them). The module determines the rotational speed and angular position – at a low frequency with an accuracy of 60 electrical degrees, at a high rotational speed the linear extrapolation module is switched on, making the change in the “measured” angular position linear and continuous.
- ADC module for measuring all analog input signals of the controller with a fixed frequency at the user’s choice and storing data in the array by software means. DMA is not used.
- MODBUS RTU driver for RS485 interfaces. The operations of reading and writing registers with any addresses from the object dictionary, as well as reading / writing coils binary variables are supported. Group reading of objects is supported (group writing is not supported). The maximum transmission rate is limited to 38400 bps.
- A driver for operation with non-volatile user flash memory of the K1921BK01T microcontroller. Allows reading/writing bytes to any memory addresses. To save flash memory resource, it uses intelligent paged data caching.
- The driver for operation with the real-time clock of the K1921BK01T microcontroller.
- Demo software that includes several modules described above for scalar or vector control of a synchronous or induction electric motor (by request).
- Simulator of a synchronous or induction electric motor, the model of which in the form of a generalized machine is calculated directly in the microcontroller. It is convenient for debugging control algorithms of the electric motor “on the table” with a painless transfer of them to real equipment.
All software can be supplied both for the IAR EWARM development environment version 6.3 and higher, and for Eclipse Luna (tested with the GCC 4.8.3 compiler from the Mentor Graphics Sourcery CodeBench Lite Edition package version arm-2014.05-28-arm-none-eabi).