Commit Graph

61 Commits

Author SHA1 Message Date
EmanuelFeru b76e8ee466 Update BLDC controller
- added possbility to switch the Control mode while motor is spinning. NOT yet checked how motors behaves when swiching is triggered!
- added Cruise Control functionality: activated by button1 to GND (Blue Left or Right cable depending on selection). Functionality NOT yet tested in practice!
- extended Phase current measurements z_selPhaCurMeasABC : {iA,iB} = 0; {iB,iC} = 1; {iA,iC} = 2
- added interface for external motor angle measurement from as sensor, e.g., encoder. The selection can be done via b_angleMeasEna: 0 = Estimated (default), 1 = Measured.
- update the Field weakening Lo and Hi to fully blended.
- minor improvements:
   - Buttons initialization
   - lowered ADC margins in auto-calibration
   - commented out ADC_SAMPLETIME_239CYCLES_5, reported to give some issues when Hall sensor ADC input is used
2020-10-12 22:55:39 +02:00
EmanuelFeru 2890745fbb Moved Matlab files to a new repo
Moved all the Matlab related files for the FOC motor control to a new repository:
bldc-motor-control-FOC
2020-09-01 18:10:02 +02:00
EmanuelFeru 4d5c98d00a Update README.md 2020-07-22 15:57:34 +02:00
EmanuelFeru 5a9b3cfbbc Update README.md 2020-07-22 15:56:14 +02:00
EmanuelFeru f2d86f3b30 Added functionality: Electric Brake, Standstill hold
- For TORQUE mode, by enabling `ELECTRIC_BRAKE_ENABLE` in `config.h`, the freewheeling amount can be adjusted using the `ELECTRIC_BRAKE_MAX` parameter.
- For VOLTAGE and TORQUE mode, the standstill hold functionality can be forced by enabling `STANDSTILL_HOLD_ENABLE` in `config.h`.

Known (minor) issue: There is a small "tick" noise when Stanstill is engaged/disengaged, due to the switching to SPEED mode. To be solved by an improved mode switching strategy in the future.
2020-07-19 11:24:37 +02:00
EmanuelFeru 17e127a8b7 PWM/PPM Left/Right, UART update
- created possiblity to use PWM, PPM input also on both LEFT and RIGHT cable (RIGHT cable is 5V tolerant)
- updated UART: disabled the Rx errors to avoid DMA stop and additional need to manage the UART error handler
- added Button support LEFT/RIGHT
2020-06-25 20:17:55 +02:00
EmanuelFeru ada07cd5fb
Fixed links 2020-06-21 23:59:44 +02:00
EmanuelFeru e46dff590f Major UART communication improvement
- the UART communication is improved based on UART Idle line detection interrupt
- an Rx ring buffer is used to manage the UART incoming data
- both Tx and Rx are efficiently handled using DMA

#45 #64 #65

Other:
- minor visual improvements
2020-06-21 23:14:46 +02:00
EmanuelFeru 85552b3e41
Merge pull request #50 from juodumas/update-torque-mode-readme
Update torque mode description in readme
2020-06-13 11:06:54 +02:00
EmanuelFeru 736f2b9419 Minor updates
- updated ReadMe: added higher resolution mainboard picture, added links with projects, online compiler, Telegram link
- setup.c : fixed the Charger GPIO pin to PULLUP, otherwise the Charger won't be recognized when connected
- config.h : increased the default ADC protection Timeout from 30 to 100 for more robustness.
2020-05-26 22:17:40 +02:00
juodumas 001071a55d Update torque mode description in readme 2020-05-03 22:42:46 +03:00
EmanuelFeru 39e4fdc869 Variant_PWM implemented 2020-03-24 19:57:08 +01:00
Kai Hauser 1090c2fb99
Merge branch 'master' into master 2020-03-01 10:23:02 +01:00
EmanuelFeru 72e6b30033 UART with sideboards works + major refactoring
► the mainboard can now send and receive Serial data from the sideboards
► heavy refactored the `main.c`. It was becoming too large to manage... Therefore, `util.c` and `util.h` was created
► added new functionality for `VARIANT_HOVERCAR` and variants with `CONTROL_ADC` in general:
- ADC limits auto-calibration mode (long press of the power button) - calibration will not be lost at power-off
- Max Current and Max Speed adjustment mode (long press followed by a short press of the power button) - calibration will not be lost at power-off
- added one sideboard functionality:
         - LEDs are used to display battery level,  Motor Enable, Errors, Reverse driving, Braking.
         - Photo sensors are used as push buttons: One for changing Control Mode, One for Activating/Deactivating the Field Weakening on the fly
