- Регистрация
- 14.03.2024
- Сообщения
- 12
- Реакции
- 16
- Баллы
- 3
- Город
- Санкт-Петербург
- Имя
- Алексей
- Станок
- cnc3020 plus
Есть такая проблема, как желание ПК (хост - host) тратить как можно энергии. Если устройство, подключенное к USB порту долго не общается с хостом, ПК переводит USB в спящий режим.
Если работать с библиотекой TinyUSB, то там можно найти описание TUSB_DESC_CONFIG_ATT_REMOTE_WAKEUP, рассказывающее о том, что подключаемое устройство может кричать хосту «проснись». Так работают клавиатуры, мышки и джойстики, заставляющие хост выйти из спячки.
Контроллеры станка CNC 3018 строятся на основе atmel 328P (Arduino Nano), без поддержки USB. За поддержку USB отвечает usb-ttl преобразователь CH340. Этот контроллер не умеет кричать хосту «проснись».
Если используется ноутбук без блока питания, на каком-то этапе usb хоста засыпает. На станке крутится шпиндель, но станок стоит на месте. Станок оживает, если передернуть usb кабель от станка.
Если ноутбук работает через блок питания, можно настроить систему питания так, что бы не засыпали usb соединения. В этом случае программа проходит без остановок.
Теперь, берем лилипута, скажем Raspberry PI 3B+. Эта штука всегда работает от блока питания. И при этом, она любит переводить usb в спящий режим. Это проявляется следующим образом. Запускаем, к примеру, Universal-G-Code-Sender, или bCNC. Подключаемся, отправляем команду разблокировать (снимаем alarm). Успеваем даже подвигать шпиндель туда-сюда. Выбираем файл управляющей программы. Пока Raspberry PI 3B+ не спешно загружает программу и рисует картинку, наш usb успешно засыпает. Достаточно пары минут, после последних движений по осям XY, и станок перестает реагировать на отправляемые команды управления от программы.
Возникает 2 вопроса.
1. Как объяснить Raspberry PI 3B+ (ОС Linux), что для подключенного устройства CH340 надо забыть о засыпании?
2. Есть ли реализация CNC контроллера, который умеет кричать хосту «просыпайся»?
По идее, контроллер Atmel 328U4 (Arduino Micro) имеет поддержку usb и реализует CNC IN/OUT (Serial Port). Соответственно, ее можно обучить кричать хосту «проснись». Думаю, для этого нужна и специальная прошивка, а не стандартная GRBL 1.1f.
Если работать с библиотекой TinyUSB, то там можно найти описание TUSB_DESC_CONFIG_ATT_REMOTE_WAKEUP, рассказывающее о том, что подключаемое устройство может кричать хосту «проснись». Так работают клавиатуры, мышки и джойстики, заставляющие хост выйти из спячки.
Контроллеры станка CNC 3018 строятся на основе atmel 328P (Arduino Nano), без поддержки USB. За поддержку USB отвечает usb-ttl преобразователь CH340. Этот контроллер не умеет кричать хосту «проснись».
Если используется ноутбук без блока питания, на каком-то этапе usb хоста засыпает. На станке крутится шпиндель, но станок стоит на месте. Станок оживает, если передернуть usb кабель от станка.
Если ноутбук работает через блок питания, можно настроить систему питания так, что бы не засыпали usb соединения. В этом случае программа проходит без остановок.
Теперь, берем лилипута, скажем Raspberry PI 3B+. Эта штука всегда работает от блока питания. И при этом, она любит переводить usb в спящий режим. Это проявляется следующим образом. Запускаем, к примеру, Universal-G-Code-Sender, или bCNC. Подключаемся, отправляем команду разблокировать (снимаем alarm). Успеваем даже подвигать шпиндель туда-сюда. Выбираем файл управляющей программы. Пока Raspberry PI 3B+ не спешно загружает программу и рисует картинку, наш usb успешно засыпает. Достаточно пары минут, после последних движений по осям XY, и станок перестает реагировать на отправляемые команды управления от программы.
Возникает 2 вопроса.
1. Как объяснить Raspberry PI 3B+ (ОС Linux), что для подключенного устройства CH340 надо забыть о засыпании?
2. Есть ли реализация CNC контроллера, который умеет кричать хосту «просыпайся»?
По идее, контроллер Atmel 328U4 (Arduino Micro) имеет поддержку usb и реализует CNC IN/OUT (Serial Port). Соответственно, ее можно обучить кричать хосту «проснись». Думаю, для этого нужна и специальная прошивка, а не стандартная GRBL 1.1f.