Raspberry: керування сервоприводом |
||||
Головна | Програмні продукти | Freesource програмні продукти | Статті по Tcl/Tk | Статті | Контакт | Карта сайту | |||
Raspberry: керування сервоприводом1. Знайомство з сервоприводомСервопривід - це кінцевий пристрій, який здійснює поворот і подальше утримання валу в певній позиції, заданій програмним шляхом. Існують цифрові та аналогові сервоприводи. В статті ми ознайомимось як керувати аналоговими сервоприводами. Детальнішу інформацію по сервоприводам ви можете отримати зі статті Вікіпедії На малюнку зображено сервопривод Tower Pro SG90 2. Керування аналоговим сервоприводом (теорія)Аналоговий сервопривод керується широтно-імпульсною модуляцією (ШІМ) з частотою 50 герц та довжиною імпульсу від 1 до 2 мілісекунд. Змінюючи довжину імпульсу (скважність), отримаємо поворот валу від нульового до кінцевого положення. На малюнку проілюстрована схема підключення та діаграма сигналу для сервоприводу Tower Pro SG90. 3. Керування аналоговим сервоприводом (практика)Як відомо, мікрокомп'ютер Raspberry керується операційною системою Linux. Основна відмінність мікрокомп'ютера Raspberry, з точки зору прикладного програміста, від персонального комп'ютера - наяність периферійних входів/виходів, з допомогою яких можна керувати зовнішніми пристроями або одержувати інформацію від різноманітних датчиків. Доступ до зовнішніх пристроїв можна здійснити двома шляхами:
Перший шлях - це не для нас. Причина проста - бібліотеки існують тільки для певних мов програмування, а ми бажаємо отримати універсальний спосіб керування пристроєм. Unix-way - широке питання, це більше ніж питання, це ціла філософія не тільки програмівання а й стилю життя. Один з аспектів цієї філософії - все що нас оточує проектується в операційну систему як набір віртуальних файлів: вінчестер - це файл (/dev/sda), монітор(термінал) - це файл (/dev/tty), порядність чиновника - це файл (/dev/zero), кишеня чиновника - це чорна діра (/dev/null) Очевидно, якщо всі зовнішні пристрої предсталені в системі як набір спеціальних файлів то, виконуючи елементарні операції читання/запису файлів ми отримаємо безпосередній доступ до пристрою. Будь-яка мова програмування, в своєму наборі функцій, має процедури роботи з файлами - це наш шлях, простота та універсальність. Встановлюємо на Raspberry програму PI-blaster яка генерує ШІМ, керувати якою можна через спеціальний файл /dev/pi-blaster. Кроки по інсталяції та запуску програми широко висвітлені на сторінці програми. Насолоджуємось роботою сервоприводу, керуючи ним з використанням будь-якої мови програмування, хоча б з shell: # активуємо пін GPIO18 для роботи в ШІМ режимі
echo "18=1" > /dev/pi-blaster # генеруємо ШІМ сигнал з двадцяти відсотковою наповненістю
echo "18=0.2" > /dev/pi-blaster Або на Tcl:
# активуємо пін GPIO18 для роботи в ШІМ режимі
set fd [open /dev/pi-blaster w] puts $fd "18=1" close $fd # генеруємо ШІМ сигнал з двадцяти відсотковою наповненістю
set fd [open /dev/pi-blaster w] puts $fd "18=0.2" close $fd Стосовно нашого конкретного сервоприводу Tower Pro SG90, мінімальне і максимальне значення, яке необхідно передавати для генерації ШІМ сигналу це 0,05 і 0,25 відповідно. Схема підключення сервоприводу до Raspberry Pi.
|
||
Copyright © Едуард Зозуля | ||