Управление платой Lerdge через USB/UART

Платы управления от LERDGE: K, X
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Управление платой Lerdge через USB/UART

Сообщение demonlibra »

Платой Lerdge можно управлять через UART (он же RS-232 и COM порт). Для этого необходимо подключить плату Lerdge через дополнительный модуль USB к ПК, ноутбуку или микрокомпьютеру (Raspberry Pi и подобные).

Изображение Изображение

Пусть Вас не смущает UART и USB в одной строке. В плате Lerdge (как собственно и в других) отсутствует USB-TypeB. Его наличие реализуется USB/UART конвертером на базе чипа CH340G.

Для работы конвертера CH340G c Windows потребуется установить драйвер.
Ссылка на сайт производителя чипа CH340G: http://www.wch-ic.com/downloads/category/30.html?page=1
Скачивайте последнюю версию CH341SER

Список команд (g-code) и их описание можно найти на сайте Lerdge.

Способ отправки команд будет немного отличаться в зависимости от аппаратных средств, применяемой операционной системы и Ваших предпочтений. Для плат с прошивкой Marlin способы управления должны быть аналогичными.
Плата подключена к ПК с Microsoft Windows - Консоль
Написанное не проверено ввиду отсутствия возможности.

- Для открытия консоли нажимаем комбинацию клавиш WIN + R, вводим cmd и нажимаем Enter.

- Определяем номер COM порта через диспетчер устройств

- Для отправки команд можно использовать специализированные программы или консоль:

Задаем скорость порта 115200

Код: Выделить всё

mode COM12 BAUD=115200 DATA=8 PARITY=N
Например, чтобы отправить команду обнуления осей:

Код: Выделить всё

echo G28>\\.\COM12
Переместить ось Z в позицию 200

Код: Выделить всё

echo G1 Z200>\\.\COM12
Переместить оси X, Y и Z в позицию 100;100;100

Код: Выделить всё

echo G1 X100 Y100 Z100>\\.\COM12

Платы подключена к ПК с GNU/Linux - Терминал
- Открываем терминал
- Определяем порт подключения. Обычно это /dev/ttyUSB0

Код: Выделить всё

ls /dev/ttyUSB*
- Задаем параметры соединения

Код: Выделить всё

stty 115200 -F /dev/ttyUSB0 raw -echo
- Чтобы передать в плату данные нужно использовать команду echo и перенаправление вывода в файл устройства.

Код: Выделить всё

echo "команда" > /dev/ttyUSB0
Например, чтобы отправить команду обнуления осей:

Код: Выделить всё

echo "G28" > /dev/ttyUSB0
Переместить ось Z в позицию 200

Код: Выделить всё

echo "G1 Z200" > /dev/ttyUSB0
Переместить оси X, Y и Z в позицию 100;100;100

Код: Выделить всё

echo "G1 X100 Y100 Z100" > /dev/ttyUSB0
Для отображения ответов платы, можно открыть еще одно окно терминала и ввести команду:

Код: Выделить всё

cat /dev/ttyUSB0

Плата подключена к Raspberry Pi / из под Microsoft Windows
- Скачиваем и запускаем программу putty
- Задаем параметры ssh сервера Raspberry и нажимаем "Open"

Далее следуем описанию из споилера GNU/Linux / в терминале

Плата подключена к Raspberry Pi / из под GNU/Linux
- Открываем терминал и подключаемся через ssh к Raspberry

Код: Выделить всё

ssh pi@ip_адрес_raspberry
Например:

Код: Выделить всё

ssh pi@192.168.1.10
Далее следуем описанию из предыдущего споилера GNU/Linux / в терминале

Плата подключена к ПК - Repetier-Host
- Устанавливаем программу Repetier-Host
- Запускаем Repetier-Host и нажимаем "Соединить"

Во вкладке "Управление" можно вводить G-code
Изображение

Плата подключена к ПК - OctoPrint
OctoPrint представляет собой сервер печати и как правило устанавливается на отдельную железку (старый ПК, Raspberry Pi или другой микрокомпьютер).
Обычно к этому способу приходят, когда принтер уже настроен и печатает, а Ваш уровень знаний не требует сторонней помощи.

После установки OctoPrint и подключения к плате Lerdge, Вы можете открыть вкладки:
Control - Дублирует большую часть органов управления на экране принтера
Terminal - Позволяет вводить g-code и получать ответ от платы Lerdge
Изображение Изображение

Плата подключена к ПК - Printrun
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Внешнее управление платой Lerdge

Сообщение demonlibra »

