Схема соединений комплекта аппаратуры CANSAT.
Аппаратура CANSAT представляет собой три платы :
- плата Микроконтроллера,
- плата Датчиков
- плата Приемопередатчика
и батарею питания. Все вышеперечисленные элементы располагаются на металлической пластине.
Соединение плат между собой осуществляется проводами (кабелями), которые изготавливаются непосредственно участниками соревнования.
Питание аппаратуры:
Питание аппаратуры осуществляется с помощью 9 Вольтовой батареи.
Подключение питания должно осуществляться к разъемам J1 на платах комплекта.

При правильном подключении питания на плате загорается светодиод.
Межплатные соединения:
Для работы комплекта необходимо соединить плату Микроконтроллера с платами Датчиков и Приемопередатчика.
В базовой версии предлагаются следующие соединения:
- Микроконтроллер-Датчики. Разъем J2 платы микроконтроллера, выводы 4, 20 (J2/20) соединяется с выводом 4, 20 (J5/20) платы датчиков. Данное подсоединение позволяет подключить датчик температуры к плате микропроцессора. Для подсоединения датчика давления: разъем J7 платы микроконтроллера, выводы 1, 2 (J7/1,2) соединяются с выводами 1, 2 (J4/1,2) платы датчиков.

- Микроконтроллер-Приемопередатчик. Разъем J2 платы микроконтроллера, выводы 1,3,7,9,11,13,15,17,19 соединяется с соответствующими выводами JP1 на плате приемопередатчика 1,3,7,9,11,13,15,17,19. Данное подсоединение позволяет подключить плату приемопередатчика к плате микропроцессора.

При правильном межплатном соединении, комплект, поставляемый с базовой прошивкой, будет передавать на частоте 433,1МГц однобайтный счетчик (от 0 до 255) раз в пол секунды.
Для реализации задачи передачи таких данных как внутренние часы, показания датчика атмосферного давления, температуры воздуха, напряжения питания батареи, соискателям необходимо изучить технические данные на микросхемы микроконтроллера ( ATMega128), датчика атм давления ( MPX5100), датчика температуры (DS18B20), радиомодуля (RXQ2). Также необходимо установить специальное программное обеспечение (AVR STUDIO) для программирования и отладки программ для микроконтроллера.
Программирование микроконтроллера. Базовые задачи.
Для программирования платы микроконтроллера разработчикам необходимо следующее оборудование и программное обеспечение:
- программный пакет AVR STUDIO
( http://www. /dyn/products/tools_card. asp? tool_id=17212&source=productfinder )
- программатор AVRISP (поставляется с комплектом CANSAT, в него входит AVR STUDIO)
- программный пакет Algorithm BUILDER (рекомендуется, http://www. *****/html. cgi/txt/soft/avr/Algorithm_Builder. htm ).
- пакет IAR, позволяющий писать программы на языке Си (для продвинутых)
С чего начать.
Запускаем Algorithm BUILDER, выбираем CanSat_tst. alp это файл проекта в алгоритм билдере.

открывается следующее окно

Теперь можно приступать к описанию программы.
Для примера разберем программу, которая в цикле опрашивает датчик давления и после опроса передает полученные значения по радиоканалу.
Цикл – формируем с помощью простых подпрограмм задержек. В принципе это можно реализовать с помощью таймера и прерываний, это более красивый, но и более сложный для понимания способ.
Программа начинается с метки RESET, все контроллеры, при включении питания или наличия сигнала ресет, стартуют с этого адреса.
Далее следуют настройки:
Stack Pointer – размещаем в верху внутренней памяти, при вхождении основной программы в подпрограммы в эту область помещаются адреса с которых началось ветвление, и чем больше вложений в подпрограммах, тем больше памяти требуется для стэка. Если стэк «наползает» на переменные данные, которыми оперирует контроллер, программа «повисает». (p.14 of ATmega128.pdf)

Настройки USART.

здесь задаются параметры передачи : скорость относительно тактовой частоты, кол-во передаваемых байт, включаются приемник и передатчик, разрешается или нет соответствующее прерывание. (p.171 of ATmega128.pdf)
USART необходим для того что бы передать данные в RF модуль, а так же параллельно вывести данные через адаптер RS232 на компьютер.
Настройки АЦП

Здесь настраиваются: скорость преобразования, источник опорного напряжения, номер входа, однократное или постоянное преобразование, формат данных. (p.230 of ATmega128.pdf)

Первые четыре команды позволяют настроить отдельные порты на ввод-вывод. По умолчанию после сигнала ресет все порты настраиваются на ввод. Прописывая в нужные биты «1» они настраиваются на вывод. (p.66 of ATmega128.pdf)
1 -> ADIF - чистится флаг готовности данных в АЦП
Далее попадаем в цикл, для отслеживания которого можно воспользоваться колебаниями бита PORTB.0
В цикле ожидаем готовности данных в АЦП, бит ADIF.
Загружаем готовые данные из АЦП (ADCH) в регистр передатчика UDR0.
Далее с помощью бита PORTE.6 инициализируем отправку данных в радиоканал. (вывод RTS модуля RF, p.2 of RXQ2.pdf)
Далее задержка и затем программа повторяется с ожидания готовности данных АЦП.
После написания программы необходимо выбрать пункт меню «Компилировать».
Для загрузки полученного файла в микроконтроллер необходимо установить AVR Studio,
Выбрать в TOOLS AVRPROG. Программа найдет AVRISP, подключится и позволит загрузить в микроконтроллер нужный бинарный файл *.hex


