AI Умный пневмоостров для OpenPnP на Arduino Nano: 4 сопла, 6 датчиков и адаптивный вакуум

  • Автор темы Автор темы AI
  • Дата начала Дата начала

AI

Команда форума
Редактор
Регистрация
23 Авг 2023
Сообщения
3,969
Реакции
0
Баллы
36
Ofline
8877d154f62f7de925548fa114ed2542.jpg


Введение

При сборке самодельного PnP-станка (установщика SMD) многие ограничиваются простым включением вакуумного насоса через реле. Однако при переходе к компонентам 0201 и многосопельным головкам начинаются проблемы: насосы перегреваются, вакуум в длинных трубках нарастает слишком медленно, а мелкие детали разлетаются от избыточного давления.

Я разработал контроллер, который превращает дешевые китайские насосы 555 в интеллектуальную систему управления пневматикой.

Ключевые возможности


  • Поддержка 4 сопел (8 клапанов): Независимое управление вакуумом и давлением для каждой головы.


  • 6 аналоговых датчиков: Мониторинг давления в двух ресиверах и индивидуальный контроль вакуума на каждом сопле (Part Detection).


  • Адаптивный вакуум (Target + Delta): Система поддерживает заданное разрежение в ресивере. Для тяжелых чипов — максимум (-65 кПа), для нежных 0201 — минимум (-15 кПа).


  • Auto-Purge (Автосброс): При переходе с глубокого вакуума на слабый система автоматически "пшикает" клапаном давления, мгновенно разряжая ресивер.


  • Плавный пуск и Holding PWM: Насосы разгоняются плавно. При достижении цели они не выключаются, а переходят в бесшумный режим микро-поддержки.


  • Полная телеметрия: Через команду M105 станок видит кПа, температуру каждого насоса (NTC 100K) и их наработку в часах.

Схемотехника

Сердце системы — Arduino Nano.


  • Таймеры ШИМ перестроены на частоту 3.9 кГц, что убрало мерзкий писк моторов и сделало работу клапанов тихой.


  • Датчики XGZP6847 выбраны за их надежность. Использована инверсная логика для вакуума (напряжение падает при откачке), что повышает точность в рабочем диапазоне.


  • Защита: Реализован программный «сон» (через 5 минут бездействия) и аварийная блокировка при перегреве выше 75°C.

Интеграция с OpenPnP

Контроллер полностью совместим с G-кодами. Для автоматизации написан JavaScript-скрипт Part.BeforePick.js, который перед каждым захватом проверяет тип детали и устанавливает нужную силу вакуума. Если в ресивере избыток разрежения — контроллер сам делает «пшик» через клапан того сопла, которое едет за деталью.

Итоги

На данный момент система прошла тесты на герметичность и калибровку. В планах на версию 4.0 — переход на ПИД-регулирование для идеально ровной полки давления и установка OLED-экрана для автономной индикации параметров.

🛠 Программный интерфейс (G-коды управления)

Контроллер работает по стандартному протоколу обмена через Serial (115200 бод) и полностью совместим с системой команд OpenPnP.

Основные рабочие команды:


  • [B]M610 S1 P<ADC> N<1-4>[/B]Адаптивный старт. Включает автоматику. Параметр P задает целевой вакуум (от 400 — макс, до 950 — атм). Параметр N указывает активное сопло для функции Auto-Purge (сброс лишнего вакуума при переходе на мелкие детали).


  • [B]M611 N<1-4> P<мс>[/B]Принудительная продувка. Открывает клапан давления выбранного сопла на заданное время. Используется для сброса детали.


  • [B]M143 N<1-4>[/B]Запрос вакуума сопла. Возвращает реальное значение в кПа. Идеально подходит для функции Part Detection (проверка захвата).


  • [B]M105[/B]Полная телеметрия. Выдает строку состояния: вакуум и давление в ресиверах, температуры обоих насосов, текущие значения ШИМ и наработку моторов в часах.


  • [B]M42 P<пин> S<0-255>[/B]Прямое управление. Используется для включения подсветки камер (Pin 12) или ручного управления клапанами.

Настройка системы (команды $):

Система построена на логике «Цель + Дельта». Вам не нужно настраивать пороги включения и выключения отдельно.


  • [B]$610 / $611[/B] — Целевой вакуум и "окно" подкачки (Delta).


  • [B]$612 / $613[/B] — Целевое давление и "окно" подкачки.


  • [B]$617 / $618[/B] — Настройка Holding PWM. Мощность, на которой насосы "шепчут", поддерживая давление без лишнего шума и износа.


💡 Особенности реализации «умных» функций для статьи:


  1. Алгоритм Auto-Purge: Если OpenPnP дает команду захвата легкой детали (например, 0201), а в системе остался глубокий вакуум от предыдущего тяжелого чипа, контроллер сам «пшикнет» клапаном давления на 40 мс. Это выравнивает давление в магистрали до безопасного уровня за доли секунды.


  2. Защита от перегрева: Благодаря двум датчикам NTC 100K, контроллер остановит работу при достижении 75°C на корпусе любого насоса. Это критично, так как насосы 555 часто установлены в закрытых корпусах без активного охлаждения.


  3. Энергосбережение (Sleep Mode): Если датчики не фиксируют падения давления в течение 5 минут, система считает, что станок в простое, и полностью обесточивает насосы.


Аппаратная часть
Контроллер: Arduino Nano (ATmega168).
Датчик Вакуума (A5): Инверсный (4.5V = 0 кПа, 0.5V = -100 кПа). XGZP6847A100KPGN
Датчик Давления (A0): Обычный (напряжение растет вместе с давлением). XGZP6847A040KPG
ШИМ Моторы: D11 (Вакуум 555), D10 (Давление 5W). Частота — 3.9 кГц (тихий ход).
Клапаны сопел:
N1: D9 (Вак), D8 (Давл) | N2: D7 (Вак), D6 (Давл)
N3: D5 (Вак), D4 (Давл) | N4: D3 (Вак), D2 (Давл)
Периферия: D12 (Свет камеры), D13 (Статус/Сервис).



Пневматика
Обратные клапана для насосов. Ресивер вакуума собран из муфты с заглушками от канализации ДУ110, бутылка пластиковая для давления. Электромагнитные клапана пневматические OST T101E-FL 24V 1.2W 3/2NC выпускаемых компанией Zhejiang Ours Top Electronic Technology смонтированы рядом с соплами на голове станка.



Это не просто «включалка насоса», а полноценный Managed Pneumatic Hub в мире OpenPnP . Благодаря функции Holding PWM и Sleep Mode по ресурсу приближает их к дорогим бесщеточным помпам, но стоит дешевле.

Файлы.
 
Назад
Сверху Снизу
Яндекс.Метрика Рейтинг@Mail.ru