Abstract and keywords
Abstract (English):
The article highlights the results of developing an electronic module for testing Arduino boards. The hardware and software platform mentioned is often used for educational purposes to study microcontroller systems and robotic devices. The ability of testing the board before reusing it helps troubleshoot the electronic device. In the course of the study electrical structural and circuit diagrams of the module were developed, and a special test program was created. The module implements software and hardware diagnostic methods, which allows testing with high precision and ensuring the necessary reliability of robotic devices developed on its basis. To create a diagnostic module there were identified the nodes of the Arduino hardware-software platform with a high failure rate, an input-output line check node, an ADC and power system check node, an EEPROM check node and a power supply with a fuse. A practical value of the development lies in the fact that the test program is loaded directly into the microcontroller of the tested board allowing to quickly and accurately test I / O lines with a high failure rate. Nowadays, there are no such devices for diagnosing malfunctions of the Arduino hardware and software platforms. Using the Arduino software and hardware platform in educational processes opens the new opportunities for both students and schoolchildren. Projects implemented in secondary professional technical institutions motivate students to acquire new knowledge, develop interest in technology, programming and design, develop logical and algorithmic thinking.

Keywords:
software and hardware platform, microcontroller, electronic module, block diagram, circuit diagram
Text
Publication text (PDF): Read Download

Введение

Социально-экономические и политические транс-
формации современного мира показали, что основа потенциальных возможностей развития электроники – подготовленные кадры. По мнению директора по инновационному развитию центра коллективного пользования МИЭТа П. Р. Машевича, в конце 1990-х и начале 2000-х гг. государство не имело достаточных ресурсов для обеспечения комплексной поддержки отрасли, из-за чего было принято решение поддерживать дизайн-центры, которые занялись проектированием микропроцессоров [1]. Одна из целей такого подхода заключалась в сохранении научной школы и подготовке кадров.

Проработка комплексной стратегии развития электронной отрасли России началась только в 2008 г. Именно тогда началось финансирование опытно-конструкторских работ и появились идеи о строительстве заводов. Однако производства, способные выпускать гражданскую электронику, так и не были созданы [1]. К идее все же запустить в России фабрики полупроводников власти вернулись только в январе 2020 г. – эти планы были обозначены в «Стратегии развития электронной промышленности РФ до 2030 года».

Возникает необходимость создания специальных условий для подготовки специалистов, свободно ориентирующихся в информационном пространстве, имеющих хороший уровень компьютерной грамотности, знающих современную элементную базу цифровой и аналоговой техники и способных эффективно использовать разнообразные средства систем автоматизированного проектирования.

Лауреат Нобелевской премии, академик Ж. И. Алферов в 2007 г. говорил: «Важно заниматься научными и технологическими исследованиями в области электроники, потому что именно она определяет технологический и даже социальный прогресс. Без собственных современных электронных технологий любые наши другие (те же космические) быстро перейдут во второсортные. Сейчас у нас два пути – либо становиться страной третьего мира, живущей за счет ресурсов, либо развивать наукоемкие отрасли» [2]. Это высказывание остается актуальным и на сегодняшний день в условиях санкционной политики Запада по отношению к России. Крупнейший специалист в области информатики академик Е. П. Велихов в одной из своих статей сделал следующий прогноз: «Тот, кто умеет делать компьютеры, владеет миром» [3].

Подготовка специалистов технического профиля в области информационных технологий в соответствии с государственным образовательным стандартом России 2.09.02.01 «Компьютерные системы и комплексы» предполагает освоение таких междисциплинарных курсов, как «Цифровая схемотехника», «Микропроцессорные системы», «Проектирование цифровых устройств». В учебном процессе широко применяются разнообразные стенды для изучения, отладки и тестирования разрабатываемых цифровых устройств. Однако наибольшую популярность в образовательной сфере получила программно-аппаратная платформа Arduino для сверхбыстрого создания электронных устройств, поддерживаемая разработчиками по всему миру и пользующаяся огромной популярностью в России и за рубежом [4, 5].

