Трёхосный датчик ориентации

из истории проекта

   Началось всё это в 2003 году. Когда мы прикидывали будущую орбитальную ракету минимальных возможных размеров, естественно, стали придумывать и систему управления для неё. Единственными доступными датчиками угловой ориентации для нас были пьезогироскопы. Поскольку это крайне неточные датчики, дрейф которых составляет порядка 100 градусов в час, они абсолютно непригодны для межпланетных перелётов :) но для выхода на орбиту ракеты с коротким активным участком могли и сгодиться, ибо за три минуты уход не превысил бы единиц градусов. Баллистические расчёты показали, что высота точки бросания при этом находится в относительно приемлемых пределах, но вот направление вектора скорости нужно прицелить поточнее. Поэтому возникла идея на конечном этапе скорректировать движение ракеты по солнечному датчику, а запуск привязать к равноденствию, тогда на рассвете ракету можно пускать «прямо в солнце». Если «Восток» садился по Солнцу, почему нам нельзя по Солнцу взлетать?
   Наиболее очевидной была идея использования в качестве солнечного датчика веб-камеры. Но «очевидная идея» упиралась в реализацию: веб-камеры бывают с подключением к LPT и USB, в качестве БЦВМ тогда предполагалась достаточно малогабаритная (100х60х12 мм) машинка ICOP-6013 без каких-либо намёков на USB (ни встроенного контроллера, ни на платах расширения), а LPT-камеры успели пропасть не только из продажи, но и вообще из обозримых окрестностей. Некоторое время обдумывалась мысль сделать USB-контроллер самостоятельно, на микросхеме фирм «Philips» или «Cypress», но в какой-то счастливый момент в голову наконец пришла другая идея, ничуть не менее очевидная.
   Разрешение веб-камеры, даже самой дешёвой, многократно избыточно для солнечного датчика. Хватило бы и чего-нибудь попроще, но чего? И тут на глаза попалась оптическая мышь. Её можно было бы подключить к порту PS/2, и работать даже через обычный мышиный драйвер! Вопрос — будет ли её оптика реагировать на Солнце, или она может работать только с «родным» светодиодом? Оказалось — да, отлично реагирует. Но только сам сенсор, лишённый «мышиной» оптики, рассчитанной на передачу изображения 1:1 и сфокусированной на расстоянии в 2,5 мм от линзы.
   Найти и скачать datasheet на сенсор — им оказался «Agilent» ADNS2000 — было делом получаса. После этого идея подключать его напрямую к ICOP-6013 оказалась даже более привлекательной, чем использовать электронику мыши целиком. Тот датчик был очень старым, и имел только квадратурный интерфейс, но и это был хлеб по сравнению с необходимостью паять самодельный USB-контроллер.
   Алгоритмы казались несложными, так как пересечение Солнцем поля зрения датчика вызывало всегда одинаковое число импульсов на квадратурных выходах, таким образом, «покачав» датчик, можно было снова откалибровать его и «загнать» Солнце в центр поля зрения.
   Но время шло, а проект так и оставался проектом. Тем временем появились новые мышиные датчики, которые не только имели для общения с контроллером интерфейс I2C, но и позволяли непосредственно «увидеть» картинку с помощью функции Pixel Dump. Алгоритмы стали ещё более прозрачными и удобными. Но и их воплощение требовало времени и труда, так что проект продолжал пылиться в «долгом ящике», тем более, что и сама ракета отложилась на неопределённый срок.
   Всё изменилось совсем недавно, когда к проекту подключился один из старожилов «Авиабазы», известный под ником Piroman. После недолгого обсуждения деталей схемотехники было смакетировано устройство из датчика ADNS2610, микроконтроллера ATMega8, операционного усилителя и гироскопа.
   Встал вопрос, какую оптику применить взамен исходной. Первые опыты начались с линзой от оптической головки CD-ROM, и, хотя изображение не в фокусе, оно ведёт себя достаточно адекватно нашим потребностям. В будущем, после отладки firmware, планируется повышение резкости — скорее всего, путём изготовления оправы для крепления объектива CD-ROM к мышиному сенсору. Печатная плата должна будет учитывать эту конструкцию. Мы хотим, чтоб её ширина не превысила 30 мм. Пока остаётся неясным вопрос крепления гироскопа, т. к. его ось чувствительности должна быть параллельна оптической оси сенсора, а это недостижимо, если они стоят на одной плате. Нужно либо зеркало, либо маленькая дополнительная платка, причём оптимальность той или иной конструкции зависит, к сожалению, от калибра ракеты. Решим, когда придёт время. Зеркало, к тому же, можно сделать подвижным или переставляемым — т. к. высота Солнца над горизонтом может меняться в наших широтах от 0 до 57 °, что почти вчетверо больше поля зрения датчика.
   Мы надеемся, что идеи, положенные в основу конструкции этого датчика, будут полезны и для других ракетолюбителей.

обновлено 18.11.2006