Область применения микроконтроллеров

Автор работы: Пользователь скрыл имя, 29 Января 2015 в 11:09, реферат

Краткое описание

Область применения микроконтроллеров – это различные контроллеры устройств автоматики, пластиковые карты, контроллеры периферийных устройств и др..
Развитие микроэлектроники и её широкое применений изделий в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно-технического прогресса.

Вложенные файлы: 1 файл

реферат.docx

— 853.94 Кб (Скачать файл)

Arduino Pro Mini предназначен для  полустационарного монтажа в  различное оборудование или установки. Плата специально поставляется  без впаянных разъемов, что позволяет  пользователю впаивать провода  или использовать необходимые  типы разъемов по своему усмотрению. По расположению выводов Arduino Mini Pro совместим Arduino Mini.

Существует две версии Pro Mini: одна работает от 3.3В при частоте 8 МГц, другая - от 5В при 16 МГц.

Arduino Pro Mini разработан и изготовлен фирмой SparkFun Electronics.

Схема и исходный проект

Файлы EAGLE: arduino-pro-mini-reference-design.zip

Схема: Arduino-Pro-Mini-schematic.pdf

Характеристики

Микроконтроллер

ATmega168 или ATmega328

Рабочее напряжение

3.3В или 5В (в зависимости  от модели)

Напряжение питания

3.35-12В (для модели 3.3В) или 5 - 12В (для модели 5В)

Цифровые входы/выходы

14 (из них 6 могут использоваться  в качестве ШИМ-выходов)

Аналоговые входы

8

Максимальный ток одного вывода  

40 мА

Flash-память

16 КБ (из которых 2 КБ используются  загрузчиком)

SRAM

1 КБ

EEPROM

512 байт

Тактовая частота

8 МГц (для модели 3.3В) или 16 МГц (в модели 5В)


 

Питание

Arduino Pro Mini может быть запитан  от различных источников:

  • через макетную плату;

  • через переходник FTDI, подсоединенный к шестиконтактному разъему;

  • от стабилизированного источника питания с напряжением 3.3В или 5В (в зависимости от модели), подключенного к выводу Vcc.

Кроме того, на плате есть встроенный стабилизатор напряжения, благодаря которому допускается подавать на плату напряжение питания величиной до 12В. Если для питания платы используется нестабилизированный источник питания, убедитесь, что он подсоединен к выводу "RAW", а не VCC.

Ниже перечислены выводы питания, расположенные на плате:

  • RAW. Для питания платы от нестабилизированного источника напряжения.

  • VСС. Стабилизированное напряжение 3.3В или 5В.

  • GND. Выводы земли.

Память

Объем флеш-памяти программ микроконтроллера ATmega328 составляет 32 КБ (из которых 2 КБ используются загрузчиком). Микроконтроллер также имеет 1 КБ памяти SRAM и 512 байт EEPROM (из которой можно считывать или записывать информацию с помощью библиотеки EEPROM).

Входы и выходы

С использованием функций pinMode(), digitalWrite() и digitalRead() каждый из 14 цифровых выводов Pro Mini может работать в качестве входа или выхода. В зависимости от модели, уровень напряжения на выводах ограничен 3.3В или 5В. Максимальный ток, который может отдавать или потреблять один вывод, составляет 40 мА. Все выводы сопряжены с внутренними подтягивающими резисторами (по умолчанию отключенными) номиналом 20-50 кОм. Помимо этого, некоторые выводы Ардуино могут выполнять дополнительные функции:

  • Последовательный интерфейс: выводы 0 (RX) и 1 (TX). Используются для получения (RX) и передачи (TX) данных по последовательному интерфейсу. Эти выводы соединены с линиями TX-0 и RX-1 шестиконтактного разъема.

  • Внешние прерывания: выводы 2 и 3. Данные выводы могут служить источниками прерываний, возникающих при различных условиях: при низком уровне сигнала, по фронту, по спаду или при изменении сигнала на этих выводах. Для получения дополнительной информации см. функцию attachInterrupt().

  • ШИМ: выводы 3, 5, 6, 9, 10 и 11. С помощью функции analogWrite() могут выводить 8-битные аналоговые значения в виде ШИМ-сигнала.

  • Интерфейс SPI: выводы 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Данные выводы позволяют осуществлять связь по интерфейсу SPI. В устройстве реализована аппаратная поддержка SPI, однако на данный момент язык Ардуино пока ее не поддерживает.

  • Светодиод: 13. Встроенный светодиод, подсоединенный к цифровому выводу 13. При отправке значения HIGH светодиод включается, при отправке LOW - выключается.

