Benjamin Vedder
d9fc2fc34c
Moved IMU calibration to blocking thread
2020-04-19 10:20:48 +02:00
Mitch Lustig
7869b34cf1
Good start on IMU Wizard
2020-04-18 11:51:50 -07:00
Benjamin Vedder
2f19819d27
Fixed conflicts with master merge
2020-04-04 22:35:29 +02:00
Benjamin Vedder
76fd7a3917
Added COMM_SET_CAN_MODE and added support for HW75_300_R3
2020-04-04 22:28:41 +02:00
Jeffrey M. Friesen
f7964e20c2
Few small changes and fixed bug with duals
...
Added ramping to current measurement to avoid steps during current calibration with an un-tuned current controller.
Added terminal command for mapping to internal nrf pins, useful when you want to erase_mass a locked nrf chip and dont want to cycle between a bunch of windows to scan connect etc.
Made fault led on duals blink if motor 2 is faulting.
Added break on inductance measurement if motor faults.
Added placeholder commands for changing name and pin of BLE module.
2020-04-01 17:58:37 -07:00
Benjamin Vedder
51f0fcea09
gpdrive fix, observer gain calc updates, added COMM_SET_BATTERY_CUT, added CAN_PACKET_SHUTDOWN, detect all fix
2020-03-20 17:35:25 +01:00
Benjamin Vedder
84ce74c325
Merge pull request #141 from Mitchlol/Balance_app_sprint_3
...
Balance sprint 3
2020-03-16 20:35:26 +01:00
Benjamin Vedder
52e17059e5
Major restructuring for dual motor support, and added unity hw files
2020-03-16 18:32:39 +01:00
Mitch Lustig
24afd4e6f3
Balance sprint 3
...
-Can steering based on speed
-Can steering current clamp
-Min rpm for half switch state fault
-Soft mode tuning (pitch angle affinity, setpoint affinity, setpoint limit)
-Reset I value on faults issue #117
-fix startup tiltback
2020-03-15 23:18:34 -07:00
Mitch Lustig
6d29b6741f
Use ADC for switches
2020-02-23 13:34:51 -08:00
Mitch Lustig
d4f6036de7
Implement nose angle adjustment
2020-02-23 10:23:19 -08:00
Mitch Lustig
2c07512091
Add can bus, 2 wheel steering & stabilization, brake, dead & fault dealy
2020-02-23 00:22:21 -08:00
Benjamin Vedder
97ef43cff8
Leave debug mode on NRF5x after SWD upload, more TS5700N8501 encoder features, more CAN baud rates
2020-02-01 00:37:25 +01:00
Benjamin Vedder
b6949d60dc
FW4.00: HFI and many updates, see changelog
2020-01-28 19:46:19 +01:00
Benjamin Vedder
287cabe76f
Common motor temperature validity check
2020-01-21 09:13:18 +01:00
Benjamin Vedder
ae5ea13998
Merge pull request #124 from powerdesigns/Axiom-resolver
...
Axiom full resolver support
2020-01-21 08:35:36 +01:00
Benjamin Vedder
2a910e17d6
Merge pull request #120 from ddosoff/master
...
KTY83/122 and priority to custom commands
2020-01-21 08:34:58 +01:00
Marcos Chaparro
9965bb52d5
Axiom: Full resolver support
...
Fixes a low level SPI timing bug.
Provide Loss of Signal, Degradation Of Signal and Loss Of Tracking
fault sources, and stats to the 'encoder' terminal command.
Signed-off-by: Marcos Chaparro <mchaparro@powerdesigns.ca>
2020-01-20 11:06:02 -03:00
Benjamin Vedder
9b98afb5a3
Merge branch 'master' of https://github.com/vedderb/bldc
2020-01-20 09:39:38 +01:00
Benjamin Vedder
ffbc6eb89b
First attempt at HFI
2020-01-20 09:39:33 +01:00
Marcos Chaparro
356f3db20e
Add Break function for instant PWM disable
...
When enabled, the Break (or BRK) is a mechanism that upon a active
level in the TIMx_BRK pin disables asynchronously the PWM output pins,
achieving fast reaction times when an external fault even happens.
See AN4277.
Signed-off-by: Marcos Chaparro <mchaparro@paltatech.com>
2020-01-19 15:36:40 -03:00
Kirill Kostiuchenko
2fa512b5ed
merge
2020-01-14 22:04:02 +05:00
Benjamin Vedder
b002e5d78e
FW 3.66: Many changes, see changelog
2020-01-12 21:25:21 +01:00
Kirill Kostiuchenko
b1a52d3ac0
KTY83/122 motor temp sensor added
2020-01-05 18:24:12 +05:00
Benjamin Vedder
210ec40d74
PTC motor thermistor support, APP_PPM sleep fix
2019-12-22 21:22:07 +01:00
Benjamin Vedder
ceb8b7bf7d
HW60_MK3 support, shutdown fix, added COMM_SET_CURRENT_REL, ramp fix, PPM timeout fix, IRQ prio fix
2019-12-19 16:55:38 +01:00
Benjamin Vedder
23e61925b6
FW upload compression support, TS5700N8501 support
2019-12-05 19:50:17 +01:00
Benjamin Vedder
ce31092c1d
Merge branch 'master' of https://github.com/vedderb/bldc
2019-09-21 12:50:41 +02:00
Benjamin Vedder
f34d0159bf
Fixed nunchuk bug and added COMM_BM_MEM_READ command
2019-09-21 12:50:39 +02:00
Mitch Lustig
343dba369a
Remove axis config
2019-09-21 01:07:31 -07:00
Benjamin Vedder
6117c2ba20
Fixed merge conflict
2019-09-17 19:43:28 +02:00
Benjamin Vedder
db6ba047d9
Added COMM_BM_READ_MEM command
2019-09-17 19:39:11 +02:00
Mitch Lustig
d160f74651
Merge branch 'master' into balance
2019-09-12 22:50:12 -07:00
Mitch Lustig
3c31d264fd
Add high voltage tiltback
2019-09-12 00:07:26 -07:00
Mitch Lustig
9f263b8c1a
Reorder app_use enum
2019-09-11 23:18:12 -07:00
Mitch Lustig
518776d04e
Add basic low voltage tiltback
2019-09-10 19:29:44 -07:00
Mitch Lustig
67a4653bd8
Add support for dual fault switches
2019-09-10 01:07:05 -07:00
Benjamin Vedder
eb6f5945ce
FW 3.61: Added smart reverse mode to PPM app, and some fixes
2019-09-09 19:34:26 +02:00
Mitch Lustig
a4de5eb2b5
Cleanup
2019-09-08 22:23:31 -07:00
Mitch Lustig
72e9c24bd7
Make axes configurable, remove offset management
2019-09-08 18:32:53 -07:00
Mitch Lustig
011d3055f6
Merge branch 'master' into merge_new_master
2019-09-08 15:05:54 -07:00
Mitch Lustig
98652977a2
Merge master
2019-09-08 11:42:28 -07:00
Benjamin Vedder
a233367be8
MPU9x50 fix, experiment plots, DQ voltage RT data, smart reverse for nunchuk app
2019-09-08 18:25:38 +02:00
Benjamin Vedder
602db7435b
FW3.59. Many updates, see changelog for details
2019-09-03 20:39:05 +02:00
Mitch Lustig
7a47053ca6
Add startup calibration sequence
2019-08-27 19:57:35 -07:00
Mitch Lustig
a2231593b2
Start on better gyro config
2019-08-25 23:49:33 -07:00
Mitch Lustig
62da9e5b83
Better peripheral gyro management
2019-08-09 23:16:20 -07:00
Mitch Lustig
14faa2e593
Make all features configurable
2019-08-07 00:22:51 -07:00
Mitch Lustig
15703429f5
Add gyro tuning functionality & state machine logic
2019-08-04 11:47:23 -07:00
Mitch Lustig
800115f683
Implement more data to help debug
2019-07-30 00:27:23 -07:00
Mitch Lustig
bbba718140
Work to get GUI going
2019-07-29 00:31:48 -07:00
Mitch Lustig
fccb59b2ef
Merge branch 'master' into balance
2019-07-27 21:28:02 -07:00
Mitch Lustig
271dd21dab
start in balanace app
2019-07-27 21:25:56 -07:00
Davide D'Agostino
19fb5e04c6
Rebuild the firmwares
2019-06-29 19:59:02 -07:00
Davide D'Agostino
ce802e3547
Move the new smart revers funcion as separate control type
...
Removed unnecessary ADC fields from its config.
2019-06-24 13:36:55 -07:00
Davide D'Agostino
05b0f0dd9f
Port Ackmaniac smart reverse
2019-06-19 19:00:46 -07:00
Benjamin Vedder
a141e750bb
Added CAN status msg 5, fixed issue 94, use defaul HW parameters after autodetect
2019-05-16 23:30:40 +02:00
Marcos Chaparro
6d758b38f2
Detect current sensor failures
...
2 failure modes added:
* On boot, when calculating DC offsets generate a fault if the offset is beyond
HW_MAX_CURRENT_OFFSET. Fault code reports which sensor is having issues (1, 2 or 3).
Most likely cause is a disconnected sensor, if hw has fault-detecting pullups.
* On runtime, in setups with 3 in-line phase current sensors, checks that the sum
of the currents is below MCCONF_MAX_CURRENT_UNBALANCE, with a configurable low pass
filter. If unbalanced current is high, it means a fault to ground, or a disconnected
sensor (this works at 0 Amp if hw has pullups in the sensor input to detect the
failure).
Signed-off-by: Marcos Chaparro <mchaparro@powerdesigns.ca>
2019-04-20 09:43:08 -03:00
Benjamin Vedder
4a9fe93f41
Added support for storing hw-specific and custom variables in EEPROM
2019-04-19 10:42:43 +02:00
Marcos Chaparro
1ae059349f
CRC integrity check of flash memory
...
The check only covers address 0x08008000 to 0x805FFFF, where application
code is stored. It excludes virtual eeprom area (first 0x8000 bytes)
because it is modified on runtime with user configurations.
After a fresh flash programming the CRC is read as 0xFFFFFFFF and firmware
computes and stores the new CRC and a reset is invoked.
After reset the CRC will be available for checking code integrity.
Linker file had a wrong flash2 size, it was set to 480kB, thus allowing
the linking of binaries larger than 393216 (x3 128kB sectors).
The bootloader won't program binaries that span more than 3 sectors.
Now flash2 length is set as (393216 - 8) to ensure that the last 8 bytes
are left blank (0xFFFF) and reserved for CRC information.
Signed-off-by: Marcos Chaparro <mchaparro@powerdesigns.ca>
2019-04-15 20:56:42 -03:00
Benjamin Vedder
025334c141
Merge pull request #85 from tipsmiller/master
...
Add new control type to ADC application
2019-04-14 07:22:56 +02:00
Marcos Chaparro
d80227b9b4
Rename sin/cos m_conf structure fields
...
Use m_foc prefix so in VESC Tool they are edited in
FOC->Encoder.
Generate confgenerator.c and .h using VESC Tool.
Signed-off-by: Marcos Chaparro <mchaparro@powerdesigns.ca>
2019-04-08 21:05:46 -03:00
tipsmiller
3639c6c5f8
Remove custom app. Add new entry for adc ctrl type
2019-04-08 17:45:46 -06:00
Marcos Chaparro
de707e0975
Add SinCos encoder checks and fault management
...
Sin/Cos signals are checked to make sure the module of the vector
is larger than 1V and smaller than 1.65V. A working encoder will
never have both sin and cos signals at 0V (zero amplitude module).
Both sin and cos at 3.3V is also not a possible value.
Errors are logged independently for signals too large and for
signals too small, provinding the user more insight when an encoder
fault happens. In the terminal, the 'encoder' command will show
the error counts and error rates of the encoder being used.
Signed-off-by: Marcos Chaparro <mchaparro@powerdesigns.ca>
2019-04-02 10:37:15 -03:00
Marcos Chaparro
153deef9af
Add configurable low pass filtering to SinCos encoder analog signals
...
Signed-off-by: Marcos Chaparro <mchaparro@powerdesigns.ca>
2019-04-01 08:35:22 -03:00
Marcos Chaparro
b155d5219a
Basic SinCos encoder support
...
Reads sine and cosine on ADC_IND_EXT and ADC_IND_EXT2, usually
used for ACCEL and REGEN inputs. Provides offset and gain
compensation and is implemented using floating point math.
Note it includes the full mc_interface.h into encoder.c only
to access the ADC readings, and no filtering is performed on
the signals.
Signed-off-by: Marcos Chaparro <mchaparro@powerdesigns.ca>
2019-04-01 08:35:22 -03:00
Benjamin Vedder
1161f8417c
Added SWD programming support (based on Black Magic Probe) and open loop duty cycle control
2019-03-31 10:49:18 +02:00
Benjamin Vedder
65298263b6
75/300 R2 support, terminal sync cmd, IMU support, option to disable permanent UART, collected timer functions in one place
2019-03-10 14:57:42 +01:00
vadim
f668b89db5
trigger a fault when AS5047 encoder SPI communication is broken
2019-02-25 14:43:02 +02:00
Marcos Chaparro
32cf05629d
Resolve merge conficts with major 2019 release
...
Signed-off-by: Marcos Chaparro <mchaparro@powerdesigns.ca>
2019-02-18 20:25:52 -03:00
Benjamin Vedder
123bb00ab4
Major 2019 update
2019-02-18 19:30:19 +01:00
Marcos Chaparro
17f97763c0
Extend watchdog coverage with IWDG, a watchdog running from an independent LF oscillator. If any of the threads being monitored does not report for more than 12ms, a reset will be asserted. When a WDG reset happens, the user can see it in the fault logs from vesc tool
...
Signed-off-by: Marcos Chaparro <mchaparro@paltatech.com>
2019-01-24 12:19:44 -03:00
Marcos Chaparro
f1978ac5b4
Stronger filtering on gate driver supply voltage sensing. Add that voltage to fault logs
...
Signed-off-by: Marcos Chaparro <mchaparro@paltatech.com>
2019-01-18 19:03:53 -03:00
Marcos Chaparro
34bacefe99
Configure Brown Out Reset to keep mcu under reset until VDD reaches 2.7V. Configure Programmable Voltage Detector to interrupt and log a fault when mcu VDD drops below 2.9V.
...
Signed-off-by: Marcos Chaparro <mchaparro@paltatech.com>
2019-01-08 11:36:42 -03:00
Marcos Chaparro
89e6022698
Gate driver supply voltage monitoring
...
Signed-off-by: Marcos Chaparro <mchaparro@paltatech.com>
2018-12-12 20:03:12 -03:00
Benjamin Vedder
a20c35b338
FW 3.39: AUX pin support, some refactoring
2018-07-06 21:20:54 +02:00
Benjamin Vedder
22dc2ce33c
FW 3.37: FOC KI temp comp, configurable foc current filter
2018-03-24 22:32:58 +01:00
Benjamin Vedder
f7d0897c73
Added handbrake function to the simple CAN interface
2018-03-02 11:48:49 +01:00
Peemouse
29c771d7c5
v3.35 - Add option to power NRF module off
2018-02-17 17:59:21 +01:00
Benjamin Vedder
5348662197
FW 3.32: Configurable CAN baud rate
2017-11-08 14:07:35 +01:00
Benjamin Vedder
6277cf74ca
FW 3.31: Acc temp dec option, PID for APP_ADC
2017-10-27 21:29:12 +02:00
Benjamin Vedder
79bfbe6234
FW3.28: dual throttle curves, ntc beta factor config, board file added
2017-09-06 21:13:28 +02:00
Benjamin Vedder
f141157358
First official commit after the VESC Project release
2017-09-04 21:12:43 +02:00
Benjamin Vedder
bb2bfa3b9c
FW 3.9: Final float serialization update, new option to invert motor direction, UUID readout
2016-11-06 18:14:06 +01:00
Benjamin Vedder
5dbc94c525
FW 3.7
2016-11-04 15:18:34 +01:00
Benjamin Vedder
cb2a205cb8
FW 2.17: as5047 support, change sensor port mode in conf, better encoder detection, FOC ah and wh counter fixes
2016-04-27 15:32:32 +02:00
Benjamin Vedder
08a27cfbbd
FW 1.16: Hall sensor position control, brake at 0RPM setpoint in FOC, FOC parameter detection fix
2016-02-24 21:19:44 +01:00
Benjamin Vedder
d52906fbe8
FW 2.15: NRF configuration, PPM and ADC app duty mode scaling to max duty
2016-02-09 12:25:13 +01:00
Lucas Pleß
294d80b777
added ADC2 analog brake option
2016-02-02 16:28:55 +01:00
Benjamin Vedder
e6ea308a48
FW 2.10: FOC hybrid hall sensor support with interpolation
2016-01-27 23:57:23 +01:00
Benjamin Vedder
90986c31de
FW 2.9: NRF updates (nunchuk has to be updated too), nunchuk command, small can fix, custom app data command
2016-01-24 13:44:51 +01:00
Benjamin Vedder
42c1b79a08
FW 2.7: Better encoder support, small UART and CAN fixes, NRF commands preparation
2015-12-28 01:50:23 +01:00
Benjamin Vedder
ff090fd4e0
FW 2.3: MAJOR UPDATE: FOC!!
2015-12-08 21:01:23 +01:00
Benjamin Vedder
c4ff81e849
Ported to ChibiOS 3, refactoring, cleanup, added safe start delay after fault for PPM app, removed unused ST libraries
2015-10-08 23:09:39 +02:00
Benjamin Vedder
06129bb66c
FW 1.13: Hw 4.8 support, new CC implementation for nunchuk, refactoring, custom app and hw config support
2015-09-17 23:24:55 +02:00
Benjamin Vedder
c3e82f7651
Soft battery cutoff, more BLDC Tool parameters
2015-08-26 23:12:39 +02:00
Benjamin Vedder
58d892935d
PPM dec fix, current sampling updates, ADC cruise control, commutation fix, higher switching frequency, refactoring
2015-08-23 18:26:05 +02:00
Benjamin Vedder
f032111b9b
NRF updates, better servo output support
2015-07-31 23:26:50 +02:00
Benjamin Vedder
24380c3fc0
New hall sensor implementation with hybrid mode and connection/order auto detection
2015-06-19 23:38:46 +02:00
Benjamin Vedder
87932662b7
Long packet support, configurable min and max duty, longer CAN buffer, default parameter changes, appconf ack fix, refactoring
2015-05-20 16:13:48 +02:00
Benjamin Vedder
bc7a779632
Bootloader support, CAN fixes
2015-05-08 22:53:59 +02:00
Benjamin Vedder
5a5ccfb4c3
ADC app added, nunchuk RPM filter, FW version added, feedback on appconf and mcconf set
2015-05-04 23:25:43 +02:00
Benjamin Vedder
85f0073105
PPM updates and safe start implementation
2015-05-01 01:57:55 +02:00
Benjamin Vedder
d8830a2543
Option to switch CAN off, optimization to send short forwarded commands over CAN in just one frame
2015-04-27 20:43:02 +02:00
Benjamin Vedder
607e99d211
Configuration over CAN, first implementation of position control, more configuration options
2015-04-27 00:02:32 +02:00
Benjamin Vedder
1ee40ce5ba
Median filter option for PPM input
2015-04-20 22:09:53 +02:00
Benjamin Vedder
bc0415c1bb
First implementation of DC motor support
2015-04-12 18:23:17 +02:00
Benjamin Vedder
2ccb52514e
Encoder support, NRF nunchuk support
2015-04-11 10:07:36 +02:00
Benjamin Vedder
3b43648803
Show battery level on ws2812 LEDs
2015-03-07 14:56:25 +01:00
Benjamin Vedder
828cdd92f8
Chuk and PPM config structs, phase advance fixes and implementation for delay comm mode, CAN fixes and status message implementation, multi-esc mode for PPM and Chuk, traction control for PPM and chuk, CAN id config, multi-esc and traction control config, ADC sampling change, hall-sensor read bug fix for HW45+
2015-02-19 21:20:07 +01:00
Benjamin Vedder
b7e5692cc1
Over temp fault code
2015-01-23 00:40:09 +01:00
Benjamin Vedder
8dc8ffe2c7
Nunchuk ramping, ws2811 configurable pin (Requieres latest BLDC_Tool)
2014-12-20 12:52:38 +01:00
Benjamin Vedder
434cd04b86
Added max ERPM in CC mode parameter (NOTE: Requires latest BLDC_Tool)
2014-12-13 11:46:26 +01:00
Benjamin Vedder
bc4409ba14
Full brake current estimation (NOTE: Extra parameter added, so update BLDC_Tool)
2014-12-13 01:31:54 +01:00
Benjamin Vedder
9ff0f99593
WS2811/WS2812 LED driver to use LEDs for turn and brake lights, etc
2014-12-09 00:11:29 +01:00
Benjamin Vedder
5675c4f485
First CAN implementation
2014-12-07 04:30:25 +01:00
Benjamin Vedder
42cab4c18d
Added voltage to fault log
2014-11-27 20:56:17 +01:00
Benjamin Vedder
33c81db930
Deadband fix, configurable temperature limit
2014-11-25 21:05:46 +01:00
Benjamin Vedder
f7cda79d1b
HW45-implementation, temp-protection, nunchuk-fix, i2c-fixes
2014-10-19 19:31:06 +02:00
Benjamin Vedder
81a6d84113
Nunchuk implementation (Nyko Kama tested), mah and wh counting
2014-10-19 01:00:53 +02:00
Benjamin Vedder
2119242b43
Soft RPM limit for current mode in ppm app
2014-09-21 19:29:26 +02:00
Benjamin Vedder
e27df0235f
Command to get decoded servo value
2014-09-20 15:23:36 +02:00
Benjamin Vedder
10bbe73206
Global timeout implementation
2014-09-20 13:41:18 +02:00
Benjamin Vedder
1d04f0314b
Added gpl to some files
2014-09-20 03:27:06 +02:00
Benjamin Vedder
d6beda7b47
Complete servo-decoding rewrite, common command module, full access to everything over uart, more ppm options
2014-09-20 03:22:38 +02:00
Benjamin Vedder
2e723ece6f
App configuration, eeprom emu fix, reboot command
2014-09-18 23:00:14 +02:00
Benjamin Vedder
6d4e55051c
Prepared applications for runtime configuration
2014-09-17 21:05:57 +02:00
Benjamin Vedder
e4c7fca84d
Tachometer improvement and rpm-dep bug fix
2014-09-16 10:44:56 +02:00
Benjamin Vedder
1f1a8af1d7
Full runtime configuration support with flash storage
2014-09-15 02:39:58 +02:00
Benjamin Vedder
2cc53de346
Major USB communication protocol re-write and beginning runtime motor parameter configuration
2014-09-14 23:08:22 +02:00