Форум ModelldepO

Форум ModelldepO (http://forum.modelldepo.ru/index.php)
-   Arduino (http://forum.modelldepo.ru/forumdisplay.php?f=220)
-   -   Переключатель на 4-ре однокатушечных аксессуара. (http://forum.modelldepo.ru/showthread.php?t=19065)

BNSF9399 01.11.2017 19:40

Переключатель на 4-ре однокатушечных аксессуара.
 
Вложений: 9
В продолжение темы http://forum.modelldepo.ru/showthread.php?t=18902 , но, с приложением рук...
Вложение 150935
Вложение 150936 Вложение 150937
Вложение 150938 Вложение 150939
Вложение 150940 Вложение 150941

Скетч, схема и архив в Gerber для производства - на GitHub https://github.com/vhar/scsmd.
Работает в двух режимах - "ручном" и "DCC".
Для переключения между режимами нажимаем и держим кнопку на плате пока не начнет мигать светодиод
В течении 15 секунд повторно нажимаем и держим кнопку, пока светодиод не погаснет.
В DCC режиме, игнорируются сигналы на входах "ручного" управления и наоборот, в "ручном" режиме - игнорируется все, что приходит по DCC.
Для программирования адреса декодера - зажимаем на 1,5 сек кнопку на плате, светодиод на Ардуине начинает мигать одинарной короткой вспышкой - далее в течении 15 секунд ожидается получение адреса. Для этого, посылаем любую команду на нужный аксессуарный адрес. Светодиод перестает мигать - новый адрес запомнен.
Чтобы было понимание - запоминается именно адрес декодера, а не адрес аксессуара (стрелки), т.е. все работает как у местного AJL. Занимается 4 адреса подряд.
Скажем, отправили команду на 7-ю стрелку, на декодере на 1-м выходе будет адрес стрелки 5, на втором -6, на третьем 7, на четвертом 8.
Если в течении 15 сек ничего не получено, то автоматом выходим из режима "обучения".
В DCC режите, запоминается последнее положение стрелки и при включении, дается команда на перевод ее в это положение. В ручном режиме - при загрузке происходит опрос входов управления и перевод стрелок в зависимости от состояния этих входов.
Вроде все :)
При сборке и обкатке полученных печаток "всплыло" два косяка.
1. "бочонок" мешает подключению разъема
Вложение 150942
2. выводы А6/А7 работают только как аналоговые входы и не имеют встроенных pullup резисторов. пришлось снизу напаять
Вложение 150943
Все это учтено и исправлено, на GitHub лежат уже исправленные версии (в данном сообщении также заменены картинки)

shalex 01.11.2017 21:58

Владимир, комментарии приветствуются?

BNSF9399 01.11.2017 22:07

Цитата:

Сообщение от shalex (Сообщение 310864)
комментарии приветствуются?

не приветствуются, а требуются!

shalex 01.11.2017 22:38

Цитата:

Сообщение от BNSF9399 (Сообщение 310865)
не приветствуются, а требуются!

- добавить отверстия для крепежа
- 7805 развернуть радиатором наружу, или монтировать к плате - вдруг будет греться
- посмотреть как ведет себя при включении, все таки 1 на Enable. возможно стоит добавить инвертор, чтобы по умолчанию был 0 на Enable
- A6 и A7 вроде не работают на выход, только на вход (поменять с кнопками)
- добавить конденсаторы 0.1uF на вход и выход стабилизатора
- Как вариант - управлять нагрузкой с помощью PWM, КЗ будет не таким страшным
- кстати от КЗ можно на выход поставить "малоомные" резисторы
- добавить диод в параллель индуктивной нагрузке(?)

BNSF9399 01.11.2017 23:25

1. Пожалуй да. Разобраться бы как "нарисовать" :)
2. Не заметил, чтобы он сильно грелся от 12В. А Катовские стрелки именно на 12В рассчитаны. Но для универсальности - пожалуй стоит.
3. Без проблем. При загрузке считывается состояние тумблеров или последнего состояния в DCC (забыл про это упомянуть) и происходит "принудительное" переключение в это состояние.
4. Вот спасибо, наны не доехали, собирал на Мини и дальше А5 не дошел. Да еще и 13-й вывод освободить надо. Тоже както упустил, светодиод то для индикации зарезервирован...
5. Не совсем понял, как? Там же электролиты висят.
6. Гложут меня сомнения, что стрелки переключатся при большой скважности, а при маленькой - смысл теряется.
7. Вот этот вариант мне больше по душе. Но нужно проверить, хватит ли силы катушки переключить после этого. Сопротивление катушек 20 Ом, если еще 10 Ом навесить...
8. Опять не понял,как? Он же коротить будет или я что то не понимаю?

laba 01.11.2017 23:31

Цитата:

Сообщение от BNSF9399 (Сообщение 310865)
не приветствуются, а требуются!

Как вариант добавить возможность чтения и записи CV, если используемая библиотека конечно позволяет это.
Я так понял там используется другая библиотека для обработки DCC, не NmraDCC?

BNSF9399 02.11.2017 00:22

Цитата:

Сообщение от laba (Сообщение 310870)
Как вариант добавить возможность чтения и записи CV,

на самом деле - читать то нечего...
в планах - сделать программирование времени импульса через CV. Больше там нечего программировать.
также в планах сделать запоминание адресов отдельно для каждого выхода, по аналогии с местным ServoMotion. Но чуть позже

---------- Сообщение добавлено в 00:22 ---------- Предыдущие сообщение было в 00:22 ----------

Цитата:

Сообщение от laba (Сообщение 310870)
не NmraDCC?

нет, DCC_Decoder. Но вроде как работает и на чтение и на запись.

shalex 02.11.2017 10:51

Цитата:

Сообщение от BNSF9399 (Сообщение 310869)
1. Пожалуй да. Разобраться бы как "нарисовать"
2. Не заметил, чтобы он сильно грелся от 12В. А Катовские стрелки именно на 12В рассчитаны. Но для универсальности - пожалуй стоит.
3. Без проблем. При загрузке считывается состояние тумблеров или последнего состояния в DCC (забыл про это упомянуть) и происходит "принудительное" переключение в это состояние.
4. Вот спасибо, наны не доехали, собирал на Мини и дальше А5 не дошел. Да еще и 13-й вывод освободить надо. Тоже както упустил, светодиод то для индикации зарезервирован...
5. Не совсем понял, как? Там же электролиты висят.
6. Гложут меня сомнения, что стрелки переключатся при большой скважности, а при маленькой - смысл теряется.
7. Вот этот вариант мне больше по душе. Но нужно проверить, хватит ли силы катушки переключить после этого. Сопротивление катушек 20 Ом, если еще 10 Ом навесить...
8. Опять не понял,как? Он же коротить будет или я что то не понимаю?

3. Благо скетч небольшой, но вообще на загрузку ардуины уходит какое то время, т.е. она не сразу начинает выполнять setup(), если правильно понял. Недавно об это "ожегся".
5. Добавить в параллель к конденсаторам большой емкости. На самом деле не уверен, что они так уж и нужны.
6. Возможно катушки будут меньше греться, да и потребляемый ток можно регулировать. И можно как с электросцепками - начальный рывок на повышенном PWM, а удержание на пониженном. Просто помню, как прилично грелась катушка на подрельсовом расцепителе от Tillig - не очень понравилось.
7. Можно просто предусмотреть место на плате и подбирать в процессе тестирования. А если резистор будет не нужен -то припаять перемычку.
8. Если правильно понял, то диод выполняет некую защитную роль. Защищает схему от приколов индуктивной нагрузки.

laba 02.11.2017 10:51

Цитата:

Сообщение от BNSF9399 (Сообщение 310871)
Больше там нечего программировать.

Ну почему же?
Тот же адрес программировать. Сделать несколько режимов адресации выходов. Либо стрелочные адреса выходов определяются базовым адресом декодера, либо для каждого выхода можно назначить конкретный стрелочный адрес.

shalex 02.11.2017 10:54

Цитата:

Сообщение от laba (Сообщение 310870)
Как вариант добавить возможность чтения и записи CV, если используемая библиотека конечно позволяет это.

+1

Если не ошибаюсь, то чтение не будет работать без имитации нагрузки на DCC.

laba 02.11.2017 11:03

Вложений: 2
Цитата:

Сообщение от BNSF9399 (Сообщение 310869)
1. Пожалуй да. Разобраться бы как "нарисовать"

Выбираете режим рисования окружностей, потом выбираете слой, которым рисуется контур печатной платы.
Потом выбираете точку, где будет центр окружности и смещаете курсор на расстояние желаемого радиуса окружности.

http://forum.modelldepo.ru/attachmen...1&d=1509610182

http://forum.modelldepo.ru/attachmen...1&d=1509610266

Либо как изврат, сделать собственное посадочное место контактной площадки с нужным диаметром отверстия.



---------- Сообщение добавлено в 10:59 ---------- Предыдущие сообщение было в 10:58 ----------

Цитата:

Сообщение от shalex (Сообщение 310879)
Если не ошибаюсь, то чтение не будет работать без имитации нагрузки на DCC.

Естественно туда надо добавить цепочку, которая будет создавать ACK.

---------- Сообщение добавлено в 11:03 ---------- Предыдущие сообщение было в 10:59 ----------

Цитата:

Сообщение от BNSF9399 (Сообщение 310869)
8. Опять не понял,как? Он же коротить будет или я что то не понимаю?

Диод ставиться параллельно катушке реле, но обратно полярности её подключения. Т.е. туда куда подключается + питания, подключаем катод диода.

http://katod-anod.ru/pictures/Image/...iodprotect.gif

BNSF9399 02.11.2017 11:23

Цитата:

Сообщение от shalex (Сообщение 310877)
6. Возможно катушки будут меньше греться, да и потребляемый ток можно регулировать. И можно как с электросцепками - начальный рывок на повышенном PWM, а удержание на пониженном. Просто помню, как прилично грелась катушка на подрельсовом расцепителе от Tillig - не очень понравилось.

не-не-не.... там же импульс, 0,5 - 1 сек... ни какого удержания...
Вчера часа два в схему смотрел, ни как не получается развести от PWM без извратов :(

Цитата:

Сообщение от shalex (Сообщение 310877)
7. Можно просто предусмотреть место на плате и подбирать в процессе тестирования. А если резистор будет не нужен -то припаять перемычку.

Можно, но смысл? Подбирать там нечего. Тог пиковый, 1.2А. При 12В - это 10 Ом. Меньше - смысл теряется.

Цитата:

Сообщение от shalex (Сообщение 310877)
8. Если правильно понял,

Ну какбы да, обратный ток он через себя сбрасывает. Но проблема в том, что у нас привод с одним соленоидом и переключается методом смены полярности....

Цитата:

Сообщение от laba (Сообщение 310880)
Выбираете режим рисования окружностей

О! Сейчас так попробую, о то нашел рецепт только с однопиновым посадочным местом...


Цитата:

Сообщение от laba (Сообщение 310878)
Тот же адрес программировать

Смысл? Есть режим "обучения". Кроме вас да меня, оно врядли комуто надо :) Не говоря уже о наших иностранных коллегах... Написано, что адрес программировать "вот так" - у них и мысли не возникнет, что можно через CV это сделать будет :)