Прошу проверить вариант для Windows.
Сам проверять не хочу. Каждый запуск Windows вызывает у меня тошноту и боль )
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
ursoft
Активист
Сообщения: 196
Зарегистрирован: 18 янв 2020, 19:52
Откуда: Екатеринбург

Re: Внешнее управление платой Lerdge по UART

Сообщение ursoft »

В винде эхо не является терминалом (лучше использовать Putty, Hyperterm, pronterface и прочие).
Указанный способ не отобразит, что выдал порт.
В mode надо также указать число бит и четность. И не помешает указание полного имени порта. Пример:

Код: Выделить всё

mode COM12 BAUD=115200 DATA=8 PARITY=N
echo G28>\\.\COM12
или (для ввода команд вручную)

Код: Выделить всё

copy con \\.\COM12
Спасает тот факт, что в винде есть PowerShell.

Код: Выделить всё

PS C:\Users\Youra> [System.IO.Ports.SerialPort]::getportnames()
COM1
COM2
COM12
PS C:\Users\Youra> $port= new-Object System.IO.Ports.SerialPort COM12,115200,None,8,one
PS C:\Users\Youra> $port.open()
PS C:\Users\Youra> $event = Register-ObjectEvent -InputObject $port -EventName DataReceived -MessageData $port -SourceId
entifier "SerialPort.DataReceived" -Action { $event.messagedata.readexisting() | Write-Host -NoNewLine }
PS C:\Users\Youra> $port.WriteLine("M300");
PS C:\Users\Youra> ok
PS C:\Users\Youra> $port.WriteLine("G28");
PS C:\Users\Youra> echo: The system is homing, please wait...
PS C:\Users\Youra> ok
PS C:\Users\Youra> Unregister-Event -SourceIdentifier SerialPort.DataReceived
PS C:\Users\Youra> $port.close()
Uni 2.2, Ulti Steel, FF Dreamer напечатали мне эти 400+ изделий.
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Внешнее управление платой Lerdge по UART

Сообщение demonlibra »

ursoft писал(а): 10 фев 2020, 16:45 Указанный способ не отобразит, что выдал порт.
Да и черт бы с ним. Лишь бы команду отправить. Мой вариант для GNU/Linux тоже не отобразит ответ.
Я свои изыскания писал больше для начинающих. Но это мы поправим.
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Внешнее управление платой Lerdge по UART

Сообщение demonlibra »

mode COM12 BAUD=115200 DATA=8 PARITY=N
Это проверенные настройки для Lerdge?
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
ursoft
Активист
Сообщения: 196
Зарегистрирован: 18 янв 2020, 19:52
Откуда: Екатеринбург

Re: Внешнее управление платой Lerdge по UART

Сообщение ursoft »

demonlibra писал(а): 10 фев 2020, 17:44 mode COM12 BAUD=115200 DATA=8 PARITY=N
Это проверенные настройки для Lerdge?
Если порт 12-й, то сработает. Проверял на LERDGE-X c прошивкой 3.0.6 и "родным" переходником без WiFi нашлепки.
Uni 2.2, Ulti Steel, FF Dreamer напечатали мне эти 400+ изделий.
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Внешнее управление платой Lerdge по UART

Сообщение demonlibra »

Спасибо.
Внес Ваши правки в первое сообщение.
Не бойся поломать. Бойся не починить ))
Изображение
Аватара пользователя
ursoft
Активист
Сообщения: 196
Зарегистрирован: 18 янв 2020, 19:52
Откуда: Екатеринбург

Re: Внешнее управление платой Lerdge по UART

Сообщение ursoft »

demonlibra писал(а): 10 фев 2020, 18:07 Спасибо.
Внес Ваши правки в первое сообщение.
Пожалуйста. Самое интересное там - не про применение cmd.exe, а про полноценный терминал с участием PowerShell.
Uni 2.2, Ulti Steel, FF Dreamer напечатали мне эти 400+ изделий.
Аватара пользователя
demonlibra
Помогаю слегка
Сообщения: 2552
Зарегистрирован: 18 янв 2020, 11:49
Откуда: Ростов-на-Дону

Re: Управление платой Lerdge через USB/UART

Сообщение demonlibra »

Для работы конвертера CH340G c Windows потребуется установить драйвер.
Ссылка на сайт производителя (WCH) чипа CH340G: http://www.wch-ic.com/downloads/category/30.html?page=1
Скачивайте последнюю версию CH341SER
Не бойся поломать. Бойся не починить ))
Изображение

Вернуться в «LERDGE»