isx писал(а):Не понимаю как такое быть может. Ключи открываются же только по сигналу и по сигналу закрываются...
Да, так и происходит. Но ток то возрастает не мгновенно. Шаговые моторы - это здоровенные дроссели с огромной индуктивностью. И при открытии ключей ток нарастает постепенно (см. пилообразный график). Когда частота низкая - ток успевает возрастать до чрезмерно высоких значений, а когда частота переключения растет - максимальный ток в обмотках становится недостаточным. При питании 12 В и индуктивности ваших моторов это будет происходить уже при скорости 50-100 об/мин (100-200 мм/мин).
isx писал(а):Программно выставить нарастание тока с ШИМ у одной полуобмотки
Это крайне сложно сделать вслепую, не зная текущего значения тока. У меня драйверы умеют приблизительно предугадывать скорость нарастания тока в обмотках, но для этого они предварительно тестируют двигатели, измеряя их индуктивность и сопротивление, измеряют напряжение питания, и подбирают коэффициенты для пропорционально интегрального регулирования скорости нарастания тока, и при этом для расчетов работы шим используют DSP процессор у которого производительность при работе с плавающей точкой примерно в 1000 000 раз выше, чем у Mega 16, и никто не пытается одним процессором управлять несколькими двигателями. Но и при всем при этом, эти драйверы постоянно контролируют и корректируют текущее значение тока в обмотках.
isx писал(а):и одновременное пропорциональное уменьшение на второй
Линейной (пропорциональной) зависимости такими методами добиться точно не получится. Да и не линейная она там нужна, а близкая к синусоиде.
Я вот тут подумал - а не могли ли вы испортить двигатели подавая на них чрезмерно высокий ток, подключив напрямую к 12В?
isx писал(а):Кстати, а можете проверить, у ваших моторов провода зелёный и красный принадлежат к одной или к разным обмоткам мотора?
И проверять не нужно (станок на работе), я и так прекрасно помню, у одной обмотки синий, красный и белый, а у другой - желтый, зеленый, и черный (не помню, какой средний, помню только цветовую гамму).
isx писал(а):И вот ещё что, когда моторы подключены, то слышен писк ВЧ (не сильно, но всё же), я читал, что при ШИМ 20кГц такого быть не должно.
Это потому что при остановке моторов ваш драйвер включает ШИМ на 20%, для снижения нагрева моторов (кстати, ток при этом должен быть как раз около 1,2 А). На какой частоте - не знаю. Странно, если меньше 20 кГц.
При более высоком напряжении питания шим будет шипеть намного громче (при одинаковых драйверах). Кстати, частота шим регулировки в обоих обмотках двигателя должна быть синхронизирована, иначе возникнут возникнут интермодуляционные искажения. Шаговые моторы при простое шумят почти у всех. У кого-то сильнее, у кого-то меньше. При чем микрошаговым драйверам намного сложнее поддерживать точное соотношение тока в обмотках, и, поэтому они шумят значительно сильнее, чем простейшие, которым нужно подавать ток только на одну обмотку в режиме простоя.