crashzoom » 12 ноя 2014, 22:46
Хочу попытаться собрать контроллер управления драйверами шагового двигателя через usart на AVR микроконтроллере. Есть конечно готовые на arduino, для управления 3d принтерами, но хотелось бы сделать свое, чтоб можно было менять под разные задачи и не на arduino. Пытался разобраться в исходниках прошивки marlin для 3d принтера, чтоб понять алгоритм реализации, но разобрался только с парсером G кодов. С генерацией step/dir, так и не понял как реализовано.
Есть ли у кого нибудь наработки по данному вопросу? Можете подсказать как реализовать генерацию импульсов шагов, разгон и торможение.
Последний раз редактировалось
crashzoom 13 ноя 2014, 23:52, всего редактировалось 1 раз.
RootAdmin » 13 ноя 2014, 14:32
Вешаем прерывание на таймер. По прерыванию в обработчике - выдаем импульс STEP.
Меняя значения таймера - меняем частоту импульсов. Соответственно - для разгона-торможения после выдачи каждого импульса пересчитываем (можно в том же обработчике) новое значение счетчика таймера до достижения нужной скорости.
crashzoom » 13 ноя 2014, 23:51
Теоретически понятно, только разгон и торможение будут не прямолинейные. И как сделать, чтоб X и Y при разных параметрах, в конечную точку перемещались одновременно? При одинаковых параметрах скорость по двум направлениям будет одинаковой, а при разных...