Commit Graph

226 Commits

Author SHA1 Message Date
Candas1 b1169c02b7 Fixes 2020-10-31 21:14:15 +01:00
Candas1 b50efdcab2 Fix typo 2020-10-29 00:41:41 +01:00
Candas1 95c912d757
Update config.h 2020-10-29 00:10:52 +01:00
Candas1 5dc88b7e02
Update util.h 2020-10-28 23:43:19 +01:00
Candas1 e508a2131a
Update util.c 2020-10-28 23:42:22 +01:00
Candas1 aaeb44d0b6
Update main.c 2020-10-28 23:36:24 +01:00
Candas1 dd09115e95
Update util.c 2020-10-28 23:34:29 +01:00
Candas1 78246f4e53
Update util.c 2020-10-28 19:02:21 +01:00
Candas1 1b32555fb0
Update util.c 2020-10-28 09:26:26 +01:00
Candas1 d7880dafeb
Update util.c 2020-10-27 20:44:52 +01:00
Candas1 09b2728168
Update util.c 2020-10-27 20:38:19 +01:00
Candas1 5d954a05aa
Fix typo 2020-10-27 20:24:56 +01:00
Candas1 4ba8a8d82a
Add new parameter to adddeadband function 2020-10-27 20:23:35 +01:00
Candas1 df37f6dcc3
Add parameter for ADC deadband 2020-10-27 19:41:47 +01:00
Candas1 0ab8e8e5ac
Improve adddeadband function
- Use MAP function
- add additional parameter for middle value
- use adddeadband function with ADC input when mid resting pot is used
2020-10-27 19:39:12 +01:00
Candas1 76a27b086c
Add function for MAP 2020-10-27 19:22:23 +01:00
EmanuelFeru 4fbf2549c9 Cruise Control update
- added support for Cruise Control in HOVERCAR variant
- updated the shortBeep function, didn't like the beeping sound :)
2020-10-20 19:54:38 +02:00
EmanuelFeru 4991a15a5e Fixed bug
PI controller integrator is now working correctly.
2020-10-20 17:49:40 +02:00
EmanuelFeru 8369e4d47d Increased delay for CC
In Cruise Control (CC), the button can bounce. The beep delay is increased from 100ms to 200ms to prevent button bouncing and continuous activation/deactivation of CC.
2020-10-13 10:38:43 +02:00
EmanuelFeru 66857b5680 Fixed symbol 2020-10-13 08:58:42 +02:00
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 b1f7c4c296
Merge pull request #84 from EmanuelFeru/variant-skateboard-PWM
Variant skateboard pwm
2020-07-22 21:14:46 +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 290ed30765 Fixes Skateboard Variant
- fixed to RIGHT cable
- fixed braking relative to the direction of motion
- adjusted the braking amount to -400
2020-07-20 21:06:39 +02:00
EmanuelFeru 733fd80362 created SKATEBOARD variant 2020-07-20 20:33:42 +02:00
EmanuelFeru 32974749e2 Fixed PPM build 2020-07-20 20:30:46 +02:00
EmanuelFeru dcdac4f6db Updated PWM variant
- fixed the setScopeChannel for PWM, to calibrate properly the limits
- improved the scaling
2020-07-20 19:36:24 +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 22984a7fd6 Fixed PPM, PWM timeout
- fixed the general timeout handling: there is no need to disable the MOSFETs timer because it will confuse the BLDC_controller, making him consider the timeout as a false MOSFET defective error.
- renamed `timeout` to `timeoutCnt` for consistency and to ease the search
#61
2020-07-01 19:50:32 +02:00
EmanuelFeru 68776699e1 Updated Mid resting poti scaling
Issue #74
2020-06-30 18:09:37 +02:00
EmanuelFeru d8b529e063 Added default Debug selection for PPM, PWM 2020-06-26 11:23:48 +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 526cee4c0f Lowered pwm_margin by 10
- to avoid virbation at maximum PWM = 1000, due to reduced Phase current accuracy, the pwm margin is lowered by 10.
Fixed #69
2020-06-23 20:13:05 +02:00
EmanuelFeru 5f2eb196af Improved UART error recovery
- In case of an Rx error instead of stopping the complete UART, only the Rx DMA is aborted and restarted.
2020-06-23 19:58:36 +02:00
EmanuelFeru ac90ed1b6b Fixed initial condition bug
- the initial condition for the Battery and Board temperature was wrongly set
- the filter is fixdt(1,32,16), so the shift should be by 16 bits.
2020-06-22 20:21:18 +02:00
EmanuelFeru b8d9c8c8bc Re-arranged variables
- no functionality change
2020-06-22 09:17:42 +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 205c054235 PWM Variant update
- made the 2 channels to operate independently #61
- added defines to enable/disable motors, if one motor is not needed #63
2020-06-13 10:57:54 +02:00
EmanuelFeru 8ddfc82882 Updated PWM Variant
- PWM Variant should now support that the PWM for the 2 channels (steering, throttle) can happen:
• in the same time (ussually the case if Servo library from Arduino is used)
•or offseted (ussually if commercial RC PWM received is used)
- made the PWM timeout for the 2 channels independent to be able to use only one channel if desired.
2020-06-13 00:08:34 +02:00
EmanuelFeru 558759b2c5
Merge pull request #57 from benjaf/master
PWM Steering fixed
2020-06-02 14:46:07 +02:00
EmanuelFeru 22411e1851 update PWM timeout
- updated the `pwm_timeout` and uncommented `pwm_captured_ch1_value` as discussed with @benjaf
2020-06-02 14:42:14 +02:00
EmanuelFeru b95307f260 Update control.c
- removed the `PWM_signal_Correct(..)` function, because it is already existing here 34c6e4d610/Src/util.c (L844-L862)
- added (void) to the functions
- limited `pwm_timeout` to 500 instead of 0, ottherwise the timeout won't work properly, because it will will reset every time.
2020-06-02 13:04:10 +02:00
Benjamin 21a8f757d0 PWM Steering fixed 2020-06-02 11:53:59 +02:00
EmanuelFeru 34c6e4d610 Improved UART Timeout
Apparently, the UART data Rx/Tx is quite unreliable (especially under motor load) leading to very often out-of-sync issues. This change allows to reset the DMA more often, leading to a faster re-sync of the UART transmission and thus avoiding UART timeout.
2020-06-01 20:08:47 +02:00
EmanuelFeru 32f4a2c03e Fixed missing define for Serial feedback 2020-05-26 23:39:56 +02:00
EmanuelFeru 083088724e Updated mainboard picture 2020-05-26 22:49:12 +02:00