In this little project we are going to monitoring and visualize the speed of a DC engine. We´re going to use a pic16f876, a two lines display and a small keypad. Our engine, has a embedded encoder which is going to give as pulse when each turn is complete.
The microcontroller code has been done in c by using the css compiler. The environment of the simulation is proteus.
The design run in the foliwng way:
We control the engine speed by controlling the width of the pulse. If we push the buttons 1 to 5, we transfer the 20, 40, 60, 80 or 100% of the power to the engine. The image below shows what happend if you push the 0,6,7,8,9,* and # buttons.
if we push the 5 button, the result is:
If you push the 3 button you are transfering the 60% of the power, and the signal who manages the transistor is shown in the osciloscope.
Our PCB is:
The whole code is