Вашему вниманию предлагается интересный проект, разработанный Итальянскими энтузиастами микроконтроллерной техники. Это так называемый Проект "Ардуино" (Arduino). Проект разрабатывался под девизом: самый простой и доступный способ создания своих собственных микроконтроллерных систем управления. Представьте себе простой недорогой модуль, который вы покупаете или собираете самостоятельно. Вы просто подключаете его к своему компьютеру, так же, как вы подключаете свою флешку. На компьютер вы записываете простую программу, не требующую установки которую вы запускаете и сразу начинаете программировать ваш модуль. Все инструкции, описания, примеры, готовые программы, которые вы можете дорабатывать под себя имеются на сайте проекта в свободном доступе. Разработанные программы вы тут же загружаете в модуль Ардуино и сразу же проверяете в работе. После отладки программы, вы отсоединяете модуль от компьютера и используете его как готовое микроконтроллерное устройство.
И так представьте, что вы собираетесь создать некое устройство на основе микроконтроллера. По вашей задумке это устройство должно каким то образом подключаться к компьютеру и обмениваться с ним информацией. Ну, к примеру, вы желаете создать некое измерительное устройство, которое будет измерять, скажем, ряд параметров внешней среды (температуру воздуха, влажность, освещенность) и по мере необходимости передавать измеренные значения в компьютер, который будет отображать их на экране, вести статистику, строить графики и т.п. При этом компьютер так же должен управлять вашим устройством. Менять режимы его работы, тестировать его исправность и т.д. Что вам для этого нужно. Главная задача – создать канал передачи данных от микроконтроллера к компьютеру и обратно. Как уже отмечалось в упомянутой выше статье, удобнее всего использовать один из уже имеющихся внешних интерфейсов компьютера. То есть, порты LPT, COM, USB. Какой бы из каналов вы не выбрали, далее вам нужно будет создать комплект программ, которые будут обмениваться информацией посредством выбранного канала. Одна из этих программ для микроконтроллера, вторая для компьютера. Конечно, желательно иметь готовые опробованные программные модули, причем такие, которые было бы не трудно включить в состав собственной программы. В настоящий момент мне трудно предложить вам простое и универсальное решение этой проблемы. Но я хочу рассказать об одном из вариантов решения, предложенном и активно развиваемом итальянскими энтузиастами.
Речь идет о специальном проекте, который был разработан итальянскими любителями и в настоящее время получил распространение уже далеко за пределами Италии. Этот проект получил название «Ардуино» ( Arduino). Как сказано на официальном сайте проекта, он предназначен для самого широкого круга пользователей: художников, дизайнеров, конструкторов – любителей. То есть, для всех, кто желает самостоятельно разрабатывать простые интерактивные электронные конструкции. Ардуино – это свободно распространяемый набор, состоящий из небольшого электронного модуля, и комплекта программного обеспечения к нему. Модуль имеет несколько модификаций, отличающихся по конструкции размеру и возможностям. Но все они имеют очень простую и легко повторяемую схему и полностью совместимы между собой. Программная же часть рассчитана на работу с любой модификацией модуля. Основная идея проекта состоит в следующем: за небольшую цену вы покупаете этот комплект (в стоимость модуля входит лишь цена всех его комплектующих). Затем вы просто подключаете этот модуль к своему компьютеру через COM либо USB порт, запускаете на компьютере прилагаемую программу (она даже не требует установки и кроме выбора нужного COM порта не требует ни какой настройки) и сразу начинаете программировать! Для этого к программе прилагается подробная документация. Кроме того программа имеет подробное меню помощи. Если вы предпочитаете работать с фирменной программной средой разработчика AVR Studio (рекомендуемой и распространяемой фирмой Atmel), то для этого нет никаких проблем. Обмен информацией в модуле Ардуино происходит по протоколу STK500. А это один из протоколов, поддерживаемый AVR Studio. Просто выберите в меню AVR Studio программатор STK500 и работайте как обычно.
Внешний вид модуля Главное достоинство конструкции модуля – его предельная простота. Первые варианты модулей Ардуино содержали практически всего одну микросхему – микроконтроллер ATmega8, с небольшим количеством элементов обвязки. Подключался такой модуль к компьютеру посредством COM порта. С самого начала и по сегодняшний день проект распространялся по открытой лицензии. Это значит, что всю информацию (схемы, рисунок печатного монтажа, прошивку микроконтроллера и саму управляющую программу) вы можете в любой момент получить бесплатно. Просто скачать с сайта проекта http ://www .arduino .cc (если вы не сильны в Английском, скачайте то же самое в соответствующем разделе данного сайта скачать). Все это вы имеете право использовать по своему усмотрению. Вы можете собрать все устройство самостоятельно. Существуют так же множество фирм (правда пока не у нас), продающих комплекты Ардуино как в виде набора из платы и всех деталей, так и в виде готовой отлаженной платы. Самый простой из вариантов платы легко поддается изготовлению в домашних условиях. Единственная проблема – микроконтроллер должен содержать в своей программной памяти небольшую программу (начальный загрузчик). При покупке набора деталей или готового устройства программа уже зашита производителем. При самостоятельном изготовлении вам необходимо прошить программу самому. Текст и прошивка программы-загрузчика для всех вариантов модуля содержится в стандартном пакете программ, о котором говорилось чуть выше. Записывать программу загрузчика вам придется сделать всего один раз. Можно просто попросить об этом знакомого радиолюбителя, у которого есть программатор. В дальнейшем микроконтроллер под управлением этой самой программы-загрузчика самостоятельно будет получать разработанные вами программы из вашего компьютера, и прошивать их в свою собственную программную память. При этом сама программа загрузчика стираться не будет и даже если разработанная вами программа не заработает, вы легко сможете переписать ее заново. Такая организация обмена программ стала возможной благодаря новым особенностям архитектуры микроконтроллеров. Все микроконтроллеры семейства ATmega имеют режим самопрограммирования. Для этого в систему команд микроконтроллера включены команды записи данных в программную память. Кроме того, программная память этих микросхем разделена на две не равные по величине области. Область загрузчика и область основной программы. После записи программы-загрузчика в предназначенную для нее область программной памяти можно запретить запись-стирание этой области. Для этого микросхемы имеют дополнительные биты защиты от записи. Защитив, таким образом, область загрузчика вы можете не бояться, что из-за ошибки в основной, разрабатываемой вами программе программа загрузчика будет испорчена.
Кроме простого варианта Ардуино, работающего через COM порт существуют и более продвинутые варианты. Как известно, последовательный порт постепенно выходит из употребления. Более сложные варианты Ардуино подключаются через порт USB. Для этого в схему устройства введена всего одна специализированная микросхема FT232 RL, которая представляет собой преобразователь USB- RS232. ( RS232 – это протокол передачи данных, который используется в частности в COM порте компьютера). При подключении такой микросхемы к USB порту компьютера он распознает дополнительное USB устройство и в нем автоматически появляется еще один виртуальный COM-порт. Поэтому как управляющая программа в компьютере, так и загрузчик в микроконтроллере даже не замечают каких либо изменений. Они, как и раньше, обмениваются информацией теперь уже через этот новый виртуальный COM порт. В результате такого подхода, ни какого изменения программ при переходе от одного канала связи к другому не потребовалось. Нужно просто правильно выбрать порт в настройках управляющей программы на компьютере. Дополнительным удобством такого решения является тот факт, что канал RS232 микросхемы FT232 RL имеет не стандартные для этого протокола уровни сигналов. Например, CJV-порт компьютера работает с сигналами, изменяющимися в пределах от -12 до +12В. Микроконтроллер же работает с сигналом, изменяющимся от 0 до +5В. Для подключения COM порта к микроконтроллеру приходится ставить схемы согласования уровней. Микросхема же FT232 RL работает так же с сигналами 0…+5В. Поэтому при подключении ее к микроконтроллеру согласование уровней не требуется. Кроме наличия USB адаптера, новые модули Ардуино имеют и еще одно отличие. В них применяется более новая модель микроконтроллера ATmega168, более совершенная и поэтому имеющая больше возможностей. ФК ЦСКА
Теперь о том, как пользоваться Ардуино. Программирование ведется на языке специально разработанном для Ардуино. Это стандартный язык СИ для микроконтроллеров, дополненный специальными командами, специфичными именно для этого проекта. Существует множество пособий по этому языку (конкретно по языку Ардуино). В том числе и прекрасно оформленный буклет для «Чайников». В пакет программ, который вы получаете вместе с управляющей программой, входит целый ряд простых отлаженных примеров программ, снабженных подробными комментариями. Пакет включает себя несколько программ иллюстрирующих цифровой ввод-вывод, несколько программ иллюстрирующих аналоговый ввод вывод и несколько программ иллюстрирующих взаимодействие с компьютером по COM (или USB- COM) каналу. Тому же самому каналу, по которому происходит загрузка программ. Этих примеров вполне достаточно для того, что бы понять основные принципы программирования. Ну а потом все зависит от вашей фантазии. Если фантазии не хватает, то к вашим услугам Интернет. В сети существует множество сайтов любителей Ардуино, различные форумы и клубы по интересам. Там бесплатно выкладывается множество готовых решений программ для Ардуино. Единственный недостаток, что все это пока только на английском языке. Но если вас заинтересует этот проект, то я планирую создать серию статей с подробным описанием всех аспектов изготовления, подключения к компьютеру и программирования для этой системы. Уже сейчас можно прочитать о всех существующих типах модулей Арудино по адресу (Смотреть)
Автор Белов А. В.
|