После общего собрания стратонавтов (см. ранее) вечером 18 февраля я быстренько навесным монтажом сделал плату по автономному управлению рулевой машинкой ("серва"). Плату делал по схеме Ron Woodward, правда, с коррекцией по номиналу одного резистора (вычитал на одном форуме).
Принцип работы -- крутишь ручку переменного резистора вправо-влево, на выходе -- ШИМ, длительность импульсов которого меняется, за счёт чего серва тоже крутится вправо-влево. На второй картинке -- осциллограмма сигналов минимальной длительности (длительность 1,3 мс, период 9,2 мс (109 Гц), длительность можно скорректировать).
На третьей -- осциллограмма сигналов максимальной длительности: длительность 3,8 мс, период 11,8 мс (85 Гц). Граничные значения можно подрегулировать (вроде, минимум надо 0,8-1 мс, а максимум 2,1-2,8 мс для серввы).
Немного позже Лёша (Deimos) протестировал управление сервой с помощью Arduino -- работала отлично, правда заметно грелась при работе...
22 Февраля 2011 г. у Вовы (Pova) дома потестировали масса-габаритный макет YY с моторчиком азимутального разворота. Система ведёт себя вполне стабильно, так что вторая версия "пепелаца" вполне жизнеспособна. Кстати, использовать ШИМ для моторчика более чем разумно -- мы вертели коробку от +2 В, а при +5 она слишком шустро реагировала.
{ 00140_1.zip http://www.forum.belastro.net/viewtopic.php?p=27754#27754)
{ pepelac_p2.zip http://www.forum.belastro.net/viewtopic.php?p=27763#27763}
25 Февраля в Минском планетарии на собрании нашего астроклуба вращали коробку непосредственно с Arduino.
{ MVI_8643_agk_1.zip http://www.forum.belastro.net/viewtopic.php?p=27815#27815}
Внутри коробки -- плата Arduino, которую мы для тестов запитали от +9 В (батарейка "Крона"). Arduino выдаёт ШИМ-сигнал частотой 490 Гц от максимальной скважности (эквивалент 0 В) до минимальной (5 В) с изменением полярности -- за счёт этого коробка плавно начинает вращаться с одну сторону, потом тормозится и начинает вращаться в обратную сторону. Питание пока брали от Arduino, т.к. нагрузка была маленькой.
28 Февраля Вова (Pova) "прослушал" данные, которые передаёт GPS-трекер на компьютер по DATA-кабелю:
SEND OK
OK
AT+CREG=2
OK
AT+CREG?
+CREG: 2,1,"000A","0055"
OK
AT+CREG=0
OK
AT+CENG?
+CENG: 1,0
+CENG: 0,"0831,63,0,257,02,44,0055,11,00"
+CENG: 1,"0023,60,48"
+CENG: 2,"0822,46,44"
+CENG: 3,"0024,45,??"
+CENG: 4,"0834,45,62"
+CENG: 5,"0022,44,??"
+CENG: 6,"0837,39,40"
OK
AT+CIPSTATUS
OK
STATE: CONNECT OK
ATE0
OK
>
SEND OK
OK
AT+CREG=2
OK
AT+CREG?
+CREG: 2,1,"000A","0055"
OK
AT+CREG=0
OK
AT+CENG?
+CENG: 1,0
+CENG: 0,"0831,63,0,257,02,44,0055,11,00"
+CENG: 1,"0023,60,48"
+CENG: 2,"0822,47,44"
+CENG: 3,"0024,45,??"
+CENG: 4,"0834,44,62"
+CENG: 5,"0022,43,??"
+CENG: 6,"0837,39,40"
OK
AT+CIPSTATUS
OK
STATE: CONNECT OK
ATE0
OK
>
И так до бесконечности. Это АТ команды GPRS-модема. Если хотеть получить по кабелю данные NMEA от трекера (т.е. координыты и высоту, чтобы их логировать независимо), то придёться делать собственный DATA-кабель, в котором 6-й пин соединён с ТХ GPS (см. картинку ниже). Попутно подтвердилось, что аккумулятор заряжается через USB-порт трекера, а также то, что прослушивание порта не влияет на передачу данных по GPRS.
Ранее Лёше (Deimos) не получалось логировать даные на SD-карточку от Arduino -- оказалось, что для этого нужна специальная плата, которую мы называем SD-шилд. 1 марта 2011 г. я сделал домотканый SD-шилд, тестовую версию. Контактные провода в Arduino снабжены маркерами, на плате есть подписи под все выводы.
На следующий день проверили работу SD-шилда -- теперь всё логировалось.
Через два дня я сделал шилд для электромотора и рулевой машинки на основе микросхемы L293DNE, рабочий ток -- до 600 мА, напряжение питания микросхемы 5 В, двигателей 6 В. Управление двигателями -- ШИМ-сигналы (2 независимых ШИМ).
Также сделан шилд для четырёх термодатчиков -- на основе микросхемы "LM75A", цифровые по протоколу I2C, адреса задаются при создании платы (адреса прописаны на платах термодатчиков и на распределительной плате). Питане 5В.
4 Марта 2011 г. Лёша (Deimos) провёл эксперименты по проверке работоспособности свежеразработанных плат, а также в совместном функционировании имеющихся в наличии компонентов. Плата для управления двигателями работает, как по части электромотора, так и по части сервопривода, термодатчики работают, связка с SD-картой тоже работает. Из того, что не касается "железа", он проверил концепцию работы планировщика задач и сделал каркас системы сохранения телеметрии.
Предстоит сделать ещё очень много всего в часте программирования:
- Оживить режим управления ориентацией по основной схеме (после покупки компаса), так и по резервной (поворот на свет), компенсация вращения системы.
- Управление нагревателями системы терморегулирования
- Программная связь с фотоаппаратом, циклограммы съёмки.
- Детектирование падения и сброс шара как по основной (g=0), так и по резервной схеме (время в полёте).
- Поддержка работы научной аппаратуры (цветовой датчик).
- Подслушивание NMEA-данных с GPS-трекера.
- Работа с часами реального времени.
Lupus.