Hello. Forgive my inexperience.I want to keep the speed of the DC motor constant, I will use it for a gear clock.
Materials I use:
Arduino UNO
L298N H-Bridge
12v 6 rpm with 12 cpr hall sensor (gear ratio 1/600)
It's a project I've been through for a long time. I need to keep the engine speed constant at 6 rpm.
The code works, but I don't get the result I want. What changes should I make? I'd appreciate it if you helped.
Drop that approach for having a clock worth looking at. It will soon be way ahead or way behind. Go for another approach like an RTC and a stepper motor for example.
Railroader:
Drop that approach for having a clock worth looking at. It will soon be way ahead or way behind. Go for another approach like an RTC and a stepper motor for example.
I tried the stepper motor but there was a lot of vibration. Also little power.
The utmoust important is the time base. Use a real time chrystal based clock circuit. Then using a stepper is a piece of cake in order to show an accurate time.
With a DC motor you'll need to measure/monitor the motor speed. That's how you maintain constant speed in a car... By watching the speedometer. If you have cruse control, the speed is being automatically monitored.
Analog AC clocks use a [u]synchronous motor[/u]. This is super-accurate because most power lines have super-accurate frequency and they actually use correction... If the frequency is a little high for awhile, they slow it down a little until they get back in sync so an AC clock can keep "perfect time" for many years until there is a power outage. Some AC powered digital clocks also sync to the power line frequency.
I assume most battery-operated analog watches & clocks use a geared-down stepper motor. Geared-down you get smoother-smaller steps.