Алексей1224 писал(а):Всем привет. Нашёл небольшой косяк на плате моста. Кривые руки и невнимательность к деталям сыграли злую шутку. Мост завёл(крутится только в одну сторону без смены частоты вращения). Я так понял на ардуино на контакте 8 дирдолжно меняться напряжение. До 2.5 в 0 от 2.5 до 5в это 1. Напруга стоит на 4.6 в при работе xsctrl на всех контактах дир и PWM. Не должно же так быть? Я в тупике.
Заранее прошу прощения за тупые вопросы.
Прошу коментарий, а то так и останусь валенком
Что-то ты не так понял.
На контактах PWM напряжение должно меняться от 0 до 5 вольт (там ШИМ 20 кгц, поэтому прибором (мультиметром), который усредняет значения ты увидишь как бы "аналоговое" напряжение на этих контактах
На контактах DIR напряжение меняется с 0 на +5V и обратно при изменении направления вращения двигателя. Скачком меняется - там логические уровни на выходе.
По настройке... под рукой иметь мультиметр (желательно еще и осциллограф)
1 - отключить мост, оставить только ардуину с прошивкой, подключенную к компу. К ардуине должны быть прикручены ДВА потенциомитра согласно приведенной схеме.
2 - запустить на компе прогу xSimCtrl , включить прием и передачу, наблюдать на экране наличие данных от ардуины. (ползунки и графики должны "жить")
3 - покрутить по очереди оба потенциометра, убедиться, что каналы реагируют РАЗДЕЛЬНО, каждый на свой потенциометр.
4 - задать ползунками (справа от графиков) для обеих осей центральное положение "моторов"- значение 127
5 - включить отображение (галочку) значения ШИМ на графиках
6 - покрутить потенциометры, убедиться, что при переходе значения потенциометра через центр (127) значение ШИМ тоже переходит через центр (что означает смену знака ШИМ - изменение направление вращения двигателя)
7 - Возможно ШИМ будет реагировать слишком резко, фактически упираясь в крайние положения прим малых отклонениях потенциометра. Это означает, что коэффициенты П-регулятора в прошивке (KpLo, KpHi) нужно уменьшать. Лучше вообще сразу их прописать небольшими - порядка 4..5 вместо 20, которые там стоят по умолчанию. Для этого в соответсвующих текстовых полях установи новые значения (допустим KpLo = 3, KpHi = 3) и нажми кнопку "сохранить настройки".
8 - после того, как ты все это сделаешь на программном уровне, ты должен наблюдать на графиках "адекватную" реакцию ШИМ на РАЗНИЦУ между задаваемым значением оси (ползунок) и получаемым от потенциометра. Если эта разница равна 0 (оба значения, допустим = 127, то и значение ШИМ должно быть 127). Потому что значение ШИМ для мотора как раз и вычисляется как разница ( Значение_потенциометра - Заданное_значение) умноженная на коэффициент KP
9 - Если ты наблюдаешь картинку из пункта 8, то берешь мультиметр и измеряешь сначала напряжения на ногах DIR, крутя потенциометр. При этом при смене направления ЩИМ (переход ШИМ через cередину графика) должно мнеяться напряжение на ножке DIR ардуины скачком ( 0 или +5В)
10 - Затем проверяешь напряжения на ножках PWM, оно должно меняться плавно от 0 (когда значение ШИМ на графике = 127) до 5V (когда ШИМ в крайних подожениях 0 или 255).
Только после того, как ты убедишься в работоспособности и наличии адекватных сигналов на всех ногах ардуины можно подключать мост. Но для начала БЕЗ моторов.
Без моторов (на маленькой нагрузке) нужно убедиться в том, что на выходах моста меняются напряжения в соответствии с изменением сигнала ШИМ.
После включения моторов (должны крутиться свободно, потенциометры пока на оси не закреплять) нужно проделать все те же манипуляции. При этом при вращении потенциометров должна меняться скорость мотора, а при переходе ШИМ через центральное значение - должно меняться направление вращения.
И только после этого надеваешь на оси потенциометры. Тут важно соблюсти фазировку подключения потенциометра, иначе мотор свернет потенциометру голову. Лучше для начала на какой нибудь резиновой трубке (легко срываемой) провести соединение, и убедиться, что мотор через потенциометр ОСТАНАВЛИВАЕТСЯ, а не крутится бесконечно.
Вот как-то так.