Инфоурок Информатика СтатьиСтатья на тему: "Технологии программирования и виртуальное программирование контроллеров в автоматическом управлении технологических процессов"

Статья на тему: "Технологии программирования и виртуальное программирование контроллеров в автоматическом управлении технологических процессов"

Скачать материал

Технологии программирования и виртуальное программирование контроллеров в автоматическом управлении технологических процессов

Основу  автоматических  систем  управления  составляют  различные  электронные  микроконтроллеры.  К  их  числу  относятся  AVR  и  PIC.  Несмотря  на  массовое  применение,  существуют  различные  трудности  при  программировании  таких  микроконтроллеров.  AVR  и  PIC-контроллеры  имеют  несколько  уровней  сложности:  низкий,  средний  и  высокий.  Такое  различие  требует  и  различные  действия  при  программировании,  что  вносит  путаницу  и  отнимает  массу  времени.


В  различных  публикациях  описывается  последовательность  действий  для  конкретного  микрочипа,  а  среда  разработки  программного  обеспечения  зачастую  недоступна  для  пользователей.  Данную  проблему  можно  решить  на  примере  микросхемы  PIC-16F877A,  которая  относится  к  среднему  уровню  сложности  [4].  В  техническом  описании  такие  изделия  программируются  на  языке  ASSEMBLER[2].  Вместе  с  тем  на  практике  можно  применить  язык  программирования  высокого  уровня  Си.  Необходимо  иметь  в  виду,  что  для  успешного  решения  такой  задачи  требуется  соответствующий  программатор.  Дорогим,  но  надежным  является  PIC‑KITтм2.  Программирование  можно  осуществить  в  среде  MPLABIDE8.46.  Используя  Интернет-ресурсы  применим  компилятор  PICCCOMPILER.  Большую  помощь  при  этом  могут  оказать  известные  публикации:  Шпак  Ю.А.  «Программирование  на  языке  С  для  AVR  и  PIC  микроконтроллеров»  (2011),  Крупник  А.Б.  «Изучаем  Си»  (2001). 


Интерес  к  микроконтроллерам  высок  благодаря  их  многофункциональности,  компактности,  доступности  для  изучения.  Но  вместе  с  тем  такие  электронные  технологии  для  своего  применения  требуют  и  определенных  знаний  в  области  и  информатики  и  электроники.  Данная  статья  имеет  своей  целью  не  только  ознакомить  читателя  с  техническими  возможностями  микрочипа  PIC-16F877A,  но  и  показать  возможность  его  программирования,  а  также  распространить  уже  имеющийся  опыт  изготовления  робота,  в  основе  которого  имеется  такой  PIC-контроллер.  Публикаций  на  данную  тему  не  достаточно  и  есть  уверенность,  что  новая  информация  поможет  развить  интерес  молодежи  к  изучению  и  программирования  таких  микрочипов. 


PIC-16F877A  —  это  микроконтроллер,  который  имеет  высокоскоростную  RISC  архитектуру.  Его  технические  характеристики  достаточно  высоки,  а  рыночная  цена  вполне  приемлема,  что  также  определяет  повышенный  спрос  этой  микросхемы.  Она  имеет:  35  инструкций,  20  МГц  тактовый  сигнал,  14  источников  прерываний,  8-уровневый  аппаратный  стек,  2  В—5,5  В  напряжение  питания,  малое  энергопотребление  (20мкА),  два  модуля  сравнение/захват/ШИМ  (CCP),  многоканальное  10-разрядное  АЦП,  последовательный  синхронный  порт  MSSP,  последовательный  синхронно-  асинхронный  приемопередатчик  USARTс  поддержкой  детектирования  адреса.  Микрочип  имеет  40  выводов,  несколько  входных  и  выходных  портов,  техническое  описание  переведено  на  русский  язык.