Цитата:

Сообщение от laba (Сообщение 310878)
Сделать несколько режимов адресации выходов

Опять таки не вижу смысла. Если можно программировать адреса отдельно для каждого выхода и нужна сплошная нумерация - что мешает их так запрограммировать? у меня местные SM так и запрограммированы. и ни какого дискомфорта. и в CV опять таки не лез, написано в инструкции - "используйте режим запоминания" - я им и пользуюсь :)

Цитата:

Сообщение от shalex (Сообщение 310879)
чтение не будет работать без имитации нагрузки на DCC.

угу. там для этого еще небольшой обвесь на DCC разъем нужно навесить.

Цитата:

Сообщение от laba (Сообщение 310880)
Т.е. туда куда подключается + питания, подключаем катод диода.

В данном случае - катушка не имеет полярности. Она биполярная, от того и сомнения возникли, что я чего то не до понимаю.

Alexmit 02.11.2017 12:47

Цитата:

Сообщение от BNSF9399 (Сообщение 310883)
В данном случае - катушка не имеет полярности. Она биполярная, от того и сомнения возникли, что я чего то не до понимаю.

Cоответственно ставятся два диода. Смотрим правый нижний угол.
http://wiki.amperka.ru/_media/%D0%BF..._schematic.png

Но в случае L293D их ставить не надо, они уже есть в микросхеме.

