Українська  
ДонНТУ   Портал магистров

Реферат по теме выпускной работы

Содержание

Введение

В теме дипломной работы, рассмотрено создание виртуального стенда для программируемого контроллера Arduino. Для чего был выбран программный пакет LabVIEW

1. Пакет LabVIEW

LabVIEW (англ. LaboratoryVirtualInstrumentationEngineeringWorkbench), - среда графического программирования, её используют технические специалисты, преподаватели, инженеры и ученые повсеместно, для легкого и быстрого создания комплексных приложений в различных задачах, таких как например, - измерение, тестирование, управление. В пакете представлена среда разработки в платформе для выполнения программ. Программы можно создавать на графическом языке программирования «G», от фирмы NationalInstruments, основанном на архитектуре потоков данных. Порядок выполнения операторов в этих языках определяется не порядком следования, а наличием данных на входах этих операторов. Есть операторы, не связанные по данным, выполняются параллельно в произвольном порядке.

Начальную версия LabVIEW выпустили в 1986 году, под AppleMacintosh, сейчас же существуют версии для UNIX, Linux, MacOS и прочие, развитыми и популярными я остаются версии для MS Windows.

Пакет LabVIEW используют в системах сбора и обработки информации, и для управления техническими объектами и тех.процессами, так он предоставляет в распоряжение пользователя широкий спектр инструментов и библиотек: от интерактивных мастеров настройки и пользовательских интерфейсов (удобных GUI) до встроенных компилятора, компоновщика и средств отладки. Особенностью LabVIEW являеться поддержка выполнения кода, написанного с попщью языка "G", в режиме потока данных (потоковое программирование).


Рис. 1.1. Пример написания простейшей программы в пакете LabVIEW

Программирование в потоках среде LabVIEW позволяет пользователю полностью сфокусироваться на данных и путях их обработки. Узлы программы представлены функциями, циклы и другие конструкции языка - получают данные через входы, обрабатывают их и выводят данные подавая на выход. Значения параметров поступают на каждый из входных терминалов узла, выполняется код узла (обработка поступивших данных), значения значения выходных параметров поступают на выходные терминалы узла для дальнейшей их передачи на другие узлы согласно логике потока данных. Соответственно последовательно соедененные узлы выполяются поочередно.

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


Рис. 1.2. Пример интрефейса в пакете LabVIEW

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

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


Рис. 1.3. Пример самодокументированной программы с приминением циклов

Отличительная особенность процесса отладки в LabVIEW, - скрытое компилирование кода. Пока вы работаете с кодом, компилятор проводит семантический и синтаксический анализ кода (intelligence), обнаружая ошибку, интелидженс блокирует возможность выполнения программы, а на инструментальной панели отображается пиктограмма со сломанной стрелкой.

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

Используя потоковое программирование возможно автоматически распараллеливать выполнение кода. Изначально потоки (thread-ы) содержат в себе информацию о том, какие участи кода следует выполнять параллельно. Между параллельно выполняющимися участками программы, данные передаются с помощью очереди. Встроенный компилятор обеспечивает многоточность, самостоятельно определяются участки кода, имеющие параллельно расположенные узлы, и организующим раздельные потоки для их параллельного исполнения. В компьютерной терминологии это называют неявным параллелизмом. Реализация параллелизма осуществляется автоматически средствами разработки, а не разработчиком.

2. Программируемый контроллер Ардуино

Ардуино, это аппаратно-программнуемая платформа. Её главными компонентами являются, - небольшая плата-контроллер ввода/вывода и среда разработки на основе Processing/Wiring.

Прототип контроллера был выпущен еще в 2005 году. Его разработал Массимо Банци, для студентов Института проектирования взаимодействий города Ивреа, Италия. Названо устройство в честь короля Ардуина, правившего Италией два года в начале XI века, в честь которого был назван так же и пивной бар «ди Ре Ардуино», принадлежащий тому же Массимо Банци, и расположенный на том самом месте, где по преданию родился король Ардуин.


