From b666b54a8f8b6300c54d2776641897065f4470ac Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sat, 26 Apr 2008 08:09:22 +0200 Subject: * digital/asserv/src/asserv: - limited auxiliary motor to 12V, i.e. 50% PWM. --- digital/asserv/src/asserv/models.host.c | 4 +++- digital/asserv/src/asserv/pos.c | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/digital/asserv/src/asserv/models.host.c b/digital/asserv/src/asserv/models.host.c index bab5b90b..b8197b60 100644 --- a/digital/asserv/src/asserv/models.host.c +++ b/digital/asserv/src/asserv/models.host.c @@ -148,7 +148,9 @@ static const struct motor_def_t giboulee_arm_model = 0, /* Bearing friction (N.m/(rad/s)). */ 2.18, /* Terminal resistance (Ohm). */ 0.24 / 1000, /* Terminal inductance (H). */ - 12.0, /* Maximum voltage (V). */ + 24.0, /* Maximum voltage (V). */ + /* WARNING: Giboulée arm use a 12V motor on 24V power, PWM should be + * limited to half scale. */ /* Gearbox characteristics. */ 10, /* Gearbox ratio. */ 0.75, /* Gearbox efficiency. */ diff --git a/digital/asserv/src/asserv/pos.c b/digital/asserv/src/asserv/pos.c index 2d8c1c18..d47694c2 100644 --- a/digital/asserv/src/asserv/pos.c +++ b/digital/asserv/src/asserv/pos.c @@ -149,7 +149,8 @@ pos_update (void) pid = pos_compute_pid (diff, &pos_aux0); /* Update PWM. */ pwm_aux0 = pid; - UTILS_BOUND (pwm_aux0, -PWM_MAX, PWM_MAX); + /* WARNING: crude way to limit PWM for this 12V motor. */ + UTILS_BOUND (pwm_aux0, -(PWM_MAX / 2), (PWM_MAX / 2)); } } } -- cgit v1.2.3