BNSF9399 02.11.2017 13:25

Вложений: 2
Цитата:

Сообщение от Alexmit (Сообщение 310886)
Но в случае L293D их ставить не надо, они уже есть в микросхеме.

ага, вот и я на это внимание обратил, когда вчера начал вникать в диоды на выходе
Вложение 149714
Ну вот както так вырисовывается с учетом замечаний...
Вложение 149715

shalex 02.11.2017 13:33

Цитата:

Сообщение от BNSF9399 (Сообщение 310888)
Ну вот както так вырисовывается с учетом замечаний...

Есть опасение, что шляпка винта крепления может "коротнуть" выводы 7805.

BNSF9399 02.11.2017 16:03

Вложений: 1
Как то так, тогда...
Вложение 149716
Чтобы не плодить кучу фалов с разными версиями, заменю на ссылку на GitHub

shalex 02.11.2017 16:13

Цитата:

Сообщение от BNSF9399 (Сообщение 310896)
Чтобы не плодить кучу фалов с разными версиями, заменю на ссылку на GitHub

Теперь USB кабель может не протиснуться, чтобы подключить его к ардуине. Он немного шире, обычно, чем сам разъем.

Alexmit 02.11.2017 16:18

Цитата:

Сообщение от shalex (Сообщение 310897)
Теперь USB кабель может не протиснуться, чтобы подключить его к ардуине.

