Тахометр на прерываниях
Тахометр — это устройство для подсчёта скорости вращения вала двигателя или любого другого вращающегося объекта. Скорость вращения обычно измеряют в оборотах в минуту (об/мин) или по-английски revolution per minute (rpm).
Тахометр можно увидеть на приборной панели большинства автомобилей, его используют для контроля оборотов коленвала двигателя. Но в действительности тахометр имеется в системе практически каждого серьёзного двигателя: в самолете, в автомобиле, в станке, в турбине электростанции.

Для наших целей тахометр тоже пригодится. Зная скорость вращения колес робота, мы сможем вычислить скорость его линейного передвижения. А еще, попутным продуктом при вычислении скорости будет количество оборотов, что поможет нам рассчитать пройденный роботом путь (это называется одометрией). Другое применение — определение угла поворота манипулятора, который тоже можно рассчитать, зная количество совершенных оборотов мотора в суставе.
Как нам узнать скорость вращения вала двигателя? Очевидно, что нужно каким-то образом фиксировать каждый полный оборот вала вокруг своей оси и при этом засекать время, за которое этот самый полный оборот совершается. Нужен таймер и счётчик оборотов.
Детектировать оборот колеса можно по-разному. Два самых распространённых способа: оптический и магнитный. Более подробно про это мы поговорим на другом уроке, а для нашей текущей задачи выберем оптический способ — тахометр на основе фотопрерывателя.
В качестве контроллера возьмем Ардуино Уно. Именно контроллер будет принимать сигналы с датчика и выполнять роль таймера. Фотопрерыватель используем самый простой, с компаратором LM393 на борту. Будем измерять скорость вращения двигателя постоянного тока.
На этом уроке мы:
- соберем стенд для измерения скорости вращения мотора;
- напишем программу для подсчёта оборотов;
- напишем программу для вычисления скорости вращения.
Здравствуйте, спасибо за статью. Можете рассказать поподробнее: почему скорость вращения якоря колеблеться?