Платформа Arduino позволяет общаться и взаимодействовать с окружающим миром с помощью всевозможных датчиков, сенсоров, моторов и других узлов. Благодаря возможности многократного перепрограммирования микроконтроллера одну и ту же плату можно использовать в разнообразных проектах, что приводит к ускоренному старению и износу компонентов платы.

Актуальность данного исследования состоит в том, что возможность проверки платы перед повторным ее использованием облегчает поиск возможных неисправностей разрабатываемого цифрового устройства. В качестве программной части выступает кроссплатформенная среда разработки Arduino IDE, которая может запускаться на операционных системах Windows, Linux, Mac OS. С помощью данной среды можно писать код и программировать платы. В комплекте с программой поставляются многочисленные примеры, библиотеки и удобные утилиты.

В качестве аппаратной части выступают различные платы. На сайте производителя их насчитывается уже более 2-х десятков разновидностей. Так как платформа распространяется весьма свободно, в продаже можно найти множество клонов и различных плат расширения.

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

Основной задачей данного исследования является определение узлов аппаратно-программной платформы Arduino, продемонстрировавших достаточно высокую интенсивность отказов за определенное время. Так, отказы из-за ошибок проектирования составляют 40–50 %, отказы из-за ошибок производства – 30–40 %, отказы из-за неправильных действий оператора – 20–30 %. Замечено, что в 75–80 % случаев различные причины отказов дают о себе знать в виде отказа элементов [6].

Целью данного исследования является разработка и проектирование структурной и принципиальной электрических схем, а также создание универсального модуля для проверки разнообразных плат Arduino с программным управлением.

Разработка электронного модуля для тестирования различных модулей Arduino проходит с использованием программных методов диагностики, применение которых позволит произвести тестирование платы высокой степени точности и обеспечить необходимую надежность разрабатываемых на ее основе робототехнических устройств.

 

Результаты исследования

В данной статье представим результат проектирования электронного модуля для проверки платы Arduino по следующим узлам: узел проверки линий ввода-вывода, узел проверки аналого-цифрового преобразователя (АЦП) и системы питания, узел проверки EEPROM и источника питания с предохранителем. Также в процессе работы будет протестирован мост интерфейса USB – последовательного порта для связи с микроконтроллером. В ходе решения поставленной задачи была спроектирована структурная схема электронного модуля для проверки узлов Arduino (рис. 1), которая состоит из следующих блоков: проверяемая плата Arduino, узел проверки линий ввода-вывода, узел проверки АЦП и системы питания, узел проверки EEPROM и источника питания с предохранителем.

Рис. 1. Структурная схема тестового модуля

Fig. 1. Structural diagram of the test module

 

Центральным компонентом электронного модуля является проверяемая плата Arduino. Одной из распространенных неисправностей платы Arduino является выход из строя одной из цифровых линий ввода-вывода. Узел проверки линий ввода-вывода необходим для проверки всех линий ввода-вывода на исправность: на замыкание цепи питания VCC 5В, на замыкание с землей. Таким образом определяется способность выдавать «0» или «1» на выходе.

Часто выходит из строя АЦП, который не может адекватно преобразовать аналоговое напряжение в цифровой код по какому-то из каналов. Узел проверки АЦП проверяет все каналы аналого-цифрового преобразователя.

Узел проверки системы питания тестирует исправность стабилизатора напряжения платы Arduino и определяет, находится ли напряжение в заданном диапазоне (5 В ± 10 %).

Энергонезависимое постоянное запоминающее устройство EEPROM гарантирует около 100 тыс. перезаписей этой памяти. При превышении числа перезаписей память EEPROM может неправильно сохранять данные. Узел проверки энергонезависимой памяти проверяет уже записанные данные и сверяет их с оригиналом.

Узел проверки источника питания с предохранителем используется для предотвращения повреждения платы Arduino при возможном коротком замыкании и возникающих при этом сверхтоках.

