22:34 Конструктор функций | ||||||||||||
Конструктор функций [09/2014-12/2014] Коротко о разработке На рынке представлено множество интеллектуальных машин для конструирования, например, “LEGO-Робот”. Для реализации искусственного интеллекта в повседневной работе, мной был разработан конструктор функций на базе микроконтроллера PIC18F4685. Непревзойдённая эмулируемая гибкая архитектура как стремление создать универсальный прибор привело меня к современному взгляду на контроль бытовых и индустриальных процессов.
Введение и принцип работы Данное устройство разработано для решения многих задач в электронике и программирование. Применить прибор можно там, где необходимо контролировать физические процессы с обратной связью. Прибор может быть основным в «Умном доме», где можно управлять температурой, вентиляцией, влажностью, освещением и другими подконтрольными устройствами. Структура прибора и её связь с объектом контроля продемонстрирована на рисунке 1. Рис. 1 Прибор может работать вместе с компьютером с помощью специального программного обеспечения AYK-CF-USB, где необходимые данные, а в совокупности – конфигурация, загруженная в статическую ОЗУ (SRAM) и если нужно, сохранённая в энергонезависимой EEPROM памяти микроконтроллера. Если конфигурация сохранена в энергонезависимой памяти микроконтроллера, то целесообразно включать или перезагружать устройство в полночь (00 часов, 00 минут, 00 секунд ), так как время с компьютера не загружается. Эмулируемая гибкая архитектура физически загружается с компьютера и работает в статической ОЗУ (SRAM) микроконтроллера. Архитектура доступа к функциям, логическим и физическим модулям, конфигурациям показана на рисунке 2. Рис. 2
Прибор Принципиальная схема прибора приведена на рисунке 3. Основой прибора является микроконтроллер DD1 PIC18F4685 [1] и UART-USB интерфейс DD2 FT232RL [2]. В приборе реализовано 10 10-битных АЦП (0..2046 мВ), 1 КМОП частотомер (0.. 16777215 Гц), 10 таймеров (00:00:00..23:59:59), 10 КМОП логических выходов (0 В / 5 В), 1 КМОП ШИМ (0 В / 5 В). Микроконтроллер DD1 можно запрограммировать, подключив к разъёму X1 (ICD connector) внутрисхемный программатор MPLAB ICD 2 или MPLAB ICD 3. Возможно принудительно сбросить микроконтроллер во время работы нажав на кнопку SB1 (Reset). Кнопка SB1 подключена через токоограничивающий резистор R27 к NMCLR выводу микроконтроллера. Резистор R28 необходим для установления логического уровня в не нажатом положение кнопки SB1. Рис. 3 Генератор тактовой частоты для микроконтроллера DD1 собран на кварцевом резонаторе ZQ1 и стабилизирующих конденсаторах C13 и C14. Резонансная частота 10 МГц, в микроконтроллере частота умножается на 4. За четыре такта происходит чтение, декодирование и выполнение инструкции запрограммированной в Flash-память микроконтроллера. 100 нс один машинный цикл. Для генерации секунд в микроконтроллере задействован часовой кварцевый резонатор ZQ2 и стабилизирующие конденсаторы C15 и C16. К разъёмам X2, X3 и X4 подключены резисторы R1-R22 для рассеивания электрической энергии из-за замыкания входов или выходов между собой или с питанием. Источник опорного напряжения DA2 LM4040C20ILPE3 подключен последовательно с резистором R26 и даёт для 10-и битного АЦП микроконтроллера 2,048 В. АЦП измеряет напряжение 0..2046 мВ, с шагом в 2 мВ. Частотомер подсчитывает за секунду количество импульсов КМОП логики. Приращение происходит по переднему фронту. Питаться прибор может во время программирования через разъём X1 (в настройках интегрированной среды MPLAB IDE нужно этот способ указать). Подключить к разъёму X6 блок питания, способного давать переменный или постоянный ток 0,5 A и напряжение 9 – 15 В. Полярность можно не соблюдать, всё равно диодный мост VD3 выпрямит ток. Интегральный линейный стабилизатор напряжения DA1 L7805ACV стабилизирует напряжение 5 В с точностью в 2%. Развязка напряжения между источниками питания подключенными к разъёмам X5 и X6 выполнена на диодах Шоттки VD1 и VD2. Питание прибора блокируется фильтрующими конденсаторами C1-C12. Светодиоды HL1-HL3 информируют о питании, работе и трафике данных периферийного устройства. Собрав и запрограммировав устройство его можно подключить к персональному компьютеру через USB разъём X5. Рис.4
Фотография прибора
Программное обеспечение Скачать драйвер можно с официального сайта [2] или убедитесь, что компьютер подключен к интернету. Тогда драйвер для FT232RL будет загружен с интернета. Скриншот 1. Программное обеспечение работает с такими операционными системами, как Windows XP, Vista, 7 и 8. Откройте программное обеспечение AYK-CF-USB, скриншот 1. Затем убедившись, что компьютер распознаёт прибор можно нажать на кнопку «Connect» скриншот, если программа не нашла периферию, тогда появляется сообщение об ошибке, скриншот 2. Скриншот 2. Поставьте галочки «Report» - формировать отчёт, «Load» - загрузить конфигурацию с ini–файла, «Save» - сохранить загруженную в статическую ОЗУ конфигурацию в энергонезависимой EEPROM памяти. Смотреть скриншот 3. Далее нажмите на кнопку «Connect».
Скриншот 3. При грамотном подключении программа отображает окно, в которое вводится имя файла содержащего конфигурацию, как показано на скриншоте 4. После ввода имени файла «test1» нажмите «ОК», подождите пока программа загрузится в прибор, об этом индицирует светодиод HL3. Скриншот 4. Работа программы показана на скриншоте 5. Map – карта флагов, зелёные – поднятые флаги, а красные – опущенные. ПО и файлы с расширением ini должны быть в одной директории (папке). Если в окошечке, где отображается время фоновый красный цвет, значит отображается оставшееся время до высокого логического уровня. Если зелёный – оставшееся время до низкого логического уровня. Стоит заметить, что если микроконтроллер перенастраивает такие физические модули как таймеры, то время будет отображено не корректно, а вот цвет будет сигнализировать о логики соответствующего флага. Скриншот 5. Отчёт может быть сохранён в блокноте (TXT-файл), смотреть скриншот 6. Скриншот 6. Если вам нужно загрузить отчёт в OpenOffice Calc, тогда сохраните его в CSV-файле. Смотреть скриншот 7. Скриншот 7. Затем откройте CSV-файл в OpenOffice Calc. Смотреть скриншот 8. Скриншот 8. В итоге получится перенос данных из CSV-файла в OpenOffice Calc. Смотреть скриншот 9. Скриншот 9. Для разрыва связи персонального компьютера с периферией нужно нажать на кнопку «Disconnect».
Настройки Правильно собранное устройство работает сразу. Настройки будут сводиться к корректному заполнению констант в ini-файл. Напряжение нижний порог и верхний порог ADC0L и ADC0H, соответственно в милливольтах с шагом в 2 мВ. Частота нижний порог и верхний порог NL и NH, соответственно. Максимальное значение 16777215. Время удержания поднятого флага, нижний порог T0L и верхний порог T0H (формат часы:минуты:секунды). M00A, M00B, M00C, M00D, M00E, M00F, M00Y могут принимать адреса от 0 до 255. Если вы закрыли программное обеспечение и вам нужно загрузить опять конфигурацию с ini-файла, нажмите кнопку сброса SB1 (Reset) на приборе и следуйте инструкции по использованию прибором.
Использование
Ссылки в интернете
От автора Автор идеи и разработки: Ковалев Антон Юрьевич. Придумано, разработано, собрано и запрограммировано в городе Краснодаре. Заказать и скачать программный продукт и исходники можно с сайта автора, или по обратной связи. Обратная связь: aykovalev@yandex.ru Сайты автора: aykovalev.ru, aykovalev.com
| ||||||||||||
|
Всего комментариев: 0 | |