|
Re: Automatic shifting software
To expand a little on what Cory has already said...
We have had an automatic transmission for the past two years. The current iteration has quadrature encoders on the output shaft of each transmission and this signal is converted to the actual robot speed (in inches/sec) which is used throughout the rest of the code (each encoder generates approximately 2500 interrupts/sec at full speed and a timer with a resolution of 250 microseconds is used for the calculation). The transmission up shifts at speed points calculated mostly based on the output torque curves of the motors (maximize acceleration). Since both or our transmissions are paralleled off the same solenoids, the robot speed is determined by the average of the absolute value of each drive system. Typically, a difference of 8 in/sec is used between the down shift points and the up shift points to prevent the system from unnecessary cycling between 2 gears. For example, switching from second to third gear might occur at 32 in/sec but switching back down into second from third would occur at 24 in/sec. Also, to eliminate erroneous shifting, especially when starting or stopping, the shift points must be exceeded for two consecutive calls to Process_Data_From_Master_uP (about 50 ms).
As Jonathan has mentioned, when the transmission is under very high loads, it has a tendency to not properly shift gears. We noticed this during some of our initial tests. To minimize this from occurring, we temporarily limit the output to the motors to a maximum of about 15% of full power while the shifting takes place. The drop in power is not really noticeable as it only occurs for only a small fraction of a second.
The system also has 1st gear override which is enabled when holding the joystick trigger for use when pushing (or for last year’s game, climbing the ramp). As with most of our automated systems, there is the capability of switching into a completely manual mode in the event of an encoder failure or the like.
Have fun working on this project. We have found it extremely beneficial.
Mike
Last edited by Mike Bortfeldt : 17-12-2006 at 14:29.
|