|
|
|
![]() |
|
|||||||
|
||||||||
|
|
Thread Tools | Rate Thread | Display Modes |
|
#19
|
|||||
|
|||||
|
Re: Optical sensors getting tricked
Quote:
...And reducing the variables (very few of the ones mentioned actually apply in closed-loop control). Actually, I'll start out with: The only variables listed that would have ANY effect at ALL on, say, a shooter, would be the battery voltage (which really only affects open-loop controls--unless it's totally dead) and the load on the motors (they do have to take a bit of load when the disc goes through--but that's why you have closed-loop control). All of the others have no effect on the control system, or should have been dealt with in the design of the robot (like bearing stress--just get a bearing rated for the load, don't worry about the bearing stress). Closed-loop control goes something like this: The cRIO sends a command to the speed controller to have the motor go speed X. The controller boosts the motor to speed X (as the controller sees it) by boosting power. A sensor on the shooter wheel indicates speed and sends a signal to the cRIO indicating the actual speed. The cRIO then compares the actual speed to the set speed and then tells the controller to increase power, decrease power, or keep the same power. cRIO->Controller->Motor->Sensor->cRIO->Controller... The program could look something like: speed = 100 if (sensor < 95) //speed increase else if (sensor > 105) //speed decrease An open-loop control, by contrast, goes: cRIO->Controller->Motor and looks like: speed = 100 in code. |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|