BLDC Motor control using FPGA and LABVIEW
Motivation 2/12 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
The Hardware Platform 3/12 Hurst BLDC motor Motor Driver (partial schematic) Spartan 3E Starter Kit Nintendo Wii Remote
The Software Platform 4/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 Module PID Module
The Software Platform 5/12 LabVIEW greatly shortens development time
Full project chain 6/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 7/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 8/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 ZSURZSAN 9/12 Straightforward Intuitive Easy to use
Some results 10
Observations & Conclusions 11/12 Hall sensors are really noisy WiiMote accelerometer is very sensitive PID 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