- Регистрация
- 23 Авг 2023
- Сообщения
- 3,969
- Реакции
- 0
- Баллы
- 36
Ofline
Введение
При сборке самодельного 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. Мощность, на которой насосы "шепчут", поддерживая давление без лишнего шума и износа.
💡 Особенности реализации «умных» функций для статьи:
Алгоритм Auto-Purge: Если OpenPnP дает команду захвата легкой детали (например, 0201), а в системе остался глубокий вакуум от предыдущего тяжелого чипа, контроллер сам «пшикнет» клапаном давления на 40 мс. Это выравнивает давление в магистрали до безопасного уровня за доли секунды.
Защита от перегрева: Благодаря двум датчикам NTC 100K, контроллер остановит работу при достижении 75°C на корпусе любого насоса. Это критично, так как насосы 555 часто установлены в закрытых корпусах без активного охлаждения.
Энергосбережение (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 по ресурсу приближает их к дорогим бесщеточным помпам, но стоит дешевле.
Файлы.