Принципиальная схема тестового модуля раскрывает основные особенности схемотехнического построения разрабатываемого устройства (рис. 2).

Рис. 2. Принципиальная схема тестового модуля:
XP1.1, XP1.2 – разъемы для подключения; A0–A5 – аналоговые выводы; GND – заземление; VD2–VD7 – диоды;

SB1 – кнопка; R1–R5 – резисторы; DA1.1, DA1.2 – микросхема; VD1 – светодиод

 

Fig. 2. Schematic diagram of the test module:

XP1.1, XP1.2 – connectors for connection; A0-A5 – analog outputs; GND – ground; VD2-VD7 – diodes;

SB1 – button; R1-R5 – resistors; DA1.1, DA1.2 – microcircuit; VD1 – LED

 

 

Данная схема служит основанием для разработки других чертежей, а также используется при наладке и эксплуатации систем автоматизации.

Центральным компонентом принципиальной схемы является проверяемая плата Arduino Uno, обозначенная на схеме А1, с разъемами для подключения ХР1.1, ХР1.2. К разъему ХР1.2 подключаются справа два резистора R4, R5. Они являются делителем напряжения и формируют ровно половину напряжения от источника питания, т. е. 2,5 В.

Резистивный делитель напряжения представляет собой два резистора (R4, R5), включенных последовательно друг другу и параллельно источнику питания [7].

Данный делитель напряжения рассчитывается по формуле

Uвых = Uвх · R5 / (R5 + R4).

Пример расчета:

Примем Uвх = 5 В, R4 = 1 кОм, R5 = 1 кОм:

5 · 1 / (1 + 1) = 2,5 В.

На выходе делителя 2,5 В, хотя на входе – 5 В.

Резисторы делителя называют плечами. Верхнее плечо подключено к Uвх, нижнее – к GND, т. е. R4 – верхнее плечо, R5 – нижнее плечо.

Если номиналы обоих резисторов равны, напряжение будет поделено пополам. Важно знать, что общее сопротивление делителя должно быть значительно меньше сопротивления нагрузки, подключенной к нему (примерно в 100 раз). Как раз с нагрузкой порта Arduino, настроенного на вход, проблем никаких нет – это десятки МОм. Но общее сопротивление делителя не должно быть и слишком низким: в этом случае получим нагрев делителя и расход тока впустую. Общее сопротивление не должно быть ниже 4,7 кОм. Таким образом, идеальный диапазон сопротивлений – от 4,7 до 50 кОм.

С помощью нажатия кнопки SB1 это напряжение подается на 6 диодов VD2–VD7, которые развязывают все аналоговые входы Arduino Uno друг от друга, для того чтобы сигналы поступали по каждой линии независимо. Поэтому 2,5 В, за вычетом падения напряжения на диоде 0,6 В, поступает на каждый из входов, и программно АЦП оценивает все напряжения. При опорном напряжении АЦП 5 В показания АЦП на всех каналах должны быть одинаковы и принимать значения в районе 400 единиц.

В нижней части схемы обозначен двухпороговый компаратор, который сравнивает напряжение питания Arduino Uno с двумя заданными порогами построечных резисторов R1, R2 – один выше порога, другой ниже. Если напряжение находится в норме (5 В ± 10 %), то светодиод «Готовность» VD1 горит. Плата Arduino Uno подключается к внешнему источнику питания с цепью предохранителя на 0,5 А.

В процессе загрузки тестовой программы также проверяется исправность моста USB – последовательного порта. Если напряжение питания находится в норме, а загрузки не происходит, то неисправен мост либо целевой микроконтроллер. Но в случае неисправности моста виртуальный последовательный порт не появляется в диспетчере устройств персонального компьютера.

После загрузки тестовой программы происходит проверка линий ввода-вывода, содержимого EEPROM и АЦП. Неисправности других узлов по результатам статистических исследований, как правило, не встречаются.

