На очень небольшом пробеге (до полуметра)можно сделать так:
1. Абсолютный датчик
закрепляем жёстко CCD матрицу 1 на N или двумерную 2 или 3 на N, тоже жестко закрепляем лазер, на подвижную часть ставим зеркальце под углом. Чем дальше уехала каретка, тем на более дальний от края пиксель матрицы отражается луч лазера. Если матрица многорядная, то за счёт фиттинга функцией (наример, гауссианой), можно повысить точность.
Здесь мы ограничены длиной матрицы,размером пикселя матрицы и расходимостью пучка Ну, большой будет и коллиматор на лазер ставить придётся...
2. Относительный.
Ставим неподвижно камеру или 2 (стереопара), на подвижную часть ставим мишень - рисунок. Используются несколько, можно шахматку, можно сименсовскую снежинку, можно тестовый набор для настройки телевизора или проверки разрешения принтера. Кадры должны браться не реже 20 пикселей для сдвига или pi/8 для поворота. Дальше у нас есть варианты:
- считать оптический поток
- смотреть на изменение муаровых полос и считать направление и величину алиазинга
- считать кросс-корреляцию.
Любой вариант в теории позволяет получить разрешение выше, чем 1 пиксель, но вручную я не проверял
Для всех вариантов нужен проц, желательно с аппаратной поддержкой чисел с плавающей запятой, но Cortex M4 россыпью меньше 5 баксов за штучку стоят
Zusul86 писал(а):Сам привод вещь несложная и можно найти б/у, а вот мозги к нему...
под шаговик и серву я видел много вариантов плат, а прошивку сам писал. Наверно, и здесь найти можно, откалибровать зависимость ток-перемещение и прошить