You are having problems..... yes if the shaft is larger you have problems my friend. If only one magnet is present in the shaft (which is how I am picturing it) when the shaft completes a revolution, the hall effect will generate a pulse, (probably a low pulse).
When you change the shaft to a larger one, the magnet will travel longer before reaching the hall effect, even though the shaft has the same RMPs. So what happens here? Imagine you put a shaft with a diameter twice larger than the old one. When the current controller is specting a signal from the hall effect, the attached magnet will be half revolution on the shaft.
At this point you want to have a PIC send the missing pulse that the old shaft would have generated right? But how does the PIC know if the shaft is in fact rotating at the rmp it is?
If you were to replace the old one with a smaller radios shaft then you would have more pulses generated, and the pic can do the conversion because it can tell the speed of the shaft. So if the new shaft was twice smaller than the old one then every two pulses from the hall effect, the pic will generate one pulse for the controller. Now that is easy to do....
But if you need to fill in the gap, like when it occurs when you have a bigger shaft, then you are not going to be accurate. Since you will send a signal without knowing if the shaft is even still moving. If you can live with that then, it would not be too hard to do
The way I would do it is:
1. set a timer on when a first pulse is found (probably thru an interrupt)
2. Read the timer value when next pulse arrives
3. Reset timer to start counting for next pulse
4. Figure out rpm
5. Create signal according to rpm
6. go to 2.
Hope it gives you some ideas
Ivancho