Как вариант, сместить стабилизатор к центру и положить.

BNSF9399 02.11.2017 16:23

Так я только плату в длину увеличил :)
аааа... там еще клеммники сместились к центру и дуня на одину ножку, чтоб удобнее дорожки было отрисовать.
Если 3D модели верные - то со свистом войдет.
В реальности узнаем, когда Толмачевская таможня чухнется + неделя до МСК...

---------- Сообщение добавлено в 16:23 ---------- Предыдущие сообщение было в 16:22 ----------

Цитата:

Сообщение от Alexmit (Сообщение 310898)
Как вариант

В случае чего - да, хорошая мысль.

shalex 02.11.2017 18:15

Цитата:

Сообщение от BNSF9399 (Сообщение 310883)
Вчера часа два в схему смотрел, ни как не получается развести от PWM без извратов

Вроде получается... одним входом управлять 0 или 1 на другой - подавать PWM, только для случая когда на первом входе 1 надо PWM инвертировать, типа analogWrite(1023 - PWMLevel). И для "второго" входа выбрал бы выходы ардуины с аппаратным PWM, чтобы минимизировать код.

Кстати, еще можно сократить кол-во используемых выводов ардуины, т.к. на вход L293 все равно подается комбинация 1-0 или 0-1, то можно поставить инвертор из транзистора и управлять катушкой только двумя выводами ардуины, вместо 3-х. Правда как реализовать PWM в этом случае - не понимаю.

---------- Сообщение добавлено в 19:15 ---------- Предыдущие сообщение было в 19:11 ----------

Еще пришла мысль - на L293 поставить шунтирующий резистор для измерения тока и защититься от КЗ еще и программно (задействовать A6 или A7).

