Motacon_20200317
Dependents: HelloWorld_MotorKaisei
BLDCmotorDriver.h@3:a4b4a8e3f2a0, 2015-06-01 (annotated)
- Committer:
- mslovic
- Date:
- Mon Jun 01 13:47:23 2015 +0000
- Revision:
- 3:a4b4a8e3f2a0
- Parent:
- 1:786897114846
- Child:
- 4:f56d1fb53d9b
- Child:
- 6:959e725b6be9
First working version
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mslovic | 0:5602fba2a7f7 | 1 | #include "mbed.h" |
mslovic | 0:5602fba2a7f7 | 2 | #include "RateLimiter.h" |
mslovic | 0:5602fba2a7f7 | 3 | |
mslovic | 0:5602fba2a7f7 | 4 | class BLDCmotorDriver { |
mslovic | 0:5602fba2a7f7 | 5 | public: |
mslovic | 3:a4b4a8e3f2a0 | 6 | BLDCmotorDriver(PinName GH_A, PinName GL_A, PinName GH_B, PinName GL_B, PinName GH_C, PinName GL_C, PinName h1, PinName h2, PinName h3, PinName Fault); |
mslovic | 0:5602fba2a7f7 | 7 | void configure(float sampleTime, float switchingFrequency, float rampUpSlope, float rampDownSlope); |
mslovic | 0:5602fba2a7f7 | 8 | void setDutyCycle(float dutyCycle); |
mslovic | 0:5602fba2a7f7 | 9 | void coast(); |
mslovic | 0:5602fba2a7f7 | 10 | float getDutyCycle(); |
tbjazic | 1:786897114846 | 11 | int getSector(); |
mslovic | 3:a4b4a8e3f2a0 | 12 | void ispis(); |
mslovic | 3:a4b4a8e3f2a0 | 13 | |
mslovic | 0:5602fba2a7f7 | 14 | private: |
tbjazic | 1:786897114846 | 15 | PwmOut GH_A, GH_B, GH_C; |
tbjazic | 1:786897114846 | 16 | DigitalOut GL_A, GL_B, GL_C; // Low-side gates are never PWM driven |
tbjazic | 1:786897114846 | 17 | InterruptIn H1; // InterruptIn can be used on all pins except p19 and p20 |
tbjazic | 1:786897114846 | 18 | InterruptIn H2; |
tbjazic | 1:786897114846 | 19 | InterruptIn H3; |
mslovic | 0:5602fba2a7f7 | 20 | RateLimiter rl; |
mslovic | 0:5602fba2a7f7 | 21 | Ticker ticker; |
mslovic | 0:5602fba2a7f7 | 22 | float switchingPeriod, dutyCycle, tempDutyCycle, sampleTime; |
tbjazic | 1:786897114846 | 23 | void commutation(); |
mslovic | 3:a4b4a8e3f2a0 | 24 | int currentSector, _currentSector, previousSector, difference; |
mslovic | 3:a4b4a8e3f2a0 | 25 | DigitalOut Fault; |
mslovic | 3:a4b4a8e3f2a0 | 26 | int h1, h2, h3; |
mslovic | 3:a4b4a8e3f2a0 | 27 | //void adjustDutyCycle(); |
mslovic | 3:a4b4a8e3f2a0 | 28 | |
mslovic | 0:5602fba2a7f7 | 29 | }; |