|
|
# Project4. BLDC motor controller based on RISC-V
|
|
|
|
|
|
## Design objective:
|
|
|
|
|
|
Design a BLDC(Brushless DC) motor/PMSM(Permanent Magnet Synchonous Motor) controller module for RISC-V, mounted on the ICB bus of Hummingbird E203.
|
|
|
|
|
|
## Basic technical requirements:
|
|
|
|
|
|
- 1. Design a timer of 16bit counter, with 6 registers for Output Compare, generating 6 signals for driving BLDC/PMSM. These 6 signals forms 3 pairs(U,V,W phase) with 2 complementery signals for each pair;
|
|
|
- 2. Implement dead zone configuration for each phase. That means the gap between two signals can be changed by software.
|
|
|
- 3. Implement periodically OC data updating. To form a 3-phase sine PWM output, you need to periodically update the value of OC registers. You can achieve this by software (timer interrupt) or hardware (special design for the timer).
|
|
|
- 4. Support emergency stop (BREAK). When BREAK asserted, the motor should stop running ASAP.
|
|
|
|
|
|
|
|
|
## Extended requirements (bonus points):
|
|
|
|
|
|
- 1. Automatically inject OC data from a sine table with hardware;
|
|
|
- 2. Implement calculation module for adjust the driving strength(Driving power).
|
|
|
- 3. Implement speed control (with adjusting frequecy of timer/ feed rate of sine table etc.).
|
|
|
|
|
|
**NOTE: Extended tasks must be achieved on FPGA board and can drive a real BLDC motor with external 3-phase drivers(power stage of 12V) **
|
|
|
|
|
|
|
|
|
## Other requirements
|
|
|
|
|
|
The content of submission should include:
|
|
|
|
|
|
- Project report:
|
|
|
- description of interfaces
|
|
|
- detailed implementation of core modules
|
|
|
- simulation waveforms
|
|
|
- explanations of key modules
|
|
|
- testing methods and processes
|
|
|
- references
|
|
|
|
|
|
If you have done extension task3(linux terminal simulation), please describe the detailed principles.
|
|
|
|
|
|
|
|
|
## Scoring criteria
|
|
|
|
|
|
Total scores:100 + 20
|
|
|
|
|
|
| Item | Seq | Requirements | Score | remark |
|
|
|
| -- | -- | -- | -- | -- |
|
|
|
| Basic Requirements | 1 | 3-phase complementery PWM signal generation| 50 | |
|
|
|
| | 2 | dead zone control | 5 | |
|
|
|
| | 3 | Periodically PWM data updating| 10 | |
|
|
|
| | 4 | BREAK function| 5 | |
|
|
|
| |
|
|
|
| Extended Requirements| 5 | Automatic data injection | 10 | |
|
|
|
| | 6 | Driving strenghth control | 5 | |
|
|
|
| | 7 | Speed control | 5 | |
|
|
|
| |
|
|
|
| documentary | 7 | The content of report is complete | 10 | |
|
|
|
| | 8 | Detailed test plan, data is complete | 10 | |
|
|
|
| | 9 | code is complete, with sufficient explain | 10 | |
|
|
|
|
|
|
**Before using a real motor power driver, basic requirements 2 must be firstly achieved and verified, or will cause severe damage (burning or blowing power MOSFET and other circuits.)**
|
|
|
|
|
|
## Reference
|
|
|
|
|
|
TBD
|
|
|
|