Представил сколько времени ушло на то чтобы составить сценарий, убедиться что текст корректно звучит, отснять материал, озвучить и смонтировать. Спасибо за труд. Теперь понятно почти все.
я сам и не думал что будет так сложно. Вроде год назад настраивал по инструкции на сайте и рекомендациям на форумах. Было сложно, но настроил и вроде бы разобрался. И вот решив снять доходчивый видеоразбор настройки программы столкнулся с тем, что программу обновили, а инструкции на сайте частично не актуальны. Я 1,5 дня потратил на разбирательства с обновлённой версией программы, потому что про старый вариант снимать не хотелось так как в новом варианте добавились разные новые плюшки. Так и закрутилась киноэпопея на 4 дня и 2 ночи))) в итоге на выходе 18минут видео... Вам спасибо что поддерживаете видео лайком и оставляете комментарии. Это очень приятно, что мой труд пригодился кому-то ещё. Ведь пока кроме лайков и комментариев у меня с канала нет никакой пользы)))
Определяет только квадрат по компонентам? У меня проблема установки ТВ линз на модули , получается 3 луча под 120 градусов и геометрия определения треугольник
@@MEGA-X-TV сейчас я собираю большую версию бюджетного smd-расстановщика и некоторые детали переделываю, чтобы было удобней их печатать на 3D-принтере и в дальнейшем собирать. Как только будет результат я хочу снять видео по сборке. Вот там будет список всех комплектующих. 🧐 и наверно выложу в открытый доступ STL-детали для печати. А это видео именно о настройке программы. Не хочу делать видео "сборную солянку" в котором обо всём на 2 часа.
Эдуард, огромное спасибо за Ваш труд. Сейчас сам собираю установщик и вижу сколько ньюансов нужно учесть. Единственный момент - у меня двух сопельный. Подскажите пожалуйста где про его настройку можно прочитать.
Приветствую. Почитать можно в официальной документации OpenPNP и у них есть сообщество в OpenPnP - Google Groups. Там много разных тем жуют и есть эта тема. У меня не получилось настроить работу с двумя соплами.
Классное руководство! Большое спасибо за ваш труд. Жалко конечно что детали только в STL, придется кинематику рисовать самому в солиде. Но многое стало уже понятно, за исключением одного. Что именно надо дорабатывать в моторе головы расстановщика?
всё зависит от Ваших потребностей. У меня получился вот такой необходимый список сопел Juki: №502 - детали размером 0603 №503 - детали размером 0805 №504 - детали размером 1206, CA, CB, sot-23 и подобные №505 - детали размером soic-8, ssop-16 и т.п. №506 - микросхемы TQFP-32, LQFP-48, TQFP-64 и более
Страшно представить, сколько времени ушло на проектировку такого станка. У вас столько заказов печатных плат, что появилась потребность в раскладчике или вы на продажу собираете? Гаражный инженер будет дольше gcode писать для одной нужной платы, чем запаять всё руками.
В прошлом 2020 году во время самоизоляции летними вечерами моделировал детали и потихоньку за 2 месяца собрал данный аппарат из того, что было под рукой. Конечно же желание собрать расстановщик компонентов появилось ещё года 3 назад и я потихоньку заказывал с Китая некоторые компоненты, которые я не смогу изготовить или приобрести в своём городе: сопла, шаговые моторы с полым валом, помпа, воздушный клапан. Я даже сэкономил на направляющих, применив в своей конструкции полые алюминиевые трубки из хозмага, а движущиеся по ним блоки распечатал в размер линейных подшипников с надеждой что это всё переедет на большую рабочую поверхность и будут установлены нормальные валы с линейными подшипниками. В итоге даже эта конструкция стала меня выручать с сериями в 50-200плат. Скорость и повторяемость оказались достаточными. По поводу "писать G-код" - прошли те времена когда G-код писали ручками. Сейчас вот такой алгоритм составления программы для smd-расстановщика: 1. устанавливаем плату 2. гоняем каретку с камерой по центрам реперных точек и в программе OpenPNP добавляем реперные точки простым нажатием на клавиши в определённом окне 3. в другом окне программы указываем в каких питателях какие компоненты установлены 4. гоняем каретку с камерой по центрам компонентов на плате и нажимая на кнопки в программе составляем список деталей 5. заправляем необходимое количество компонентов в питатели и запускаем расстановку
@@qwertyytrewq1482 когда чего то не знаешь .. это кажется магией. координаты и угол поворота компонентов берем из КАД программы и засасываем в опен пнп.. потом там питатели настраиваем. вообе автор молодец. я что то уже второй месяц не могу допечатать. осталось каретка и ось Z.
@@CrazyPit Вижу у вас на канале, в диптрейс проектируете, хороший выбор. Интересно openpnp гербер кушает чтоли, откуда она берет угол поворота компонентов?
Здравствуйте, скажите вот если компонент был захвачен соплом не корректно (боком) с камера распознала несоответствие, программа выдает ошибку связанную с этим элементом. А можно ли настроить так чтобы она сбросила этот элемент и взяла следующий. Вроде везде включил 2 попытки но не работает, только выдает окно ошибки 😢 Спасибо 🙂.
@@pavelmuchkaev7192 да, где-то ставится галочка что ошибку не высвечивать и скидывать элемент и брать следующий, но если будет это указанное число раз, то всеравно будет окно ошибки
Excellent, perhaps one of the best and most complete pnp video, everything necessary explained step by step, THANK YOU VERY MUCH for sharing your work ..
Спасибо огромное, Эдуард за твой труд! Подписался на канал. Это меня вдохновило на продолжение моего хобби. Дело в том, что я приспособил 3-Д принтер для пайки навесных элементов на плату, а теперь (а теперь благодаря тебе) можно начать и о реализации монтажа SMD элементов. Спасибо еще раз.
Пожалуйста. Пользуйтесь. Надеюсь найду время чтобы снять третье видео из этой серии, в котором расскажу как экспортировать список компонентов из программ-редакторов печатных плат и корректировки собственных управляющих программ.
вот не поверите - год назад намучился с настройкой ещё той версии. 1 год у меня раскладчик отпахал и я решил поделиться методом настройки с людьми и для себя заснять инструкцию по настройке (на случай крякнет диск или слетит винда). Решил скачать актуальную версию программы и снять ролик и... .....барабанная дробь.... 🤬 я ещё 1,5 дня потратил только на разбирательства с новой версией... и именно поэтому там в видео оговорочка, что "я не разобрался почему оно именно так работает, но с такой конфигурацией работает правильно как с предыдущей версией программы".
@@sozdatelEd там действительно без наркотиков не обошлось, даже когда вставляешь приведенный на странице разработчика код, он и то криво работает. Папример в секции gcodedriver в команде move to при нажатии на кнопки пульта (слева снизу) команды для x y передаются, а для z нет 😁, хотя все 3 оси в axes настроены одинаково. Я с этой софтиной так напрыгался по граблям, что начали посещать мысли своё наваять, разумеется с openCV, только сделать всё в трезвом уме и твердой памяти
@@BB-ti9bf ну в документации на сайте OpenPNP сборная солянка к разным версиям. Там реально можно запутаться. Надо переосмысливать и пробовать. Я тоже думал сделать свою программу и даже собрал проект в Qt подвязав камеры и OpenCV. Но поигравшись понял, что свой софт - это дело долгое. А платы надо расставлять уже вчера. Поэтому потыкался и разобрался с программой OpenPNP. Пока всё устраивает. Но чуйствую в этом деле главное не забывать правило - "пока всё работает ничего не надо трогать и обновлять)))"
Ну тут нет ничего необычного. Простой хоббийный ЧПУ станок детали которого были напечатаны на 3Д-принтере. Я сейчас перемоделирую голову станка и наверно сниму обзорное видео по сборке расстановщика. Там будут все комплектующие из которых собран станок.
@@ОлегПравилиный да, но тогда места под держатели компонентов практически не остаётся. Я вообще делал этот расстановщик чтобы проверить технологию бомж-варианта smd-раскладчика. А оно заработало)))
@@ОлегПравилиный новая модель будет аналогична этой, только удобней сборка. А увеличить рабочую зону можно просто увеличив длину валов. Так что думайте сами что делать. Я предлагаю вариант из пластика, потому что это самый дешёвый и доступный вариант для хоббистов. А помогает он очень хорошо.
пожалуйста. Я знал что видео будет полезным для технарей, которые захотят собрать и настроить свой раскладчик. В вашем варианте надо будет только G-коды управления исполнительных устройств изменить. А остальная часть настройки идентична. Кстати раскладчик может работать даже без камер. Чуть дольше времени надо будет тратить на сборку управляющей программы для расстановки компонентов и платы необходимо будет очень точно устанавливать.
@@sozdatelEd по схеме есть вопросы и по командам и по пинам управления. я когда пытался сам настроить именно тут застрял .а именно команда М42 и пины выхода где настраивать в прошивке марлина.
@@CrazyPit именно для этого один хороший человек скорректировал прошивку Marlin v1.1 и выложил в открытый доступ. Зачем лезть под капот работающего железа? Можно конечно же сравнить первую версию марлина со второй и добавить в парсер новые команды... например в той сборке, которую предложил я в предыдущем видео в файле Marlin_main.cpp есть функция process_next_command() и в ней можно добавить или изменить реакцию на новые команды....ну и далее пройтись по прошивке. Но я не вижу проблем использовать ту, которая стабильно работает уже у многих пользователей. Дело конечно же Ваше. Решайте какой путь Вам удобнее.
@@sozdatelEd разобрался с skr 1.3 и марлином 2.0 . надо включить команду М42 а названия пинов брать из описания платы в том же марлине. название пина для 1768 указывается без подчеркивания например чтобы включить подогрев стола через m42 -надо команду M42 I P205 S255 где "и" это игнорирование защиты пинов
5:26 проблема возникла. после нажатия HOME паркуется но потом идет в нулевые координаты и там ищет FIDUCAIL-HOME/ и вываливается с ошибкой 2023-02-10 15:57:12.700 ReferenceHead DEBUG: H1.home() 2023-02-10 15:57:12.700 AbstractMachine TRACE: Exception caught, executing pending motion: java.lang.Exception: Visual homing is missing the FIDUCIAL-HOME part. Please create it. at org.openpnp.machine.reference.ReferenceHead.visualHome(ReferenceHead.java:72) at org.openpnp.machine.reference.ReferenceHead.home(ReferenceHead.java:54) at org.openpnp.spi.base.AbstractMachine.home(AbstractMachine.java:301) at org.openpnp.machine.reference.ReferenceMachine.home(ReferenceMachine.java:425) at org.openpnp.gui.MachineControlsPanel$HomeAction.lambda$actionPerformed$0(MachineControlsPanel.java:326) at org.openpnp.util.UiUtils.lambda$submitUiMachineTask$0(UiUtils.java:33) at org.openpnp.spi.base.AbstractMachine$1.call(AbstractMachine.java:559) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 2023-02-10 15:57:12.701 MessageBoxes DEBUG: Error: java.lang.Exception: Visual homing is missing the FIDUCIAL-HOME part. Please create it.
в ветке Axes для каждой оси нужно установить букву, как в видео. Если это забыли сделать, то управления с кнопок не будет. Или может быть ползунок расстояния перемещения стоит в самом низком положении и каждое нажатие у Вас по 0,01мм и кажется что не управляется.
Here is a link to a photo of the RAMPS_1.4 board with the connection of the camera lights and the output for connecting the compressor: disk.yandex.ru/i/EY1Z3XF6VczKcg The compressor is controlled by a field-effect n-channel transistor. The transistor is controlled by the green wire in the photo.
@@Darox4100 the green wire is the control of the field-effect N-channel transistor, which will turn on the compressor motor. The switching scheme is classic.
Внимание! Жестокий глюк openpnp последней версии: если вы удалите из списка оси в пункте axis, то повторное создание с теми же параметрами приводит к тому, что ничего не работает и gcode driver перестаёт передавать команды!!! Лечится только удалением openpnp с чисткой вручную programdata и выкорчевыванию опять же вручную всего связанного с openpnp из реестра Мда, знатные индусы эту софтину писали. Я на этих граблях дня 3 плясал и никак не мог понять: вот же ось создана, все верно вписано, а в консоли gcodedriver передает пустоту Всё это время искал где же я ошибся и курил мануалы, а оказалось что софт кривой
А зачем оси удалять? Скажу так - софт хоть и кривой, и не интуитивно понятный, но на данный момент адекватной бесплатной альтернативы нет. Если разобраться и не делать нелогичных действий, то прога достаточно гибкая и комфортная. А по началу изучения хочется её удалить и написать свою
@@sozdatelEd логика удаления была простая - по умолчанию там много того, что не нужно, хотел оставитт xyz и поворот сопла. Причем я удалил не все, а случайно убрал z, восстановил - Z не работает. Начались пляски с бубном... В конце концов, если проходя мимо комнаты вы открыли дверь и передумали туда заходить - не должен падать потолок и отваливаться дверь
@@BB-ti9bf ну как бы "не должны", но это ж опенсорс. Кто б там проверял все косяки? Ну есть косячки в софте. Надо на форумах писать и автор поправит... ...наверно
@@sozdatelEd та я понимаю что мне создатель ничего не должен, но я, как имеющий отношение к программированию офигел по полной с того, что не первый релиз вроде, а приложение считай полностью ложится при попытке затронуть базовые настройки. Короче бомбит меня после 3-х дневного головняка
@@BB-ti9bf полностью понимаю Вас. Сам перед съёмкой инструкции 1,5 дня бился с алгоритмом настройки этой версии проги с нуля. Собрал файл с пошаговой инструкцией и сохранил у себя на яндекс.диске, чтобы вдруг что-то слетит, то винду переустановил и взять рабочий дистрибутив. Год назад не так проблематично настраивалась прога. Но тоже помню намучился. Что-то не шло по инструкции и приходилось на форумах темы читать и додумывать что имел ввиду автор в некоторых моментах.
Пожалуйста. Я думаю граблей не возникнет, если подсмотреть как собирают другие и как выглядят заводские станки. Хоббисты всегда ищут варианты сэкономить. Я вот реально большую сумму сэкономил сделав себе такой станочек. Удачи Вам в сборке станка.
@@sozdatelEd Не уверен, что можно в одиночку такое написать. Что-то что сделает твою задачу, может быть, но такое... Это как я понимаю проект с открытым кодом и там не один человек над этим трудится, да и по умнее нас некоторые. А так вообще недавно попал на эти видео по ПНП. Ни когда не думал что такую машину можно за 1000 долларов собрать. Теперь меня свербит просто. Наверно пока я не соберу такое не успокоюсь :)
@@serhioromano чё сложного? Когда понимаешь какой функционал, то становится ясно что используя openCV это дело легко можно реализовать. Вопрос только "зачем, если уже есть готовое?" Скорее всего ребята из SMD-TAXI накорябали свою прогу, а потом наворотили её и теперь продают свои расстановщики задорого. Там нет никаких сложностей в ПО, когда понимаешь какие функции должны быть у программы
@@sozdatelEd Я разработчик ПО уже 25 лет. Одно дело понятно что и как делать, и что типа нет вопросов. Ясна задача, ясно что на входе, что на выходе, примерно понятен функционал и интерфейс, но другое дела это все сделать. Вот я недавно писал облачную службу IIoT для индустриальных ПЛК. И вроде мне все было понятно, и задача и архитектура, и технические решения. И вроде сделал рабочий прототип. Но вот запустить готовый продукт так и не смог. Ведь для рабочей версии нужно гораздо больше чем на коленке собранный proof of concept.
@@serhioromano у меня тоже опыт работы не маленький. Для ПК и телефонов я собираю проекты в Qt. Изучив функционал этого приложения я не вижу сложностей повторить проект, но вот после того как разобрался в этой программе пропал интерес делать свою.
Моделировал в течении пары месяцев и потихоньку собирал. А с программой разбирался недели две. Долго въезжал в машинное зрение и потом когда понял что красный свет на подсветку нижней камеры лучше, чем белый, то вернул к заводским настройкам и сделал незначительные корректировки яркость/контрастность. Конечно же когда проше́л все эти этапы сейчас можно быстрее собрать и наладить аппарат и побольше...
@@sozdatelEd добрый день, я сейчас занимаюсь чертежом платы, точнее не я, а мне помогают. Следующий шаг - покупка такого станка. Вы можете продать мне такой станок?
Изключително навременно и полезно видео. Благодарим! Аз се питам дали OpenPNP е способен да импортира файл с координатите за разположение на компонентите от системи като ALTIUM, PCB ALLEGRO и др.?
@@sozdatelEd Примерно сделал печатную плать в PCB ALLEGRO. Компаненты уже на свое место и у них есть координаты, Експортировал файл для PnP которой содержит информации о разположении по плате на каждой елемент. Можно ли етот файл загрузит в OpenPnP чтобы не гонят nozzle по плату чтобы в ручную снят координаты . Если они там мaлo ОК, но если сотнями то ето мудная, длителная работа и затрат времени.
@@DigitalWorldBG OpenPNP поддерживает импорт файлов из некоторых редакторов печатных плат. Я точно не знаю как дела обстоят с импортом из программы PCB ALLEGRO. Если формат не поддерживается, то файл можно попробовать обработать в программе Exel или если есть навыки программирования, то написать свой транслятор. Файлы с координатами плат и компонентов для OpenPNP кодируются в формате XML в текстовом виде. Там нет ничего сложного. Создайте файл для расстановки, сохраните его и откройте его в текстовом редакторе. Вы увидите простую структуру. К такому виду надо будет привести файл, который Вы экспортировали из программы PCB ALLEGRO.
Это самый лучший цвет для дальнейшего распознавания блестящих поверхностей. Я сначала делал белую подсветку и распознание было намного хуже, чем потом с красной. В добавок с белой подсветкой было больше проблем с боковым каким-то дополнительным светом - днём с окна свет, а вечером от лампы с другой стороны и определение граней было уже с какими-то смещениями. А поставив красную подсветку сразу эти проблемки ушли.
@@sozdatelEd Спасибо за ответ и вообще за труды. Распечатал детали, все очень грамотно разработано! Впереди увлекательный процесс сборки ну и настройки...
Perhaps in the future there will be a video with the assembly of the machine from my parts. Now I'm redoing some parts for the convenience of printing and assembly.
а если вкратце, то собираем и так же добавляем плату которая принимает G-коды и определяется как COM-порт. Добавляем новый GCodeDriver драйвер и настраиваем порт, скорость и какими G-кодами будет происходить подключение/отключение этой платы. Далее во вкладке Актуаторы добавляем актуаторы и можем сделать: 1 вариант - каждый питатель будет управлять своим индивидуальным актуатором и тогда устанавливаем команды управления True и False 2 вариант - все питатели будут управляться одной командой, но в ней будет передаваться номер питателя для сдвига компонента, тогда у актуатора прописываем команду ACTUATE_DOUBLE_COMMAND например M42 P9 {DoubleValue:S%.0f}. Далее добавляем питатель и указываем этот актуатор, а так же номер, который будет передаваться на плату управления автоматическими питателями.
@@CrazyPit да. Всё верно. По поводу кодов - там можно любые свои придумывать. А свободными пинами контроллера управлять хоть сервами, хоть клапанами, хоть моторами.
на aliexpress этот двигатель ищется как "39 мм полый вал Гибридный шаговый двигатель". У него обмотки со средними соединёнными отводами (соединение звездой). Разбираем двигатель и рассоединяем цента двух обмоток. Собираем двигатель и средний вывод не используем.