08.02.2018, 19:15 | #1 |
Заглянувший
Регистрация: 07.09.2015
Адрес: SPb
Сообщений: 76
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 6 раз(а) в 6 сообщениях
:
0 за это сообщение 0 Всего Репутация: пока неопределено (6)
|
управление сервами через PCA9685
Кто-нибудь сталкивался с управлением сервами через PCA9685 ( подключается к дуне по i2c ,увеличивает кол-во серв до 16 ).
Библиотеки из примеров ( http://www.naylampmechatronics.com/b...s-PCA9685.html ) загрузились и работают, но опыты по добавлению их к готовому скетчу управления стрелками тумблером/кнопкой не увенчались успехом |
|
Пользователь сказал cпасибо: |
08.02.2018, 19:59 | #2 |
Местный
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,838
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,653 раз(а) в 1,570 сообщениях
:
0 за это сообщение 1 Всего Репутация: репутация неоспорима (2679)
|
|
|
08.02.2018, 20:22 | #3 | ||
Заглянувший
Регистрация: 07.09.2015
Адрес: SPb
Сообщений: 76
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 6 раз(а) в 6 сообщениях
:
0 за это сообщение 0 Всего Репутация: пока неопределено (6)
|
скетч для стрелки в приложении,пытался заменить в нем исполнительные моменты на команды из примера по PC9685 - ничего неполучилось
|
||
|
08.02.2018, 20:46 | #4 | |
Местный
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,838
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,653 раз(а) в 1,570 сообщениях
:
0 за это сообщение 1 Всего Репутация: репутация неоспорима (2679)
|
Цитата:
Сделал из того, что прислали. qvan-s_point-2.zip |
|
|
2 пользователя(ей) сказали cпасибо: |
08.02.2018, 22:27 | #5 |
Заглянувший
Регистрация: 07.09.2015
Адрес: SPb
Сообщений: 76
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 6 раз(а) в 6 сообщениях
:
0 за это сообщение 0 Всего Репутация: пока неопределено (6)
|
Спс! Подскажите,пож. как теперь углы необходимые задать? Как я понял они в servomin/servomax заложены в виде длительности импульсов ?
|
|
08.02.2018, 22:48 | #6 | |
Местный
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,838
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,653 раз(а) в 1,570 сообщениях
:
0 за это сообщение 1 Всего Репутация: репутация неоспорима (2679)
|
Цитата:
Пересчитывать через формулы смысла нет, всё равно для каждой сервы значения будут свои. Если только в целях безопасности. Arduino код:
|
|
|
10.02.2018, 13:04 | #7 |
Заглянувший
Регистрация: 07.09.2015
Адрес: SPb
Сообщений: 76
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 6 раз(а) в 6 сообщениях
:
0 за это сообщение 0 Всего Репутация: пока неопределено (6)
|
этот код на каждую серву надо добавить?
скетч работает странно - в зависимости от состояния на управляющем входе ( тумблера ) серва меняет направление движение, при этом постоянно медленно вращается,когда доходит до крайнего положения - резко возвращается в обратное крайнее и начинает движение снова. |
|
11.02.2018, 05:23 | #8 |
Brocken-Meister
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,624
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,029
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
:
0 за это сообщение 0 Всего Репутация: репутация неоспорима (9364)
|
Alexmit,
Леш, а ты такой штукой пользовался? Работает?
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка. Московский Модуль H0-присоединяйтесь! |
|
11.02.2018, 09:17 | #9 | ||
Ĩ.Ĉ.Š.ҧрѻҫҭҩ мӥҫҭҿӄѣӤ.Ҟ.Ҫ
Регистрация: 10.07.2006
Адрес: 13 верста У.Г.Ж.Д. HOe.N.Z? . . G.Oe.HO!
Сообщений: 2,432
Сказал(а) 'не согласен(а)'!: 466
Сказали 'не согласен'! 136 раз(а) в 123 сообщениях
Сказал(а) спасибо: 3,326
Поблагодарили 7,264 раз(а) в 2,868 сообщениях
:
0 за это сообщение 0 Всего Репутация: репутация неоспорима (7893)
|
на соседнем форуме полностью рабочий вариант http://scaletrainsclub.com/board/vie...p?f=30&t=14196
Цитата:
Последний раз редактировалось мистер И.К.С.; 11.02.2018 в 16:40. |
||
|
2 пользователя(ей) сказали cпасибо: |
11.02.2018, 13:19 | #10 | |
Заглянувший
Регистрация: 07.09.2015
Адрес: SPb
Сообщений: 76
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 6 раз(а) в 6 сообщениях
:
0 за это сообщение 0 Всего Репутация: пока неопределено (6)
|
Цитата:
правда,опять - вопрос - там про расширитель i/o ,про PC8596 просто упоминается,где что в скетче без пол-литры без всей авторской схемы не разобраться. Последний раз редактировалось Alexandro; 11.02.2018 в 17:27. |
|
|
Пользователь сказал cпасибо: |
12.02.2018, 08:12 | #11 |
Местный
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,838
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,653 раз(а) в 1,570 сообщениях
:
0 за это сообщение 1 Всего Репутация: репутация неоспорима (2679)
|
Это зависит от того как скетч напишите.
Поправьте вот этот кусок. Arduino код:
---------- Сообщение добавлено в 08:06 ---------- Предыдущие сообщение было в 08:00 ---------- Работает. И очень хорошо. Просто в H0 надо немного "жабу" придушить, потому как реально будет использоваться меньше половины каналов. На крайний случай можно оставшиеся каналы использовать под "вкл-выкл". #40 ---------- Сообщение добавлено в 08:08 ---------- Предыдущие сообщение было в 08:06 ---------- Который желательно переписать. ---------- Сообщение добавлено в 08:12 ---------- Предыдущие сообщение было в 08:08 ---------- Правильно, в конце скетча, две команды на исполнение, причём без плавного перевода. Последний раз редактировалось Alexmit; 12.02.2018 в 17:55. |
|
12.02.2018, 12:39 | #12 |
Brocken-Meister
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,624
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,029
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
:
0 за это сообщение 0 Всего Репутация: репутация неоспорима (9364)
|
Всмысле, жабу? Почему половина?
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка. Московский Модуль H0-присоединяйтесь! |
|
12.02.2018, 15:38 | #13 |
Местный
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,838
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,653 раз(а) в 1,570 сообщениях
:
0 за это сообщение 1 Всего Репутация: репутация неоспорима (2679)
|
|
|
12.02.2018, 19:53 | #14 |
Brocken-Meister
Регистрация: 27.04.2012
Адрес: !Msk
Сообщений: 8,624
Сказал(а) 'не согласен(а)'!: 7
Сказали 'не согласен'! 110 раз(а) в 87 сообщениях
Сказал(а) спасибо: 7,029
Поблагодарили 9,323 раз(а) в 3,311 сообщениях
:
0 за это сообщение 0 Всего Репутация: репутация неоспорима (9364)
|
Ну где то так и планируется. В этом диапазоне.
__________________
H0 - DR/DB, Ep.III, G и H0m - HSB, Н0е - DR/ÖBB/Zillertalbahn Ep.V-VI. И эночка. Московский Модуль H0-присоединяйтесь! |
|
13.02.2018, 17:34 | #15 | ||
Заглянувший
Регистрация: 07.09.2015
Адрес: SPb
Сообщений: 76
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 6 раз(а) в 6 сообщениях
:
0 за это сообщение 0 Всего Репутация: пока неопределено (6)
|
исправил - не работает.( жизнь начинается если byte address = 1 заменить на номер сервы ( серва начинает медленное движение в одну сторону,потом резко переходит в др крайнее состояние и все сначала.
|
||
|
13.02.2018, 18:00 | #16 |
Местный
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,838
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,653 раз(а) в 1,570 сообщениях
:
0 за это сообщение 1 Всего Репутация: репутация неоспорима (2679)
|
Присланный файл прекрасно работает.
Какой канал пропишите в переменную byte address = 1; // номер канала на котором висит серва тот и будет работать. А строчку uint8_t servonum = 12; можно стереть. И читайте коментарии в скетче, скетч написан для тумблера, а не для кнопки. uint8_t switch_pin = 2;// пин для вашего тумблера И естественно задержку delay(30); надо сделать поменьше. Поставьте 5. |
|
2 пользователя(ей) сказали cпасибо: |
13.02.2018, 18:33 | #17 |
Заглянувший
Регистрация: 07.09.2015
Адрес: SPb
Сообщений: 76
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 6 раз(а) в 6 сообщениях
:
0 за это сообщение 0 Всего Репутация: пока неопределено (6)
|
заработало,оказалась причина в delay )
неподскажете, как теперь эту историю с углом внедрить? Код:
void positionServo(int pServoNum, int pPosition) { int val=0; val=map(pPosition,1, 127, SERVOMIN, SERVOMAX); servo.setPWM(pServoNum, 0, val); } |
|
13.02.2018, 18:54 | #18 |
Местный
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,838
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,653 раз(а) в 1,570 сообщениях
:
0 за это сообщение 1 Всего Репутация: репутация неоспорима (2679)
|
И ещё поменяйте
bool servo_flag1 = 0;// флаг работы и bool last_pin_state = 1; //прошлое состояние пина Что-бы в начале работы не двигалось. И поймите, это только пример. В вашем случае смысла нет. Или вы будете часто значения менять? Делается тестовый скетч и в нём подбираете значения. Далее вписываете в основной. |
|
2 пользователя(ей) сказали cпасибо: |
13.02.2018, 19:00 | #19 |
Заглянувший
Регистрация: 07.09.2015
Адрес: SPb
Сообщений: 76
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 6 раз(а) в 6 сообщениях
:
0 за это сообщение 0 Всего Репутация: пока неопределено (6)
|
|
|
Пользователь сказал cпасибо: |
13.02.2018, 19:28 | #20 | |
Местный
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,838
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,653 раз(а) в 1,570 сообщениях
:
0 за это сообщение 1 Всего Репутация: репутация неоспорима (2679)
|
Цитата:
Есть заготовочка Servo Evaluator Example, похоже это то, что вам нужно. Но разбирайтесь с ней и с библиотекой сами. Да и в первом сообщении по ссылке есть пример пересчёта. Только там всё равно надо начальные значения для каждой сервы устанавливать. |
|
|
Пользователь сказал cпасибо: |
13.02.2018, 19:47 | #21 | |
Заглянувший
Регистрация: 07.09.2015
Адрес: SPb
Сообщений: 76
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 6 раз(а) в 6 сообщениях
:
0 за это сообщение 0 Всего Репутация: пока неопределено (6)
|
Цитата:
еще вопрос - пару и больше ардуин я могу по i2c подключить к PC8596? планировал сигналы и стрелки отдельными платами обрабатывать,хотя если входов хватит... |
|
|
13.02.2018, 20:01 | #22 | |
Местный
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,838
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,653 раз(а) в 1,570 сообщениях
:
0 за это сообщение 1 Всего Репутация: репутация неоспорима (2679)
|
Только не в pwm, а в значениях для микросхемы.
(грубо говоря те же SERVOMIN и SERVOMAX) Так и какой смысл их каждый раз в скетче пересчитывать? Цитата:
А для светофоров надо делать на отдельной PCA9685, т.к. там используется другое значение частоты внутреннего генератора. А если не хватает входов то используйте "расширители" как предложено в 9 сообщении. Только лучше брать MCP23017. |
|
|
13.02.2018, 20:11 | #23 | |
Заглянувший
Регистрация: 07.09.2015
Адрес: SPb
Сообщений: 76
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 0 раз(а) в 0 сообщениях
Сказал(а) спасибо: 8
Поблагодарили 6 раз(а) в 6 сообщениях
:
0 за это сообщение 0 Всего Репутация: пока неопределено (6)
|
я это в скетч сервотестера хотел вставить ), что бы в стрелочный скетч сразу готовые значения вставить.
( в процессе настройки уже были неприятные моменты когда не тот угол на серву задал и привод семафора вырвался ) Цитата:
если с сигналами не объединить - стоит ли на 7 стрелок РС8596 использовать... а если на регистрах сделать? |
|
|
13.02.2018, 20:26 | #24 |
Местный
Регистрация: 08.07.2015
Адрес: МО
Сообщений: 2,865
Сказал(а) 'не согласен(а)'!: 0
Сказали 'не согласен'! 3 раз(а) в 2 сообщениях
Сказал(а) спасибо: 4,665
Поблагодарили 3,280 раз(а) в 1,176 сообщениях
:
0 за это сообщение 1 Всего Репутация: репутация неоспорима (3291)
|
Возможно забыли перевести углы по пропорции
#define SERVOMIN 150 // this is the 'minimum' pulse length count (out of 4096) #define SERVOMAX 550 // this is the 'maximum' pulse length count (out of 4096) угол 0 град должен выдавать 150, а угол 180 град = 550 Потом полученные значения подставить вместо старых SERVOMIN и SERVOMAX. |
|
13.02.2018, 20:33 | #25 | ||
Местный
Регистрация: 29.06.2010
Адрес: Москва
Сообщений: 2,838
Сказал(а) 'не согласен(а)'!: 6
Сказали 'не согласен'! 2 раз(а) в 2 сообщениях
Сказал(а) спасибо: 974
Поблагодарили 2,653 раз(а) в 1,570 сообщениях
:
0 за это сообщение 1 Всего Репутация: репутация неоспорима (2679)
|
Если надо не больше 16 дополнительных входов, то можно без проблем.
Цитата:
А светодиоды подключить можно, только тогда для них нельзя будет использовать плавное гашение. (В 11 сообщении.) Цитата:
---------- Сообщение добавлено в 20:33 ---------- Предыдущие сообщение было в 20:29 ---------- Проблема в том, что для каждой сервомашинки эти значения свои. (чуть-чуть, но отличаются, мне одинаковые не попадались) |
||
|
Опции темы | |
Опции просмотра | |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Управление сервами от кнопок (для аналогового макета) | BNSF9399 | Arduino | 97 | 25.03.2018 23:59 |
мостик через болотце | Igor Poezdov | Элементы макетов | 29 | 28.12.2017 18:24 |
Управление через USB-COM порт | YMOR2012 | Электрика и DCC | 12 | 05.09.2015 18:07 |
Программирование через мультимаус | Johnny | Электрика и DCC | 4 | 24.07.2015 23:45 |
ЖД мост,через реку Огре. Латвия. | Doctor_MB | ЖД техника | 6 | 09.06.2013 18:57 |