Commit Graph

161 Commits

Author SHA1 Message Date
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 183776ceb2 Updated webview 2019-12-31 13:34:32 +01:00
EmanuelFeru 72d2aae4d7 Made Variant selection easy via platformio.ini
Now it is easy to select between different variant builds via platformio.ini. Currently, 3 variants can be selected:
VARIANT_ADC
VARIANT_USART3
TRANSPOTTER

Note: For any particular needs, you can still change config.h according to your needs.
2019-12-23 12:12:01 +01:00
EmanuelFeru fdbfe28749
Merge pull request #9 from Mezgrman/transpotter
Implemented TranspOtter modifications
2019-12-23 10:13:54 +01:00
EmanuelFeru 814af15adc Made beep functions available also for other variants
Beep function "short" and "long" can be used also for other variants than TRASNPOTTER
2019-12-23 10:11:48 +01:00
Julian Metzler f253e6e29a Added second beep with varying pitch on follow distance change 2019-12-22 15:34:32 +01:00
EmanuelFeru 4c5842915d I prefer that we keep the DEFAULT behavior
Take TRASPOTTER as a firmware variant
2019-12-14 14:00:29 +01:00
EmanuelFeru 17be530d29 Update defines.h 2019-12-14 13:57:44 +01:00
EmanuelFeru 2c939cad1c Update setup.c 2019-12-14 13:57:40 +01:00
EmanuelFeru 0344a9c225 Merge branch 'master' into pr/9 2019-12-14 13:51:37 +01:00
EmanuelFeru ed31ac07a5
Update README.md 2019-12-12 23:52:07 +01:00
EmanuelFeru eb69c4afee Merge branch 'master' of https://github.com/EmanuelFeru/hoverboard-firmware-hack-FOC 2019-12-12 23:44:39 +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
EmanuelFeru 8ae3770708 Updated webview 2019-12-12 23:34: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 249d93932e Fixed checksum
Fixed a bug when requesting negative speed in the checksum calculation due to data type.
2019-12-01 17:46:48 +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
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 420b95e281 Update webview 2019-11-30 11:20:33 +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
Julian Metzler 1f1e1c7dd7 Fixed modified prefix in Makefile 2019-11-27 00:11:10 +01:00
Julian Metzler f98f531f3e Implemented TranspOtter modifications 2019-11-26 23:58:20 +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 0fb080ad1b Updated webview 2019-11-03 12:38:36 +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 6a30cfce6c Updated webview 2019-10-31 22:00:56 +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 99f07cc174
Update README.md 2019-10-21 20:17:03 +02:00
EmanuelFeru 070d7d73df Updated figure 2019-10-21 20:08:10 +02:00
EmanuelFeru cc7fdda3a5
Update README.md 2019-10-21 18:02:00 +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 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 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 d87e9d68c6 Updated block setting
No functional impact
2019-10-12 18:25:35 +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
EmanuelFeru 7b37d19460 Update README.md 2019-10-06 23:02:19 +02:00