Главная » 2014 » Сентябрь » 4 » Конструктор логики
18:51
Конструктор логики
  • Коротко о разработке 

  Многие процессы люди доверяют роботам, есть ли общий подход к контролю логических процессов. Для этого мной и было разработано это устройство. Перепрограммируемая эмуляция логических элементов или конструктор логики на микроконтроллере PIC18F2685. Знание работы с компьютером и прибором может послужить хорошей наглядной «игрушкой» для начинающих радиолюбителей и программистов.    

Рисунок 1.

  • Введение и принцип работы 

   Структура прибора и её связь с объектом контроля  продемонстрирована на рисунке 1. Данное устройство разработано для решения многих задач в электронике и программирование. Допустим, объект контроля это аквариум. И целью является автоматизация обслуживания аквариума. С помощью конструктора логики можно реализовать работу освещения, где датчиком является фоторезистор. Так как есть три таймера можно с помощью специального механизма кормить рыбок три раза в сутки, период выброса корма в аквариум будет равен разнице параметров времени таймера. Для аграриев прибор может стать хорошим помощником в контроле поливом (датчик уровня воды), влажности (датчик влажности), температуры (терморезистор), освещения (фоторезистор). Столь широкий спектр 
применения говорит о высокой универсальности и простой настройке прибора для владельца компьютера даже с маленьким стажем.      

 

Рисунок 2.


  Перед тем как выполнить работу в 32 модуля загружается логическая функция и четыре адреса 0..47 флагов. Один флаг это один бит. Флаг опущен бит - равен нулю, флаг поднят - бит равен единице. Таким образом, модуль имеет 5 адресов физически хранящихся в статической ОЗУ – SRAM. После того как в модули загружена информация они каждую секунду выполняются последовательно от 0 до 31 в рабочем цикле. Адреса эмулируемых логических функций смотреть в таблице 1, которую можно скачать с ПО и прошивкой для микроконтроллера с сайта журнала «Радиоконструктор». 
Каждую секунду происходит измерение напряжения ADC0..ADC3, подсчитывается КМОП счётчиком количество импульсов, реализуется КМОП ШИМ и КМОП логика. Наборная область это не с чем не связанные флаги 8..39. Связь флагов с АЦП, счётчиком, таймерами, выходами, ШИМ и выводом отчёта показана в таблице 2.    

  • Прибор 

  Принципиальная схема прибора приведена на рисунке 2. Основой прибора является микроконтроллер DD1 PIC18F2685 [1] и UART-USB интерфейс DD2 FT232RL [2]. Микроконтроллер DD1 можно запрограммировать, подключив к разъёму X4 внутрисхемный программатор MPLAB ICD 2 или MPLAB ICD 3. Принудительная возможность сбросить микроконтроллер во время работы отсутствует, R13 подключен к NMCLR выводу микроконтроллера.  
Генератор тактовой частоты для микроконтроллера DD1 собран на кварцевом резонаторе ZQ1 и стабилизирующих конденсаторах C1 и C2. 
  Для генерации секунд в микроконтроллере задействован часовой кварцевый резонатор ZQ2 и стабилизирующие конденсаторы C3 и C4. 
  К входам (разъём X1) и выходам (разъём X2 и X3) подключены резисторы R1- R12 для рассеивания электрической энергии из-за замыкания входов или выходов между собой или с питанием. Для питания других устройств служит разъём X3. 
  Источник опорного напряжения DA2 LM4040C20ILPE3 подключен последовательно с резистором R17 и даёт для 10-и битного АЦП микроконтроллера 2,048 В. 
  АЦП измеряет напряжение 0..2046 мВ, с шагом в 2 мВ. Счётчик подсчитывает количество импульсов КМОП логики. Приращение происходит по переднему фронту. Сброс счётчика происходит при обесточивании прибора. Таймеры циклические, точность 1 секунда. 
   Питаться прибор может во время программирования через разъём X4 (в настройках интегрированной среды MPLAB IDE нужно этот способ указать). Подключить к разъёму X6 блок питания, способного давать переменный или постоянный ток 0,5 A и напряжение 9 – 15 В. Полярность можно не соблюдать, всё равно диодный мост VD3 выпрямит ток. Интегральный линейный стабилизатор напряжения DA1 L7805ACV стабилизирует напряжение 5 В с точностью в 2%. Развязка напряжения между источниками питания подключенными к разъёмам X5 и X6 выполнена на диодах Шоттки VD1 и VD2. Питание прибора блокируется фильтрующими конденсаторами C5-C14.  
  Светодиоды HL1-HL3 информируют о питании, работе и трафике данных периферийного устройства. 
