Servo-To-Go (STG) — одна з перших карт управління рухом для ПК, що підтримується LinuxCNC. Це карта ISA, яка існує в різних варіантах (усі підтримуються цим драйвером). Плата включає до 8 каналів входу квадратурного енкодера, 8 каналів аналогового входу та виходу, 32-бітний цифровий вхід/вихід, інтервальний таймер з перериванням та сторожовий таймер.
|
Note
|
Ми отримали повідомлення про те, що операційні підсилювачі на платі Servo To Go не працюють з новими блоками живлення ATX, які використовують сучасні імпульсні перетворювачі постійного струму. Проблема полягає в тому, що плата STG видає постійну напругу незалежно від команд драйвера. Старі блоки живлення ATX з лінійними стабілізаторами напруги не мають цієї проблеми і нормально працюють з платами STG. |
1. Встановлення
loadrt hal_stg [base=<address>] [num_chan=<nr>] [dio="<dio-string>"] \ [model=<model>]
Поле базової адреси є необов’язковим; якщо воно не вказане, драйвер намагається автоматично виявити плату. Поле num_chan використовується для вказання кількості каналів, доступних на карті; якщо воно не використовується, то передбачається 8-осьова версія. Конфігурація цифрових входів/виходів визначається конфігураційним рядком, що передається insmod під час завантаження модуля. Формат складається з чотирисимвольного рядка, що встановлює напрямок кожної групи контактів. Кожен символ рядка напрямку є або «I», або «O». Перший символ встановлює напрямок порту A (порт A - DIO.0-7), наступний - порту B (порт B - DIO.8-15), наступний - порту C (порт C - DIO.16-23), а четвертий - порту D (порт D - DIO.24-31). Поле моделі можна використовувати, якщо драйвер не визначає автоматично правильну версію карти.
ПІДКАЗКА: після запуску драйвера можна звернутися до dmesg, щоб отримати повідомлення, що стосуються драйвера (наприклад, автоматично визначений номер версії та базова адреса). Наприклад:
loadrt hal_stg base=0x300 num_chan=4 dio="IOIO"
У цьому прикладі встановлюється драйвер STG для карти, яка знаходиться за базовою адресою 0x300, 4 канали зворотного зв’язку кодера, DAC & ADC, а також 32 біти вводу/виводу, налаштовані таким чином: перші 8 (порт A) налаштовані як вхід, наступні 8 (порт B) налаштовані як вихід, наступні 8 (порт C) налаштовані як вхід, а останні 8 (порт D) налаштовані як вихід
loadrt hal_stg
У цьому прикладі встановлюється драйвер і здійснюється спроба автоматичного визначення адреси та моделі плати. За замовчуванням встановлюється 8 осей разом зі стандартною конфігурацією вводу-виводу: порти A і B налаштовані як вхідні, порти C і D налаштовані як вихідні.
2. Піни
-
stg.<channel>.counts - (s32) Відстежує підраховані такти енкодера.
-
stg.<channel>.position - (float) Виводить перетворену позицію.
-
stg.<channel>.dac-value - (float) Визначає напругу для відповідного DAC.
-
stg.<channel>.adc-value - (float) Відстежує виміряну напругу з відповідного ADC.
-
stg.in-<pinnum> - (bit) Відстежує фізичний вхідний контакт.
-
stg.in-<pinnum>-not - (bit) Відстежує фізичний вхідний контакт, але інвертований.
-
stg.out-<pinnum> - (bit) Керує фізичним вихідним контактом
Для кожного виводу <channel> є номером осі, а <pinnum> є номером логічного виводу STG. Якщо визначено IIOO, є 16 вхідних виводів (in-00 .. in-15) і 16 вихідних виводів (out-00 .. out-15), і вони відповідають PORT ABCD (in-00 є PORTA.0, out-15 є PORTD.7).
Вивід HAL in-<pinnum> має значення TRUE, якщо фізичний вивід має високий рівень, і FALSE, якщо фізичний вивід має низький рівень. Вивід HAL in-<pinnum>-not є інвертованим — він має значення FALSE, якщо фізичний вивід має високий рівень. Підключивши сигнал до одного з них, користувач може визначити стан входу.
3. Параметри
-
stg.<channel>.position-scale - (float) Кількість підрахунків / одиниця виміру користувача (для конвертації з підрахунків в одиниці).
-
stg.<channel>.dac-offset - (float) Встановлює зміщення для відповідного DAC.
-
stg.<channel>.dac-gain - (float) Встановлює коефіцієнт підсилення відповідного DAC.
-
stg.<channel>.adc-offset - (float) Встановлює зміщення відповідного ADC.
-
stg.<channel>.adc-gain - (float) Встановлює коефіцієнт підсилення відповідного ADC.
-
stg.out-<pinnum>-invert - (bit) Інвертує вихідний контакт.
Параметр -invert визначає, чи є вихідний контакт активним у високому або низькому стані. Якщо -invert має значення FALSE, то встановлення HAL out- pin TRUE призводить до переведення фізичного контакту у високий стан, а FALSE — у низький. Якщо -invert має значення TRUE, то встановлення HAL out- pin TRUE призведе до переведення фізичного контакту у низький стан.
4. Функції
-
stg.capture-position - Зчитує лічильники енкодера з осі <канал>.
-
stg.write-dacs - Записує напруги на DAC.
-
stg.read-adcs - Зчитує напруги з ADC.
-
stg.di-read - Зчитує фізичні вхідні контакти всіх портів та оновлює всі контакти HAL in-<pinnum> та in-<pinnum>-not.
-
stg.do-write - Зчитує всі виводи HAL out-<pinnum> та оновлює всі фізичні вихідні виводи.