augustinetez
Active Member
I'm looking for opinions on whether this is likely to work or not (flow chart below) please.
It is for a VFO (Variable Frequency Oscillator) which is AD9850 DDS based and the purpose is to increase the rate at which the frequency changes depending on how fast the encoder is turned.
The encoder is a proper optical 360 ppr one (not those horrible cheap mechanical things), geared down from the tuning knob (I'm waiting to find out the ratio).
The encoder is polled, not interupt driven - nothing happens in software until the encoder moves - so the current software just sits in a loop polling the encoder.
Currently, the change in how fast the frequency changes is done by a push button that selects 1 of 3 frequency step rates so I am thinking along the lines of counting how many steps/pulses there are from the encoder in a set time period and using this count in a comparison routine to automatically set the step rate.
This will be coded for a 16F1827 running at 32MHz (in Assembly ), I haven't started with any actual variable rate code yet, just toying with different ideas.
It is for a VFO (Variable Frequency Oscillator) which is AD9850 DDS based and the purpose is to increase the rate at which the frequency changes depending on how fast the encoder is turned.
The encoder is a proper optical 360 ppr one (not those horrible cheap mechanical things), geared down from the tuning knob (I'm waiting to find out the ratio).
The encoder is polled, not interupt driven - nothing happens in software until the encoder moves - so the current software just sits in a loop polling the encoder.
Currently, the change in how fast the frequency changes is done by a push button that selects 1 of 3 frequency step rates so I am thinking along the lines of counting how many steps/pulses there are from the encoder in a set time period and using this count in a comparison routine to automatically set the step rate.
This will be coded for a 16F1827 running at 32MHz (in Assembly ), I haven't started with any actual variable rate code yet, just toying with different ideas.