2020-03-01 10:00:26 +01:00
Kai Hauser e70b3aa38c
more CLI 2020-02-27 12:07:49 +01:00
Kai Hauser a6242cc3d6
Added Flashing Method 4: MacOS
and moved Variants above Flashing since you have to define a Variant before flashing
2020-02-26 21:03:52 +01:00
EmanuelFeru 52e920c5ee Merge branch 'master' of https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC 2020-02-16 21:58:25 +01:00
EmanuelFeru 872d86f021 Added Keil project
Project can now be built and flashed with Keil uVision as well.
2020-02-16 21:58:15 +01:00
EmanuelFeru f1cb07dad2 Update README.md 2020-02-10 09:52:49 +01:00
EmanuelFeru 9e943feb8e Update README.md 2020-02-08 08:55:11 +01:00
EmanuelFeru b96ecf09e5
Update README.md 2020-02-07 18:25:57 +01:00
EmanuelFeru 4382ec3128
Update README.md 2020-02-07 18:15:18 +01:00
EmanuelFeru 70c385e4a1
Update README.md 2020-02-07 17:27:23 +01:00
EmanuelFeru a57b600230 Minor changes for PR #18
- updated sligtly the order of defines and corrected defines for some variants in config.h
- fixed checksum data type in Arduino example (Issue #19)
2020-01-29 21:20:04 +01:00
kai e1aa42bad0 space removal 2020-01-18 01:15:45 +01:00
kai 04fc584f0a renamed USART3 to USART because you can also use USART2 not only USART3 2020-01-18 01:08:47 +01:00
kai cd01b73451 corrected nunchuck to nunchuk 2020-01-18 01:05:06 +01:00
EmanuelFeru d2c846cda9 Updated IBUS variant
- separated the implementation from USART implementation for more clarity
- fixed warnings
- minor visual updates
2020-01-08 19:16:34 +01:00
kai c49bbdeacd all for travis 2020-01-05 14:28:02 +01:00
kai 7f01b16b63 link to repo file 2020-01-05 13:10:41 +01:00
kai f35d11041c VARIANT changes 2020-01-05 13:08:18 +01:00
kai ec2f6a1eb6 - removed default / fallback variant; you are forced to define the variant of your choice now or build will stop with an error
- added condition in config.h to either take setting from platform.ini or config.h
- homogenized default_envs naming; all variants now have VARIANT_ as prefix
- added nunchuck variant in platform.ini and config.h
- added PPM variant in platform.ini and config.h
- README: added jan's nunchuck breakout board repo
2020-01-04 00:09:57 +01:00
EmanuelFeru 641fd0bd76
Added HOVERCAR movie link 2019-12-31 13:43:37 +01:00
EmanuelFeru b4b23bbe9b Implemented HOVERCAR variant
Major:
- created HOVERCAR variant (selectable via platformio.ini) for driving via 2 pedals: Brake (on cmd1) and Throttle (on cmd2)
- implemented "Double tapping" on Brake pedal to engage Reverse driving
- implemented that Brake pedal stops the vehicle but does not go to Reverse, to prevend unintended Reverse driving
- implemented ADC Protection when GND and Vcc wire are disconnected. The functionality can be enabled/disabled via #define ADC_PROTECT_ENA
- updated error handling: in case of major error the motors will be disabled for improved safety

Minor:
- fixed bug on low-pass filter for not reaching exact "0" value
- calibrated the ADC Battery voltage reading
- other minor visual updates
2019-12-31 13:35:01 +01:00
EmanuelFeru ed31ac07a5
Update README.md 2019-12-12 23:52:07 +01:00
EmanuelFeru 22d52795dc
Update README.md 2019-12-04 20:51:06 +01:00
EmanuelFeru 6e4405c19c
Update README.md 2019-12-01 18:19:59 +01:00
EmanuelFeru 1841257078
Update README.md 2019-11-30 11:32:24 +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 99f07cc174
Update README.md 2019-10-21 20:17:03 +02:00
EmanuelFeru cc7fdda3a5
Update README.md 2019-10-21 18:02:00 +02:00
EmanuelFeru 598305d8c5
Update README.md 2019-10-21 08:30:21 +02:00
EmanuelFeru 722c620c74
Update README.md 2019-10-20 20:19:39 +02:00
EmanuelFeru 78d03ca7eb
Update README.md 2019-10-20 20:08:22 +02:00
EmanuelFeru d18e27c234
Update README.md 2019-10-07 10:56:13 +02:00
EmanuelFeru 5d3bcb1ee3
Update README.md 2019-10-07 10:44:11 +02:00
EmanuelFeru c89299e48a Update README.md 2019-10-06 23:09:28 +02:00
EmanuelFeru b922544ade Update README.md 2019-10-06 23:07:23 +02:00
EmanuelFeru f4772cfb9f Update README.md 2019-10-06 23:06:06 +02:00
EmanuelFeru fb0e9f23f2 Update README.md 2019-10-06 23:02:53 +02:00