Commit Graph

44 Commits

Author SHA1 Message Date
Benjamin Vedder 210ec40d74 PTC motor thermistor support, APP_PPM sleep fix 2019-12-22 21:22:07 +01:00
Kirill Kostiuchenko 8dbdb1bc4d Set new tachometer value interface added. 2019-12-07 21:07:05 +05:00
Benjamin Vedder 23e61925b6 FW upload compression support, TS5700N8501 support 2019-12-05 19:50:17 +01: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
Benjamin Vedder 05b1a9483e Merge branch 'Axiom-board-support' of https://github.com/powerdesigns/bldc into powerdesigns-Axiom-board-support 2019-05-04 10:44:03 +02:00
Benjamin Vedder 404bbcf64b Fixed current offset fault bug, added support for multiple IMUs and ICM-20948 2019-05-03 19:55:36 +02:00
Marcos Chaparro 1d08745376 Axiom control board support
Rename paltatech naming to Axiom.

For safety set Axiom default max input voltage to 0.0V so it can not run a
motor without mc_conf being explicitly configured by the user.

Signed-off-by: Marcos Chaparro <mchaparro@powerdesigns.ca>
2019-04-27 08:21:46 -03:00
Benjamin Vedder 8313b32c0c Some fixes on PR 2019-04-26 12:02:57 +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
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
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 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
Benjamin Vedder 9cbddf4066 Increased AS5047 error rate threshold 2019-03-04 20:05:20 +01:00
Benjamin Vedder 35c1c72ab4 Commands restructuring for thread safety, 75/300 vreg fix, fixed relative current commands 2019-03-04 19:23:38 +01:00
Benjamin Vedder 01e72eb555 Autogenerated config parsing with signatures, fixed previous PRs 2019-03-01 21:36:58 +01:00
vadim 9488eb9008 moved encoder fault triggering to timer thread, added FOC mode check 2019-02-28 18:58:17 +02: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 beea1c8604 FW 3.38: Fixed temperature limit bug 2018-04-22 12:13:08 +02:00
Benjamin Vedder 92a54246f0 DRV and terminal refactoring, DRV8320 updates 2018-04-14 16:28:51 +02:00
Unknown 5d9cc774ab added das_mini and DRV8320 support 2018-04-05 14:20:17 +02:00
Benjamin Vedder f7d0897c73 Added handbrake function to the simple CAN interface 2018-03-02 11:48:49 +01:00
Benjamin Vedder 5a189290bc FW 3.34: PID POS in values, inverted direction angle normalization, relative current mode in APP_ADC 2018-01-24 09:39:06 +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 d073622fff Disabled throttle limit scaling 2017-09-21 21:12:09 +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 02f140e335 FW 2.11: Refactoring, dead time comp fix for smoother braking when the speed is zero 2016-01-30 15:57: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 d995cf6749 FW 2.6: Slow abs current fix, current limit fix, FOC control CPU resource measurement, current filters, D current injection fix 2015-12-24 00:43:31 +01:00
Benjamin Vedder ff090fd4e0 FW 2.3: MAJOR UPDATE: FOC!! 2015-12-08 21:01:23 +01:00