Написать модуль или доработать программу для управления шаговым двигателем
Нам требуется сделать устройство которое будет управлять шаговым двигателем и одновременно обрабатывать усилие с тензодатчика.
Сейчас у нас тензодатчик подключен к микросхеме HX711, а она подключена к ESP32. Отдельно шаговый двигатель подключен к плате Duet WIFI которая подключена по USB к плате Raspberry на которой установлен NanoDlp.
Нужно по установленному значению прямо во время движения иметь возможность изменять скорость движения шагового двигателя. При этом нужно информацию заносить в таблицу для последующего анализа.
Лучше всего наверное доработать имеющуюся прошивку RepRapFirmware (Duet 3D - docs.duet3d.com).
Команда подается от NanoDlp по USB в стандартном формате: G1 Z10
Мы задаем максимальное усилие и две скорости, например 1кг и 10мм/с и 60мм/с.
Двигатель должен двигаться на минимальной скорости до тех пор, пока усилие не упадет ниже максимального. Это базовый вариант, возможна и более сложная задача.
PS. В стандартных прошивках для 3д принтеров невозможно остановить текущее движение без потери позиции. Т.е. если задали G1 Z10 F30 то двигатель пройдет эти 10мм с заданной скоростью и остановить можно только аварийно. На форуме Duet я задавал эти вопросы и они как-бы пилят, но неизвестно когда и что в итоге напилят.
Если у вас есть желание поработать в этом направлении или какие-либо мысли как это реализовать то прошу отклинуться!