SmartPendant для grblHAL - плата теперь Open Source!

Ғылым және технология

Ссылка на прошлое видео с демонтсрацией возможностей: • SmartPendant - использ...
Решил что нет смысла оставлять плату проприетарной. Теперь это полностью открытый проект! Изготовление и распространение приветствуется.
Ссылка на проект в EasyEDA: oshwlab.com/nick_shl/smart_pe...
Ссылка на файлы для печати корпуса, там же ссылки на экраны: github.com/Devtronic-US/Smart...
Ссылка на код для сборки прошивки: github.com/nickshl/SmartPendant
Поддержать канал и проект:
github.com/sponsors/nickshl
www.buymeacoffee.com/nickshl

Пікірлер: 39

  • @user-jf8qz4vp2w
    @user-jf8qz4vp2w3 ай бұрын

    Уважение вам

  • @apogoth

    @apogoth

    3 ай бұрын

    Простите но можете ли вы выложить файл готовой прошивки .bin самому собрать в CubeIDE не получается , все время ошибки вылетают, видимо не дано.

  • @EniKeys4ik
    @EniKeys4ik3 ай бұрын

    Спасибо. Мое уважение

  • @romahhem4nob39
    @romahhem4nob393 ай бұрын

    Это очень здравое и уважаемое решение. Столкнулся недавно с закрытым проектом пайщика прутка для 3д принтера, там прошивка распространялась hex файлом, много целий преследовал автор. И посмотреть как распространяется устройство, и коммерческие цели конечно же. В общем, всё хрупкое желание собрать и себе отбилось. Наверное начну делать на свой, довольно таки жёсткий 3д принтер, фрезерную голову и поиграюсь с вашим устройством, прямо обрадовало.

  • @kokotmkokot4926
    @kokotmkokot49263 ай бұрын

    Спасибо Вам за интересный и полезный для хоббийщиков проект! Если Вы планируете развивать аппаратную и программную часть, поделюсь некоторыми соображениями: - пины контроллера лучше подключать к кнопкам через резисторы примерно 200 Ом, в момент подачи питания порты имеют неопределенное состояние и замкнутая на землю кнопка (часть функций иннициализируются в момент запуска, судя по коду) может привести к большому току через пины контроллера. - параллельно кнопкам управления следует подключить конденсаторы емкостью 10-100nF, это поможет борьбе с дребезгом по мере износа контактной группы - на вход таймера энкодера лучше поставить RC цепочку с постоянной времени на порядок выше максимальной частоты импульсов ручного энкодера - номиналы резисторов подтяжки кнопок можно смело увеличить на порядок - можно предусмотреть на плате интерфейс RS... все же UART и инверторы шпинделей могут не очень дружить c точки зрения EMI, правда это потребует изменения платы grblHAL - можно добавить входы внешних энкодеров (таймеры вроде свободны) и реализовать управление токарником с помощью электронных штурвалов, а экран использовать как лимбы, то есть обеспечить классическую работу станка независимыми штурвалами Надеюсь, что предложения будут полезны для развития Вашего проекта. Мира, здоровья, добра и всех Вам благ!

  • @kokotmkokot4926

    @kokotmkokot4926

    3 ай бұрын

    да, еще один момент, далеко не все cnc-шники хоббисты программисты, может стоит выложить скомпилированный файл? Думаю не все смогут установить и настроить IDE ради компиляции одного файла. Да и видео инструкция не помешает. Для grblHAL сделали инструкцию, а для своего детища "зажали")))

  • @mnus2016

    @mnus2016

    3 ай бұрын

    Я почему-то уверен что порты микроконтроллера в момент включения имеют вполне определенное состояние - HiZ или "висят в воздухе". К тому же кнопка замыкает порт на землю только тогда, когда нажата. Конденсатор паралельно кнопкам поставить действительно стоило бы, забыл видимо. Энкодер это не простой - он оптический с микросхемой внутри, на выходе уже отфильтрованные логические уровни, не думаю что RC-цепочка дала бы улучшение. Номиналы резисторов для кнопок специально брал не очень высокими, т.к. для самоочистки контактов нужен определённый ток, я не знаю какой точно, поэтому решил взять резистор поменьше, получившиеся 3.3 мА гораздо ниже максимального тока через кнопку(50 мА вроде). Кстати конденсаторы паралельно кнопкам иногда ставятся с этой же целью - он заряжается пока кнопка отпущена, а потом резко разряжается давая всплеск тока при ее нажатии. Таймеры может и свободны, а свободных ног микроконтроллера нет. Можно, конечно, отказаться от боковых кнопок, но не уверен что они совпадают с входами таймеров. RS-422 было бы идеально, если не считать что надо будет 6 проводов вместо четырех. При большом желании можно сделать пару маленьких платок с распаянным трансивером RS-422 - одну установить внутрь пульта, а вторую возле grblHAL контроллера. А вообще было бы идеально если бы grblHAL поддерживал бы CRC, но пока таких планов вроде нет.

  • @mnus2016

    @mnus2016

    3 ай бұрын

    Надо с GitHub'ом разобраться как там делать релизы. Тогда будет hex. А пока можно просто написать на почту из описания канала и попросить 🙂 А дальше HEX зашивается точно так же как и grblHAL.

  • @kokotmkokot4926

    @kokotmkokot4926

    3 ай бұрын

    @@mnus2016 Почему Вы уверены, что порт GPIO в момент включения настроен на вход, а не на выход? (hi z и висит в воздухе, одно и то же, потому делают внешнюю притяжку) Вы во время запуска тетриса не зажимаете кнопку при подаче питания? Энкодер на входе не при чем, Вы защищаете фильтром вход таймера от срабатываний на помеху. Совершенно не настаиваю на свои предложения. Вам виднее....

  • @mnus2016

    @mnus2016

    3 ай бұрын

    Уверен, потому что по-другому не может быть. Такое неопределенное поведение делает невозможным применение микроконтроллера для управления чем либо в принципе. Представьте вы включаете устройство и получаете непреднамеренное срабатывание. Ну ладно, это все мои фантазии, поэтому просто загляните в даташит: гуглите RM0383, там смотрите первое предложение в разделе 8.3.1. На какую помеху должен срабатывать таймер? Там провода длиной сантиметров 5. RC-цепочка помогает от дребезга, но у этого энкодера его нет. Плюс у таймера есть входной фильтр который можно включить. Ну и при помехе в одном канале тоже ничего страшного не случается - вначале прибавляется единица, потом отнимается - см. картинку 80 в том же даташите.

  • @liwajaya76
    @liwajaya7611 сағат бұрын

    Halo sohabat. Apakah pendant ini bisa dipakai untuk fluidnc dengan mudah. Tanpa harus merubah kode sebelum di upload ke STM.

  • @evgeniylazurenko
    @evgeniylazurenko3 ай бұрын

    Здравствуйте. Готовое устройство с отправкой в Узбекистан сколько будет стоить?

  • @MrShaeto
    @MrShaeto3 ай бұрын

    ищите производителей которые через Ali продавать будут насколько я вижу сейчас это очень распространенная модель для open source

  • @maksim0404
    @maksim04042 ай бұрын

    Доброго дня. Договоритесь по странам с теми кто их может там изготавливать, и соответственно деньги по полам. И вам доход, и человеку, и покупателю не морочить голову со сборкой.

  • @ds-covery1671
    @ds-covery16713 ай бұрын

    как купить ?

  • @darkarchangel3258
    @darkarchangel32583 ай бұрын

    я далек от этой темы.Но руки из нужного места. Где мне заказать комплектующие? что бы самому собрать. Кому заняться программной частью есть)

  • @vadimsidorov398
    @vadimsidorov3983 ай бұрын

    Добрый день. Спасибо за проект’ очень классный. Один вопрос можно ли его адаптировать под FluidNC?

  • @mnus2016

    @mnus2016

    3 ай бұрын

    Бегло посмотрел - похоже FluidNC тоже имеет возможность подключения второго потока данных через UART, так что думаю можно адаптировать. А может быть он уже будет работать если в настройках пульта выставить "MPG request: full control", но это не точно 🙂

  • @wldevru
    @wldevru2 ай бұрын

    Здравствуйте. Скажите пожалуйста, с помощью чего создавали графический интерфейс?

  • @mnus2016

    @mnus2016

    2 ай бұрын

    Это полностью моя разработка. Смотрите в код - все в папке DevCore. Есть драйверы под несколько типов экранов и поддерживается пара сенсорных экранов. Вывод на экран обрабатывается в отдельном потоке, у него есть список объектов(базовые объекты как линии, квадраты, строки, картинки уже имеются) и для каждой линии он проходит по списку этих объектов и вызывает виртуальную функцию отрисовки линии в буфер. Когда закончит посылает эту линию на экран с использованием DMA и в это время рисует следующую линию. В результате под экранный буфер используется гораздо меньше памяти, чем потребовалось бы для отрисовки сразу всего экрана. У этого STM'а даже столько памяти и нет.

  • @ljuberzy
    @ljuberzy2 ай бұрын

    кстати, вот еще вопрос: у него выход usb, а у grblhal usb занят компьютером. то есть на стороне grblhal предполагается usb-uart?

  • @mnus2016

    @mnus2016

    2 ай бұрын

    У кого USB? У SmartPendant? Нет, у него выход UART. А USB сейчас используется для перепрошивки и для отладки - можно включить отправку всех данных переданных и полученных через UART в USB а к USB подключить компьютер с PuTTY и смотреть что там происходит. В будущем USB можно будет использовать для чего-нибудь другого, например для подключения к LinuxCNC, не знаю буду ли я это делать... но проект полностью открыт - может кто-нибудь другой захочет такое сделать.

  • @user-qi2cx1lt2v
    @user-qi2cx1lt2v3 ай бұрын

    А где в Украине можно купить..

  • @apogoth
    @apogoth3 ай бұрын

    Простите но можете ли вы выложить файл готовой прошивки .bin самому собрать в CubeIDE не получается , все время ошибки вылетают, видимо не дано.

  • @mnus2016

    @mnus2016

    3 ай бұрын

    Хорошо, сегодня(или завтра - у кого как 🙂) выложу на GiHub.

  • @apogoth

    @apogoth

    3 ай бұрын

    @@mnus2016 Спасибо !!!

  • @mnus2016

    @mnus2016

    3 ай бұрын

    Интересно что за ошибки в CubeIDE? Я попробовал собрать Release конфигурацию и она оказалась сломана(я только в Debug собирал). В итоге её поправил, теперь должна компилироваться в обоих конфигурациях. Попробуйте собрать - если не получится, дайте знать какие ошибки выдает. Так же HEX тоже залил на GitHub - в коде есть папка Release, он лежит там.

  • @apogoth

    @apogoth

    3 ай бұрын

    @@mnus2016 Здравствуйте, я вам на email письмо отправил. в нем описал сложности.

  • @apogoth

    @apogoth

    3 ай бұрын

    Спасибо за помощь, сам пульт работает, но теперь кое что не понятно по подключению к самому станку, подробнее на email Вам написал. Могу и сюда продублировать, просто не знаю где лучше общаться с Вами.

  • @user-bp3hg9fu5t
    @user-bp3hg9fu5t3 ай бұрын

    Было бы интересно этот пульт под linuxcnc адаптировать.

  • @mnus2016

    @mnus2016

    3 ай бұрын

    Как мне видится под LinuxCNC можно пойти двумя путями: простым и сложным. Простой путь это написать прошивку которая будет эмулировать клавиатуру и мышь - энкодер что бы был мышиным колесом(если так можно двигать ось в LinuxCNC), а на экране сделать кнопочки которые будут эмулировать нажатия клавиш с нужными действиями(выбор оси, шаг на клик колеса, обнуление оси и т.д.) минус такого подхода что не будет индикации положения осей. Сложный подход делать ответную часть на стороне LinuxCNC которая будет общаться с пультом(через USB HID например) и отсылать положения осей. Я пока этим заниматься не планирую т.к. LinuxCNC у меня нет.

  • @user-bp3hg9fu5t

    @user-bp3hg9fu5t

    3 ай бұрын

    @@mnus2016 Там есть свой HAL. Возможно адаптировать ваш пульт будет более лёгкой задачей, чем вам кажется. На linuxcnc строят гораздо более серьезные станки и в качестве коммерции это более интересный вариант.

  • @user-hx3cn5dv2m
    @user-hx3cn5dv2m3 ай бұрын

    Отличный проект . Тут не то что купить с России. Тут ка бы вообще задонатить проблемка куча граблей

  • @barracuda-tz3ze
    @barracuda-tz3ze3 ай бұрын

    С Матч3 работает

  • @mnus2016

    @mnus2016

    3 ай бұрын

    Нет, только с grblHAL.

  • @ljuberzy

    @ljuberzy

    3 ай бұрын

    @@mnus2016 немного не в теме. сейчас использую grbl 1.1h на arduino nano (кажется), с candle на компе. предполагается, что вместо grbl нужно ставить другую плату с grblHAL? (пока изучаю репу grblHAL) - ведь этот smart pendant не заменит сам grbl?

  • @mnus2016

    @mnus2016

    3 ай бұрын

    Да, вместо Arduino Nano нужно будет поставить BlackPill F411 25M HSE: s.click.aliexpress.com/e/_mOS3Edo Для управления с компьютера лучше будет использовать ioSender. Candle тоже можно, но не уверен что оно все расширения grblHAL понимает. Про установку grblHAL видео есть на канале: kzread.info/dash/bejne/qo5mvK6IlMTMnbA.html В принципе можно было бы модифицировать код что бы управлять обычным GRBL, но т.к. он понимает только один поток, то пришлось бы сделать жесткое переключение входа RX контроллера между компьютером и пультом. Но тогда не будет возможности регулировки скорости и паузы/запуска/остановки с пульта во время исполнения программы с компьютера.

  • @dimon802530
    @dimon8025303 ай бұрын

    Я бы купил себе готовы вариант. Но я в европе.

Келесі