1. Загальна інформація

Pluto-P — це плата FPGA з мікросхемою ACEX1K від Altera.

1.1. Вимоги

  1. Дошка Плуто-П

  2. Паралельний порт, сумісний з EPP, налаштований на режим EPP у системному BIOS, або плата паралельного порту PCI, сумісна з EPP.

Note
Плата Pluto P вимагає режиму EPP. Мікросхеми Netmos98xx не працюють у режимі EPP. Плата Pluto P працюватиме на деяких комп’ютерах, а на інших — ні. Невідомо, які саме комп’ютери працюватимуть, а які — ні.

Для отримання додаткової інформації про карти паралельного порту, сумісні з PCI EPP, див. сторінку Підтримуване обладнання LinuxCNC на вікі.

1.2. Роз’єми

  • Плата Pluto-P поставляється з попередньо припаяним лівим роз’ємом, ключ знаходиться у вказаному положенні. Інші роз’єми не заповнені. Стандартного 12-контактного роз’єму IDC, схоже, немає, але деякі контакти 16-контактного роз’єму можуть висіти з плати поруч з QA3/QZ3.

  • Нижній і правий роз’єми розташовані на одній сітці 0,1 дюйма, але лівий роз’єм - ні. Якщо OUT2…OUT9 не потрібні, один роз’єм IDC може охоплювати нижній роз’єм і два нижні ряди правого роз’єму.

1.3. Фізичні піни

  • Ознайомтеся з технічним описом ACEX1K для отримання інформації про порогові значення вхідної та вихідної напруги. Усі контакти налаштовані в режимі «LVTTL/LVCMOS» і загалом сумісні з логікою 5V TTL.

  • Перед конфігурацією та після правильного виходу з LinuxCNC всі контакти Pluto-P перебувають у тристабільному стані зі слабкими підтягуваннями (мінімум 20 кОм, максимум 50 кОм). Якщо таймер сторожового пристрою ввімкнено (за замовчуванням), ці контакти також перебувають у тристабільному стані після переривання зв’язку між LinuxCNC і платою. Таймер сторожового пристрою активується приблизно за 6,5 мс. Однак програмні помилки в прошивці pluto_servo або LinuxCNC можуть залишити контакти Pluto-P в невизначеному стані.

  • У режимі pwm+dir за замовчуванням dir має значення HIGH для від’ємних значень і LOW для додатних значень. Щоб вибрати HIGH для додатних значень і LOW для від’ємних значень, встановіть відповідний параметр dout-NN-invert на TRUE, щоб інвертувати сигнал.

  • Вхід індексу спрацьовує на передньому фронті. Початкові випробування показали, що входи QZx особливо чутливі до шуму, оскільки опитуються кожні 25 нс. Було додано цифрове фільтрування для фільтрування імпульсів, коротших за 175 нс (сім разів опитування). Рекомендується додаткове зовнішнє фільтрування на всіх вхідних контактах, таке як буфер Шмітта або інвертор, RC-фільтр або диференційний приймач (якщо це можливо).

  • Контакти IN1…IN7 мають послідовні резистори 22 Ом, підключені до відповідних контактів FPGA. Жодні інші контакти не мають захисту від напруги або струму, що виходять за межі технічних характеристик. Інтегратор повинен додати відповідну ізоляцію та захист. Традиційні плати оптоізоляторів паралельного порту не працюють з pluto_servo через двонаправлений характер протоколу EPP.

1.4. LED

  • Коли пристрій не запрограмований, світлодіод світиться слабко. Коли пристрій запрограмований, світлодіод світиться відповідно до робочого циклу PWM0 («LED» = «UP0» «xor» «DOWN0») або STEPGEN0 («LED» = «STEP0» «xor» «DIR0»).

1.5. Потужність

  • Невелика кількість струму може бути взята з VCC. Доступний струм залежить від нерегульованого вхідного постійного струму на платі. Альтернативно, регульований +3,3 В постійного струму може бути поданий на FPGA через ці контакти VCC. Необхідний струм ще не відомий, але, ймовірно, становить близько 50 мА плюс струм вводу-виводу.

  • Регулятор на платі Pluto-P має низький рівень падіння напруги. Подача 5 В на роз’єм живлення дозволить регулятору працювати належним чином.

1.6. Інтерфейс ПК

  • Підтримується лише одна плата pluto_servo або pluto_step.

1.7. Перезбірка прошивки FPGA

Підкаталоги «src/hal/drivers/pluto_servo_firmware/» та «src/hal/drivers/pluto_step_firmware/» містять вихідний код Verilog та додаткові файли, які використовуються Quartus для прошивок FPGA. Для перекомпіляції прошивки FPGA необхідне програмне забезпечення Altera Quartus II. Щоб перекомпілювати прошивку з файлів .hdl та інших вихідних файлів, відкрийте файл «.qpf» і натисніть CTRL-L. Потім перекомпілюйте LinuxCNC.

