BLDC Motor control using FPGA and LABVIEW

Download Report

Transcript BLDC Motor control using FPGA and LABVIEW

BLDC Motor control using FPGA
and LABVIEW
Motivation
 Motors – a basic component of our lives
 FPGA – challenging but extremely flexible
 LabVIEW – powerful and intuitive development platform
 Wii Remote – adds a much-needed fun factor and freedom of
control to the project
2/12
Gabriel ZSURZSAN
The Hardware Platform
 Hurst BLDC motor
 Spartan 3E Starter Kit
3/12
Gabriel ZSURZSAN

Nintendo Wii Remote

Motor Driver (partial
schematic)
The Software Platform
 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 Module
 PID Module
4/12
Gabriel ZSURZSAN
The Software Platform
 LabVIEW greatly shortens development time
5/12
Gabriel ZSURZSAN
Full project chain
 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
6/12
Gabriel ZSURZSAN
Full project chain
 LabVIEW FPGA module manages the programming of the
FPGA, as well as communication between the host and target
VIs through USB
7/12
Gabriel ZSURZSAN
Full project chain
 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
8/12
Gabriel ZSURZSAN
Interface
 Straightforward
 Intuitive
 Easy to use
9/12
Gabriel ZSURZSAN
Some results
10
Gabriel ZSURZSAN
Observations & Conclusions
 Hall sensors are really noisy
 WiiMote accelerometer is very sensitive
 PID loop manual tuning is difficult and may take long



11/12
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
Gabriel ZSURZSAN
My personal remark:
12/12
Gabriel ZSURZSAN