В Arduino Pro Mini есть 6 аналоговых входов, каждый из которых может представить аналоговое напряжение в виде 10-битного числа (1024 различных значения). Четыре из них выведены на контакты возле края платы; два остальных (входы 4 и 5) выведены на распаечные площадки внутри платы. Измерение напряжения осуществляется относительно диапазона от 0 до VCC. Помимо этого, некоторые из аналоговых входов имеют дополнительные функции:

  • I2C: вывод A4 (SDA) и вывод A5 (SCL). С использованием библиотеки Wire позволяют осуществлять связь по интерфейсу I2С.

Помимо перечисленных на плате есть еще один вывод:

  • Reset. Формирование низкого уровня (LOW) на этом выводе приведет к перезагрузке микроконтроллера. Обычно этот вывод служит для функционирования кнопки сброса на платах расширения

Связь

Arduino Pro Mini предоставляет  ряд возможностей для осуществления  связи с компьютером, еще одним  Ардуино или другими микроконтроллерами. В ATmega328 имеется приемопередатчик UART, позволяющий осуществлять последовательную  связь посредством цифровых выводов 0 (RX) и 1 (TX). В пакет программного  обеспечения Ардуино входит специальная  программа, позволяющая считывать  и отправлять на Ардуино простые  текстовые данные через USB-соединение. 

Библиотека SoftwareSerial позволяет реализовать последовательную связь на любых цифровых выводах Arduino Pro Mini.

В микроконтроллере ATmega328 также реализована поддержка последовательных интерфейсов I2C (TWI) и SPI. В программное обеспечение Ардуино входит библиотека Wire, позволяющая упростить работу с шиной I2C; Для работы с интерфейсом SPI см. даташит микроконтроллера ATmega328.

Программирование

Arduino Pro Mini программируется  с помощью программного обеспечения  Ардуино (скачать). Для получения более подробной информации см. справку и примеры.

ATmega328 в Arduino Pro Mini выпускается  с прошитым загрузчиком, позволяющим  загружать в микроконтроллер  новые программы без необходимости  использования внешнего программатора. Взаимодействие с ним осуществляется  по оригинальному протоколу STK500 (описание, заголовочные файлы C).

Тем не менее, микроконтроллер можно прошить и через разъем для внутрисхемного программирования ICSP (In-Circuit Serial Programming), не обращая внимания на загрузчик;

Автоматический (программный) сброс

Чтобы каждый раз перед загрузкой программы не требовалось нажимать кнопку сброса, Arduino Pro Mini спроектирован таким образом, который позволяет осуществлять его сброс программно с подключенного компьютера. Один из выводов шестиконтактного разъема соединен с выводом RESET микроконтроллера ATmega328 через конденсатор номиналом 100 нФ. При подключении компьютеру этот вывод также связан с одной из линий, участвующих в аппаратном управлении потоком данных, идущих через преобразователь USB-Serial: при использовании кабеля FTDI - с линией RTS, при использовании макетной платы Sparkfun - с линией DTR. Когда на этой линии появляется ноль, вывод RESET, соответственно, также переходит в низкий уровень на время, достаточное для перезагрузки микроконтроллера. Данная особенность используется для того, чтобы можно было прошивать микроконтроллер всего одним нажатием кнопки в среде программирования Ардуино. Такая архитектура позволяет уменьшить таймаут загрузчика, поскольку процесс прошивки всегда синхронизирован со спадом сигнала на линии RESET.

Однако эта система может приводить и к другим последствиям. При подключении Pro Mini к компьютерам, работающим на Mac OS X или Linux, его микроконтроллер будет сбрасываться при каждом соединении программного обеспечения с платой. После сброса на Pro Mini активизируется загрузчик на время около полсекунды. Несмотря на то, что загрузчик запрограммирован игнорировать посторонние данные (т.е. все данные, не касающиеся процесса прошивки новой программы), он может перехватить несколько первых байт данных из посылки, отправляемой плате сразу после установки соединения. Соответственно, если в программе, работающей на Ардуино, предусмотрено получение от компьютера каких-либо настроек или других данных при первом запуске, убедитесь, что программное обеспечение, с которым взаимодействует Ардуино, осуществляет отправку спустя секунду после установки соединения.

Физические характеристики

Габаритные размеры печатной платы Arduino Pro Mini: 1.8 см х 3.3 см.

  1.  Программирование Arduino

3.1 Установите драйвера

Установка драйверов для Arduino Uno на Windows7, Vista или XP:

Подключите вашу плату и подождите, пока Windows начнет процесс установки драйвера. Через некоторое время, несмотря на все её попытки, процесс закончится безрезультатно.

Нажмите на кнопку ПУСК и откройте Панель управления.

В панели управления перейдите на вкладку Система и безопасность (System and Security). Затем выберите Система. Когда откроется окно Система, выберите Диспетчер устройств (Device Manager).

