Автономный контроллер ЧПУ станка на Arduino?

Intagan

✩✩✩✩✩✩✩
21 Авг 2022
33
1
Всех приветствую. Многие знают о наличие таких ЧПУ станков под управлением чипом "MEGA-328", подключаются они через стандартные разъёмы "microUSB" или "miniUSB" бывают и другие но меня конкретно интересует эти. Буду брать пример станка CNC-3018 так как он у меня есть. Для управления этим станком его нужно подключить к компьютеру через выше упомянутые разъёмы и с помощью программы GRBLControll отдавать команды и выполнять управляющие программы. Меня интересует можно ли c помощью Arduino сделать автономный контролер для станка (исключить наличие компьютера). По большей части меня интересует возможно как то "притворится компьютером" для отправки "G-cod" с помощью Arduino?
 

bort707

★★★★★★✩
21 Сен 2020
2,899
862
для этого нужна ардуина с USB-host, у большинства ардуино его нет.
В остальном без проблем если вы знаете протокол обмена

Например малинка отлично справится... к ней наверно и программа есть готовая
 
  • Лойс +1
Реакции: Intagan

Intagan

✩✩✩✩✩✩✩
21 Авг 2022
33
1
@bort707, Объясните пожалуйста
Например малинка отлично справится... к ней наверно и программа есть готовая
Малинка? Простите я новичок в этой теме. Мало шарю но можете конкретней написать что за малинка. И к стати хочу уточнить а библиотека USB-host работатет только с Arduino Due?
 

Intagan

✩✩✩✩✩✩✩
21 Авг 2022
33
1
@bort707, Огромное спасибо за помощь. А на той ардуино что я показал не получится я так понимаю. А какой-то модуль дополнительно можно заказать чтобы воспользоваться USB-host?
 

bort707

★★★★★★✩
21 Сен 2020
2,899
862
Вот такую вы имеете в виду?
по вашей ссылке Ардуино Нано, USB Host у нее нет
Но к ней можно купить внешний модуль:
https://aliexpress.ru/item/1005003343139345.html

еще понадобится слот для СД-карточки, потому что у Нано памяти всего 2К и складывать Gcode некуда

Ну и главное - все это вместе надо будет связать программой.... так что трезво оцените свои силы

Опыт в программировании уже был поэтому хочу взяться за какой-то НУЖНЫЙ проект.
ну раз вы так серьезно настроены, то еще одна оговорка.
Если надумаете делать это на основе Ардуино Нано или Уно - изучите вопрос, хватит ли памяти у этих плат
Дело в том, что например библиотека для чтения СД-карт на Ардуино уже занимает примерно половину памяти Нано.
Сколько требуется для поддержки USB-Host - я не знаю, проекты с ним редкость. Но может статься, что вместе с СД-картой они в Нану не поместятся.
Тогда стоит смотреть в сторону более мощных плат, например Мега, различные варианты ЕСП или СТМ32
 
  • Лойс +1
Реакции: Intagan

Старик Похабыч

★★★★★★★
14 Авг 2019
4,192
1,281
Москва
Думаю что генерировать нажатия клавиш не надо. Будет подключение типа виртуального ком-порта, и передаваться будут двоичные команды с параметрами, даже не G-код - его надо расшифровывать , а это много времени займет. Но тут могу ошибаться.
Если порыть интернет, то найдется много исходников, которые работают на ардуино под управлением GRBLControll .
 
  • Лойс +1
Реакции: Intagan

Normalek

★✩✩✩✩✩✩
6 Авг 2021
140
39
Давно уже придумвли пульт, и он в открытом доступе, основан на esp, а лучше закажи готовую плату на esp 32
 

te238s

★★✩✩✩✩✩
14 Ноя 2021
375
94
На ардуино(то бишь 8 битные авр) не справятся. Не только из-за памяти. На станке "на лету" нужно вычислять ускорения 3х приводов,да траекторию прокладывать между соседними координатами g-кода,а это довольно тяжко. Только 32 битники осилят. Не зря же в общем случае именно с пк управление идёт.
 

Intagan

✩✩✩✩✩✩✩
21 Авг 2022
33
1
А эти контроллеры подойдут моему станку я ведь хочу подключится через USB-порт? Так выглядит плата_-bcadB42TRDXWnwYchDszKikGTAtZqEBjBd-h_aZryfO5Fx3dMl3WGGnEnRcM1nA_V-9D4UQib1JhYShsTDdH5t.jpg
 
Изменено:

viktor1703

★★★✩✩✩✩
9 Дек 2021
542
133
Так это, по ходу, обычная мега328 с прошивкой grbl. Та же самая нано/Уно с cnc-шилдом, но в более компактном исполнении.
 
Изменено:

Normalek

★✩✩✩✩✩✩
6 Авг 2021
140
39
@viktor1703, да там чип Atmega 328P-AU
@Intagan, там usb не надо, общения по serial порту происходит. а вообще поменяй на mks dlc32 хотя бы. намного лучше твоей
 

Boroda22

