Create a motor controller in Simulink and compile it for an FPGA, is this possible?
3 views (last 30 days)
My student team and I are developing a new exoskeleton where we are using our university's exoskeleton as an example. The motors (series elastic actuators) are controlled by a complex model running directly on an FPGA. We have no clue what that model looks like since its written directly in C by some company and compiled to run on a custom FPGA.
To keep the tech "in-house" for the coming years of the team, we want to create our own motor controller (position, torque control etc). Running it directly on our Intel NUC through EtherCAT down to the motors causes significant lag. That's why we're back to square 1 with the FPGA's.
Now my question is whether it is feasible to create a motor controller model in simulink and compile it down to run on one of the supported FPGA's while maintaining high response rates with minimal lag?
I know this is somewhat of a vague question but we are interested in whether this is an option at all.
Cam Salzberger on 4 Sep 2015
I understand that you are wondering if you can create your own motor controller in Simulink, and compile it to run on an FPGA. The Simulink Control Design toolbox is very useful for creating an testing your controller. Once your controller is created, you can use HDL Coder and HDL Verifier to compile and test the code for your FPGA. These toolboxes are actually designed specifically for SoC and FPGA programming.
Since HDL code is generated and can be compiled for the FPGA, the responsiveness of the motor controller should be comparable to the original manufacturer's model (depending on model complexity, of course). There is even a tool in MATLAB for helping to optimize the code, and similar techniques can be employed with Simulink. There are even specific HDL-optimized blocks in various toolboxes in Simulink.
I hope that this gives you enough information. Good luck with the motor controller!
More Answers (0)
More Answers in the Power Electronics Control
Code Generation Embedded Coder Deployment, Integration, and Supported Hardware Embedded Coder Supported Hardware Intel SoC Devices
Code Generation HDL Coder HDL Coder Supported Hardware HDL Coder Support Package for Intel SoC Devices