Як і драйвер обладнання HAL, прошивка FPGA ліцензована відповідно до умов Загальної публічної ліцензії GNU.

Безкоштовна версія Quartus II працює лише на Microsoft Windows, хоча, очевидно, існує платна версія, яка працює на Linux.

1.8. Для отримання додаткової інформації

Деяка додаткова інформація про це доступна за посиланнями KNJC LLC та блог розробника.

2. Сервопривід Плутона

Система pluto_servo підходить для управління 4-осьовим фрезерним верстатом з CNC з сервомоторами, 3-осьовим фрезерним верстатом з PWM-управлінням шпинделем, токарним верстатом з енкодером шпинделя тощо. Велика кількість входів дозволяє використовувати повний набір кінцевих вимикачів.

Цей драйвер має такі характеристики:

  • 4 канали квадратури з частотою дискретизації 40 МГц. Лічильники працюють у режимі «4x». Максимальна корисна частота квадратури становить 8191 імпульсів на сервоцикл LinuxCNC або приблизно 8 МГц для стандартної частоти сервоприводу LinuxCNC 1 мс.

  • 4 канали PWM, типу «вгору/вниз» або «pwm+напрямок». 4095 робочих циклів від -100% до +100%, включаючи 0%. Період PWM становить приблизно 19,5 кГц (40 МГц / 2047). Також доступний режим, подібний до PDM.

  • 18 цифрових виходів: 10 виділених, 8 спільних з функціями PWM. (Приклад: Токарний верстат з односпрямованим PWM-керуванням шпинделем може використовувати загалом 13 цифрових виходів)

  • 20 цифрових входів: 8 виділених, 12 спільних з функціями квадратурної корекції. (Приклад: Токарний верстат з індексними імпульсами лише на шпинделі може використовувати загалом 13 цифрових входів.)

  • Зв’язок EPP з ПК. Зв’язок EPP зазвичай триває близько 100 мкс на машинах, протестованих досі, що забезпечує швидкість сервоприводу вище 1 кГц.

2.1. Розпіновка

  • «UPx» — сигнал «up» (режим вгору/вниз) або «pwm» (режим pwm+напрямок) від генератора PWM X. Може використовуватися як цифровий вихід, якщо відповідний канал PWM не використовується або вихід на каналі завжди негативний. Відповідний інвертований цифровий вихід можна встановити на TRUE, щоб UPx був активним низьким, а не активним високим.

  • «DNx» — сигнал «вниз» (режим вгору/вниз) або «напрямок» (режим pwm+напрямок) від генератора PWM X. Може використовуватися як цифровий вихід, якщо відповідний канал PWM не використовується або вихід на каналі ніколи не є від’ємним. Відповідний інвертований цифровий вихід можна встановити на TRUE, щоб DNx був активним низьким, а не активним високим.

  • «QAx, QBx» – сигнали A та B для квадратурного лічильника X. Може використовуватися як цифровий вхід, якщо відповідний квадратурний канал не використовується.

  • QZx – Сигнал Z (індекс) для квадратурного лічильника X. Може використовуватися як цифровий вхід, якщо функція індексу відповідного квадратурного каналу не використовується.

  • «INx» – виділений цифровий вхід №x

  • «OUTx» – виділений цифровий вихід #x

  • «GND» – Заземлення

  • VCC - +3,3 В регульованого постійного струму

Розпіновка сервоприводу Плуто
Figure 1. Розпіновка сервоприводу Плутона
Table 1. Функції альтернативних контактів Плуто-Серво
Основна функція Альтернативна функція Поведінка, якщо використовуються обидві функції

UP0

PWM0

Коли pwm-0-pwmdir має значення TRUE, цей контакт є виходом PWM

OUT10

Виключаємо АБО з UP0 або PWM0

UP1

PWM1

Коли pwm-1-pwmdir має значення TRUE, цей контакт є виходом PWM

OUT12

Виключає АБО з UP1 або PWM1

UP2

PWM2

Коли pwm-2-pwmdir має значення TRUE, цей контакт є виходом PWM

OUT14

XOR з UP2 або PWM2

UP3

PWM3

Коли pwm-3-pwmdir має значення TRUE, цей контакт є виходом PWM

OUT16

XOR з UP3 або PWM3

DN0

DIR0

Коли pwm-0-pwmdir має значення TRUE, цей контакт є виходом DIR

OUT11

Вирівнювання з DN0 або DIR0 за допомогою операції XOR

DN1

DIR1

Коли pwm-1-pwmdir має значення TRUE, цей контакт є виходом DIR

OUT13

