Comments 57
Сразу вспомнил канал Styropyro на Youtube.
Спасибо за статью, очень интересно 🧐.Что-то я не понял, этот пассивный фильтр вы сняли?
Давайте ещё посмотрим на управляющий контроллер. Можно подумать, что вот эта плата на микроконтроллере с ядром 8051 и есть управляющий контроллер. А плата под ним просто дисплей. Но нет, вот эта плата на рис. 17. - это контроллер, опрашивающий датчики и запускающий импульсы. А управляет им практически компьютер (рис.18.), судя по надписям, по UART. Это именно он рисует все эти картинки на экране.
Неа, вся лазерная логика тоже в этом чипе. А экранчик - это просто китайский HMI дисплей (который программируется на задизайненный на компьютере UI и управляется по UART), так сказать, блок мониторинга и контроля, лишь выводящий данные и отправляющий на МК заданные пользователем параметры.
Ну да, я же написал "это контроллер, опрашивающий датчики и запускающий импульсы.". Лазером управляет этот контроллер. Но он ведомый. Управляет им этот самый дисплей.
Не, дисплей - это просто аналог кныпочек и лампочек. Сам он тупой, как пробка (хотя в нем контроллер помощнее, чем основной). Позволяет лишь не взваливать на основной контроллер непосредственно рисование картинок.
Когда у вас компьютер пересылает контроллеру станка с ЧПУ G-коды, он тоже тупой как пробка - всего лишь кнопочки и лампочки. Тем не менее, ведущий это компьютер. Этот дисплей в данной конструкции главный. Ведущий. Именно он даёт команды на управление лазером. Выполняет эти команды уже второй контроллер на 8051. Этот второй контроллер ведомый.
Ну я б их назвал по другому, - "интерфейсный", ну к юзеру, и "исполнительный", который и есть фактически контроллер лазерной установки. А тот, с дисплея, просто передает по УСАРТу команду на запуск цикла с определенными параметрами. Цикл то отрабатывает именно контроллер на плате (питания, да?). А глючит из-за развала синхронизации по УСАРТу из-за длинного шлейфа (и наводок на него) без экрана.
Глючит, вероятно, не из-за сбоя UART'а, а потому что контроллеру дисплея плохеет от наводок по питанию.
Ну, мой опыт показывает, что наводки в данном случае будут таки по УСАРТу. А не по питанию.
UART там короткий шлейф. И у дисплея происходит перезагрузка.
Да, что там за наводки-то. Там КЗ для плёночного конденсатора 100 мкФ, заряженного до примерно 800 В. Токи там с килоамперы текут. Но за 1 мс.
Ну у ИФП500 сопротивление канала лампы примерно 2.5 Ома. Предположим, что здеся похоже. Поэтому ток 800/2,5= 320А. Время горения типично 0,5 мс (от контура зависит). Ну, где-то так
ПС: на паре килоампер провод к лампе бы испарился, там явно не больше 2,5 мм кв. У меня был случай, - 1,5 мм кв. испарился на 1 кА наверное, изоляция осталась неповрежденной, только в точечку. Испарился не весь а только участок примерно 8-12 см. А издалека выглядел целым и невредимым.
Я без понятия, какое там сопротивление канала лампы и насколько ИФП-500 является её аналогом. Да и это сопротивление в паспорте не указано, но, полагаю, оно зависит от напряжения разряда. В этом лазере импульс накачки 30-50 Дж. Тем не менее, токи там порядка килоампера могут быть вполне. Дросселя в цепи питания лампы нет - его роль играет трансформатор поджига. Импульс должен быть относительно короткий.
Время горения типично 0,5 мс
Кстати, может и меньше. Для модуляции добротности его стоит сделать маленьким.
на паре килоампер провод к лампе бы испарился,
За 1 мс? Ничего с ним не случается. Он просто не успевает нагреться, так как сопротивление невелико. А почему у вас испарился - вопрос.
Дросселя в цепи питания лампы нет - его роль играет трансформатор поджига.
Ну, вероятно тогда до 10 мкс. Килоамперов там нету - если есть возможность замерить макимум в импульсе - убедитесь сами.
За 1 мс?
А даже и не знаю, я случайно на него розрядил батарею конденсаторов с1200 В на 400 мкФ.
Это не совсем так. Дело не столько в токе, сколько во времени импульса тока. Условно - пусть будет 1 мегаампер(!) на проводе 2,5 мм.кв. длинной 100 мм длительность импульса 1 наносекунда. Сопротивление провода это 7*10-4 Ом. Выделяемая мощность 7*10^8 Вт, то есть 700 000 кВт ! При длительности импульса 1 нсек энергия которая выделиться 0,7 Дж. Даже не нагреется.
В нашем случае надо тоже смотреть не ток а на энергию импульса которая рассеивается в проводах и в лампе. Сопротивление проводов 2,5 кв.мм 0,0069 Ом/метр а сопротивление лампы около 2 Ом, так что килоампер в импульсе даже не заметит
Когда у вас компьютер пересылает контроллеру станка с ЧПУ G-коды, он тоже тупой как пробка - всего лишь кнопочки и лампочки. Тем не менее, ведущий это компьютер. Этот дисплей в данной конструкции главный. Ведущий. Именно он даёт команды на управление лазером. Выполняет эти команды уже второй контроллер на 8051. Этот второй контроллер ведомый.
Сдается мне, что если вы отключите дисплей во время работы, результат вас удивит..
Сам он тупой, как пробка
Не совсем так. В нем есть пользовательское ядро 8051, для которого можно писать код. То есть в принципе, вся управляющая логика может быть в нем.
Поэтому у него и выведено 2 UART - один для общения непосредственно с "тупым" HMI, а второй подключен к пользовательскому ядру.
По подобному принципу был советский лазер и3-25. Только затвор там был активным, и можно было покрутить длительность импульсов.
К нему шел блок питания весом килограмм так 150, плюс еще водяное охлаждение.
Зато на выходе сколько то там милиджоулей 532, которые пробивают лезвие.
Круто, что он с фокусом и по металлу может.
"Основной контроллер" - это HMI дисплей фирмы DWIN. Он умеет показывать по командам с UART заготовленные заранее картинки с интерфейсом и интерпретировать нажатия на сенсор, отправляя из на UART же. Сама логика работы реализуется все равно на внешнем контроллере (хотя можно перепрошить и набортный).
Очень сомневаюсь, что китайцы сделали так, что бэкэнд командует фронтэндом. Скорее, наоборот. Вы бы сделали бы, чтобы контроллер станка с ЧПУ требовал от компьютера что-то типа "Ну что, там кнопку-то нажали? Нажали? Рисуй, что она нажата!"? А вот в обратную сторону легко представимо и реализуемо.
Впрочем, именно про DWIN пишут и такое:
В дисплеях DWIN реализуется такой подход: с помощью ПО DGUS собирается проект:
изображения и звуки конвертируются в свой формат, генерируется файл со шрифтами, в редакторе оформляется дизайн (размещаются изображения элементов управления, создаются различные элементы реакций на прикосновение) и генерируются файлы проекта, которые потом через последовательный порт или micro-SD flash карту заливаются в модуль дисплея.Далее модуль запускается и начинает работать в соответствии с загруженной конфигурацией.
То есть нет необходимости постоянно закидывать в него графические данные, они загружаются в модуль в составе проекта.
В процессе работы через последовательный порт можно опрашивать состояние переменных, к которым привязаны элементы управления. А так же есть возможность получать пакет данных в качестве реакции при нажатии на элементы управления
В это случае оно работает именно как дисплей и является ведомым. И требуется постоянно опрашивать, что там с элементами управления. Не знаю, что там сделано у китайцев. Может быть, и такое. Тогда вы правы. Но вообще, вероятнее, всё-таки этот дисплей шлёт пакеты данных как реакцию на нажатия и выбор элементов.
Вся логика интерфейса работает на контроллере дисплея, основной контроллер только посылает команды рода "значение х теперь 1.567" и "покажи экран 1"
Судя по вот этому описанию, как это всё делается, всё работает так:
Сама программа довольно проста и состоит из двух логических частей: принятие команд от дисплея и управление адресной лентой на основе полученной информации. В качестве примера обратной связи, для демонстрации того, что информация может поступать не только от дисплея, но и в дисплей, добавим функцию отключения ленты с обнулением счетчиков и включения с возвратом счетчиков в прежнее положение, сохраненное в Ардуино.
Вкратце алгоритм работы Ардуино такой. Программа следит за входящими данными от дисплея, записывая их в буфер и постоянно проверяя на признаки осознанного пакета информации. Таковыми признаками является байт заголовка пакета “0x5A”. Зная структуру пакета, парсим его, определяя с какого адреса пришла информация и какая именно. Например, если второй байт адреса переменной “0x01”, который в пакете данных находится в пятом байте, речь идет о зеленом цвете, а яркость зеленого цвета, то есть содержимое переменной, лежит в восьмом байте пакета. Сохраняем это значение и отправляем на ленту. Тоже самое делаем с остальными цветами и яркостью.
Если выяснится, что пришла информация о переменной по адресу “0x04”, значит речь идет уже о команде на включение или выключение. Сама команда тоже находится в восьмом байте. Если выключение, гасим ленту, отправляем на дисплей нулевые значения цветов, если включение, зажигаем ленту по сохраненным в памяти параметрами и их же отправляем на дисплей, чтобы все настройки выглядели как до выключения. Значения переменных на дисплей отправляются одним пакетом, так как они все занимают последовательные адреса, начиная с “0x1000”, что очень удобно.
То есть, дисплей сам присылает команду Arduino и Arduino сама командует дисплеем. Получается, и дисплей и контроллер управляют друг-другом.
То есть, дисплей сам присылает команду Arduino и Arduino сама командует дисплеем. Получается, и дисплей и контроллер управляют друг-другом.
Дисплей это HMI. Он может отправить контроллеру сообщение “тебе тут на кнопку нажали, новое значение 1500” и перерисовать у себя эту цифру, но на этом все, логика в основном контроллере.
Так делают, когда нужен простой интерфейс к дешевому контроллеру — берут готовый HMI-экран, который программируется в удобной среде на компе, а под дешевый простой контроллер пишется такая же простая программа, без картинок, фреймбуфера, перерисовки экрана и прочих прелестей GUI-разработки.
И чем же это отличается от управления контроллером лазера? Компьютер станку с чпу так же говорит, "тут оператор нажал, сдвигайся на 1 мм вверх".
Если уж на то пошло, начальник тоже говорит "сделай вот это". На этом все, логика заканчивается. Остальное в разработчике. ;)
И чем же это отличается от управления контроллером лазера?
Эм, ну, тем, что экранчик заменяется на пять кнопок, криво подписанных маркером? Не может быть то, что заменяется на пять кнопок и что можно без проблем отключить во время работы без особого ущерба для основной функциональности, "основным контроллером".
Ну да, ну да. Убираем начальника - работа организуется и без него. Вывод - он не может быть главным. ;)
А вот ниже мне, например, пишут (разработчик устройств на таких панелях), что пароль работает на самой панели, а значит, и настройки тоже там же.
Ага, вместо аргументов пошла софистика. Удобно.
Аргумент очень простой - конкретно эта панель выдаёт на некую железку команды от оператора (!) к лазеру. Не контроллер читает желания оператора, а вот эта панель. Именно поэтому она управляет контроллером лазера, а не наоборот. Вот если бы этот дисплей был бы только дисплеем, а контроллер записывал на него картинки и опрашивал сам бы нажатия оператора, то он был бы главным. Но поскольку команда от панели идёт самостоятельно в контроллер (тот её ждёт), то и главная эта панель.
"Именно клавиатура выдает на процессор команды от оператора. Не процессор ЭВМ читает желания оператора, а клавиатура. Именно поэтому она управляет процессором, а не наоборот. Таким образом можно заключить, что главный в компьютере — контроллер клавиатуры, а всякие процессоры просто вспомогательное железо, сугубо подчиненные железки."
А вот ниже мне, например, пишут (разработчик устройств на таких панелях), что пароль работает на самой панели, а значит, и настройки тоже там же.
Ага, а если пароль работает на сигнализации автомобиля, а не на бортовом компьютере, значит главный в автомобиле — контроллер сигнализации.
Всё никак не уймётесь? Эк вас возбудило-то! ;)
Клавиатура никаких команд на процессор не выдаёт. Она работает исключительно по отдельным символам. И отправляет только символы. Команды из этих символов формируются уже в программе на компьютере. Сама клавиатура понятия не имеет, что эти символы или их комбинации значат. А вот этот конкретный HMI именно что точно "знает", что это за действие выбрано оператором.
Ага, а если пароль работает на сигнализации автомобиля, а не на бортовом компьютере, значит главный в автомобиле — контроллер сигнализации.
В данном случае пароль открывает доступ к настройкам и управлению устройством. Задаются эти настройки в этом дисплее. А в 8051 они попадают от программы дисплея вместе с командами.
Вам уже несколько человек сказали, что вы несете чушь. Ну, ок, хочется продолжать в альтернативной реальности, не буду мешать.
Да неужели? ;) Это просто некоторые ваши собратья-ардуинщики и им подобные плохо понимают что чем считать и почему. Этот 8051 на уровне датчика и без дисплея или внешней команды никак не работает. Но нет, конечно, он главный. ;) Он ведомый. Точка. Им управляет дисплей. Не он дисплеем - туда он сливает показания датчиков, нужные дисплею.
Ага, один вы знаете правду)
Такое тоже бывает. Но тут - вряд-ли. Как по мне, - то на контроллер, управляющий оборудованием с жестким тимингом нефиг вешать графику, - надежнее на это повесить доп. контроллер. Ибо развалить тиминг графикой - это как раз/два плюнуть.
Надежнее захватить обмен по УСАРТу и просмотреть, что там на самом деле происходит.
Так а смысл? Там к тому же шлеф гибкий. К нему не так-то просто подключиться.
Так чиста из интереса. Подключиться переходником-ответвителем. Есть и готовые, можно и самому спаять.
PS: на майне (основной плате) можно довольно легко подпаяться, там 3 проводка нужно всего.
Можно попробовать. :) Правда, для другой цели. Мне бы хотелось бы пароль подобрать. 999999 комбинаций, конечно, проверять долго, но всё же попробовать можно... Другое дело, как часто этой игрушке можно пароль отправлять...
Мне бы хотелось бы пароль подобрат
Ну, а если пароль зашит в интерфейсной части?
как часто этой игрушке можно пароль отправлять...
ХЗ, китайские программисты - они такие загадочные.... Могут и вообще не проверять количество.
Ну, а если пароль зашит в интерфейсной части?
Вот и интересно было бы посмотреть, так ли это.
Могут и вообще не проверять количество.
Я имел виду скорость передачи пароля. 10 раз в секунду успеет? А 100? Не ограничение попыток.
Пароль точно зашит в панели, это я вам гарантирую, как разработчик железок на схожем комплекте. Весь обмен с управляющим МК сводится к передаче параметров и команды на запуск лазера. Ограничения количества попыток, скорее всего, нет, это ширпотреб, а не банкомат. Попробуйте сначала очевидные варианты, типа 000000, 123456 и т.п.
Можете попробывать найти софт для конфигурации панели и вычитать из неё прошивку. Панель подключается к компу так же через УАРТ. Возможно, китайцы поленились и не закрыли её. Тогда код там будет лежать в открытом виде.
Спасибо! Надо попробовать.
Смысл спорить, если дисплейный модуль гуглится по коду с наклейки. Стандартная тема для китайцев, когда графика на отдельном модуле, а передача уставок и информации по uart. ПО DGUS II с русскими инструкциями. Единственное- выгрузить проект из панели скорее всего не получится, так как проект не хранится на дисплее, а только скомпилированный код. Раньше на российских торговых площадках часто попадался модуль Некстион, аналогичная штука.
Такая себе промышленная HMI панель на минималках
Не об этом спор. Просто некоторые считают, что раз 8051 управляет лазером напрямую, то он основной. А я полагаю, что раз этот HMI даёт команды от оператора для 8051, то основной именно он, а 8051 ведомый. Логика 8051 ведь очень простая - передавать в HMI состояние датчиков. Принять от 8051 настройки и команды оператора. Но так как с оператором работает сам HMI (а не 8051), то я выделяю в ведомые его, а не 8051. Этот HMI ведь не тупой дисплей. Там фронтэнд вертится.
Нет, Вы не правы. Просто примите это. Вы не плохо разбираетесь в лазерах, пусть это и останется Вашим козырем в этой статье. Не пытайтесь переубедить разработчиков электроники для подобных систем в том, в чем сами не уверены.
Да конечно! ;) Я и сам инженер-электроник для полного цикла подобных по компоновке устройств (пусть и не на таких вот китайских дисплеях, но с подобными заказными лично под нас). То есть, и электронику и ПО я для таких штук делал. Как вы думаете, вот если есть блок обсчёта показаний датчиков и есть блок отображения интерфейса и взаимодействия с пользователем, то с чего бы считать блок датчиков главным? ;) Этот блок датчиков с его программой может быть использован отдельно с другим устройством в другой разработке (с другим назначением). Без перепрошивки! На базе этого блока датчиков можно собрать самые разные устройства. Поставить любую математику снаружи. Так и тут, я к этому 8051 могу присобачить внешний компьютер и там задать любую логику работы лазера. С любыми параметрам. Хоть попрошу конденсатор заряжать не до 2000, а до 4000 заявленных mJ. Но вот блок пользовательского интерфейса таким свойством не обладает. Он жёстко завязан на имеющуюся у него программу и выполняет заданную целевую задачу ради которой и делался. И переиспользовать его для другого проекта без переделки не удастся. Потому-то он и ведущий.
Контроллер 8051 станет главным только если не сможет работать без этого дисплея. То есть, подключив его куда-то ещё вы не сможете его переиспользовать. Потому что придётся полностью эмулировать дисплей. 8051 тогда окажется привязанным к кнопкам на экране,а не к параметрам команд по UART. И чтобы запустить что-то придётся эмулировать нажатие на кнопку на сенсорном экране.
НЛО удалило запись
Если я подам на 8051 с чего угодно нужную команду, лазер включится. Так что удивлён я не буду. А вот если я отключу 8051, то дисплей включится и покажет пользовательский интерфейс (потому что там крутится программа этого интерфейса). И будет готов выдавать и принимать показания на/от 8051.
Если я подам на 8051 с чего угодно нужную команду, лазер включится. Так что удивлён я не буду. А вот если я отключу 8051, то дисплей включится и покажет пользовательский интерфейс (потому что там крутится программа этого интерфейса). И будет готов выдавать и принимать показания на/от 8051.
Они оба прекрасно могут работать без друг друга, в этом и смысл разделения разработки на два сегмента: на HMI и железку. В HMI пожалуй труда разрабов побольше вложено будет, там код сложнее и проц жирнее. Но смысл-то не в сложности кода, а в том, способна железка выполнять свои функции без нее, или нет.
Ну, т.е. если у нас есть банковский мейнфрейм 80 годов и консоль к нему на современном ноуте с виндой/макосью и процессором последнего поколения — где больше технологий и кода закопано? В ноуте конечно. Кто из этой парочки главный? Не ноут, потому что он заменяется на любой другой, и работа банка от марки ноута и того, какой там процессор стоит, не зависит совершенно, лишь бы работал. А вот если отключить мейнфрейм, но оставить ноут, банк встанет.
Так и тут. Параметры настроили, лазер пуляет импульсами, теперь отключаем контроллер лазера. Все встало, ничего не работает, кроме интерфейса. Железяка выполнять свои функции не может. Настроили, отключаем дисплей... И о чудо, все продолжает работать, разве что интерфейс не рисуется теперь, но если настраивать лазер не надо, то и интерфейс получается не нужен, все прекрасно работает без него.
Но вы упорно продолжаете считать, что консоль к мейнфрейму и дисплей к контроллеру лазера главнее чем мейнфрейм и сам контроллер лазера, да.
Они оба прекрасно могут работать без друг друга, в этом и смысл разделения разработки на два сегмента: на HMI и железку.
Ничерта вы не поняли. Переиспользовать без переделки программы 8051 можно, а HMI нельзя. HMI жёстко привязан к конкретному 8051 с его программой. А 8051 можно подключить к чему угодно и управлять им хоть с калькулятора. Когда вы обвешиваете микроконтроллер датчиками и реле, датчик хоть и выдаёт сигнал, а реле хоть и управляет чем-то, но ведущий микроконтроллер. Сами эти датчики и реле не работают без микроконтроллера. Им команды нужны. И они легко переиспользуемы в других проектах с другими микроконтроллерами. Но вот чтобы переиспользовать микроконтроллер, придётся менять его прошивку, потому что она заточена под конкретную задачу с конкретными датчиками и реле.
. И о чудо, все продолжает работать, разве что интерфейс не рисуется теперь, но если настраивать лазер не надо, то и интерфейс получается не нужен, все прекрасно работает без него.
Начальник настроил работу и дальше коллектив работает без него. Начальник не главный? Жаль коллектив не узнает, что проект давно поменяли (оператор на дисплее выбрал другие параметры).
Короче, уймитесь. Вопрос выеденного яйца не стоит, но возбудились ого-го. Какая вам вообще разница, кто там главный? Тем более, что я описал механизм взаимодействия, где один шлёт другому и обратно. Юношеский максимализм до сих пор не прошёл? Хочется поспорить просто так? Своё мнение я озвучил, почему так считаю, я описал. Какое вам до этого дело? Ну вот и успокойтесь.
Интересно было увидеть технические подробности устройства лазеров лоукост-сегмента.
В медицине используются в общем-то такие же лазеры, но параметры излучения нормируются гораздо строже.
В частности, у офтальмологических Q-switched Nd:YAG лазеров, применяемых для дисцизии вторичной катаракты, иридотомии, витреолизиса, используются наносекундные импульсы излучения с длиной волны 1064 нм, фокусируемого в виде конического пучка в пятно диаметром 8-10 мкм, с регулируемой энергией в пределах от 0,5-1,0 до 15-20 мДж.
Данный лазер, также называемый фотодеструктором (не путать с лазерами для коррекции зрения и для коагуляции сетчатки - у них совсем другое устройство и параметры излучения), оказывает терапевтическое действие за счёт рассечения ударной волной или прямого испарения определённых структур. В ходе процедуры врач вручную наводит фокус в нужную точку и обстреливает её лазерными импульсами.
При энергии до 1 мДж оптический пробой, как правило, не происходит.
При энергии от 1 до 2 мДж во внутриглазной жидкости возникает оптический пробой (видна точечная яркая вспышка), сопровождающийся маломощной ударной волной, способной локально разорвать тонкие нити и мембраны. Пациент при этом обычно ничего не чувствует. Для дисцизии вторичной катаракты нужно от 10 до 30-50 таких импульсов.
При энергиях от 2-3 до 5 мДж возникает более мощная вспышка и ударная волна, которая "расталкивает" окружающие структуры, а в жидкости образуется газовый пузырёк. Пациент может почувствовать щелчок в глазу. Такие импульсы применяются для рассечения более плотных структур. В воздушной среде такой импульс тоже создаёт видимый и слышимый оптический пробой, способный сбить чернила с поверхности листа бумаги и оставить на ней небольшую ямку.
Импульсы более высоких энергий при лечении глаз используются редко из-за сильного деструктивного эффекта (могут вызвать кровотечение и т.д.).
В коже минимально заметный след остаётся при энергиях 10-20 мДж и более.
Разбираем китайский аппарат для удаления татуировок на основе неодимового лазера