Задача  программирования  PIC-контроллера  не  тривиальна.  Трудность  заключается  в  том,  что  последовательность  его  действий  должна  быть  заранее  предопределена,  базовая  платформа  создана,  электронная  схема  исправна  и  работает  «в  ручном»  режиме.  Это  задача  инженера  и  она  мало  беспокоит  программистов.  Но  такой  подход  к  делу  приносит  мало  пользы.  Нужны  такие  специалисты,  для  которых  важен  весь  процесс  разработки  и  применения  робототехнических  изделий.  При  такой  постановке  вопроса  междисциплинарные  знания  приобретают  первостепенное  значение.  Не  вдаваясь  в  физическую  сущность  работы  микроконтроллера,  можно  предложить  уже  опробованный  на  конкретном  образце  вариант  действий  для  программирования  PIC-16F877A.


Рассмотрим  процесс  компиляции  программы.  Проект  компилируется  с  помощью  подключенного  компилятора  CCS-PICC  непосредственно  в  среде  MPLAB.  Выполнение  команды  меню  Project  https://sibac.info/sites/default/files/files/2013_10_14_NaturMath/2.2_Abuzyarov.files/image001.pngCompile  позволит  открыть  окно  состояния  компилятора  CSS-PICC.  Исходный  файл  cod,  который  требуется  при  отладке,  можно  создать,  выполнив  несколько  манипуляций:  в  среде  MPLAB  необходимо  выполнить  команду  меню  Project-Build  Options.  В  этом  диалоговом  окне  требуется  перейти  на  вкладку  CCSC  Compiler.  В  группе  параметров  Debug  выбрать  переключатель  Expanded  COD  Format  и  нажать  «ОК».  Конкретный  микроконтроллер  выбирается  на  этапе  создания  проекта.  Для  перевода  MPLAB  в  режим  программной  эмуляции  выбирается  меню  Debugger-SelectTool-MPLABSIM.  Эти  манипуляции  позволяют  отобразить  панель  инструментов  Debug  с  кнопками  для  отладки.  Для  настройки  параметров  эмуляции  необходимо  выполнить  команду  меню  Debugger-Setting.  В  данном  окне  открыть  вкладку  OSC,в  которой  выбирается  частота  осциллятора.  Останов  эмуляции  осуществляется  с  помощью  команд  расположенных  во  вкладке  Break  Options.  В  меню  Debugger  имеются  команды  для  отладки  программы  в  случаях  прерывания.  Для  восстановления  или  удаления  точки  прерывания  необходимо  дважды  кликнуть  мышкой  на  сером  фоне  и  выполнить  команду  меню  Set  Break  Point.  Для  перехода  в  отладочный  режим  используют  команды  меню  Debugger.  Вызов  окон  отладчика  осуществляется  с  помощью  меню  New.  Эти  окна  способствуют  просмотру  содержимого  регистров  управления  во  время  выполнения  программы.  После  активации  кнопки  Add  SFR  создается  элемент  для  просмотра  регистра  управления.  После  всего  изложенного  уже  не  трудно  понять  весь  процесс  программирования  и,  как  следствие,  область  применения  PIC-16F877A. 