Використано XOR з DN1 або DIR1

DN2

DIR2

Коли pwm-2-pwmdir має значення TRUE, цей контакт є виходом DIR

OUT15

Вирівнювання з DN2 або DIR2 за допомогою операції XOR

DN3

DIR3

Коли pwm-3-pwmdir має значення TRUE, цей контакт є виходом DIR

OUT17

Використано XOR з DN3 або DIR3

QZ0

IN8

Зчитати те саме значення

QZ1

IN9

Зчитати те саме значення

QZ2

IN10

Зчитати те саме значення

QZ3

IN11

Зчитати те саме значення

QA0

IN12

Зчитати те саме значення

QA1

IN13

Зчитати те саме значення

QA2

IN14

Зчитати те саме значення

QA3

IN15

Зчитати те саме значення

QB0

IN16

Зчитати те саме значення

QB1

IN17

Зчитати те саме значення

QB2

IN18

Зчитати те саме значення

QB3

IN19

Зчитати те саме значення

2.2. Фіксація входу та оновлення виходу

  • PWM Робочі цикли для кожного каналу оновлюються в різний час.

  • Цифрові виходи OUT0–OUT9 оновлюються одночасно. Цифрові виходи OUT10–OUT17 оновлюються одночасно з функцією PWM, з якою вони спільно працюють.

  • Цифрові входи IN0 - IN19 фіксуються одночасно.

  • Квадратурні положення для кожного каналу фіксуються в різний час.

2.3. Функції, виводи та параметри HAL

Список усіх аргументів «loadrt», назв функцій HAL, назв виводів та назв параметрів знаходиться на сторінці довідки «pluto_servo.9».

2.4. Сумісне обладнання драйвера

Схема для 2-осьової плати сервопідсилювача PWM 2A доступна на сайті (розробник програмного забезпечення). H-міст L298 може використовуватися для двигунів до 4 А (один двигун на L298) або до 2 А (два двигуни на L298) з напругою живлення до 46 В. Однак L298 не має вбудованого обмеження струму, що є проблемою для двигунів з високим струмом зупинки. Для більш високих струмів і напруг деякі користувачі повідомляють про успішне використання інтегрованих драйверів високого/низького рівня від International Rectifier.

3. Крок Плутона

Pluto-step підходить для керування 3- або 4-осьовим фрезерним верстатом з ЧПК з кроковими двигунами. Велика кількість входів дозволяє використовувати повний комплект кінцевих вимикачів.

Дошка має такі характеристики:

  • 4 канали «крок+напрямок» з максимальною частотою кроку 312,5 кГц, програмованою довжиною кроку, інтервалом та часом зміни напрямку

  • 14 спеціалізованих цифрових виходів

  • 16 спеціальних цифрових входів

  • Зв’язок EPP з ПК

3.1. Розпіновка

  • STEPx – Вихідний сигнал кроку (тактової частоти) каналу stepgen x

  • DIRx – Вихідний сигнал «напрямок» каналу ступінчастого генератора x

  • «INx» – виділений цифровий вхід №x

  • «OUTx» – виділений цифровий вихід #x

  • «GND» – Заземлення

  • VCC - +3,3 В регульованого постійного струму

Хоча «розширений головний роз’єм» має надмножину сигналів, які зазвичай зустрічаються на роз’ємі Step & Direction DB25 — 4 генератори кроку, 9 входів і 6 виходів загального призначення — компонування цього роз’єму відрізняється від компонування стандартного 26-контактного плоского кабелю до роз’єму DB25.

Розпіновка Плуто-Ступінчастої
Figure 2. Розподілення клапанів Плуто-Ступінчастої Конфігурації

3.2. Фіксація входу та оновлення виходу

  • Частоти кроків для кожного каналу оновлюються в різний час.

  • Усі цифрові виходи оновлюються одночасно.

  • Всі цифрові входи фіксуються одночасно.

  • Положення зворотного зв’язку для кожного каналу фіксуються в різний час.

3.3. Таймінги ступінчастої форми хвилі

Прошивка та драйвер забезпечують дотримання довжини кроку, інтервалу та часу зміни напрямку. Часові параметри округлюються до найближчого кратного 1,6 мкс, максимум до 49,6 мкс. Часові параметри такі самі, як і для програмного компонента stepgen, за винятком того, що «dirhold» і «dirsetup» об’єднані в один параметр «dirtime», який повинен бути максимальним з двох, і що однакові часові параметри кроку завжди застосовуються до всіх каналів.

Таймінг кроків Плутона
Figure 3. Таймінги Плуто-кроків

3.4. Функції, виводи та параметри HAL

Список усіх аргументів «loadrt», назв функцій HAL, назв виводів та назв параметрів наведено на сторінці довідки «pluto_step.9».