Обратите внимание на порты (COM и LPT). Вы увидите открытый порт под названием «Arduino UNO (COMxx)».

Щелкните на названии «Arduino UNO (COMxx)» правой кнопкой мышки и выберите опцию «Обновить драйвер» (Update Driver Software).

Кликните "Browse my computer for Driver software".

Для завершения найдите и выберите файл драйвера для Uno – «ArduinoUNO.inf», расположенный в папке Drivers программного обеспечения для Arduino (не в подкаталоге «FTDI USB Drivers»).

На этом Windows закончит установку драйвера.

См. также: пошаговые скриншоты для установки Uno под Windows XP.

Установка драйверов для Arduino Duemilanove, Nano или Diecimila в Windows7, Vista или XP:

Когда вы подключите плату к компьютеру, Windows запустит процесс установки драйвера (если до этого вы не подключали к компьютеру плату Arduino).

В Windows Vista драйвер скачается и установится автоматически (это действительно работает!)

В Windows XP откроется Мастер установки нового оборудования (Add New Hardware wizard).

На вопрос «Подключиться к узлу Windows Update для поиска программного обеспечения? (Can Windows connect to search for software?)» выберите ответ «Нет, не в этот раз (No, not this time)». Нажмите «Далее».

Выберите «Установить из списка или указать местонахождение (Advanced) (Install from a list or specified location (Advanced))» и нажмите «Далее».

Убедитесь, что выбрано «Искать наиболее подходящий драйвер в указанном месте (Search for the best driver in these locations)»; снимите флажок «Искать на съемных носителях (Search removable media)»; выберите «Добавить область поиска (Include this location in the search)» и укажите папку drivers/FTDI USB Drivers в дистрибутиве Arduino. (Последнюю версию драйвера можно найти на FTDI веб-сайте). Нажмите «Далее».

Мастер начнет поиск и затем сообщит вам, что обнаружен «USB Serial Converter». Нажмите «Готово (Finish)».

Снова появится мастер установки нового оборудования. Выполните все те же шаги с теми же опциями и указанием того же пути для поиска. На этот раз будет обнаружен «USB Serial Port».

Проверить, что драйвера действительно установлены можно, открыв Диспетчер устройств (Windows Device Mananger) (он находится во вкладке Оборудование(Hardware) панели Свойства системы(System)). Найдите «USB Serial Port» в разделе «Порты (Ports)» – это и есть плата Arduino.

3.2 Среда разработки Arduino

Дважды щелкните на приложении для Arduino.

Откройте готовый пример

Откройте мгновенный пример скетча «LED» по адресу: File > Examples > 1.Basics > Blink.

Лабораторная работа №1

«Управление яркостью светодиода»

 

Цель работы: научится управлять яркостью светодиода с помощью функции analogWrite()

Приборы и принадлежности: контроллер Arduino, макетная плата, светодиод, резистор 220 Ом

Подключаем анод (обычно длинная ножка) светодиода через резистор сопротивлением 220 Ом к выходу номер 9 (pin 9). Катод (короткая ножка) подсоединяем напрямую к земле (Grd). Рис.1

Рис.1.

В секции setup() кода устанавливаем режим выхода для вход/выхода 9 (pin 9).

Функция analogWrite(), которая циклически вызывается в теле скетча, принимает два аргумента: номер выхода и значение ширины импульса ШИМ в диапазоне от 0 до 255.

Для управление яркостью светодиода, его плавного зажигания и плавного затухания, мы будем изменять значение ширины импульса, передаваемое в функцию analogWrite(). При значение 0 светодиод выключен, при 255 светодиод светит на полную яркость. В приведенном ниже скетче ширина импульса задается переменной brightness. Шаг изменения этого значения задан переменной fadeAmount.

Для плавного изменения яркости мы вводим задержку в конце главного цикла (тела) скетча — delay(30).

Программный код

/*

Пример управления яркостью светодиода

на выходе 9 контроллера Arduino

функцией analogWrite().

*/

int brightness = 0;    // уставливаем начально значение яркости

int fadeAmount = 5;    // шаг приращения/убывания яркости

void setup()  {

// устанваливаем пин 9 в  режим выхода

pinMode(9, OUTPUT);

}

void loop()  {

// устанавливаем значение  широты импульса на выходе 9

// задавая яркость светодиода

analogWrite(9, brightness);   

// измением значение в  переменной для яркости

brightness = brightness + fadeAmount;

// при достижение крайних  значений для яркости

// меняем знак переменной  шага приращения/убывания яркости

if (brightness == 0 || brightness == 255) {

fadeAmount = -fadeAmount ;

}   

// делаем паузу для  достижения плавного наращивания/убывания  яркости  

delay(30);                           

}

Информация о работе Область применения микроконтроллеров