Фредерик  Жимарши  в  книге  «Сборка  и  программирование  мобильных  роботов»,  анализируя  сложившиеся  тенденции  программистов  в  написании  алгоритмов,  предостерегает  от  традиционного  подхода  моделирования  среды,  близкой  мобильному  роботу  [1].  Такой  вывод  закономерен,  так  как  он  подразумевает  использование  сложной  математической  системы  расчетов  и  как  следствие  большого  объема  памяти.  Используемые  датчики  должны  при  этом  обладать  исключительной  точностью,  что  невозможно  в  связи  с  возникающими  различными  погрешностями.  Предлагается  другой  подход,  а  именно  использовать  архитектуру  приоритетных  взаимодействий,  что  позволит  собрать  в  единую  согласованную  систему  все  элементы  управления  мобильным  роботом.  Идея  заключается  в  объединении  восприятия  и  движения,  что  потребует  лишь  незначительных  математических  ресурсов.  В  развитие  этой  идеи  предлагается  метод  приоритетного  взаимодействия  для  программирования  роботов.  Такая  технология  предполагает  использование  приоритетов:  реакции  поведения  высших  порядков  временно  блокируют  низшие  до  исчезновения  условий  вызвавших  этот  приоритет.  Таким  образом,  происходит  учет  каждого  события  и  соответствующей  реакции.  Преимущество  подхода  приоритетного  взаимодействия  очевидно,  так  как  данный  способ  программирования  разбивается  на  отдельные  задачи,  которые  работают  одновременно  в  параллельном  режиме,  что  позволит  программировать  каждую  задачу  отдельно,  а  значит,  появится  возможность  добавления  новых  функций  без  утраты  уже  существующих.  Трудность  может  возникнуть  при  увязке  и  расстановке  приоритетов.  В  случае  одновременной  работы  нескольких  программ  необходимо  использовать  систему  работы  в  режиме  реального  времени,  что  предполагает  использование  основной  программы,  которая  будет  выделять  одинаковое  количество  времени  для  выполнения  каждой  задачи.  При  применении  подхода  приоритетного  взаимодействия  используют  две  переменные:  одна  из  них  для  команды  на  микромоторчики,  а  другая  оповещает  систему  о  желаемой  передаче  сигнала  на  исполнительный  элемент.  Эта  переменная  называется  флагом.  Соответствующая  программа  имеет  вид: 


int  Default  command;  //  Команда  на  двигатели 


int  Default  flag//  Флаг  для  системы 


void  Default  ()  Default  command  =  Shutdown  ;  // 
Робот  остановлен


Defaul  tflag=1;//  Команда  активирована.


Такой  подход  программирования  вполне  применим  для  PIC-16F877A.


Пример  программы  PIC-16F877A  для  системы  слежения:  start:low0/  Низкий  уровень  шины  0  low1/Низкий  уровень  шины  1  pot2,255,b0/  Чтение  показаний  фотоэлемента  1  pot3,255,b1/  Чтение  показаний  фотоэлемента  2  if  b0  to  b1  then  start/  Если  показания  равны,  то  ничего  не  делать  if  b0  https://sibac.info/sites/default/files/files/2013_10_14_NaturMath/2.2_Abuzyarov.files/image002.pngb1  then  greater/  Если  больше,  то  насколько  if  b0  https://sibac.info/sites/default/files/files/2013_10_14_NaturMath/2.2_Abuzyarov.files/image003.pngb1  then  lesser/  Если  меньше,  то  насколько  greater:/  Процедура  больше  b2=b0-b1/  Определение  разницы  показаний  if  b2=10t  hen  cw/  Внутри  границ?  Если  нет,  перейти  на  cw  goto  start:/  Если  внутри  границ,  измерять  снова  lesser:/  Процедура  меньше  b2=b1–b0/Определение  разницы  показаний  if  b2≠10  then  ccw/  Внутри  границ?  Если  нет,  перейти  на  ccw  goto  start:/  Если  внутри  границ,  измерять  снова  cw:/  Поворот  блока  по  часовой  стрелке  hig  0/Включить  мост  pause  100/  Вращение  0,1  с  goto  start/  Новая  проверка  ccw:/  Поворот  блока  против  часовой  стрелки  hig  1/Включить  мост  pause  100/Вращение  0,1  с  goto  start/  Новая  проверка  [3].


В  данной  программе  задействованы  два  датчика  —  фотодиода.  При  их  разной  освещенности  происходит  поворот  всей  системы.  При  одинаковой  освещенности  поворота  не  происходит.


Конечно,  все  изложенное  требует  наличие  конкретных  электронных  устройств  и  денежных  затрат.  Вместе  с  тем  работу  отлаженного  кода  можно  проверить  виртуально,  используя  среду  Proteus.  Запускается  Proteus  ISIS,  в  режиме  Component  необходимо  нажать  Pic  from  libraries  и  в  списке  PIC  добавить  наш  PIC16F877A,  далее  выбирается  LED-RED,  RES  и  все  другие  компоненты  схемы,  которые  соответственно  добавляются  в  форму.