Собрав и запрограммировав устройство его можно подключить к ПК через USB разъём X5.  

  • Программное обеспечение  

Скачать драйвер можно с официального сайта [2]. 
ПО работает с такими ОС, как Windows XP, Vista, 7 и 8. 
Откройте ПО AYK-LC-USB. Затем убедившись, что компьютер распознаёт прибор можно нажать на кнопку «Connect» скриншот, если программа не нашла периферию, тогда появляется сообщение об ошибке, скриншот 1.

       
  При грамотном подключении программа отображает окно, в которое вводится имя фала содержащего программу, как показано на скриншоте 2. 

   


  После ввода имени файла «test» нажмите «ОК», подождите пока программа загрузится в прибор, об этом индицирует светодиод HL3. Работа программы показана на скриншоте 3.   

 


  Map – карта флагов, зелёные – поднятые флаги, а красные – опущенные. PWM – ШИМ – можно менять в течении работы ПО с прибором.  ПО и файлы с расширением ini должны быть в одной директории (папке). Сформированный отчёт в блокноте смотреть на скриншоте 4.

 
  
  Для разрыва связи ПК с периферией нужно нажать на кнопку «Disconnect».  

  • Настройки 

   Правильно собранное устройство работает сразу. Настройки будут сводиться к корректному заполнению констант в ini-файл. Напряжение нижний порог и верхний порог ADC0L и ADC0H, соответственно в мили вольтах с шагом в 2 мВ. Количество  импульсов нижний порог и верхний порог NL и NH, соответственно. Максимальное значение 16777215. Время удержания поднятого флага, нижний порог T0L и верхний порог T0H (формат часы:минуты:секунды). PWM – реализация ШИМ. PWMC - коэффициент 1:1, 1:4, 1:16. PWMP – период от 0 до 255. PWMD – коэффициент заполнения от 0 до 255. PWMP больше либо равно PWMD. Отчёт PRD=1 - ежесекундно. M00F, M00A, M00B, M00C, M00D могут принимать адреса от 0 до 47.

   

  • Использование 

1) Подключите прибор к компьютеру через USB.

2) С помощью специального программного обеспечения загрузите необходимую программу (файл с расширением ini) в прибор.

3) Если отслеживать параметры и логику нет смысла, тогда к разъему X6 прибора можно подключить источник питания на 12 вольт. Теперь можно нажать на кнопку программы «Disconnect» и вытащить USB- вилку.  

4) Если прибор обесточить, то для выполнения программы её придётся опять загрузить, так как программа хранится на энергозависимой статической ОЗУ.  


Ссылки в интернете 
1) www.microchip.com   
2) www.ftdichip.com  
3) www.aykovalev.com 

Администрация сайта "Малаток" искренне благодарит  Антона Ковалева за предложенный им материал. 

Просмотров: 750 | Добавил: Дмытрохан | Теги: ШИМ, PIC18F2685, Конструктор логики, АЦП, КМОП | Рейтинг: 0.0/0
Всего комментариев: 0
avatar
Яндекс.Метрика
24 log 24 LOG statistick
счетчик посещений
Если вы видите это,
то ваш браузер устарел
и не поддерживает технологий
CSS 3.0