Проблемы с мультимаусом и серводекодером на Ардуино

Первое новое сообщение

Аватара пользователя 1.MegaBlackJoe » Чт фев 09, 2017 3:10 pm

Коллеги, прошу вашей помощи.

Я собрал такой серводекодер на Ардуино:

http://model-railroad-hobbyist.com/node/24316

Проблема в том, что мультимаус отказывается рулить сервой.

Добавление декодера я производил через функцию добавить новый лок. В скетче указан первоначальный адрес - 24. Его я и добавил. Затем запрограммировал CV1 на значение 24 в режиме программирования. Но мультимаус отказывается управлять сервой. Ничего не происходит. Может кто уже использовал подобный декодер? Есть ли подробная инструкция о том, как настроить сервы?
Цитата

2.Федюнь » Чт фев 09, 2017 4:28 pm

Там по моему в CV30 надо задать чем вы управляете,если сервой то надо поставить 2 Потом в CV 32 задать начальную точку,а в CV33 задать конечную точку.Как я понял с описания ниже на странице.Возможно ещё кто что заметит.Не мешало бы скинуть сюда скеч,который вы залили в ардуинку.И на видео у него звуки откуда то,а на схеме нет этого,странно.
Цитата

Аватара пользователя 3.MegaBlackJoe » Чт фев 09, 2017 7:34 pm

В скетче в самом начале есть такие строчки:

int t; // temp
#define SET_CV_Address 24 // THIS ADDRESS IS FOR SETTING CV'S Like a Loco
#define Accessory_Address 40 // THIS ADDRESS IS THE START OF THE SWITCHES RANGE
// WHICH WILL EXTEND FOR 16 MORE SWITCH ADDRESSES

Далее фрагмент того пина, которым я пытаюсь управлять:

{CV_ACCESSORY_DECODER_ADDRESS_LSB, Accessory_Address},
{CV_ACCESSORY_DECODER_ADDRESS_MSB, 0},
{CV_MULTIFUNCTION_EXTENDED_ADDRESS_MSB, 0},
{CV_MULTIFUNCTION_EXTENDED_ADDRESS_LSB, 0},
{CV_DECODER_MASTER_RESET, 0},
{CV_To_Store_SET_CV_Address, SET_CV_Address},
{CV_To_Store_SET_CV_Address+1, 0},
{30, 2}, //F0 Config 0=On/Off,1=Blink,2=Servo,3=DBL LED Blink,4=Pulsed,5=fade
{31, 1}, //F0 Rate Blink=Eate,PWM=Rate,Servo=Rate
{32, 28}, //F0 Start Position F0=0
{33, 140}, //F0 End Position F0=1
{34, 28}, //F0 Current Position

Как мне кажется, эти значения уже стоят по умолчанию.

При инициализации декодера серва шевелится.
Цитата

4.Федюнь » Чт фев 09, 2017 8:08 pm

Мне так кажется почему то что надо адрес выбрать 40.Так как декодер не локомотивный,там написано что если локомотивный то 24.
Цитата

5.shalex » Пт фев 10, 2017 1:00 pm

Стрелочный декодер не надо добавлять в "мышку" как локомотив.

Надо на мышке переключиться в режим управления стрелками, указать цифровыми кнопками адрес декодера (который Вы сохранили в CV1 декодера), нажать ОК и дальше нажимать кнопки перевода стрелки.

Еще у Роко-мышки вроде была какая-то странная адресация, там был какой то сдвиг адреса на 4.
Я бы рекомендовал попробовать переключить с мышки стрелку с адресом CV1+4 или CV1-4.
Цитата

Аватара пользователя 6.MegaBlackJoe » Пт фев 10, 2017 8:13 pm

Спасибо, ничего не помогает. Я пробовал разные значения CV1. Пытался вызвать стрелки с учетом адресации роко, даже перещелкал все адреса, которые так или иначе могли быть связаны с CV1, но ничего не происходит. Я думал, что проблема может быть аппаратной, но при инициализации декодера сервы дергаются. Пины на ардуино обозначены, разве что в скетче они не совпадают с реальными значениями. Используются линейные сервоприводы (может из-за разного типа сигнала?)
Цитата

Аватара пользователя 7.Василий » Пт фев 10, 2017 10:28 pm

разве что в скетче они не совпадают с реальными значениями. Используются линейные сервоприводы (может из-за разного типа сигнала?)
Вот с этого места поподробнее. Если указанные в скетче пины не совпадают с реальным подключением, ясное дело ничего работать не будет! Да, сервы должны дергаться при подаче питания.

Линейные сервоприводы от нелинейных по ничем не отличаются. У меня и те и другие работают от одной ардуины.
Цитата
In der Grosse Familie nicht der клювом клац-клац!
--------------------------------------------------------------------------
Не натягивайте сову на глобус!

Аватара пользователя 8.MegaBlackJoe » Пт фев 10, 2017 11:39 pm

Все, я разобрался, сам автор мне подсказал. Это была аппаратная проблема из за того, что я не припаял один самый главный пин ардуино к плате. Это ошибка элементарная и те, кто паял по схеме, не допустили бы ее, но так как я плохо разбираюсь в схемах, я использовал визуальный подход, а так как на фото не было четко видно, какие пины надо припаивать, то я не заметил один. Теперь попытки переключать серву есть, но надо еще выставить корректные значения старта и финиша. Это, насколько я понимаю, можно сделать с помощью какого-то (не любого) сервотестера? И еще интересно было бы узнать, почему минус питания сервы из внешнего источника должен быть соединен с минусом платы ардуино.
Цитата

9.Федюнь » Сб фев 11, 2017 6:10 am

Как говорил всем известный Архимед. "дайте мне точку опоры и я сдвину землю". Вот так и в электрических цепях минус является землёй,то есть точкой опоры для сигналов в цепи.
А для установки угла поворота сервы сервотестер не нужен,я писал выше в каких CV настраивается углы отклонения. Необходимо всего лишь менять значения.
Цитата

Аватара пользователя 10.MegaBlackJoe » Сб фев 11, 2017 8:08 pm

Я уже пробовал переставлять значения вручную, мне кажется, так можно спалить серву.
Цитата
Поле сортировки

« Цифровое управление, Аналоговая автоматика и их элементы