Євген Сакун –
провідний проектувальник
Ідея проекту
Метою проекту є створення автоматизованої електромеханічної системи з мікропроцесорним керуванням “Футбол”, призначеної для залучення уваги абітурієнтів до спеціальності “Електропривод”.
При розробці системи керування основна увага буде приділятися проблемам універсальності технічних рішень. Це дозволить вирішувати багато схожих завдань на базі однієї системи керування.
Принцип роботи системи полягає в наступному. Обладнання складається з ігрового поля, із двох сторін якого розташовані футболісти – рухливі елементи. Футболісти можуть переміщатися уздовж своєї сторони поля. Під час гри на полі перебуває м’яч, який внаслідок невеликого нахилу поля завжди скачується до сторони одного з футболістів. Футболіст безупинно переміщається уздовж своєї сторони в пошуку м’яча, використовуючи при цьому датчик (наприклад, оптичний). Виявивши м’яч, він відбиває його на сторону суперника за допомогою електромеханічного штовхальника. Другий футболіст працює по тому ж принципу, кількість циклів передачі м’яча не обмежене.
В якості основи механізму пересування футболістів використовується каретка від принтера. На металевій підставі каретки встановлені напрямні, по яких у принтері переміщалася друкова голівка. Голівка приводилася в рух кроковим двигуном, також установленим на підставі каретки. На місці друкової голівки буде встановлений штовхальник і обладнання виявлення м’яча.
Крім того на каретці є кроковий двигун подачі паперу. Він також може бути використаний у механізмі штовхальника.
Зв’язок з ПК
Для реалізації складних алгоритмів керування роботами та проведення досліджень було поставлено завдання реалізації зв’язки контролера пристрою з персональним комп’ютером (ПК). З безлічі різних інтерфейсів були виділені RS232 і USB. Перевагою RS232 є його простота і поширеність. Багато мікроконтролерів, у тому числі й Atmega16, мають у своєму составі UART. У такий спосіб можна підключити контролер до Com-порта ПК, використовуючи тільки перетворювач рівнів ТТЛ / RS232, наприклад мікросхему MAX232. Головною проблемою тут є відсутність Com-порта в багатьох сучасних ПК і ноутбуках.
Інтерфейс USB підтримують практично всі ПК. Його головними недоліками є складність програмування та відсутність вбудованих контролерів USB на багатьох мікроконтролерах.
Atmega16 не має вбудованого контролера USB. Тому було ухвалене рішення використовувати перетворювач USB – UART і емулювати RS232 на ПК. Виникло завдання вибору перетворювача інтерфейсів.
Промисловість випускає безліч мікросхем-перетворювачів, але всі розглянуті варіанти не задовольняли важливій вимозі – можливості установки на макетну плату. Тому було вирішено для початку розробити перетворювач на базі мікроконтролера Atmega8. Схему такого перетворювача і програмне забезпечення можна знайти в [1].
Для емуляції віртуального Com-порта необхідно встановити на ПК відповідний драйвер. Це дозволить використовувати можливості стандартної бібліотеки мови Си або пакета Матлаб.
Оскільки UART є асинхронним інтерфейсом, то необхідно використовувати кварцовий резонатор для генерування стабільної тактової частоти мікроконтролера. Ми використовуємо резонатор із частотою 8 МГц. Інформацію про його підключення до Atmega16 можна знайти в [2].
Якщо виводи перетворювача TxD (вихід) і RxD (вхід) з’єднати між собою, то інформація, передана із ПК, повернеться назад, що дозволяє тестувати роботу перетворювача за допомогою стандартних засобів пакета Матлаб.
Необхідно спочатку підключити перетворювач, а потім запустити Матлаб. Інакше, то Матлаб не виявить підключений пристрій. Далі необхідно виконати наступну програму командною мовою пакета Matlab:
%COM 10 необходимо заменить на используемый порт
s = serial('COM10');
% Настраиваем скорость, формат сообщений
set(s,'BaudRate',9600,'DataBits',8,'StopBits',1,'Parity','none',...
'ByteOrder','littleEndian');
% Подключаемся к порту
fopen(s);
% Отправляем массив однобайтных положительных чисел
fwrite(s,[255 3 3],'uint8');
% Считываем принятые данные
fread(s,3,'uint8')
% Отключаем порт
fclose(s);
Список джерел:
- http://www.recursion.jp/avrcdc/
- Data sheet Atmega16
Шаговий двигун
З курсу електричних машин відомо, що існує багато різновидів електродвигунів, які різняться за принципом дії та застосуванню. У нашім випадку буде використаний шаговий двигун (ШД), що є різновидом синхронних машин, оскільки він уже встановлений на використовуваній каретці принтера.
ШД використовують зазвичай в якості виконавчих двигунів, що перетворююять електричні сигнали (імпульси напруги) у кутові або лінійні дискретні переміщення (шаги). Найбільше застосування ШД одержали в електроприводах із програмним керуванням [1]. Головними перевагами ШД є точність позиціонування та відсутність необхідності у зворотному зв’язку по положенню. Істотними недоліками є можливість проковзування ротора, проблеми дискретності переміщення та пов’язана із цим можливість резонансу в системі при певній частоті обертання. Будова і принцип роботи ШД розглянуті в [2, 3].
На використовуваній каретці принтера встановлений двофазний ШД DYNASYN 4SHG-023A 39S. Шаг двигуна – 1,8°. Даний ШД має відводи від середини кожної з обмоток, що дозволяє використовувати більш просту схему драйвера. Такий тип ШД називають уніполярним [2]. Опір половини обмотки – 1,5 Ом. Номінальна напруга половини обмотки – 2,3 В. Розрахунковий струм фази двигуна (за законом Ома): 1,53 А
Припустимо підключати уніполярний двигун як біполярний (не підключаючи відводи середніх точок), але при цьому не повинна перевищуватися максимальна потужність двигуна, що розсіюється [2].
Керування обертанням ротора двигуна здійснюється подачею імпульсів напруги певної послідовності на обмотки фаз статора. Ця послідовність наочно демонструється в [4, 5, 6]. Часто використовують режим мікрошагу – де за допомогою широтно-імпульсної модуляції напруги фаз можна добитися проміжних положень ротора та забезпечити високу плавність руху.
Для керування струмами в обмотках двигуна необхідний перетворювач малопотужних сигналів із системи керування в сигнали більшої потужності, що подається на обмотки машини. Такі перетворювачі звичайно будуються на основі мостової або напів мостової схеми. Перевагою мостової схеми перед напівмостовоїю є відсутність необхідності у двополярному живленні, а недоліком – більша кількість комутуючих елементів. У якості останніх зазвичай використовуються транзистори. Більш детально схеми керування ШД можна подивитися в [2, 7].
Промисловість випускає спеціалізовані інтегральні мікросхеми-драйвери, що включають у себе один або кілька мостів, а також інші додаткові схеми керування. Перевагою використання серійних мікросхем є їхня компактність і менша вартість у порівнянні із пристроєм, виготовленим з окремих компонентів.
Критеріями вибору драйвера є максимальний струм, напруга та кількість мостів у корпусі мікросхеми.
Визначимо вимоги до драйвера: Imax = 1,53A; Umax = 2,3 × 2 = 4,6B.
Драйвер повинен мати два мости для підключення двох фаз двигуна. Відповідно до цих вимог був обраний розповсюджений драйвер L298, що представляє собою два незалежні мости із блоком керування. Його параметри та блок-схема наведені в [8].
Блок керування призначений для перетворення керуючих сигналів у напруги подавані на бази транзисторів. Також він забезпечує захист від короткого замикання в мосту, крім можливості відкривання двох транзисторів одного плеча одночасно.
Схема має 2 входи живлення:
Vss – для живлення логіки мікросхеми,
Vs – для живлення обмоток ШД.
До входів живлення необхідно підключити конденсатори, ємністю 100 нф, для усунення перешкод по ланцюгу живлення. Також є можливість підключення шунтів послідовно з обмотками двигуна – Rsa і Rsb. Це дозволить робити вимір струму в обмотках і ввести зворотний зв’язок по ньому.
Слід зазначити, що в мікросхемі L298 відсутні вбудовані діоди для захисту транзисторів від перенапруги, викликуваної індуктивним характером навантаження. Вони повинні бути встановлені окремо.
Входи драйвера будуть підключені безпосередньо до порту вводу-виводу мікроконтролера, який буде видавати керуючі сигнали згідно з алгоритмом роботи пристрою.
Алгоритм роботи програми керування ШД можна описати діаграмою станів кінцевого автомата (рисунок 1).
Рисунок 1 – Діаграма станів ШД
Кожний стан відповідає певній керуючій комбінації, що подаємося на входи драйвера In1..In4:
Таблиця 1
Стани | In1 | In2 | In3 | In4 |
1 | 1 | 0 | 0 | 0 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 1 | 0 | 0 |
4 | 0 | 0 | 0 | 1 |
Напишемо програму для керування ШД за допомогою двох кнопок. Якщо натиснута кнопка 1 – двигун обертається за годинниковою стрілкою, якщо натиснута кнопка 2 – проти годинникової стрілки.
Принципова схема пристрою керування ШД створена в пакеті Proteus. що дозволяє переконатися в її працездатності за допомогою комп’ютерного моделювання.
Список джерел інформації:
- Кацман М. М. Электрические машины: Учебник – М.: 1983. – 432 с.
- А.В. Емельянов А.Н. Шилин, Шаговые двигатели. – Волгоград, 2005
- Т. Кенио Шаговые двигатели и их микропроцессорные системы управления – Москва 1987 г.
- http://ru.wikipedia.org
- http://electromotor.com.ua/katalog-tovarov/stati/134-shag
- STMicroelectronics APPLICATION NOTE. THE L297 STEPPER MOTOR CONTROLLER
- Болл С. Аналоговые интерфейсы микроконтроллеров – Москва, 2007
- L298 DUALFULL-BRIDGE DRIVER // STMicroelectronics
Для розв’язання поставленого завдання необхідно визначити підзадачі та намітити можливі їхні вирішення. Для цього розділимо систему на 3 основних елемента:
1. Механізм – містить у собі всі механічні елементи системи (механізм переміщення та штовхальник)
2. Контролер – пристрій керування
3. ПК – використовується для реалізації складних алгоритмів керування, для взаємодії із системою та проведення експериментів
Список основних завдань
Для механизму:
- Розробити штовхач
- Розробити схему керування кроковим двигуном
Для контролера:
- Вибрати мікроконтролер
- Вибрати датчик положення м’яча
- Розробити алгоритм керування
- Реалізувати програму керування з урахуванням можливості її подальшого використання в інших проектах
Для ПК:
- Вибрати інтерфейс передачі даних
- Реалізувати програму для взаємодії з контролером
- Розробити графічний інтерфейс користувача
- Реалізувати взаємодію з іншими програмами (наприклад, з пакетом Matlab)