We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, can anyone help me understand how to set external interrupts to zero. I am using a dc motor with an optoswitch and displaying the output in rpm on a LCD display. The calculation for rpm uses capture mode register of module zero to capture the interrupts. When the motor stops running it does not display zero. Any suggestions?
Edwin
yes, present your problem in such a way that those that can not read your brain can understand it.
as Andy likes to say "explain it to the teddy bear"
Erik
Use a timer that will be reset by rpm input (it does not have to be hardware-reset, you can reset the timer in the rpm interrupt routine). If the rpm input is not toggling (motor stopped), your timer will time-out and then you know that your rpm is zero. Set the timer period to be longer than the lowest speed of interest.
- Dejan
I think I did something very similar to what you have suggested. I just assigned a variable to increment to 10 as soon as the motor stopped spinning, then reset the timer to zero. Which seems to work for the moment, I now have to add a PID system, so hopefully it still works after this addition. Thank you for your help though, much appreciated. Edwin