Does anyone know if its legal to do this? I wasn’t sure if this violates <R48>. It seems fine to <R48>'s statement, but then doesn’t seem to look legal in part B. Also <R57> states that servos must be controlled with signals from the digital sidecar, which is still true in our case.
We are using a relay to cut power to a retract servo so we can stop it where ever we want but still using the signal wire on the digital breakout board to control the direction of the servo.
The input it gets (PWM - Pulse Width Modulation) controls the angle of the servo, to about ± 85 degrees or so. If you set the angle precisely, it will stop there and hold its position.
If you want it to not hold its position, then turn it off. If you do not feed it a control signal, it will turn itself off. The way to turn it off is to not give it a control signal, either by letting the watchpuppy kill it or by closing the device when you don’t want it to move. (since both of those will tell the FPGA to stop outputting a control signal to that device). Neither one is really an answer, but a workaround. I don’t really see why you would need to make it stop, since you can’t really smoke those little things (from what I’ve seen at least) and they don’t output much power.
The problem is its a retract servo, so even when you stop giving it signal, it keeps going till its either all the way clockwise or all the way counterclockwise
No there isn’t anything wrong with the code, this is a RETRACT servo. A retract servo is different then a proportional servo. Retract servos only travel from end to end when powered.
Well we didn’t realize that it was a retract when we bought it, and we wanted a real torquey servo (280 oz-in) without breaking 4 watts so this one moves at about a second/60 degrees
I did have an idea to make it not move though. I don’t know how good it is for the servo though. I was thinking what if I told the servo that when the absolute value of the joystick value is less than .2 to change the direction of the servo every single time that teleop.vi is called. So essentially every 10ms (I think), it would say go left, go right, go left, essentially changing directions so quickly that it wouldn’t move.
A servo updates every 20ms (that’s how long the FPGA waits between sending PWM pulses) so a 20ms loop should work fine.
Why not just use a proportional servo? Two came in the kit, as part of the camera pan/tilt head (you really only need a tilt head, because you can twist the robot to pan).
A window motor does about 20 watts, is fairly easy to use (if you just bolt your mechanism to the hub), you can use 2 for more power (or even 4 I guess), and it spins at a good speed.
A 775 does 266 watts at peak power, which is 66.5 times as much as the 4w servo. Add another (making that joint powered by 2 775’s) and you will have 133 times as much power.
This is true, but we wanted something really really light because its going to be at the height of the top peg and then extended a foot or so outside of the boundaries of the robots chassis.
You might want ask the Q&A if retract servos are legal. After the Jaguar PID is illegal fiasco, I think retract servos might technically violate <R49>.
When the cRIO is in disabled mode (no PWM signal output) the servo controller of the retract servo still tells the motor to move to & hold a position. Positional and rotational servo are undriven when the cRIO is disabled.
It is perhaps a trivial violation of <R49> and poses no more of a safety threat when disabled than a spring return solenoid returning to its home position. However, the bulk of the control system rules are designed to ensure that once a robot is disabled, all motors and actuators are inactive.
[EDIT] Well you don’t need to ask Q&A if you don’t plan on using the retract servo. You might want to make sure the next servo you get is a 6V version (as you know the retract servo webpage has this warning “Do not use with 6V systems. Only use 4.8V.”) I am not sure the PWM outputs on the sidecar supply 5V (since the speed controllers don’t need it). I think the jumper is just to switch the middle pin between 6V for servos and not connected. Does anyone know the answer to this?[/EDIT]