ПЗ (1230182), страница 3
Текст из файла (страница 3)
При подаче напряжения питания на датчик светодиод будет постоянно излучать световой поток в инфракрасном диапазоне. Фототранзистор будет его принимать только тогда, когда щель диска войдет в область диаграммы направленности фототранзистора. Таким образом, при вращении диска на коллекторе фототранзистора будет формироваться импульсная последовательность с количеством импульсов за один оборот диска, равным количеству его щелей.
Так как световой поток падающий на фототранзистор, из-за широких диаграмм направленности светового потока светодиода и фототранзистора при вращении диска изменяется плавно, то и импульсы получаются колоколообразной формы.
Для получения импульсной последовательности со стабильными во времени длительностями импульса и периода служит формирователь фронтов импульсов, состоящий из транзисторного ключевого каскада и компаратора. Кроме того, компаратор обеспечивает ограничение импульсной последовательности по низу на уровне порогового напряжения, тем самым предотвращает появление паразитных импульсов, которые могут формироваться из-за флюктуаций, возникающих на выходе фототранзистора.
С выхода компаратора импульсная последовательность поступает на формирователь сигналов ДПС, который состоит из двух транзисторных ключевых каскадов. Последний каскад выполнен по схеме открытый коллектор [1].
2 РАЗРАБОТКА КОНСТРУКЦИИ УСТРОЙСТВА
Данное устройство разрабатывалось для контроля частоты вращения валов двух двигателей на лабораторном стенде. Главная задача устройства посчитать обороты каждого двигателя в отдельности при одновременной работе так и при очередной. Само устройство будет включать в себя такие элементы как:
-
микроконтроллер (основная часть устройства);
-
жк дисплей 1602 (для отображения показания оборотов двигателя);
-
датчики вращения валов двигателя:
- светодиод и фотодиод;
- диск с отверстиями.
-
соединительные провода и питающие устройство;
-
непосредственно сам корпус устройства.
Для разработки устройства был взят микроконтроллер, потому что он удобен в программировании непосредственных задач вычисления. Микроконтроллер отличается от обычной микросхемы тем, что в него после покупки надо предварительно «прошить», то есть записать, программу. Незапрограммированный Микроконтроллер в изделии бесполезен. Он будет исправно потреблять ток, но программа зациклится в «беге на месте», не производя никакой осмысленной работы.
Для программирования нужен программатор (Рисунок 2.1). При массовом производстве обычно используют промышленные программаторы, имеющие самостоятельные органы управления, контроля, индикации. Для малосерийного и единоличного производства (читай «домашних условий») рациональнее использовать компьютерные программаторы как и в нашем случае. В их основе лежит простая формула:
Программатор= « Электрический адаптер» + «Компьютер» + «Программа». Адаптер легко изготовить самостоятельно. Компьютер является частью рабочего места радиолюбителя, а управляющая программа доступна в интернете и как правило бесплатна.
Рисунок 2.1 – Схема компьютерного программатора
На практике в функции микроконтроллера входит контроль и управление производственными процессами, бытовыми приборами, спецтехникой, системами сбора информации, принтерами, факсами, сотовыми телефонами и т.д. В данном проекте микроконтроллер будет выполнять функцию сбора и выдачи полученной информации.
В качестве основной вычислительной части устройства был взят микроконтроллер Arduino (Рисунок 2.2). Arduino может использоваться как для создания автономных объектов автоматики, так и подключаться к программному обеспечению на компьютере через стандартные проводные и беспроводные интерфейсы. Arduino и Arduino Nano-совместимые платы спроектированы таким образом, чтобы их можно было при необходимости расширять, добавляя в устройство новые компоненты. Эти платы расширений подключаются к Arduino посредством установленных на них штыревых разъёмов. Существует ряд плат с унифицированным конструктивом, допускающим конструктивно жесткое соединение процессорной платы и плат расширения в стопку через штыревые линейки. Кроме того, выпускаются платы уменьшенных габаритов (например Nano) и специальных конструктивов для задач робототехники. Независимыми производителями также выпускается большая гамма всевозможных датчиков и исполнительных устройств, в той или иной степени совместимых с базовым конструктивом Arduino. В настоящее время Arduino пользуется большой популярностью благодаря удобству и простоте языка программирования, открытой архитектуре и программному коду. Существует несколько версий платформ Arduino, отличающиеся, в основном, типом используемого микроконтроллера семейства ATmega. Принципиально может быть использована любая из версий платформ, причем, строго говоря, далеко не все возможности платформы будут при этом использованы. Помимо регистрации сигналов, с помощью Arduino можно также организовать и формирование управляющих сигналов, используя выходы, поддерживающие ШИМ. Кроме того, возможна программная реализация цифровых регуляторов или фильтров любой степени сложности [2].
Рисунок 2.2 – Плата микроконтроллера Arduino Nano
Аналоговые входы Arduino рассчитаны на напряжение от 0 до 5 В, поэтому входные сигналы должны быть предварительно нормированы, для чего предусмотрена отдельная плата. На плате нормирования сигналов реализованы инвертирующие схемы усиления на базе операционных усилителей (ОУ) со смещением сигналов по уровню. Для питания ОУ использован двуполярный источник питания + 12,5 В (на основе 2 однополярных источников).
Получаемые показания с двигателей о частоте вращения будут отображаться на ЖК дисплее 1602 (Рисунок 2.3), который имеет две строки по шестнадцать символов каждая из строк. Жидкокристаллический индикатор МТ-16S2H-состоит из БИС контроллера управления и ЖК панели. Контроллер управления КБ10ВВГ6, производство ОАО «АНГСГРЕМ», аналогичен HD44780 фирмы HITACHI и KS0066 фирмы SAMSUNG. Индикатор выпускается со светодиодной подсветкой. Внешний вид приведен на рисунке 14. Индикатор позволяет отображать две строки по шестнадцать символов. Символы отображаются в матрице 5×8 точек. Между символами имеются интервалы шириной в одну отображаемую точку. Каждому отображаемому на ЖКИ символу соответствует его код в ячейке ОЗУ индикатора. Индикатор содержит два вида памяти-кодов отображаемых символов и пользовательского знакогенератора, а также логику для управления ЖК панелью [3].
Рисунок 2.3 – Внешний вид жидкокристаллического индикатора
Данный индикатор позволяет:
-
индикатор имеет программно-переключаемые две страницы встроенного знакогенератора (алфавиты: русский, украинский, белорусский, казахский и английский);
-
работать как по 8-ми, так и по 4-х битной шине данных (задается при инициализации);
-
принимать команды с шин данных;
-
записывать данные в ОЗУ с шин данных;
-
читать данные из ОЗУ на шину данных;
-
читать статус состояния на шину данных;
-
запоминать до 8-ми изображений символов, задаваемых пользователем;
-
выводить мигающий ( или не мигающий) курсор двух типов;
-
управлять контрастностью и подсветкой.
Таблица 2.1– Динамические характеристики индикатора
Название | Обозначение | Ucc=5B | Ucc=3B | Единицы измерения | ||
Мин. | Макс. | Мин. | Макс. | |||
Время цикла чтения/записи | tcycE | 500 | _ | 1000 | _ | н.сек |
Длительность импульса разрешения чтения /записи | PWEH | 230 | _ | 450 | _ | н.сек |
Время нарастания и спада | tEr, tEf | _ | 20 | _ | 25 | н.сек |
Время предустановки адреса | tAS | 40 | _ | 60 | _ | н.сек |
Время удержания адреса | tAN | 10 | _ | 20 | _ | н.сек |
Время выдачи данных | tDDR | _ | 120 | _ | 360 | н.сек |
Время задержки данных | TDHR | 5 | _ | 5 | _ | н.сек |
Время предустановки данных | tDSW | 80 | _ | 195 | _ | н.сек |
Время удержания данных | tH | 10 | _ | 10 | _ | н.сек |
Таблица 2.2 – Назначение внешних выводов индикатора
Вывод | Обозначение | Назначение вывода |
1 | GND | Общий вывод (ОВ) |
2 | UCC | Напряжение питания( 5В/3В) |
3 | Uo | Управление контрастностью |
Окончание таблицы – 2.2
4 | AO | Адресный сигнал-выбор между передачей данных |
5 | R/W | Выбор режима записи или чтения |
6 | E | Разрешение обращений к индикатору(а также сбор данных) |
7 | DBO | Шина данных(8-ми битный режим)(младший бит в 8-ми битном режиме) |
8 | DB1 | Шина данных(8-ми битный режим) |
9 | DB2 | Шина данных(8-ми битный режим) |
10 | DB3 | Шина данных(8-ми битный режим) |
11 | DB4 | Шина данных(4-ми битный режим)(младший бит в 4-ми битном режиме) |
12 | DB5 | Шина данных(8-ми и 4-х битные режимы) |
13 | DB6 | Шина данных(8-ми и 4-х битные режимы) |
14 | DB7 | Шина данных(8-ми и 4-х битные режимы)(младший бит) |
15 | +LED | + питание подсветки |
16 | -LED | - питание подсветки |
Рисунок 2.4 – Схема подключения ЖК дисплея к Arduino
Для подключения ЖК дисплея к Arduino (Рисунок 2.4) нужно закрепить экран на панель и подведите к каналам питания панели питание +5 В и землю с Arduino. Питание и земля понадобятся не один раз, поэтому удобнее пробросить их именно на панель (Рисунок 2.5). После чего идет включение подсветки дисплея. Фоновая подсветка дисплея – это отдельный контур, не связанный с остальным. Включить её можно подав +5 В на 15-й контакт дисплея и подключив 16-й контакт к земле. Соединив эти два контакта с соответствующими каналами, можно включить Arduino и увидеть, что дисплей засветился (Рисунок 2.6) [4].