Alexmit 02.11.2017 21:18

Цитата:

Сообщение от shalex (Сообщение 310902)
Правда как реализовать PWM в этом случае - не понимаю.

Посмотрите здесь. #39
Цитата:

Сообщение от shalex (Сообщение 310902)
Еще пришла мысль - на L293 поставить шунтирующий резистор для измерения тока и защититься от КЗ еще и программно (задействовать A6 или A7).

Там же. (Сразу предупреждаю, L293D слабенькая. Последовательно с приводом необходимо подключить резистор от 10 до 30 Ом.)

BNSF9399 02.11.2017 21:26

Цитата:

Сообщение от shalex (Сообщение 310902)
Вроде получается...

не-не. я про разводку на печатке. я понимаю, что предела совершенству нет, но хочется сделать максимально повторимое в домашних условиях устройство.
Но, вот сейчас свежим взглядом глянул на переделанную печатку и вроде как получается уже :)

Цитата:

Сообщение от shalex (Сообщение 310902)
можно поставить инвертор из транзистора

в данном случае, количества выходов вполне достаточно, для того, чтобы не ставить лишние компоненты, увеличивая тем самым габариты самого декодера.

Цитата:

Сообщение от shalex (Сообщение 310902)
на L293 поставить шунтирующий резистор для измерения тока

вот это уже интересно. есть наработки? я имею ввиду схему. я про это думал, но мой багаж знаний застрял в эпохе КТ315 :)

---------- Сообщение добавлено в 21:26 ---------- Предыдущие сообщение было в 21:23 ----------

Цитата:

Сообщение от Alexmit (Сообщение 310911)
L293D слабенькая

в акурат для катовской стрелки, 500мА заявленное потребление. И с учетом того, что время импульса там минимальное, 293 более чем достаточно. выбор именно на них пал не случайно. Но 10 ом, в принципе, можно добавить. Нихай буде.

Alexmit 02.11.2017 21:31

Цитата:

Сообщение от BNSF9399 (Сообщение 310912)
вот это уже интересно. есть наработки?

Только смысла нет. Микросхема уйдёт в защиту быстрее. Поэтому только резистор на выходе для ограничения тока.

BNSF9399 02.11.2017 21:42

Цитата:

Сообщение от Alexmit (Сообщение 310911)
Там же.

ХМ... Чтото ни на картинках, ни в коде не увидел контроля тока....

---------- Сообщение добавлено в 21:42 ---------- Предыдущие сообщение было в 21:41 ----------

Цитата:

Сообщение от Alexmit (Сообщение 310915)
Только смысла нет. Микросхема уйдёт в защиту быстрее.

ааа... вон оно че, Михалыч :)
ну мне не моторы крутить для G масштаба :) она просто не успеет в нее уйди, в случае чего :)

shalex 02.11.2017 21:51

Цитата:

Сообщение от BNSF9399 (Сообщение 310912)
вот это уже интересно. есть наработки? я имею ввиду схему. я про это думал, но мой багаж знаний застрял в эпохе КТ315

А кстати точно, шунт для L293 еще не протестировал, чтобы спокойно предлагать. Подожду платы и тогда попробую на практике, обязательно в той теме отпишу.

А если есть защита в самой L293 - то тогда вообще не имеет смысла городить огород :)

Кстати, идея пришла - может добавить четыре светодиода индикации положения?

Вторая идея - возможно стоит подумать, чтобы разъемы переместить на одну-две стороны. Если во все стороны, то провода такого "паука" не очень то просто добавить в шину, приходится обходить плату по кругу. Хотя этот момент спорный...

Третья из области удобства использования - продублировать разъемы DCC и 12В. Макетостроители с большими станциями и соотв. стрелочными развязками скажут спасибо.

p.s. Хорошо бы еще добавить подписи к разъемам - а то приходится маркером подписывать :)


Текущее время: 03:43. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Copyright © ModelldepO.ru 2006 -