Глава 2. Разработка программ для микропроцессорных систем



Анализ технического задания

 

По заданию требуется спроектировать электронный блок для считывания положения потенциометра и вывода на ЖК-дисплей. Для этого необходимо выбрать элементную базу и реализовать программную часть.

Принцип работы устройства: при повороте потенциометра, его положение считывается и выводится на ЖК-дисплей.

Для первого задания необходимо: вывод значения потенциометра на последовательный порт ПК. Результатом работы является, каждую секунду появляется число, зависящее от положения потенциометра. В крайнем левом положении число равно 0,а в крайнем правом – 1023.

Для второго задания необходимо: вывод значения потенцеометра на ЖК-дисплей. Результатом работы является: на ЖК дисплее отображается число, зависящее от положения потенциометра. В крайнем левом положении число равно 0, а в крайнем правом – 1023.

Для третьего задания необходимо: показать числа от 0 до 9 на сегментном индикаторе. Результатом работы является, отображения положения потенциометра на семи сегментном индикаторе в виде числа.

 

Описание микропроцессорной системы

Микроконтроллер должен удовлетворять ряду требований. Микроконтроллер должен быть легко доступным для приобретения, иметь не высокую цену, быть легок в освоение, иметь встроенный датчик температуры, иметь встроенный АЦП, для преобразования аналогового сигнала снимаемого с датчика температуры в цифровой, иметь низкое энергопотребление, для повышения автономности устройства. А так же для него должна быть легко доступна среда разработки.

Таким требованиям удовлетворяет микроконтроллер со сверхнизким потреблением семейства ARDUINO.

Это последняя модель Arduino Rev3, оригинальная, произведённая в Италии. Она выполнена на базе процессора ATmega328p с тактовой частотой 16 МГц, обладает памятью 32 кб и имеет 20 контролируемых контактов ввода и вывода для взаимодействия с внешним миром.

Arduino — это открытая платформа, которая позволяет собирать всевозможные электронные устройства. Arduino будет интересен креативщикам, дизайнерам, программистам и всем пытливым умам, желающим собрать собственный гаджет. Устройства могут работать как автономно, так и в связке с компьютером. Всё зависит от идеи.

Платформа состоит из аппаратной и программной частей; обе чрезвычайно гибки и просты в использовании. Для программирования используется упрощённая версия C++, известная так же как Wiring. Разработку можно вести как с использованием бесплатной среды Arduino IDE, так и с помощью произвольного C/C++ инструментария. Поддерживаются операционные системы Windows, MacOS X и Linux.

Для программирования и общения с компьютером вам понадобится USB-кабель. Для автономной работы потребуется блок питания на 7,5—12 В. Если вы новичок в конструировании электроники, рекомендуем обратить внимание на готовые наборы: «Матрёшка X», «Матрёшка Y» или «Матрёшка Z».

Питание

ArduinoUno может питаться как от USB подключения, так и от внешнего источника: батарейки или обычной электрической сети. Источник определяется автоматически.

Платформа может работать при наличии напряжения от 6 до 20 В. Однако при напряжении менее 7 В работа может быть неустойчивой, а напряжение более 12 В может привести к перегреву и повреждению. Поэтому рекомендуемый диапазон: 7−12 В.

На Arduino доступны следующие контакты для доступа к питанию:

o Vin предоставляет тот же вольтаж, что используется для питания платформы. При подключении через USB будет равен 5 В.

o 5V предоставляет 5 В вне зависимости от входного напряжения. На этом напряжении работает процессор. Максимальный допустимый ток, получаемый с этого контакта — 800 мА.

o 3.3V предоставляет 3,3 В. Максимальный допустимый ток, получаемый с этого контакта — 50 мА.

o GND — земля.

Память

Платформа оснащена 32 кб flash-памяти, 2 кб из которых отведено под так называемый bootloader. Он позволяет прошивать Arduino с обычного компьютера через USB. Эта память постоянна и не предназначена для изменения по ходу работы устройства. Её предназначение — хранение программы и сопутствующих статичных ресурсов.

Также имеется 2 кб SRAM-памяти, которые используются для хранения временных данных вроде переменных программы. По сути, это оперативная память платформы. SRAM-память очищается при обесточивании.

Ещё имеется 1 кб EEPROM-памяти для долговременного хранения данных. По своему назначению это аналог жёсткого диска для Arduino.

Ввод / вывод

На платформе расположены 14 контактов (pins), которые могут быть использованы для цифрового ввода и вывода. Какую роль исполняет каждый контакт, зависит от вашей программы. Все они работают с напряжением 5 В, и рассчитаны на ток до 40 мА. Также каждый контакт имеет встроенный, но отключённый по умолчанию резистор на 20 - 50 кОм. Некоторые контакты обладают дополнительными ролями:

o Serial: 0-й и 1-й. Используются для приёма и передачи данных по USB.

o Внешнее прерывание: 2-й и 3-й. Эти контакты могут быть настроены так, что они будут провоцировать вызов заданной функции при изменении входного сигнала.

o PWM: 3-й, 5-й, 6-й, 9-й, 10-й и 11-й. Могут являться выходами сширотно-импульсной модуляцией (pulse-widthmodulation) с 256 градациями.

o LED: 13-й. К этому контакту подключен встроенный в плату светодиод. Если на контакт выводится 5 В, светодиод зажигается; при нуле — светодиод гаснет.

Помимо контактов цифрового ввода/вывода на Arduino имеется 6 контактов аналогового ввода, каждый из которых предоставляет разрешение в 1024 градации. По умолчанию значение меряется между землёй и 5 В, однако возможно изменить верхнюю границу, подав напряжение требуемой величины на специальный контактAREF.

Кроме этого на плате имеется входной контакт Reset. Его установка в логический ноль приводит к сбросу процессора. Это аналог кнопки Reset обычного компьютера.

Взаимодействие

ArduinoUno обладает несколькими способами общения с другими Arduino, микроконтроллерами и обычными компьютерами. Платформа позволяет установить последовательное (Serial UART TTL) соединение через контакты 0 (RX) и 1 (TX). Установленный на платформе чип ATmega16U2 транслирует это соединение через USB: на компьютере становится доступен виртуальный COM-порт. Программная часть Arduino включает утилиту, которая позволяет обмениваться текстовыми сообщениями по этому каналу.

Встроенные в плату светодиоды RX и TX светятся, когда идёт передача данных между чипом ATmega162U и USB компьютера.

Отдельная библиотека позволяет организовать последовательное соединение с использованием любых других контактов, не ограничиваясь штатными 0-м и 1-м.

С помощью отдельных плат расширения становится возможной организация других способов взаимодействия, таких как ethernet-сеть, радиоканал, Wi-Fi.

Защита USB

ArduinoUno обладает предохранителем, защищающим USB-порты вашего компьютера от перенапряжения и коротких замыканий. Хотя большинство компьютеров обладают собственными средствами защиты, предохранитель даёт дополнительную уверенность. Он разрывает соединение, если на USB-порт подаётся более 500 мА, и восстанавливает его после нормализации ситуации.

Габариты

Размер платы составляет 6,9 × 5,3 см. Гнёзда для внешнего питания и USB выступают на пару миллиметров за обозначенные границы. На плате предусмотрены места для крепления на шурупы или винты. Расстояние между контактами составляет 0,1″ (2,54 мм), но в случае 7-го и 8-го контакта — расстояние: 0,16″.

Рисунок 2 – Электрическая схема микроконтроллера ArduinoUNO

 


Дата добавления: 2018-02-28; просмотров: 626; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!