Commit Graph
73 Commits
Author SHA1 Message Date
Oskar Weigl f59c80515b add MOTOR_ERROR_MODULATION_IS_NAN 2020-08-23 13:38:23 -07:00
PAJohnson f52c68b3a8 Added FF terms for current control and config variables to enable them. 2020-08-21 16:52:27 -04:00
Samuel Sadok 8d144bd944 Merge branch 'devel' into lowlevel-refactor 2020-08-05 16:28:17 +02:00
Oskar Weigl 3760c7bc84 Merge branch 'rc-v0.5.0' into devel 2020-08-03 20:16:51 -07:00
Oskar Weigl af16316940 Merge branch 'devel' into counts_to_rads 2020-07-25 20:29:43 -07:00
Samuel Sadok 171dab31bd fix ERROR_CONTROL_DEADLINE_MISSED
call effective_current_limit() only once instead of several times per
control iteration
2020-07-21 13:02:03 +02:00
Samuel Sadok 2d256f43cb more refactoring in perparation for new hardware 2020-07-21 13:02:03 +02:00
Samuel Sadok 6377df4b1e move ext int subscribe logic to Stm32Gpio class 2020-07-21 12:31:03 +02:00
Samuel Sadok ab7957f07f Overhaul upper level NVM configuration manager
Instead of using a declarative compile-time type that defines the layout
of the NVM data, now we use procedural style code to load and store the
configuration as a series of pop and push calls.  This allows for more
flexible code organization and opens the future possibility of storing
dynamically sized data (e.g. an array prepended by a length field).
2020-07-21 12:31:03 +02:00
Samuel Sadok 856455077d refactor drv8301 driver 2020-07-21 12:31:03 +02:00
Oskar Weigl 1808bedf1a Fix phase_vel units 2020-07-18 19:02:28 -07:00
Rowan Goemans 1a0d6acace - Refactored thermal and current lmiting sub-systems and introduced motor thermistor support.
- Added thermal errors to dump_errors call in odrivetool.
- Added function in odrivetool to set thermistor coefficients based on thermistor specs.
- Added documentation for users on how to connect and configure their own thermistors.
2020-07-17 14:09:47 +02:00
Unknown 883dd27a17 Fix static in encoder.cpp, constexpr the things 2020-07-11 22:19:41 -04:00
Oskar Weigl 758989e2b4 Cleaner clamping 2020-06-18 12:58:10 -07:00
pjohnson 63f7c09bc2 Clamped max_torque to 0 for ACIM motors in case max_torque happened to be negative. 2020-06-18 15:13:58 -04:00
pjohnson a9b1841092 Added Motor::max_available_torque(). Use is to correctly determine torque limit for velocity anti-windup.
Set default value (0.0) for current_setpoint
Units documentation
Removed unused variable thermal_torque_lim_
2020-06-18 13:11:41 -04:00
pjohnson ceabd24582 Made changes reflecting PR comments.
Added torque_ramp_rate to controller config.
Changed INPUT_MODE_CURRENT_RAMP to INPUT_MODE_TORQUE_RAMP for controller input mode enum.
Torque limits and current limits are now observed seperately. Torque limit is in the controller, current limit is in the motor object.
Fixed torque -> current calculation in motor_update to handle ACIM motors.
2020-06-17 13:15:36 -04:00
pjohnson e2527ec468 added torque_constant to motor config struct and interface file
changed all instances of current_setpoint to torque_setpoint
modified limitVel() to use torque instead of current units
removed effective_current_lim, added effective_torque_lim()
added torque_lim to motor config struct and interface file
2020-06-16 15:55:18 -04:00
Samuel Sadok 653c4c327e Merge remote-tracking branch 'origin/devel' into feature/interface_autogen_merged 2020-05-22 21:27:58 +02:00
Samuel Sadok b3912d58c2 revert numerical static_cast to C style casts
As per https://github.com/madcowswe/ODrive/pull/410#discussion_r427725994
2020-05-20 13:26:14 +02:00
Samuel Sadok 3d07325022 remove aligned formatting of assignments 2020-05-20 12:27:28 +02:00
Samuel Sadok e4d70a22b7 Initial implementation of interface autogenerator.
TODO:
 - write to endpoints from float (for PWM/analog input)
 - ascii protocol
