Closed rostik9810 closed 2 years ago
Hi,
Pole pairs are only used for rpm calculation. You must have an issue with hall sensor sequence. https://github.com/EFeru/hoverboard-firmware-hack-FOC/wiki/Firmware-Compatibility#troubleshooting
Hi,
Pole pairs are only used for rpm calculation. You must have an issue with hall sensor sequence. https://github.com/EFeru/hoverboard-firmware-hack-FOC/wiki/Firmware-Compatibility#troubleshooting
Tried all 6 hall combinations, doesn't work. Any other solutions?
Do you really have to use speed mode? You can use voltage mode as a workaround.
Yes, because when controlling for speed, the platform goes straight ahead. It helped to change the sign in line 2590, file BLDC_controller.c
PI_clamp_fixdt_l((int16_T)-rtb_Gain3, rtP->cf_nKp, rtP->cf_nKi, rtDW->UnitDelay4_DSTATE_eu, rtb_TmpSignalConversionAtLow_Pa[0], rtb_TmpSignalConversionAtLow_Pa[1], rtDW->Divide1, &rtDW->Merge, &rtDW->PI_clamp_fixdt_l4);
But now the rpm is not counted correctly.
UPD: Set 100RPM, Feedback 50RPM, but in fact 75RPM.
Have you changed anything else in the firmware ? What you set should be what you get as feedback. Are you sure about the number of poles ?
Your System
How to control a PMSM motor with 20 poles (10 pole pairs)? I changed n_polePairs from 15U to 10U in BLDC_controller_data.c, but it does not work. The motor reaches maximum rpm and becomes uncontrollable. SIN control in VLT_MODE is fine. Is there a solution?