Commit Graph
61 Commits
Author SHA1 Message Date
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
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
Oskar Weigl ece2921316 add and rename our own copy of arm_sin_f32 and arm_cos_f32 2018-09-27 21:18:38 -07:00
Oskar Weigl d2e2c3a1a8 use new hooks for encoder and current control bandwidth 2018-09-25 21:34:16 -07:00
Oskar Weigl e88abb56eb pull in configs and enum into class for Axis and Motor, for consistency 2018-09-24 22:59:36 -07:00
Oskar Weigl d54d4479ac update max inductance check to 2500uH 2018-08-27 16:09:07 -07:00
Oskar Weigl 6e9dd068de add current control bandwith config setting 2018-06-21 22:41:58 -07:00
Oskar Weigl c6cf7b2132 current control bandwidth lowered for high inductance wheels. TODO Make configurable 2018-05-17 17:07:34 -07:00
Oskar Weigl f88ea874e9 implement snap of requested current range 2018-05-14 00:03:50 -07:00
Oskar Weigl 0d07c71f95 push estimator updates into control loop prefix 2018-05-10 07:33:54 -07:00
Oskar Weigl a94096b64d Make subcomponent errors to always set relevant axis error; use do_checks and set_error 2018-05-10 06:56:13 -07:00
Oskar Weigl 7d6ddc96b2 update encoder during calib 2018-04-26 13:46:47 -07:00
Oskar Weigl 4420d3873a lowish current motor resistance meas config 2018-04-26 13:46:47 -07:00
Samuel Sadok 1f504d1d99 Merge branch 'sam_testing' into sam_oskar_testing 2018-04-21 23:11:36 -07:00