2020-05-14 23:05:02 +02:00
Samuel Sadok da7f719283 improve naming consistency between code and fibre
Consistent naming makes code autogeneration easier.
This commit does not claim that the exported names of the variables were
more sensible than the in-code names. However changing the exported
names can break external tools and needs to happen in a controlled and
documented way.
2020-05-14 11:16:32 +02:00
Unknown f635ee85cf Convert an if-else tree to a switch statement for clarity 2020-05-07 18:05:40 -04:00
Unknown 6863507570 Use std::clamp instead of manual clamping in some spots 2020-05-07 18:04:27 -04:00
Unknown 9ef3d0c6a1 Store the result of get_inverter_temp to a member variable 2020-04-25 22:38:53 -04:00
Unknown 7a756c1761 Merge branch 'devel' into RazorsEdge 2020-01-01 21:45:41 -05:00
Oskar Weigl e19e857360 fix typo 2019-10-28 20:39:23 -07:00
Oskar Weigl cbae7c5b85 change current lim tolerance to absolute margin 2019-10-28 20:34:17 -07:00
Oskar Weigl 4015ed09dd add ACIM autoflux 2019-09-23 00:07:45 -07:00
Oskar Weigl c8c6f6237c finish implementing basic ACIM control 2019-09-22 23:27:40 -07:00
Unknown 9e782cce7b Revert "Formatting pass"
This reverts commit 2b58d15d8d.
2019-09-15 01:15:51 -04:00
Oskar Weigl 6a929d4236 improve oscilloscope functionality 2019-09-12 18:11:32 -07:00
Unknown cd304f7b78 Merge branch 'devel' into RazorsEdge 2019-08-26 07:36:26 -04:00
Unknown 2e3768c329 Start moving casts and math functions to std:: 2019-08-25 17:13:10 -04:00
Unknown 2b58d15d8d Formatting pass 2019-08-20 23:13:54 -04:00
Oskar Weigl 87e83bd4ba Change ERROR_CURRENT_UNSTABLE to ERROR_CURRENT_LIMIT_VIOLATION 2019-08-09 20:37:07 -07:00
Oskar Weigl ce8949f774 add current limit tolerance and current lim violation error check 2019-06-02 14:53:58 -07:00
Oskar Weigl a86fb3e59b add coherent sampling and 1.5 cycle pwm phase advance 2019-02-01 21:01:45 -08:00
Oskar Weigl 19f266c0fa update min inductance 2019-01-29 19:34:28 -08:00
Oskar Weigl 9328617092 change inductance bounds 2019-01-24 14:34:45 -08:00
Oskar Weigl 15983cc4f0 Thermal current limit with linear derating 2019-01-16 01:19:36 -08:00
Oskar Weigl 31562aca12 add voltage magnitude clamping for gimbal motors in closed loop 2019-01-15 19:44:07 -08:00
Oskar Weigl 167f00e622 add current sense saturation fault 2018-11-27 22:29:02 -08:00
Oskar Weigl 1511ae1db7 use tim13 as realtime control diagnostic timebase 2018-10-24 21:56:02 -07:00
Oskar Weigl 26eb4e7765 disable PWM straight away on motor error 2018-10-07 13:12:37 -07:00
Oskar Weigl 85540cb1ab move check_for_errors to inline 2018-10-06 01:39:53 -07:00
Oskar Weigl 833bdde5f8 Merge pull request #253 from madcowswe/property-hooks
Property hooks
2018-09-30 19:16:38 -07:00
Oskar Weigl 6c89460d88 Merge pull request #254 from madcowswe/fix-sincos
Fix rounding issue in arm_cos_f32
2018-09-30 19:13:53 -07:00
Oskar Weigl a1c8a559c5 Merge branch 'devel' into property-hooks 2018-09-30 18:55:22 -07:00