DOU Проектор: TopLab — принтер, пропалюючий пікселі
У рубриці DOU Проектор всі бажаючі можуть презентувати свій продукт (як стартап, так і ламповий pet-проект). Якщо вам є про що розповісти — запрошуємо взяти участь. Якщо ні — можливо, серія надихне на створення власної made in Ukraine продукту. Питання і заявки на участь надсилайте на [email protected] .
Мене звати Віталій Білик, я CTO і co-founder компанії TopLab. В IT працюю 10 років. Зараз активно займаюся hardware, в тому числі embedded-розробкою.
Якщо коротко, то наша компанія TopLab надає послуги з розробки IoT продуктів — від створення концепції, досліджень і прототипування до масового виробництва.
Ідея
Хочу поділитися з вами кейсом про створення принтера, пропалює пікселі. Цей принтер працює без витратних матеріалів для друку на папері будь-якої щільності і друкує текст «на віки», тобто текст стійкий до вологи і механічних пошкоджень. Використовувати його можна для друку нестираемых контрактів, чеків, рекламної продукції, односторонньої ч/б друку в офісі і т. д.
Ідея створення принтера без чорнила або тонера приходила мені не раз, особливо після чергової заправки картриджів. Але відправною точкою став момент, коли під час роботи з високовольтним електрикою я помітив, що воно відмінно пропалює папір. Команда підтримала мою ідею, і ми приступили до розробки.
Реалізація
Для створення першого прототипу ми використовували високовольтне електрика. Для цього ми зібрали підвищує високовольтний високочастотний перетворювач, перевірили його на звичайному папері і ура! — отримали першу чорну крапку.
Наступним кроком було створення самого принтера. Для прискорення роботи ми використовували старий і неробочий струменевий принтер фірми HP. З нього викинули всю електричну частину, крім двигунів і датчиків положення каретки. Поставили на каретку високовольтний високочастотний перетворювач.
Після цього створили свої «мізки» для принтера. Для прискорення процесу розробки використовували Arduino.
Підключили до нових «мізках»:
- кроковий двигун для подачі паперу;
- колекторний двигун для керування кареткою;
- оптичний датчик положення каретки;
- оптичний датчик наявності папери.
Софт для принтера
Для прискорення розробки вирішили зробити сам принтер максимально «тупим». Такими були його завдання: очікування команди по UART, виконання команди і відправка статусу. Всю роботу по перетворенню інформації і поведінки принтера винесли на бік комп'ютера.
Вийшла наступна схема взаємодії:
Ruby — UART — Arduino — UART — RubyПроблеми та їх вирішення
Запустили на друк... і тут виникла перша проблема. ВВ блок хоча і окрашивал папір у чорний колір, але при друку видавав дуже багато перешкод, що давало помилкові імпульси і дуже сильно впливало на позицію каретки. При тривалому перебуванні каретки на вже запечатаній області папір спалахувала.
Проблему з перешкодами вирішили усувати так:
- Екранували лінії передачі даних від оптичного датчика положення каретки до мікроконтролеру — у підсумку це не дало бажаного результату.
- Замінили високовольтний високочастотний перетворювач на високовольтний перетворювач напруги з постійним струмом. Ідея була в тому, що ВВ змінну напругу створює наведення на довгих провідниках, а ВВ постійне не буде. Але це теж не спрацював. Справа в тому, що в момент друку створюється розряд, який вносить також багато перешкод і створює гучний звук пробою повітря.
- Поставили лазер, проблема була вирішена.
Другий прототип з використанням лазера
Після установки лазерного елемента замість ВВ перетворювача всі перешкоди зникли, але була ще одна проблема швидкість друку. Для фарбування однієї точки на білому папері потрібно було 50-60 мілісекунд при потужності лазера 2,5 Вт. Як потім виявилося, лазер повинен вийти на робочий режим «розгойдатися», після чого він успішно друкує. Тому застосували PWM. Тепер в момент переміщення лазера по папері потужність лазера становить 30-40%, а в момент друку — 100%. Так вдалося скоротити час друку однієї точки до 20-30 мілісекунд за рахунок більш швидкого виходу лазера на робочий режим.
Була ще одна проблема — позиціонування друкуючої головки. Переміщення на найближчі пікселі відбувалося ривками з пропуском потрібної позиції, з подальшим реверсом головки і повторним пошуком потрібної позиції. Рішення було кардинальним — замінили колекторний двигун на кроковий двигун. Також у подальшому позбавилися від оптичної лінійки позиціонування каретки. Вирішення цієї проблеми дозволить повернутися до ідеї використання ВВ перетворювача в майбутньому.
Тестування прототипу друку
Далі ми стали пробувати друк на папері різної щільності. Друк на звичайному папері була відмінною. Друк на картоні — лінії знаходили один на одного. Вирішили цю задачу програмно, змінивши швидкість подачі паперу на більш плавну.
Важливою властивістю друку тексту було те, що він не боявся вологи та механічного впливу. Ще однією перевагою було те, що принтер чудово не тільки друкував, але і нарізав смужки.
Перший вихід в «люди» — виставка
Нас запросили на виставку. Я дуже сильно переживав про те, щоб принтер на виставці міг працювати самостійно без комп'ютера (адже «закон Мерфі», хай йому грець, ніхто не відміняв).
Для цього був доданий модуль читання SD карт пам'яті і переписаний код. На Ruby був написаний конвертер з картинок в CSV файл. Рішення виявилося дуже вдалим. Потрібно тільки подати напругу і натиснути кнопку друку: принтер друкує і ріже стікери, які охоче розбирають люди прямо на виставці.
На фото: Віталій Білик на Міжнародному Гранд Форумі Bit-2017, Київ
Новий виклик для принтера від українського NASA
На виставці я познайомився з співробітником з Державного космічного агентства України (аля NASA). Він запитав, чи принтер друкувати на прозорій плівці.
Так ми взялися перевіряти друк на різних самоклеючих прозорих плівках. Проблема була в тому, що плівка не чорніє і текст на поверхні пристрою був мало читабельним. Підійшли до цієї проблеми з іншої сторони (в прямому сенсі :-) ). Спробували друкувати у дзеркальному вигляді на підкладці цієї самої плівки. Карбонизированная підкладка залишається на плівці після зняття основної підкладки — так виходить контрастний текст.
Результати та плани
Ми, як і хотіли, отримали якісний друк без тонера і чорнила на папері різної щільності і плівці. Тому вирішили розвивати проект далі. Окрилені успішним проектом на Kickstarter Cubio , вирішили придумати мінімалістичний дизайн, хоча і вийшов принтер аля laser engraver. Це спонукало думати далі про наступному витку розвитку проекту. Але це вже зовсім інша історія. Продовження буде!
Опубліковано: 02/01/18 @ 11:00
Розділ Різне
Рекомендуємо:
Ruby/Rails дайджест #13: головні події у світі Ruby on Rails в 2017 році, а також реліз версії Ruby 2.5.0
DevOps дайджест #17: новорічний
Інтерв'ю - Віктор Каргін, творець SEOchat, самого популярного чату про SEO в Телеграме
Влада співробітникам: потрібна холакратия українським IT-компаніям
Junior дайджест: курси, стажування, вакансії. Січень'18