BLDC Motor control using FPGA and LABVIEW
Jan 15, 2016
BLDC Motor control using FPGA and LABVIEW
Motivation
Gabriel ZSURZSAN2/12
Motors – a basic component of our livesFPGA – challenging but extremely flexibleLabVIEW – powerful and intuitive
development platformWii Remote – adds a much-needed fun factor
and freedom of control to the project
The Hardware Platform
Gabriel ZSURZSAN3/12
Hurst BLDC motor
Motor Driver (partial
schematic)
Spartan 3E Starter Kit
Nintendo Wii Remote
The Software Platform
Gabriel ZSURZSAN4/12
LabVIEW 2009 provides a comprehensive development environment allowing access to all the resources necessary in order to implement the present project, either in its standard form or through one of its modules
FPGA ModulePID Module
The Software Platform
Gabriel ZSURZSAN5/12
LabVIEW greatly shortens development time
Full project chain
Gabriel ZSURZSAN6/12
The WiiMote communicates with the laptop through Bluetooth
LabVIEW uses a .NET framework DLL in order to initialize the remote and interpret the data received
Full project chain
Gabriel ZSURZSAN7/12
LabVIEW FPGA module manages the programming of the FPGA, as well as communication between the host and target VIs through USB
Full project chain
Gabriel ZSURZSAN8/12
The FPGA generates a PWM signal to drive the motor
The Hall signals generated on the BLDC side are read by the FPGA, determining correct energizing of driver transistors and motor speed for PID loop adjustments
PID feedback loop is implemented on the FPGA
Interface
Gabriel ZSURZSAN9/12
StraightforwardIntuitiveEasy to use
Some results
Gabriel ZSURZSAN10
Observations & Conclusions
Gabriel ZSURZSAN11/12
Hall sensors are really noisyWiiMote accelerometer is very sensitivePID loop manual tuning is difficult and may take
long
WiiMote control is very intuitive, extra visual feedback added by the implemented 3D model
LabVIEW allows for easily interpretable results
PID response follows the setpoint accurately, giving no overshoot but a 10% undershoot
My personal remark:
Gabriel ZSURZSAN12/12