Включается  кнопка  «стрелка»  и  расставляются  все  элементы  по  принципиальной  виртуальной  электрической  схеме.  Для  редактирования  параметров  необходимо  щелкать  левой  кнопкой  мыши  на  нужном  элементе  и  в  появляющемся  окне  выставлять  технические  параметры  элемента.  Все  соединения  в  схеме  выполняются  с  помощью  курсора  и  левой  кнопкой  мыши.  Код  программы  (HEX-файл)  ищется  в  соответствующей  строке  свойств  микроконтроллера  и  производится  его  запоминание  (рисунок  1). 


 


Описание: G:\Безымянный 1.jpg


Рисунок  1.  Виртуальная  электрическая  схема


 


Перед  нажатием  «PLAY»  нажимается  кнопка  обнуления  в  схеме.  После  проведенных  манипуляций  схема  работоспособна.  В  случае  отказа,  необходимо  проанализировать  работу  кода  программы  и  правильность  соединений  в  принципиальной  схеме,  а  также  расположение  компонентов.


 


Список  литературы:


1.Жимарши  Ф.  Сборка  и  программирование  мобильных  роботов  в  домашних  условиях  /  Ф.  Жимарши;  пер.  с  фр.  М.А.  Комаров.  М.:  НТ  Пресс,  2007.  —  288  с.  :  ил. 


2.Корабельников  А.А.  Самоучитель  по  программированию  PIC-контроллеров  для  начинающих  [Электронный  ресурс]  —  Режим  доступа.  —  URL:  http://ikarab.narod.ru/Kea_20.html  (дата  обращения  02.10.2013  г.). 


3.Ловин  Дж.  Создаем  робота  —  андроида  своими  руками.:  Пер.  с  анг.  Мельникова  Г.  М.:  Издательский  дом  ДМК-пресс,  2007  —  320  с.:  ил. 


4.PIC16  MCU  Products  [Электронный  ресурс]  —  Режим  доступа.  —  URL:  http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=1002&mid=10&lang=en&pageId=74  (дата  обращения  02.10.2013  г.).

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Статья на тему: "Технологии программирования и виртуальное программирование контроллеров в автоматическом управлении технологических процессов""

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Художественный руководитель

Получите профессию

Копирайтер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

В данной статье авторы рассматривают метод практического применения программирования PIC-контроллеров. Микроконтроллеры являются основой микропроцессорной техники. Большое значение имеет виртуальное программирование, что позволяет сократить время и ресурсы на эксперимент, а также использовать различные электрические схемы в виртуальном режиме.

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 656 277 материалов в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 09.11.2021 166
    • DOCX 42.2 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Николаева Евгения Николаевна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Николаева Евгения Николаевна
    Николаева Евгения Николаевна
    • На сайте: 6 лет и 11 месяцев
    • Подписчики: 0
    • Всего просмотров: 720451
    • Всего материалов: 2120

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Методист-разработчик онлайн-курсов

Методист-разработчик онлайн-курсов

500/1000 ч.

Подать заявку О курсе
  • Сейчас обучается 121 человек из 43 регионов

Курс повышения квалификации

Применение компьютерных моделей при обучении математике и информатике в рамках ФГОС ООО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 50 человек из 29 регионов
  • Этот курс уже прошли 177 человек

Курс профессиональной переподготовки

Создание и обеспечение электронного архива с использованием информационно-коммуникационных технологий

Специалист по формированию электронного архива

600 ч.

9840 руб. 5900 руб.
Подать заявку О курсе
  • Сейчас обучается 30 человек из 22 регионов
  • Этот курс уже прошли 36 человек

Курс повышения квалификации

Использование компьютерных технологий в процессе обучения информатике в условиях реализации ФГОС

36 ч. — 144 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 139 человек из 43 регионов
  • Этот курс уже прошли 1 297 человек

Мини-курс

Музыка в мире: народные и культурные аспекты

6 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Психология обучения и развития детей: от садика до школы

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 27 человек из 18 регионов
  • Этот курс уже прошли 11 человек

Мини-курс

Классики и современники: литературные портреты и психология творчества

4 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 23 человека из 17 регионов
  • Этот курс уже прошли 14 человек