Commit Graph

25 Commits

Author SHA1 Message Date
interfisch fc5f5a26ca feedback struct first left, seconds value right 2020-02-02 14:42:56 +01:00
interfisch 7bc84cf3e0 manually apply some improvements from current emanuelferu repo 2020-02-02 14:27:36 +01:00
interfisch 5f063a0bb6 fix speed calculation. should fix low voltage poweroff while driving 2020-01-02 19:36:11 +01:00
interfisch b30e350cd1 add current feedback 2019-12-20 22:21:21 +01:00
interfisch bc6097f89b fix and shorten feedback send delay 2019-12-20 21:57:41 +01:00
interfisch b948a1b5b6 merge changes from emanuelferu (foc calculation improvement) 2019-12-13 21:03:16 +01:00
EmanuelFeru 31d42b4a17 Major improvements
- reduced FOC computational complexity by up to 20%, from 85% (old) to 65% (new)
- updated Field Weakening by allowing more freedom set-up: field weakening blended in the input fully, partially blended, or fully outside the input range
- major improvemets on current and speed limitations. It allows seemless limitation protection -> very happy with the result
2019-12-12 23:44:33 +01:00
interfisch f302ff8041 change back to HAL_Delay 2019-12-06 22:08:17 +01:00
interfisch 2e28a807ea implement suggested bugfix for main loop delay (does not work) 2019-12-06 22:07:06 +01:00
interfisch 61b40e9526 merge with checksum fix 2019-12-03 22:31:53 +01:00
EmanuelFeru 9fdb6d75f5 Fixed checksum
Fixed a bug when requesting negative speed in the checksum calculation due to data type.
2019-12-01 17:38:36 +01:00
interfisch 7e670e06d2 changes for independant left and right speed serial control 2019-11-30 21:42:32 +01:00
EmanuelFeru 6c8b7f001d Added Sinusoidal Control Type
Sinusoidal Control Type is now available is this branch. To select it go in config.h and change CTRL_TYP_SEL to 1. By default FOC control type is selcted.
Note: SPEED and TORQUE modes are not available for Sinusoidal control type.
2019-11-30 11:30:12 +01:00
EmanuelFeru 5d195696a2 Implemented reliable Serial Rx/Tx
► Reliable Serial Communication implemented featuring:
- start frame
- checksum
- out-of-sync handling
- timeout and disconnected line detection
► Arduino example code added
► Fixed ConsoleLog Item #5
2019-11-29 17:31:53 +01:00
EmanuelFeru 9a9eed7d10 Updated current limit
The firmware allows now to set higher currents than 15 A/motor.
NOTE: You can change this limit at your own risk. I do not take any responsability if your boards gets damaged.
2019-11-03 12:45:13 +01:00
EmanuelFeru 01a08d5f6d Fixed ADC calculation
Fix done as suggested in Issue #8 .
2019-11-03 09:54:37 +01:00
EmanuelFeru 62873aad57 PI controller update and fixes
Major:
• all PI controllers with Back-calculation replaced with PI controllers with Clamping to reduce the number of parameters and simplify calculations

Minor:
• fixed the ADC calibration for potetiometer input when ADCx_MIN > 0
• fixed bug: small shock at initialization when current limit I_MOT_MAX is set very small e.g. 1 A
2019-10-31 22:07:52 +01:00
EmanuelFeru 1376793710 Improvements and Issues implementation
Major:
- Issue #3: added raw ADC1, ADC2 values to the setScopeChannel
- Issue #4: added functionality for joystick control. Middle resting potis are now supported (by default it is enabled)
- Issue #6: implemented that board does not power-off after a software reset due to flashing
- added Rate constraints for Input target for smoother response

Minor:
- added 2 beep sound when motors get enabled
- minor bugfixes
2019-10-27 18:21:04 +01:00
EmanuelFeru 1cc8b3475f Visual updates 2019-10-22 21:45:47 +02:00
EmanuelFeru af14b3c4b1 Improved Field Weakening
The performance of the Field Weakening is improved by reducing noise at higher speeds.
2019-10-21 17:51:09 +02:00
EmanuelFeru f991751f68 Added overflow protection
- added aditional protection for fixed-point overflow
- no other functional change
2019-10-20 19:59:16 +02:00
EmanuelFeru 8771742558 Floating-point converted to fixed-point
The follwing were converted to fixed-point
- battery voltage
- board temperature
- filters for steer and speed
- mixer calculation

Starting from this moment, the firmware is floating point free, meaning it runs more efficiently.
2019-10-20 13:31:47 +02:00
EmanuelFeru f6fc825e5f DC Link converted to fixed-point 2019-10-12 19:51:31 +02:00
EmanuelFeru 0527bd770c Added fixed-point low pass filter functions
Preparation of the low pass filter functions. They will be used to replace floating point filters.
2019-10-06 22:43:08 +02:00
EmanuelFeru 5b0b6fecf2 Initial commit 2019-10-06 15:09:15 +02:00