fk0, легенда (24.03.2012 10:38 - 10:50, просмотров: 71) ответил MBedder на Это где-то аж 2..5% от потенциала 8-МГц 8-битника. Ты не просто не умеешь их готовить, а даже не знаешь, с какого бока к ним подойти :))
В описываемой задаче как раз over100% загрузки запросто. Если речь про двигатели, то проблема может быть в алгоритмах. Он, наверное, что-то нужное для управления пересчитывает много раз за оборот. И вполне возможно, что пересчёт привязан к положению вала. Особенно для шагового или BLDC. Можно уйти от этой привязки: не дробим оборот на Nнадцать шагов и для каждого считаем -- с ростом скорости контроллер не очень успевает и всё равно придётся считать через шаг, через два, через четыре... А считаем так быстро, как успеваем, значения для очередной фазы (с учётом задержки на расчёт в худшем случае, после расчёта дожидаемся расчётного времени, если посчитали раньше) и расчитанные значения начинают использоваться (например, загружаются в ШИМ-регистры контроллера). Физический смысл в том, что с ростом частоты вращения автоматически увеличивается угол (но сохраняется дискретность времени), по прохождения которого вносится очередное "управляющее воздействие". Двигатель это не почувствует на большой скорости, да и реальное положение вала от расчётного в таком случае может заметно отличаться, не критично в общем. А на маленькой скорости всё остаётся практически как и раньше. Да и самое главное, вполне возможно так часто считать и не нужно, и даже библиотечная процедура деления достаточно быстра.
[ZX]