Управление двумя шаговыми двигателями по UART. Тарасов готовая. Содержание введение Теоретическая часть
Скачать 0.79 Mb.
|
СОДЕРЖАНИЕ Введение…………………………………..………………………………………4 1. Теоретическая часть…………………….……………………………...…….5 1.1. Краткие сведения о проекте……………………………………………........5 1.2Управление двигателем...……………………………..………...…..…..…....5 1.3. Прошивка контроллера………………………………………………………6 2. Специальная часть…………………………………………………...……...15 2.1. Описание и устройство принципиальной схемы……...………..…………15 Заключение……………………………………………………………………...18 Список используемых источников…………………………………………..19 Приложение А…………………………………………………………………..21 Приложение Б…………………………………………………...…………..….25ВВЕДЕНИЕСовременный этап развития научно-технического прогресса характеризуется широким применением электроники и микроэлектроники во всех сферах жизни и деятельности человека. Важную роль при этом сыграло появление и быстрое совершенствование интегральных микросхем – основной элементной базы современной электроники. Интегральные микросхемы применяются в вычислительных машинах и комплексах, в электронных устройствах автоматики, цифровых измерительных приборах, аппаратуре связи и передачи данных, медицинской и бытовой аппаратуре, в приборах и оборудовании для научных исследований и т.д. Микрокомпьютер, в отличие от других компонентов, не обладает фиксированным набором функциональных характеристик. Его характеристики определяются в процессе проектирования системы с помощью программирования. Практически неограниченный диапазон программируемых функциональных возможностей микрокомпьютера придает этому компоненту особое значение. В данном курсовом проекте необходимо разработать структурную и принципиальную схему, алгоритм и программу управления скоростью электороприводом. 1.Теоретическая часть1.1. Краткие теоритические сведения. Электропривод постоянного тока стал широко распространён из-за достаточно простых способов регулирования, так как у него можно менять токовую и потоковую составляющие момента независимо друг от друга, а с появлением ШИМ напряжения, ЭП ПТ стал ещё более экономичным и стал осуществлять лучшие динамические и точностные показатели регулирования. В последние годы ЭП постоянного тока стал вытесняться приводом на асинхронных двигателях как на более дешевом и надёжном, но простой алгоритм управления и большая распространённость ещё делают привод постоянного тока достаточно широко применяемым. С помощью этого устройства можно управлять двумя униполярными шаговыми двигателями в полном шаговом режиме через последовательный порт компьютера(или, к примеру, с другого микроконтроллера). Для управления может использоваться любая программа терминал, например, стандартный Hyperterminal. Два канала полностью независимы, двигателями можно управлять по одному. 1.2Управление двигателем Для управления необходима терминальная программа, например Hyper Terminal. Для синхронизации терминальной программы с драйвером вам нужно сделать необходимые настройки COM порта , а именно: Скорость (бит/сек) – 9600. Биты данных – 8. Четность – нет. Стоповые биты – 1. Управление потоком – нет Рис. 1.2.1. Есть 4 команды, которые можно направить на контроллер через терминал: m0rx и m0lx и m1lx и m1rx, где: m0 – первый шаговый двигатель; m1 – второй шаговый двигатель; r – направление вращения (против часовой стрелки); l — направление вращения (по часовой стрелки); x – количество шагов ( от 0 до 32000 ) Например, посылая команду m0l2000, первый двигатель совершит 2000 шагов по часовой стрелке. После подачи питания на плату управления будет показано сообщение в терминале. После чего можно подавать команды для управления. 1.3. Прошивка контроллера Для программирования AVR микроконтроллеров мы будем использовать ранее собранный нами LPT программатор и программу PonyProg2000. Скачаем и установим программу PonyProg2000. Подключим программатор к компьютеру и запустим PonyProg2000, появится окно программы: Рис 1.2.1. Теперь необходимо настроить программу для работы с нашим LPT программатором. Для этого идём во вкладку "Setup" и нажимаем "Interface Setup…". Рис 1.2.2. Появится окно установки настроек: Рис 1.2.3. В нём нам надо установить тип и порт программатора, к которому он подключён, вот так: Рис 1.2.4. После установки настроек нажимаем кнопку "OK". Теперь необходимо откалибровать программу, для этого идем во вкладку "Setup" и нажимаем "Calibration". Рис 1.2.5. Должно появится следующие окно: Рис 1.2.6. Нажимаем кнопку "Yes" и ждем пока программа откалибруется. После калибровки появится следующие сообщение: Рис 1.2.7. Нажимаем кнопку "ОК". Теперь выберем AVR микроконтроллер, с которым будем работать, идем во вкладку "Device" в "AVR micro" и выбираем микроконтроллер, например Attiny2313: Рис 1.2.8. Всё, теперь программа PonyProg2000 готова к работе с микроконтроллером. Чтение прошивки микроконтроллера Для чтения прошивки микроконтроллера идем во вкладку "Command", нажимаем "Read All" Рис 1.2.9. ждём, пока завершится процесс чтения прошивки микроконтроллера. Рис 1.2.10. о завершении процесса чтения прошивки микроконтроллера появится следующие сообщение: Рис 1.2.11. И в окне программы PonyProg2000 выведется содержимое прошивки микроконтроллера. Чтобы сохранить прошивку, которую прочитали с микроконтроллера заходим во вкладку "File" и выбираем "Save Device File As…". Рис 1.2.12. Далее выбираем, куда сохранять прошивку, вводим имя будущего файла, выбираем тип файла "*.HEX" и нажимаем кнопку "Сохранить". Рис 1.2.13. Запись прошивки в микроконтроллер (Прошивка микроконтроллера) Для записи прошивки в микроконтроллер открываем файл прошивки в программе PonyProg2000 для этого во вкладке "File" выбираем пункт "Open Device File…". Рис 1.2.14. В появившемся окне устанавливаем тип файла "*.HEX" и открываем файл с прошивкой. Рис 1.2.15. Файл должен открыться, и отобразится в главном окне программы PonyProg2000. Для прошивки открытого файла в микроконтроллер, во вкладке "Command" выбираем "Write All". Рис 1.2.16. В появившемся окне нажимаем кнопку "Yes" Рис 1.2.17. Начнётся процесс прошивки микроконтроллера. Рис 1.2.18. По завершении прошивки микроконтроллера программа PonyProg2000 выдаст сообщение. Рис 1.2.19. Очистка микроконтроллера (удаление прошивки) Для очистки микроконтроллера идем во вкладку "Command" и выбираем пункт "Erase". Рис 1.2.20. По завершении очистки микроконтроллера программа PonyProg2000 выдаст сообщение. Рис 1.2.21. Установка фьюз битов микроконтроллера Для установки фьюз битов микроконтроллера во вкладке "Command" выбираем пункт "Security and Configuration Bits…". Рис 1.2.22. Должно появится окно установки фьюз битов. Рис 1.2.23. Для чтения фьюз битов установленных в микроконтроллере нажмите кнопку "Read", программа PonyProg2000 должна прочитать и вывести фьюз биты микроконтроллера. Для записи фьюз битов, установите, необходимы галочки в чек-боксах и нажмите кнопку "Write". 2. Специальная часть 2.1. Описание и устройство принципиальной схемы Рис. 2.1.1. Микросхема MAX232 используется для преобразования сигналов последовательного порта компьютера(COM) в уровни TTL для AVR микроконтроллера(uart). Микроконтроллер ATtiny2313 используется для приема сигналов uart и формирования импульсов для управления шаговыми двигателями. Сигналы от микроконтроллера поступают на вход микросхемы ULN2803A, которая представляет собой сборку транзисторов Дарлингтона, которые способны управлять нагрузкой до 500 мА, 30 В постоянного тока. Шаговый двигатель управляется в полном шаговом режиме. Двигатель может разворачиваться влево и вправо, в зависимости от команды с терминала. За одну команду двигатель может повернуться максимум на 32000 шагов. Рис. 2.1.2.
Таб. 2.1.1. Настройки в терминале:9600 - 8 N 1 Есть 4 команды, которые вы можете отправить в контроллер: m0rx,m0lx,m1lx,m1rx. m0 и m1 - выбор двигателя для поворота, r или l - выбор направления вращения, Х - число шагов от 0 до 32000. Например: если вы посылаете команду m0l2000, двигатель 0 поворачивается по часовой стрелке на 2000 шагов. После включения питания устройства, оно выводит сообщение на терминал. После этого можно давать команды для управления шаговыми двигателями. Рис. 2.1.3. ЗаключениеДанный курсовой проект позволил более детально ознакомится с микроконтроллерами типа AVRAttiny 2313. В процессе разработки проекта были получены навыки проектирования, реализации и внедрение проекта в реальную модель.В результате выполнения комплексного курсового проекта был описан процесс создания и программно реализованы устройства электронных часов на основе микроконтроллера Attiny 2313. Полученные результаты показывают, что программа работоспособна и готова к использованию. Конечным результатом проведенной работы, явилась структурная и принципиальная схема, алгоритм и программа управления скоростью электроприводом. Список используемых источников 1. Методические указания к лабораторным работам по курсу “Микроконтроллеры во встроенных системах управления для студентов всех специальностей / Составители Аврунин О.Г., Крук О.Я., Семенец В.В. – ХНУРЭ, 2005. – 105 с. 2. В. А. Гулиус, В. Г. Лобода, В. П. Степанов, В. Ю. Цуканов. “Средства автоматизированного проектирования специализированных микропроцессорных устройств”: Учебное пособие – Харьков: ХНУРЭ, 2001. – 228 с. 3. Белова Н. В., Коряк С. Ф., Лобода В. Г.. “Основы построения ориентированных ЭВМ и систем”. Под общ.ред. В. Г. Лободы. – Харьков: ООО «Компания СМИТ», 2007. – 148 с. 4. Проектирование встроенных устройств на микропроцессорах: Учеб.пособие /В. Г. Лобода, В. В. Логвин, В. Б. Таранов. – К.: УМК ВО, 1988. – 128 с. 5. Методические указания к комплексному курсовому проекту / Составители: В.Г. Лобода, А.С. Шкиль, Л.К. Штец.- Харков, ХНУРЭ,2001. – 8с. 6. Arduino programming notebook /Brian W.Adams 7. Wikipedia.org 8. Cxem.net 9.Баранов В.Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы. - М.: Издательский дом «Додэка - XXI», 2004. - 288 с.: ил. (Серия «Мировая электроника»). 10.Евстифеев А.В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL. - M.: Издательский дом «Додэка - XXI», 2005. - 560 с.: ил. (Серия «Мировая электроника»); 11.Трофименко В.Н., Трофименко Е.Н. Цифровые устройства и микропроцессоры: микроконтроллеры. Учебное пособие для выполнения лабораторных работ. Часть 2. Ростов- на-Дону: РИСЮРГУЭС, 2006 -104 с. 12. http://cxem.net/beginner/beginner75.php 13. Программное обеспечение: система автоматизированного проектирования Sprint-layout 5.0. 14. Г.Ф.Баканов. «Конструирование и производство радиоаппаратуры». М.Академия. 2011. 15. Г.В.Ярочкина. «Радиоэлектронная аппаратура и приборы». М.ПрофОблИздат. 2002. ПриложениеА. Кодпрограммыустройства $crystal = 4000000 'give here the value of the X-tal you use in Hertz $baud = 9600 Dim Testin As Integer , Wa As Byte , Stap As Integer , A As Integer , Dir As String * 3 , Value As String * 8 Config Portb = Output Config Portd = Input Wa = 3 Print "Serial Port Stepper Motor Driver " Print "To run the motor give input rxxxxx or lxxxx from 1 to 32000" Lus: Input "Give input: " , Value Print "Running..." Dir = Left(value , 3) Value = Mid(value , 4 , 11) Stap = Val(value) If Dir = "m0l" Then For A = 1 To Stap Step 4 Gosub M0ccw Next A End If If Dir = "m0r" Then For A = 1 To Stap Step 4 Gosub M0cw Next A End If If Dir = "m1l" Then For A = 1 To Stap Step 4 Gosub M1ccw Next A End If If Dir = "m1r" Then For A = 1 To Stap Step 4 Gosub M1cw Next A End If Goto Lus M0ccw: Portb = 48 ' turn on Q1 Waitms Wa ' wait wa ms Portb = 0 ' turn off Q1 Portb = 96 ' turn on Q2 Waitms Wa ' wait wa ms Portb = 0 Portb = 192 ' turn on Q3 Waitms Wa ' wait wa ms Portb = 0 ' turn off Q3 Portb = 144 ' turn on Q4 Waitms Wa 'wait wa ms Portb = 0 'turn off Q4 Return M0cw: Portb = 144 ' turn on Q1 Waitms Wa ' wait a ms Portb = 0 ' turn off Q1 Portb = 192 ' turn on Q2 Waitms Wa ' wait wa ms Portb = 0 Portb = 96 ' turn on Q3 Waitms Wa ' wait wa ms Portb = 0 ' turn off Q3 Portb = 48 ' turn on Q4 Waitms Wa 'wait wa ms Portb = 0 Return M1ccw: Portb = 3 ' turn on Q1 Waitms Wa ' wait wa ms Portb = 0 ' turn off Q1 Portb = 6 ' turn on Q2 Waitms Wa ' wait wa ms Portb = 0 Portb = 12 ' turn on Q3 Waitms Wa ' wait wa ms Portb = 0 ' turn off Q3 Portb = 9 ' turn on Q4 Waitms Wa 'wait wa ms Portb = 0 'turn off Q4 Return M1cw: Portb = 9 ' turn on Q1 Waitms Wa ' wait a ms Portb = 0 ' turn off Q1 Portb = 12 ' turn on Q2 Waitms Wa ' wait wa ms Portb = 0 Portb = 6 ' turn on Q3 Waitms Wa ' wait wa ms Portb = 0 ' turn off Q3 Portb = 3 ' turn on Q4 Waitms Wa 'wait wa ms Portb = 0 Return Приложение В. Схема электрическая принципиальная |