★✩✩✩✩✩✩
23 Фев 2022
240
42
делал прогу, которая потом gcode шлет в uno, та их читает, и выполняет команды
На ардуино(то бишь 8 битные авр) не справятся. Не только из-за памяти. На станке "на лету" нужно вычислять ускорения 3х приводов,да траекторию прокладывать между соседними координатами g-кода,а это довольно тяжко. Только 32 битники осилят. Не зря же в общем случае именно с пк управление идёт.
электронные устройства по большей части не рассчитаны на обработку логики
 
  • Лойс +1
Реакции: Intagan

Intagan

✩✩✩✩✩✩✩
21 Авг 2022
33
1
@viktor1703, да там чип Atmega 328P-AU
@Intagan, там usb не надо, общения по serial порту происходит. а вообще поменяй на mks dlc32 хотя бы. намного лучше твоей
Есть похожая но я не знаю что там за железо и прошивка кривая стоит а перепрошить не могу. Для старой платы можно сделать автономку? w_CLGXDJ-TeRZaCtMLSmDTC1w1H0woIOl7B3nHfRfHTqP1AtweMb8GV4zlTUEUi3wPcdB2o6furocFBzd32NHeMH.jpg
 

Intagan

✩✩✩✩✩✩✩
21 Авг 2022
33
1
@Boroda22, я так и задумывал конвертировать или парсить в удобный формат и слать gcode в плату с помощью ардуинки, максимум синхронизироваться с машинными координатами для понимания того отработал станок или нет. По сути я же могу просто подключить станок к ПК открыть COM-порт в ArduinoIDEи сам писать координаты по которым должен двигаться станок. Тоже самое я хочу сделать через ардуино используя библиотеку EsyHID попробовать определиться как "компьютер" и слать в читаемом формате уже подготовленную УП
 

Intagan

✩✩✩✩✩✩✩
21 Авг 2022
33
1
Мне главное как я задумываю заставить станок принимать команды посланные ардуино в каком либо формате а саму ардуино заставить отправлять следующую по окончанию предыдущей.
 

viktor1703

★★★✩✩✩✩
9 Дек 2021
542
133
Есть похожая но я не знаю что там за
Там тоже, видать, что-то от Atmel'а, но китайцы заботливо затерли маркировку, и даже, наверно, ICSP есть для программирования. Надо попробовать подключиться и прочитать его.
 

bort707

★★★★★★✩
21 Сен 2020
2,899
862
@Intagan, ваша плата с пк сейчас как работает, опишите подробно. Принимает команды по сериал порту?
Что-то я не пойму, зачем тут HID вообще. И usb не нужен

Если есть готовые коды управления станком, то для автономки достаточно брать инструкции с сдкарты и отправлять в порт, любая Нана справится.
 
  • Лойс +1
Реакции: Intagan

Normalek

★✩✩✩✩✩✩
6 Авг 2021
140
39
@Intagan, вам не нужно HID устройства, ибо общение идет через преобразователь интерфейса USB в UART, а именно через gh340g, вам просто на первую плате припаяться на 2 и 3 ногу gh340g и купить готовы пульт радуйтесь, а так конечно еще раз говорю забудьте про atmel битный контролер и перейдите на esp32, а на второй плат надо проверить рабочия ли она вообще, если да то на нее можно тоже прикрутить пульт, тем более по него уже есть разьем
 

Intagan

✩✩✩✩✩✩✩
21 Авг 2022
33
1
@bort707, Да обе платы работают и отвечают на команды та, что я показывал последней где есть разъем под пульт, в ней прошивка залита так, что когда я открываю параметры через ком порт ($$) там ничего не подписано и мне не понять, где шаг на миллиметр или ускорение, правда проверить работу разъемов для шаговых пока не могу, БП едет но через ком порт общаются обе. Я и хотел слать УП через Serial просто не знал как это реализовать, но вот желание собрать пуль самому и написать прошивку осталось так что я попробую сам реализовать эту идею, тем более компоненты я уже давно заказал. Я так понимаю идею подключится через стандартный разъем USB можно оставить, или Arduina может общаться по UART я просто не понял куда припаиваться прям к самому чипу?
 

Intagan

✩✩✩✩✩✩✩
21 Авг 2022
33
1
@Normalek, А GND соединять не надо? Насколько понял 1, 2, 3, пины по порядку это GND, TX, RX. На сайте (https://arduino-diy.com/arduino-to-arduino-serial) землю цепляют друг к другу, в моем случае мне поступить также? И как понял мне RX к TX а TX к RX подключать?
 
Изменено:

Intagan

✩✩✩✩✩✩✩
21 Авг 2022
33
1
делал прогу, которая потом gcode шлет в uno, та их читает, и выполняет команды

электронные устройства по большей части не рассчитаны на обработку логики
Можно узнать как вы слали Gcode в ЧПУ я написал скетч в котором сделал меню и все функции но не могу понять как слать Gcode чтобы ЧПУ понимал его. Мне надо его преобразовывать в DEC черезе itoa()? Прям не могу сообразить как конструкция отправки должна выглядеть. Допустим хочу отправить команду G92X0Y0 - Обнулить XY и в каком формате мне их отсылать? И как?