Электронный модуль для проверки плат Arduino на микроконтроллере успешно применяется в процессе обучения студентов, поскольку является готовым портативным и доступным для понимания устройством на микроконтроллере для начинающих их осваивать (рис. 3).

Рис. 3. Электронный модуль для проверки платы Arduino

 

Fig. 3. Electronic module for testing the Arduino board

 

Взаимодействие тестового модуля с персональным компьютером осуществляется в программной среде Arduino IDE. Программирование осуществляется через порт USB и не требует дополнительного источника питания. Отметим также простоту реализации и программирования.

В текстовом поле отображается результат выполнения тестовой программы по проверке линий ввода-вывода, АЦП, EEPROM и источника питания с предохранителем (рис. 4).

Рис. 4. Результат тестирования платы Arduino

Fig. 4. Testing results of the Arduino board

Разработка структурной и принципиальной электрических схем является первым этапом в ходе проектирования электронного модуля, на втором этапе происходят монтаж, отладка и программирование устройства. Результаты тестирования представлены в среде разработки Arduino IDE в удобном виде, легко интерпретируются и позволяют быстро оценить работоспособность основных узлов платы.

 

Заключение

Благодаря возможности многократного перепрограммирования микроконтроллера одну и ту же плату можно использовать в разнообразных проектах, что приводит к ускоренному старению и износу компонентов платы. Возможность проверки платы перед повторным ее использованием облегчает поиск возможных неисправностей разрабатываемого устройства. Необходимость данной разработки вызвана тем, что подобных устройств для диагностики неисправностей программно-аппаратных платформ Arduino не существует.

Практическая ценность данной разработки состоит в том, что тестовая программа загружается непосредственно в микроконтроллер проверяемой платы, позволяя быстро и качественно проверить линии ввода-вывода, имеющие высокий показатель интенсивности отказов.

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

References

1. Korolev N., Hvostik E. Processory v izolyacii // Kommersant'. № 59 ot 06.04.2022. URL: https://www.kommersant.ru/doc/5294238 (data obrascheniya: 29.09.2022).

2. Alferov Zh. Rossiya ostanetsya stranoy bez buduschego, esli ne izmenit otnoshenie k nauke i obrazovaniyu // Alma Mater: Vestn. vyssh. shk. 2007. № 2. S. 49-53.

3. Prezident rossiyskogo nauchnogo centra «Kurchatovskiy institut», akademik Evgeniy Velihov: Samaya krupnaya deval'vaciya - utro posle svad'by // Izvestiya. № 222 ot 25.11.1999.

4. Kim T. Yu., Artikbaev M. A., Marinina E. V. Rol' studentov v ispol'zovanii platformy Arduino v vysshih uchebnyh zavedeniyah // Obrazovanie i vospitanie. 2018. № 3.1 (18.1). S. 18-20. URL: https://moluch.ru/th/4/archive/94/3369/ (data obrascheniya: 23.09.2022).

5. Glazov S. Yu., Sergeev A. N., Usol'cev V. L. Vozmozhnosti primeneniya platformy Arduino v uchebnom processe pedagogicheskogo vuza i obscheobrazovatel'nyh shkol // Izv. Volgogr. gos. pedagog. un-ta. 2021. № 10 (163). URL: https://cyberleninka.ru/article/n/vozmozhnosti-primeneniya-platformy-arduino-v-uchebnom-protsesse-pedagogicheskogo-vuza-i-obscheobrazovatelnyh-shkol (data obrascheniya: 23.09.2022).

6. Borovikov S. M., Cyrel'chuk I. N., Troyan F. D. Raschet pokazateley nadezhnosti radioelektronnyh sredstv: ucheb.-metod. posobie. Minsk: Izd-vo BGUIR, 2010. 68 s.

7. Gusev V. G., Gusev Yu. M. Elektronika i mikro-processornaya tehnika: ucheb. M.: KnoRus, 2013. 800 c.


Login or Create
* Forgot password?