Электронный анализатор восьмерки и овала велосипедного колеса

Если вы много катаетесь на велосипеде, то иногда вам приходится и чинить их. Одна из неисправностей, с которой приходится сталкиваться это восьмерка колеса, или овал.
190868a9f2c5495aa4cbdf6df2a8d783.png
КПДВ — первые результаты измерения овальности колеса
Я долго не мог решить проблему со своим колесом, поэтому пришлось собрать электронную систему измерения.
Для начала немного объяснений, что же такое восьмерка и овал колеса?
Восьмерка — отклонение обода колеса в сторону, в результате чего при езде колесо как бы виляет:
52acd8d0abf745d89c8a1a14d8f01138.png
Овал (или яйцо) — когда обод находится не на равном расстоянии от оси колеса, в результате чего колесо подпрыгивает:
f0cc643b4528412aad8c1a544333705a.png
И горб и яма приводят к овалу колеса.

В простом случае не трудно с помощью ключа для спиц и зоркого глаза подправить колесико. Но у меня был случай сложнее — влетев в препятствие на дороге сильно погнул обод и выправить вручную, без дополнительной помощи не получалось, поэтому и пришла идея собрать некий прибор, который сможет измерить отклонения от нормы.

Первая проблема, возникшая передо мной — был выбор чувствительного элемента. То есть, как превратить неровность колеса в цифровой сигнал, соответствующий отклонению? Многие из доступных вариантов были отброшены: звуковой детектор расстояния чувствителен к рельефу поверхности, а измерять нужно по узкой кромке обода, детектор расстояния на ик-диоде и ик-приемнике по этим же причинам вызывал у меня опасения (но есть вероятность, что можно было использовать и их :) ).

Немного подумав, я вспомнил принцип действия сканирующего микроскопа — щуп движется по поверхности образца и по отклонению щупа и измеряется рельеф. Идея мне понравилось, и быстро была собрана простейшая схема:
8fa3f66cee354f90a3503417cb5de728.jpg
На схеме: обод колеса в держателе колеса (если нет держателя, можно просто оставить обод в велосипеде), шаговый двигатель в тисках, прикрученных к табуретке, кнопка, приклеенная на ось шагового двигателя, контроллер шагового двигателя на чипе LN2003, ардуино, управляющая всей этой схемой и передающая данные на компьютер

Алгоритм измерения простейший: шаговый двигатель начинает приближать кнопку к ободу, как только кнопка нажимается, шаговик возвращается в начальное положение, количество шагов передается на компьютер, это действие повторяется для каждой спицы. Точность оказалась вполне достаточная — 10 или больше шагов на 1мм, то есть принципиально можно настроить колесо с точностью до 0.1мм. Присланные ардуино данные простая программка превращает в понятный график, где видно, какие спицы куда крутить, для исправления проблем.

После полной настройки своего колеса, картинка заметно улучшилась:
47a6ccb3b76a4a8ea498b62ab1ab552c.png
проблема пропала — колесо перестало бить при езде. Но совсем яму справить не удалось, на ободе осталась существенная вмятина после аварии, она и видна на графике выше:
2e93b1287aab4fc6ad75765e5687ed69.jpg
реальное отклонение обода в точке вмятины меньше миллиметра.

Исходники клиента
Исходники ардуино

© Geektimes