Работал с несколькими типами драйверов, в т.ч. тринамиковскими. И везде одна и та же проблема: управление - исключительно через интерфейс STEP/DIR. А мне нужно независимо восемью шаговиками управлять. И найти STM32, у которого будет 8 независимых ШИМ-каналов, я вряд ли смогу.
Рукоблудить, как китайцы, дрыгая ногами (а эти ненормальные еще и 7 раздельных каналов софтового уарта завели!), я не собираюсь. Я вот, честно, не представляю себе, как можно при делении шага на 256 таким ногодрыгом организовать хотя бы трапецеидальный рамп софтово, особенно когда максимальная скорость - 5000 шагов в секунду (несложно посчитать, что это - 1.28МГц, это с какой же скоростью прерывания должны лупасить?)
Вот и вопрос знатокам: есть ли хоть у того же тринамика, хоть еще у кого такой интегрированный драйвер ШД, где управление полностью было бы реализовано по UART/SPI/I2C? Без дебильного интерфейса STEP/DIR.
Ну и второй вопрос: минимальный ток нужен 50мА, а не аж 200, как у того же TMC2209. Потому как моторчики очень миниатюрные, да еще и биполярные (т.е. дарлингтоны дергать, по таймеру гоняя DMA в BSRR, не выйдет). При подключении к TMC2209 адово греются на минимальном токе.
Ну или, может быть, есть в линейке простых STM32 (Cortex-M3 или Cortex-M4) такие, где есть 8 (или даже больше) независимых каналов ШИМ? Хочется все как можно компактней собрать, т.к. места немного. И изготавливать индивидуальный контроллер на каждый ШД будет уж совсем жирно.