Рис. 2.1. Типичный программирумый контроллер Arduino в натуральную величину

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

У Arduino имеется собственный процессор и память, плата снабжена множеством вводов и выводов, к которым могут быть подключены различные датчики, а также исполнительные устройства и механизмы. В наше время доступно более 20 основных модификаций плат Ардуино.


Рис. 2.2. Компактный программирумый контроллер Arduino

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

Написание кода здесь осуществляется через специальную программную оболочку (IDE), её возможно бесплатно скачать на сайте Arduino. Программная оболочка написана на Java, дружелюбная, кроссплатформенная и работает под Windows, Mac OS X, и Linux, содержит текстовый редактор, менеджер проектов, препроцессорный компилятор, имеются и инструменты для загрузки программы непосредственно в микроконтроллер.

Используемые в Ардуино микроконтроллеры оснащены прошитым загрузчиком (bootloader), что избавляет от проблемы остутствия программатора, достаточно просто соединить плату с компьютером через USB или через переходник UART-USB, и загрузить код программы.

Pагрузчик в микроконтроллер возможно пререпрошить самостоятельно с помощью программатора, в среде Arduino IDE есть поддержка наиболее популярных дешевых программаторов, имеется штыревой разъем для внутрисхемного программирования (ICSP для AVR, JTAG для ARM).

Для большинства устройств Ардуино используются микроконтроллеры Atmel AVR ATmega328, ATmega168, ATmega2560, ATmega32U4, ATTiny85 работающих на частоте тактирования 16 или 8 МГц.

Для освоения языка программирования Ардуино новичку, необходимо несколько часов, а в сети уже есть огромное количество видео уроков, публикаций, заметок и статей на тему разработки под использование Ардуино. C++, дополненный простыми функциями управления вводами/выводами платы, пользователи могут работать даже в Visual Studio, Eclipse, и через командную строку.


Рис. 2.3. Программная оболочка на Java, для написания программ для контроллера Arduino

Практически Ардуино по сути предоставляет огромные возможности для создания любых устройств, так подключают датчики, замки, моторы, дисплеи, роутеры, и средства необходимые в быту. Есть возможность разширять устройство платами — шилдами, например для работы с GPS, для соединения по локальной сети или интернету, bluetooth, Wi-Fi и т. д. Однако особенно популярна Ардуино в робототехнике.

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

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


Рис. 2.4. Готовая, физическая модель шагающего паука под управлением контроллера Arduino

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


Рис. 2.5. Готовая, физическая модель квадрокоптера под управлением контроллера Arduino

Невреоятно большое количество всевозможной периферии: датчики, кнопки, ЖК-индикаторы, светодиоды, и другие еще неизвестнрые органы взаимодействия с окружающим миром, доступны для работы с Ардуино, и будут доступны

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

Содержание

1. Ковач К.П., Рац И. Переходные процессы в машинах переменного тока.–М.-Л.: Госэнергоиздат, 1963.–744 с.

2. КазовскийЕ.Я. Переходные процессы в электрических машинах переменного тока.–Л.: Изд. Академии наук СССР, 1962.–624 с.

3. Постников И.М. Обобщенная теория и переходные процессы электрических машин. Учебник для вузов, изд. 2-е.–М.: "Высш. школа", 1975.–319 с.

4. Копылов И.П. Математическое моделирование электрических машин: Учеб.для вузов, 2-е изд.–М.: Высш. шк., 1994.–318 с.

5. Асинхронные электроприводы с векторным управлением/ В.В. Рудаков, И.М. Столяров, В.А. Дартау.–Л.: Энергоатомиздат, 1987.–136 с.

6. Системы подчиненного регулирования электроприводов переменного тока с вентильными преобразователями/ О.В. Слежановский, Л.Х. Дацковский, И.С. Кузнецов и др.–М.: Энергоатомиздат, 1983.–256с.

7. Schцnfeld R. Digitale Regelung elektrischer Antriebe.–Berlin: Verl. Technik, 1987.–210 S.