УЧЕБНО-ЛАБОРАТОРНЫЙ СТЕНД ДЛЯ ПРАКТИЧЕСКОГО ИЗУЧЕНИЯ МИКРОКОНТРОЛЛЕРОВ

Полезная модель относится к вычислительной технике, в частности, к техническим средствам обучения и может быть использована для обучения студентов высших и средних специальных учебных заведений соответствующих специальностей.
Известно устройство для программного управления [1].
Недостатком данного устройства является отсутствие возможности реального изучения протекающих процессов.
Известен полунатурный стенд-тренажер для изучения процессов управления непрерывным производством [2].
Недостатком данного стенда является отсутствие возможности изучения микроконтроллера.
Наиболее близким техническим решением, выбранным в качестве прототипа, является программируемый контроллер.
Недостатком прототипа является отсутствие возможности наблюдения и анализа реально происходящих процессов.
Задача, решаемая полезной моделью - практико-ориентированное изучение микроконтроллеров на базе микроконтроллера Atmel ATMega 32 (далее МК), а именно:
- изучение внутренней структуры МК;
- изучение основ программирования МК;
- визуальное наблюдение результатов программирования МК.
Технический результат полезной модели заключается в значительном снижении времени освоения основ программирования МК с обеспечением надежной защиты устройства при ошибочных подключениях во время проведения лабораторных работ.
Для этого в учебно-лабораторный стенд для практического изучения микроконтроллеров, содержащий управляющий вычислительный блок, интерфейсный блок ввода и интерфейсный блок вывода, а также элемент сброса, дополнительно введены генератор прямоугольных импульсов, узел RC-цепи, источник регулируемого напряжения, звуковой излучатель, программатор, связанный через элемент сброса с управляющим вычислительным блоком, связанным с генератором RC-кварц, а также с интерфейсными блоками ввода, вывода и вторым интерфейсным блоком вывода, каждый из которых связан с соответствующим блоком гнезд; семисегментный индикатор, кнопки наборного поля и блок све-тодиодов, также связанные с соответствующими блоками гнезд, источник питания +5, +12 В.
Введенные блоки обеспечивают функционирование системы в заданных режимах.
На фигуре 1 изображена структурная схема предлагаемого устройства.
На фиг. 1, 2 представлены общие виды опытного образца учебно-лабораторного стенда для практического изучения микроконтроллеров:
фиг. 1 - исходное состояние;
фиг. 2 - проведение одной из лабораторных работ.
Учебно-лабораторный стенд для практического изучения микроконтроллеров содержит гнезда интерфейсного блока аналогового ввода 1, гнезда интерфейсного блока 2, генератор прямоугольных импульсов 3, узел RC-цепи 4, интерфейсный блок аналогового ввода 5, интерфейсный блок ввода 6, источник регулируемого напряжения 0 - 1 В 7, звуковой излучатель 8, управляющий вычислительный блок 9, элемент сброса 10, программатор 11, интерфейсный блок вывода 12, второй интерфейсный блок вывода 13, генератор RC-кварц 14, гнезда интерфейсного блока вывода 15, гнезда второго интерфейсного блока вывода 16, гнезда семисегментного индикатора 17, гнезда кнопок наборного поля 18, узел блока питания 19, семисегментный индикатор 20, кнопки наборного поля 21, блок светодиодов 22, гнезда блока светодиодов 23. При этом, программатор 11 через элемент сброса 10 связан с управляющим вычислительным блоком 9, который связан с генератором RC-кварц 14, а также с интерфейсными блоками: ввода 6, аналогового ввода 5, вывода 12, со вторым интерфейсным блоком вывода 13, каждый из которых связан с соответствующими блоками гнезд 2, 1, 15 и 16. Семисегментный индикатор 20, кнопки наборного поля 21 и блок светодиодов 22 также связаны с блоками гнезд 17, 18 и 23 соответственно.
Источник питания 19 обеспечивает электропитание всех требуемых элементов схемы.
Работа стенда построена на поэтапном изучении микроконтроллера Atmel ATMega 32 (на базе которого разработана схема устройства) при проведении лабораторных работ (ЛР) с использованием вводной части, в которой даются общие сведения о микроконтроллерах, их назначении, области применения. Общие сведения о микроконтроллерах Atmel AVR, семейства tiny, classic, mega. Дается описание микроконтроллера Atmega 32, описывается архитектура Atmega 32.
Даются базовые сведения о языке программирования С с учетом возможностей микроконтроллеров.
Описывается компилятор языка С Code Vision AVR. Описывается автоматический генератор программ, встроенный программатор.
При проведении лабораторных работ используется дополнительный комплекс технических средств, таких как: USB осциллограф ВМ8020, компьютер и другие стандартные функциональные модули (ФМ).
Лабораторная работа №1. Знакомство с Code Vision AVR.
Приводится пример простой программы, например мигание светодиодом, и пошаговые действия от написания программы с использованием автоматического генератора программ до загрузки исполняемого кода в микроконтроллер с помощью встроенного программатора. От студентов требуется повторить пример на практике: написать текст программы, скомпилировать ее, прошить микроконтроллер, посмотреть результат работы программы. Потом дается задание изменить временные задержки в тексте программы и посмотреть, как изменилось мигание светодиода.
Лабораторная работа №2. Управление светодиодами. На основе знаний и навыков, полученных при выполнении ЛР №1 требуется выполнить самостоятельное задание:
- реализовать бегущий огонек из восьми светодиодов или светофор из трех светодиодов: красный, желтый, зеленый - один цвет последовательно сменяет другой с равными промежутками времени;
- более сложный вариант светофора, так, как это происходит в действительности: перед загоранием зеленого вместе с красным горит желтый, перед загоранием желтого зеленый начинает мигать.
Лабораторная работа №3. Кнопки.
Объясняется, что такое дребезг контактов и как его предотвратить, как программно обрабатывать нажатия кнопок. Приводится пример программы, реагирующей на нажатие кнопки пользователем: при нажатии кнопки загорается светодиод, при повторном нажатии этот же светодиод гаснет. Студенты повторяют пример. Потом нужно модифицировать программу, чтобы при нажатии кнопки первый светодиод загорался, а второй гас, при повторном нажатии наоборот, начальное состояние: первый светодиод горит, второй нет.
Самостоятельное задание:
- реализовать светофор с ручным управлением: при нажатии кнопки происходит последовательное переключение цветов светофора: красный, желтый, зеленый, начальное состояние: горит красный;
- светофор, управляемый тремя кнопками, каждой кнопке соответствует свой цвет, при нажатии каждой кнопки соответствующий светодиод загорается или гаснет в зависимости от его текущего состояния, начальное состояние: все светодиоды не горят;
- бегущий огонь, управляемый кнопкой: при нажатии кнопки, загорается следующий светодиод и гаснет предыдущий, начальное состояние: горит первый светодиод
Лабораторная работа №4. Игра «Кто быстрее».
Рассказывается о генераторе случайных чисел, о том, как программно генерировать случайные числа. Приводится пример программы, в которой зажигается светодиод и раздается звуковой сигнал через случайный промежуток времени после начала работы программы (допустим, от 1 до 5 с). Студенты повторяют пример, потом модифицируют программу, изменяя интервал времени (например, от 2 до 10 с).
Самостоятельное задание:
- реализовать игру «Кто быстрее». Играют два человека, у каждого своя кнопка. Через случайный промежуток времени после начала работы программы загорается светодиод и раздается звуковой сигнал - это сигнал для игроков. Каждый игрок старается раньше другого нажать свою кнопку. После нажатия кнопки игра останавливается, и светодиодом, соответствующим каждому игроку, показывается, кто выиграл. После нажатия кнопки «Сброс» игра начинается сначала.
Лабораторная работа №5. Семисегментные индикаторы.
Описывается семисегментный индикатор и как им управлять. Приводится пример программы, последовательно выводящей цифры от 1 до 9 на семисегментный индикатор. От студентов требуется повторить пример, а также модифицировать программу, чтобы она выводила шестнадцатеричные цифры от 1 до F, т.е., требуется создать код для символов А, В, С, D, Е, F, который будет подаваться на семисегментный индикатор.
Самостоятельное задание:
- создать программу, чтобы при нажатии каждой кнопки на семисегментный индикатор выводилось соответствующее этой кнопке число.
Лабораторная работа №6. Динамическая индикация.
Дается теория: таймеры, таймер ТО, режимы его работы, настройка и управление таймером ТО, основные сведения о прерываниях, прерывание при переполнении таймера ТО. Приводится пример программы, выводящий на четыре семисегментных индикатора какое-то статическое неизменное число, например 1234. Студенты повторяют пример, потом модифицируют программу, чтобы она выводила какое-то другое четырехзначное число, например 5678.
Самостоятельное задание:
- реализовать бегущую строку последовательности из десяти чисел (приводится каких или предлагается выбрать их самостоятельно, например 0123456789), скорость бегущей строки выбирается самостоятельно или задается, например, строка смещается на один знак за 0,5 с;
- то же задание, только десять чисел нужно предварительно ввести с клавиатуры. При вводе числа оно отображается на одном семисегментном индикаторе и запоминается программой, после ввода всех десяти цифр включается бегущая строка;
- сложное задание - сделать подобие игры «Змейка», управление движением змейки выполняется кнопками: вправо, влево, вверх, вниз. С целью упрощения программы можно не делать поедание змейкой фруктов и т.п., рост ее длины, очки и т.д., т.е. только управление ее движением.
Лабораторная работа №7. Музыкальный синтезатор.
Рассказывается, как с использованием таймеров можно генерировать звуковой сигнал определенной частоты. Приводится пример программы, которая генерирует звуковой сигнал (например, частотой 1000 Гц) при нажатии кнопки. Студенты повторяют пример, потом модифицируют программу, чтобы при нажатии кнопки раздавался сигнал другой частоты (например, 2000 Гц).
Самостоятельное задание:
- реализовать музыкальный автомат из двенадцати клавиш. При нажатии кнопки должна играть соответствующая этой кнопке нота. Приводятся частоты всех нот. Студенты должны сами рассчитать параметры и правильно настроить таймер;
- то же задание, только можно еще добавить вывод частоты ноты на семисегментные индикаторы при нажатии кнопки.
Лабораторная работа №8. Калькулятор.
Приводится пример программы двухразрядного калькулятора, выполняющего 2 действия - сложение и вычитание. Студенты повторяют пример, смотрят результат работы программы.
Самостоятельное задание:
- реализовать четырехразрядный калькулятор, выполняющий четыре арифметические действия: сложение, вычитание, умножение, деление. При получении результата более четырех разрядов, выдается сигнал «ошибка».
Лабораторная работа №9. Секундомер.
Приводится пример программы секундомера, считающего до 99 секунд. Секундомер имеет две кнопки управления: старт/стоп и сброс. Студенты повторяют пример, смотрят результат работы программы.
Самостоятельное задание: - на основе примера реализовать секундомер, считающий до 5 минут. На семисегментных индикаторах должны показываться не только секунды, но и минуты при переходе через 59 секунд. Кнопки управления: старт/стоп и сброс.
Лабораторная работа №10. Частотомер.
На примере показывается, как с помощью таймера считать внешние импульсы. Требуется самостоятельно реализовать частотомер с диапазоном измеряемых частот 100 Гц - 5 кГц. Значение частоты выводится на семисегментные индикаторы с интервалом, к примеру, 1 с. Внешний сигнал подается с ФМ с генератора прямоугольных импульсов.
Лабораторная работа №11. Аналого-цифровой преобразователь.
Дается теория АЦП, модуль АЦП в микроконтроллере, режимы его работы, настройка и управление. Приводится пример программы, измеряющей напряжение на входе АЦП микроконтроллера. От студентов требуется, на основе примера реализовать вольтметр с диапазоном измеряемых напряжений 0-1 В. Значения напряжения выводятся на семисегментные индикаторы, в формате 1,23 В. Напряжение подается с источника регулируемого напряжения, находящегося на наборном поле.
Лабораторная работа №12. Широтно-импульсная модуляция Дается теория ШИМ, модуль ШИМ в микроконтроллере, режимы его работы, настройка и управление. Приводится пример программы, демонстрирую щей работу ШИМ. При помощи RC-цепи, находящейся на наборном поле, студенты получают разные напряжения, изменяя параметры ШИМ.
В последнее время все больше промышленных предприятий внедряют новые или модифицируют старые АСУ технологическими процессами с применением интегрированных средств автоматизации (промышленные контроллеры, SCADA-системы, цифровые датчики и исполнительные устройства, совместимые с промышленными контроллерами). Данные технические средства характеризуются высокой надежностью и высоким качеством управления при сравнительной быстроте внедрения. Однако до последнего времени учебные учреждения, готовящие специалистов в области автоматизации технологических процессов, не имели возможности готовить специалистов, подготовленных для работы с такими средствами автоматизации. Разработанное устройство, в котором применяются современные технологии автоматизации, позволит решить проблему подготовки специалистов к практическому применению промышленных интегрированных средств автоматизации.
Предлагаемое устройство обладает экономичностью из-за ограниченного набора стандартных модулей, сокращает срок подготовки специалистов, легко реализуемо.
На фиг. 1, 2 показан опытный образец предлагаемой полезной модели, реализованный на базе унифицированного корпуса.
Источники информации
1. Патент №RU 1439535 А1, кл. G05B 19/18, опубл. 23.11.1988.
2. Патент №RU 116658 И1, кл. G05B 15/00, опубл. 27.05.2012.
3. Патент №SU 1725182 А1, кл. G05B 15/00, опубл. 07.04.1992 (прототип).