I am using a Gecko Motor Controller to drive my telescope with a Pittman 9000 series DC motor. I use Timer1 to produce a pulse stream for the RA axis (East-West motion) and timer0 does the same for Declination (North-South)
I am using a Tiny2313 for this project and it is working fine. My problem: When I want to move to another part of the sky I have to increase the pulse frequency to drive the scope faster. I have done this by shifting the value in the OCR1AH/L registers to the right, doubling the pulse rate each time until I reach the slewing speed I want. This is rather simple to code and works well with one big exception.
The new telescope is quite a bit heavier than the previous one and when the speed is increased from tracking speed up to about 128X it is quite smooth, however when the speed jumps from 128 to 256 to 512 the Gecko loses counts and errors and resets. The Pulse rate for tracking the sky is ~130 pulses per second.
So my thought was to do a little more complicated speed increase algorithim and do an mx+b type of slope calc. store the calculated values in EEPROM or SRAM and copy them to the registers as required.
However if I want an increase in "So Many Pulses per second per second" I think I need a timer and an interrupt. Problem is both Timer1 and Timer0 are used.
Any insights into what can be done?