Для станка ЧПУ мне понадобился контроллер с поддержкой USB. Держать компьютер с LPT портом мне надоело, к тому же таскать каждый раз системный блок на балкон, где у меня установлен станок — надоело еще больше.
Я давно уже видел на aliexpress различные расширители портов для ардуино, на всякие граверы, выжигатели, 3D принтеры, а значит должно существовать решение и для ЧПУ. И такое решение есть — библиотека GRBL.
И тут меня ждало небольшое разочарование.
-во первых скорость работы — у меня одна ось сделана на каленой шпильке из стали 45, но там метрическая резьба, и я получаю либо нормальную скорость, при свободном перемещении с полношаговым режимом шагового двигателя (и лишним шумом и резонансами) , либо низкую скорость, но зато более-менее тихую работу.
-во вторых библиотека это требует чип Atmega 328 , у меня же были только в наличии модули pro mini с atmega168
Ждать новые модули было лениво, и я стал искать. Для начала я нашел прошивку от древней версии GRBL (вроде это была версия 0,6) Но она оказалась глючная и практически все программы, отправляющие на нее G-код отказались от ее поддержки.
Я стал гуглить и наткнулся вот на этот вот форум http://www.cnc-club.ru/forum/viewtopic.php?f=41&t=21393&p=477776#p477776
И тут удача, STM32 STM32F103C8T6 Blue pill у меня были, и при этом GRBL доработали, и вместо трех осей он поддерживает аж цеых 5, благо у данного микроконтроллера ножек хватает.
Об этой отладочной плате можно посмотреть информацию здесь http://wiki.stm32duino.com/index.php?title=Blue_Pill , у меня было несколько таких отладочных плат, ссылки на эти отладочные платы, а так же на метриалы, и то, чем можно все это дело прошить или отладить будут в конце статьи.
Стоит отметить, что за основы был взята портированая прошивка с этого проекта
https://github.com/usbcnc/grbl/wiki ,
GRBL 1.1f полностью перенесенный на stm32f103 с сохранением большей части исходного кода и даже комментариев от родного GRBL. Как и в оригинальной (под модули ардуино) прошивке имеем 3 оси, но уже, как утверждает автор переноса, частота возрастает, до 180кГц! На сколько это честно — не буду судить, но скорее всего реальная скорость будет ниже раза в полтора.
Эту прошивку я не рассматривал, и сразу скачал модернизированую на 5 осей версию с форума. Сам проект битает вот здесь https://github.com/robomechs/6-AXIS-USBCNC-GRBL
Проект этот собран под Atollic true studio , и что бы собрать прошивку, мне пришлось качать и компиллировать ее из исходников. Собранную и готовую прошивку вы найдете в конце статьи, ее можно просто залить, не ловя лишнего гемороя, в виде установки Atollic true studio и компилляции проекта, Но если руки чешутся, милости просим по ссылке выше.
Прошивку я заливал при помощи китайского клона st link, но вполне сгодится и переходник USB to COM,
( USART или иными словами RS232) ссылки на проверенный переходник так же в конце статьи.
заливка прошивки не составляет ни какого труда.
Для открытия файла с прошивкой необходимо выбрать File->OpenFile и выбрать файл для прошивки
Что бы подключиться к контроллеру необходимо нажать эту кнопку. Думаю не стоит напоминать, что контроллер уже необходимо подключить к программатору, а программатор ST-Link подключить к USB порту. Драйвера на ST-Link искать не нужно, они автоматически ставятся с утилитой (по крайней мере у меня так было). ST-Link и Blue pill соединяются согласно маркировки. В Blue pill для этого специально выведены 4 отдельных с короткой стороны — именно сюда и подключается программатор. Выводы подписаны, сложности быть не должно. Самое главное не перепутать провода питания между собой, если напутаете в сигнальных — ничего страшного, контроллер просто не будет читаться, а если перепутаете полярность, то плату с вероятностью 99,99% можно будет выбрасывать.
Для запуска процесса прошивки необходимо выбрать пункт Target->Program или Target->Program & Verufyty. Во втором случае процесс прошивки будет идти чуть дольше (секунд на 5-10) но программа проверит корректность залитой прошивки (сравнит их).
Сама прошивка занимает 5-20 секунд.
После успешной прошивки увидите вот эту надпись.
После завершения прошивки платка подключается просто через микро USB разьем, ни каких переходников ей не надо. Для платки потребуется поставить драйвер,
чтобы конроллер определился операционной системой как COM порт https://www.st.com/en/development-tools/stsw-stm32102.html
Двигатели и остальное оборудование (Концевики, управление шпинделя, управление лазера) подключается согласно этой схемы.
Остальная работа с модулем идентична работе с библиотекой GRBL на arduino.
Описание по работе с данной библиотекой я разместил здесь Настройки библиотеки GRBL 1.1f
Я пользуюсь программой
Universal Gcode Sender
Ну а теперь обещанные ссылки и прошивка.
Сам файл прошивки
Файл прошивки для заливки в контроллер
http://r13-project.ru/stm32grbl11/
Плата STM32F103C8T6 Blue pill
Плата Stlink ST-Link V2
Драйвер шагового двигателя из видео
Я использовал драйвер на микросхеме TB6560 , но по этим микросхемам много противоречивых отзывов, поэтому рекомендую другой драйвер TB6600 (опять же по отзывам, хотя у меня и с этими дрйверами проблем не быо). Стоит учесть, что в первом дрйвере уже встроениа оптическая развязка, в случае аварии погорит только драйвер, не унеся с собой остальную электронику. Актуально было во времена управления через LPT порт компьютера, где это могло привести к выбрасыванию на помойку всего компа.
TB6560
TB6600
Если не хотите приобретать отдельный программатор для STM32, тогда возьмите переходник USB to COM , им тоже можно прошить контроллер, программой FLASHER STM32 — STM32 Flash loader demonstrator
Я пользуюсь такими конверторами, и пока они меня не подводили.
Подробнее про прошивку контроллера можно посмотреть в видео из этой статьи Настройка GRBL самодельного лазерного гравера на примере STM32 blue pill, там отдельно в видео показаны 2 способа прошить контроллер.
Подробнее о настройке библиотеки GRBL можете прочесть здесь: Настройки библиотеки GRBL 1.1f
Если возникнут вопросы пишите в комментарии или в группе в контакте. https://vk.com/public179183134
Здравствуйте.
Спасибо, очень интересно. Буду изучать внимательно.
Возможно появятся вопросы, могу надеяться на ответ дилетанту?
Анатолий
Я сам когда то был дилетантом. По мере возможности отвечу на вопросы. Если здесь не отвечаю, можно стукнуть в группу в ВК или коменты на ютьюбе — я там чаще появляюсь.
grbl_v1.1h.20190825.hex под STM32 есть скомпилированный ?
Есть же в статье https://r13-project.ru/stm32grbl11/
saya mengunakan stm 32 untuk laser tapi homming tidak bekerja ?
Anda perlu menonaktifkan pemeriksaan sumbu z. Firmware untuk pengukir laser ada di sini. https://r13-project.ru/files/arh/lasergraver02.zip
А для Maple Mini stm32f103cbt6 прошивку под лазер как изменить?
Там тот же контроллер стоит, если память не изменяет, менять не надо, только уточнить распиновку (что куда подключать).
Здравствуйте. Возможно как то привязать MKS TFT24 , к этой прошивке? Я новичек в этом деле. Как я понял 30-pa9 и 31-pa10 выводы платы STM32F103C8T6 не задействованы и на них можно подцепить uart- rx tx MKS TFT24 ? Но как сообразить не могу. Вы можете прописать в прошивке и отправить мне hex? Ваш труд оплачу.
Сам модуль MKS TFT перепрошить надо, например вот так https://cncmasterkit.ru/viewtopic.php?f=3&t=5068, а дальше пересобрать прошивку в атолик студио изменив в: свойствах проекта -> C/C++ General -> Path and Symbols -> Symbols убрать USEUSB, тогда должен заработать UART1 но после этого оси B и С работать не будут!
Доброго времени суток! А через такую плату можно сделать через флешку чтобы читало напрямую, и плазморез реально сделать на такой плате?
Там прошита библиотека -GRBL, насколько мне известно, она не поддерживает напрямую флешку, нужен контроллер внешний типа MKS TFT32, прошитого под работу с GRBL, либо подобный самодельный, есть схемы.
Привет. Я понял, что данная прошивка для 6 осей. А если достаточно 4(X, Y, Z, A) и нужен USART — исходники позволят скомпилировать?
Да позволяет, если ничего на выводах UART не висит, то его можно включить. В настройках проекта просто включить нужный SERIAL порт. В комментариях то ли под видео, то ли в группе в вк уже отписывалось два человека, что у них это получилось.
Подскажите а какую программу можно использовать grbl для полноценной поворотной оси
Здравствуйте меня зовут Михаил!
я начинающий в плане познания, подскажите по схеме подключения сигналов с стм на драйве(какие пины конкретно от стм к драйверу).Буду благодарен!!
Что именно не понятно? там вроде схема есть. управление драйверами через пины step, dir, en
Ребят привет! Подскажите решение следующей проблемы, в программе lasergrbl регулироваа мощности лазера работает, а в UG sender лазер работает в холостую. Как регулировать мощность лазера в UGS, может какой либо параметр проглядел. Схема лазера как описано выше, на stm32. Прошивка grbl 1.1.
Так GRBL отрабатывает G коды, видимо не тот код прилетает, либо не прилетает вообще. Не работал с UG sender, не знаю.
Что то ссылка на файл с прошивкой не работает….
Всё там работает. некоторые браузеры глючит, сделайте так — копировать адрес ссылки, и в новое окно в браузере вставьте и перейдите. со стороны сайта и сервера проблем нет, но некоторые версии браузеров неадекватно обрабатывают ссылку.
добрый вечер. возникла маленькая проблема, grbl controller не присоединяется к stm32f103 что в этом случае можно сделать?
добрый вечер. возникла маленькая проблема, grbl controller не присоединяется к stm32f103 что в этом случае можно сделать?благодарю!!!
Добрый день. Скомпиллированный в ATOLLIC проект не видится через USB — » неизвестное усторйство…» Какие нужны правки исходника и (или) опции компилляции ?
При том выложенный STM32GRBL11.hex и залитый в bluepill определяется как «виртуальный COM порт. Помогите решить проблемку.
В настройках атолика помоему народ правил что то, что бы дополнительные порты освободить, но в той версии, что на сайте должен видеться нормально.