stm32-sine

Main firmware of the Huebner inverter project

GPL-3.0 License

Stars
160
stm32-sine - Active low shoot through fix

Published by jsphuebner almost 5 years ago

Most importantly this release fixes shoot through (all IGBTs on) on the second startup when in active low mode.
Other changes:

  • Improved switch between regen and accel by introducing a second PI controller
  • Fixed Blue Pill break input - again
  • Changed PWM frequency handling - always same controller frequency and 3 possible PWM frequencies - 4.4, 8.8, 17.6kHz

The last change means that I removed 1.1 and 2.2kHz, I hope nobody used it.

stm32-sine - FOC field weakening

Published by jsphuebner almost 5 years ago

  • Added MTPA and field weakening
  • Added syncadv parameter to compensate for phase lag
  • Disabled user_pwm code on BluePill
stm32-sine - Reverse Regen Fix

Published by jsphuebner about 5 years ago

  • Detecting rotor direction in encoder module/resolver mode
  • Using direction information to trigger regen with correct polarity
  • Turned on CAN automatic retransmission (This may cause problems when debugging CAN but solves problems when on a larger CAN network)
  • Calculating frequency less often but more accurate
  • Removed unused parameters in FOC implementation
  • Consolidated parameters for current controllers
  • Corrected bug in CAN SDO handling

General documentation: https://openinverter.org/wiki

stm32-sine - First FOC Release

Published by jsphuebner about 5 years ago

This is the first official release that contains both Sine and FOC implementation. If you use an asynchronous motor, download stm32_sine.. If you use a synchronous/PMSM motor download stm32_foc.

Also in this release I fixed charge mode which I broke in the v4.55.R release

stm32-sine - Do not use, go straight to v4.56.R!

Published by jsphuebner about 5 years ago

  • Do not rely on ETR pin for single channel encoder (except rev1 hardware)
  • Fixed TMPHSMAX message
  • fmax derating now implemented as a smooth derater
  • Allow regen at rotor frequencies > fmax
  • Removed unused UVLO pin (fixes blue pill throttle issue)
  • Corrected error in quadrature encoder module that would lead to unwanted regen at higher speeds
  • Enable internal pull-up of timer break on Blue Pill board (spurious trips otherwise)
  • Timer break on blue pill always yields "Overcurrent" error (Blue Pill can't distinguish)
  • brkpedalramp renamed to regenramp because it ramps all regen activity now
stm32-sine - Blue Pill support, CAN deletion, additional temp sensors

Published by jsphuebner about 5 years ago

  • Added error message for stuck PWM pins
  • Added possibility to selectively delete CAN mappings
  • Made real use of GPIO bit set/reset register
  • Do not calculate slip in synchronous mode
  • Added support for Blue Pill board (reduced and remapped pins)
stm32-sine -

Published by jsphuebner over 5 years ago

  • Added possibility for a constant power region, set fslipconstmax=fslipmax if you don't want it!
  • Using DMA for serial communication if possible (all boards but Rev1)
  • Calculation of ilrms is now being done by averaging with previous RMS values
  • Do not swallow the new line in echo
  • FP multiplication fixed under LimitCurrent() method. Also, max current is calculated by SVM approach.
  • Fix infinite speed when fmax<20
  • Fmax minimum set to 21
stm32-sine - Improved velocity calculation in resolver and sin/cos mode

Published by jsphuebner over 5 years ago

Improved velocity calculation in resolver and sin/cos mode

stm32-sine - Usability Upgrades

Published by jsphuebner almost 6 years ago

  • Better support for high pulse count single channel encoders (contributed by Nail Güzel)
  • Displaying last error in spot value channel (that also makes it possible to send it via CAN)
  • Added error code when AC current limit kicks in
  • Added experimental (!) AC_HEAT mode. It is supposed to heat the battery pack by cycling current between two pack halfes. UNTESTED!!
  • Added possibility to hide parameters (flag hidden) or unhide them (flag !hidden). The flags are stored alongside the parameter values with the "save" command
stm32-sine - Removed velocity trackers, replaced by simple math

Published by jsphuebner almost 6 years ago

I highly recommend updating to this release when using synchronous motors.
There is also a small bugfix for single channel encoder mode

stm32-sine -

Published by jsphuebner almost 6 years ago

Added support for SIN/COS position sensors
Added option to reverse direction signals
No longer using velocity tracker in AB(Z) mode
Fixed "turns"

stm32-sine - Bugfix version supersedes 4.71

Published by jsphuebner almost 6 years ago

Corrected calculation of rotor frequency in speed estimator
Corrected calculation of rotor speed in resolver mode
Improved sampling SNR in resolver mode
angle displayed in ° (0-360) instead of digits (0-65536)
Corrected regen calculation for synchronous motors

stm32-sine - First official version with current limiter

Published by jsphuebner almost 6 years ago

Added AC current limiter in software
Using tracking loop to calculate motor velocity in Resolver and quadrature modes
Added parameter encki for finetuning speed estimation
Added parameter respolepairs for resolvers with different pole count to motor
Fixed resolver mode ADC setup
Counting number of rotor turns since startup
Added (temporary) parameters for speed estimator
Added power limits: maximum DC current in and out, throttle limiter
Added button mode for direction selection
Added error message on inverter over temperature
Added CPU load display
Saving CAN map using uids instead of parameter index -> CAN map survives firmware upgrade
Using both CAN receive FIFOs

stm32-sine - First unified version

Published by jsphuebner about 6 years ago