Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Связь МК ATxmega256A3U с MDB монетоприемником / MDB купюроприемником
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
marat_galimov
Доброго времени суток.

Заказчик изменил ТЗ. И там появилась такая задача, что надо брать купюры и монеты и выдавать сдачу ими же.

Я до этого купюроприемники/монетоприемники в глаза не видел. В ТЗ прописано:
- Купюроприемник ICT V7 DC 24V MDB
- Монетоприемник NRI Currenza C2 Green MDB

Пока все что я понял, что MDB - это последовательный протокол (с линиями RX и TX), но в отличие от всяких UART'ов и RS-232'ых - там сигналы по 24V.

Так же в ТЗ прописан МК Atmel ATxmega256A3U-AU TQFP64 (либо опционально МК Atmel ATxmega128A1U-AU TQFP100).

Возникают вопросы:
1) Вычитал, что используется опторазвязка для линий RX/TX (на каждую своя), чтобы из 24V сделать 3,3V/5V. Можете дать советы, если кто работал с MDB оборудованием, какие микросхемы использовать для опторазвязки (кто чем это реализовывал по личному опыту)? Может у кого какие схемы имеются по подключению МК c MDB устройствами?
2) Как я думаю, после опторазвязки просто завести эти линии RX/TX в любой из USART'ов ATxmega256A3U-AU. Правильно ли это? Можно ли будет перенастроить этот USART под размер пакета и параметры битов команд MDB?


Отчет по этапу - показать общение с Купюроприемником и Монетником, по алгоритму ТЗ.

Всем заранее спасибо за ответы и любую помощь.
Любые советы, рекомендации, схемы, информация о граблях будет очень ценна.
prottoss
Доброго времени суток. Вы на такое серьезное задание подрубились и не знаете ответы на элементарные вопросы??? И любой совет, естественно ценен. Мой ценный совет - извинитесь перед заказчиком, бросьте проект, изучайте матчасть.
marat_galimov
To prottoss:

Цитата
Вы на такое серьезное задание подрубились и не знаете ответы на элементарные вопросы???


Просто хотел посоветоваться. Так я уже заказал оптопары PC814 в DIP-4. Опторазвязку собирался делать на них так и так.

Цитата
Мой ценный совет - извинитесь перед заказчиком, бросьте проект, изучайте матчасть.

MDB протокол настолько сложен, что будет множество граблей и я не смогу наладить обмен команд по MDB c устройствами быстро и без проблем?

Ваш ответ заставил мне засомневаться. Но ведь в каждом проекте выстреливает что-то новое, то с чем не работал до этого. То, что осваиваешь на ходу в горячем режиме. Мне кажется, что надо развиваться на живых проектах. Хотя может я и ошибаюсь.
prottoss
Цитата(marat_galimov @ Dec 25 2015, 19:33) *
Так я уже заказал оптопары PC814 в DIP-4. Опторазвязку собирался делать на них так и так.
Вы заказали оптопары сходя из каких соображений?
Чем отличается USART от RS232?
marat_galimov
To prottoss:

Цитата
Вы заказали оптопары сходя из каких соображений?


1) Где-то было написано (вроде вычитал в спецификации MDB), что устройства Slave (всякие купюроприемники и монетоприемники), которые соединены по MDB с устройством Master (либо готовая плата для работы с узлами типа купюроприемников и монетоприемников (Vending Machine Controller), либо своя разрабатываемая плата, которая также руководит этими узлами) - должны быть оптически разведены.

2) Плюс заказчик на словах сказал, что купюрник и монетник, силовые узлы, так как работают на 24V. В теории на них сказал, можно и больше, там сказал диапазон у них от от 18V до 43V. Пытался найти этому подтверждение в спецификации протокола и доках от монетника/купюрника - но пока не нашел подтверждение. Ну так вот, он сказал мне, что должна быть опторазвязка с MDB разъемами на основной плате (разрабатываемой).

Цитата
Чем отличается USART от RS232?


Насколько я знаю в RS-232 сигналы от +15 до -15, где НОЛЬ +5V...+15V, а ЕДИНИЦА -5V...-15V. Это для передатчика, а для приемника там диапазоны более большие по вольтам.

UART тот же RS-232 - только у него 5 вольтовые TTL уровни сигнала (от 0V до +5V, где 0V - НОЛЬ, а +5V - ЕДИНИЦА).

---

UART используется для общения двух устройств в пределах одной платы, ну например там ПЛИС с МК обмениваются командами друг с другом.

А если надо передать UART на другую плату, например для для МК на этой плате, а другая эта плата стоит на модуле который на 10 метрах под землей например и соединен с первой платой 10 метровым кабелем.

То в итоге мы конвертируем UART'ы на обоих платах через какие-нибудь решения, типа MAX232 в RS-232 и по 10 метровому кабелю они общаются по RS-232, так как там высокие уровни сигналов и возможно осуществить без потерь передачу по длинному кабелю.

---

Пожалуста поправьте меня, если я мыслю неправильно - буду вам благодарен.

PS. Я понимаю, что вы подводите меня к какой-то умной мысли о моей ошибке или заблуждении, но пока я не дошел до ответа самостоятельно.
zombi
Цитата(marat_galimov @ Dec 25 2015, 15:06) *
Пока все что я понял, что MDB - это последовательный протокол (с линиями RX и TX), но в отличие от всяких UART'ов и RS-232'ых - там сигналы по 24V.

Не правильно Вы поняли.
Цитата
Спецификация шины приемо-передатчика.

Стандарт определяет связь между VMC и Slave, как оптически изолированную токовую петлю с уровнем напряжения 5 В.

VMC/Передача:
Минимальный ток (активное состояние): 100 мА (4 В).
Максимальный ток утечки (неактивное состояние): 100 мкА.

VMC/Прием:
Минимальный входной ток (активное состояние): 15 мА (1 В).
Максимальный входной ток (неактивное состояние): 1 мА.

Slave/Передача:
Минимальный ток (активное состояние): 15 мА (1 В).
Максимальный ток утечки (неактивное состояние): 30 мкА.

Slave/Прием:
Максимальный входной ток (активное состояние): 15 мА (4 В).
Максимальный входной ток (неактивное состояние): 100 мкА.

Цитата
Питание.

VMC выходное напряжение:
Минимальное = 20 В постоянного тока (выпрямленное и отфильтрованное).
Номинальное = 34 В постоянного тока (выпрямленное и отфильтрованное) или 24 В (только выпрямленное).
Максимальное = 42,5 В постоянного тока (пиковое значение на уровне пульсаций).
marat_galimov
To zombi:
Цитата(zombi @ Dec 26 2015, 15:09) *
Не правильно Вы поняли.

Спасибо за информацию. Вроде понемногу проясняется.

Цитата(zombi @ Dec 26 2015, 15:09) *
Стандарт определяет связь между VMC и Slave, как оптически изолированную токовую петлю с уровнем напряжения 5 В.

Вопрос: Если это должна быть токовая оптически изолированная петля с уровнем напряжения 5 В, а у меня например вместо готового решения VMC платы, своя плата с МК, который на 3.3 В. Ну например, ATxmega256A3U-AU, то компетентна (или правильнее сказать адекватна), ли схема развязки, как во вложении? Или туда между МК и оптронами надо поставить какой-нибудь преобразователь TTL<=>LVTTL (5V<=>3.3V), чтобы соответствовать требованиям стандарта (с уровнем напряжения 5 В)?

Заранее вам спасибо за ответ.
prottoss
Цитата(marat_galimov @ Dec 27 2015, 20:53) *
Заранее вам спасибо за ответ.
Не нужны преобразователи - достаточно правильно рассчитать сопротивления резисторов R3-R7
aleksandr-zh
пишите в лучку - расскажу что да как...
marat_galimov
Доброго времени суток, уважаемое сообщество форума.

Столкнулся с "затыком", который побороть самому не получается.

Не могу наладить связь между монетоприемником "NRI Currenza C2 Green MDB" и платой с МК ATxmega128A1 протоколу MDB.

По советам и рекомендациям пользователя "aleksandr-zh" (за что ему огромное спасибо), сделал 4 варианта опторазвязок для MDB (два варианта для МК с 5 вольтовыми сигналами и два варианта для МК с 3.3 вольтовыми сигналами). Все они работают, я их по двадцать раз перепроверял, гонял туда сюда меандры. Использую вариант, как на схеме во вложении [04_type2_3.3V.pdf].

9-ти битный USART сделал из USART-interrupt драйвера из аппнота "AVR1307:Using the XMEGA USART" путем добавления всего необходимого, для записи TXD8 и чтения RXB8. Там тоже все работает, двадцать раз перепроверял, заставляя две платы слать друг другу 9 битные фреймы и сравнивать их потом.

Согласно спецификации протокола MDB (использовал версию 4.2 - на всякий случай во вложении [MDB_version_4-2_(february_2011).pdf]), первое, что должен сделать VMC (Vending Machine Controller) при включении питания - это отправить команду RESET на периферийное устройство (монетоприемник). А монетоприемник должен ответить на это подтверждением (ACK). Но в моем случае в качестве VMC выступает MK XMEGA. Выглядит, так:

1) VMC отправляет - 0x108 / 1 00001 000 (команда RESET по адресу монетоприемника)
2) VMC отправляет - 0x008 / 0 00001 000 (чек сумма)
3) Монетоприемник отвечает - 0x100 / 1 00000 000 (команда подтверждения ACK от монетоприемника)

Т.е. как во многих источниках написано, этими ресетами, VMC не просто сбрасывает всякие периферийные устройства, а проверяет за счет их ответа подтверждения ACK - есть ли они на линии, или их там нет (может вырвали и убежали...).

Ну так вот проблема в том, что мне монетоприемник ничего не отвечает на RESET, по вышеописанному алгоритму.

==== Проверка опторазвязок ===

Чтобы исключить проблемы на стороне опторазвязки, еще раз погонял через оптроны меандры в обе стороны, причем как 3.3 вольтовые с платы с МК XMEGA, так и 5 вольтовые с "ардуино мега" - все работает. Проверил так же с помощью платы с XMEGA, обе стороны, как показано на рисунке во вложении [Optrons_testing.jpg]. Вроде бы все работает, и проблема не в опторазвязке.

==== Проверка линий RX и TX на монетоприемнике ====

Просто запитал монетник, и решил проверить, что у него твориться на линии RX и TX в режиме бездействия (idle mode). И меня смутило следующее, что я увидел:
- На линии TX - меандр от нуля до 1 вольта;
- На линии RX - какая-то пила от нуля до 24 вольта;
Скриншот двух линий во вложении [TxD_and_RxD_on_coin_accepror.jpg];

ВОПРОС 1: Вроде бы как это вовсе не нормально? Разве на линии RX не должно быть подтянуто до 5 вольт (ЕДИНИЦЫ), и характеризовать начало передачи, когда транзистор оптрона утаскивает ее в НОЛЬ? И разве на линии TX не должен быть при простое (молчании) НОЛЬ, а ЕДИНИЦА (5 вольт) характеризует начало передачи? Вроде бы как из спецификации протокола и схемы опторазвязки - это просматривается очевидно?

ВОПРОС 2: Может ли быть что-то не то с монетником? Он моргает диодами сериями по 3 моргания в серии (скриншот во вложении [Coin_accepror_leds.jpg]). Сначала 5 серий красного диода, потом 1 серия желтого.

Перечитав от корки до корки "User Manual" и "Installation Guide" на монетник, все, что я нашел там про индикацию диодов:
- Если горит красный, то надо вызывать сервисного инженера.
- Если горит желтый, то пользователь сам в состоянии справиться с проблемами.
- Если горит зеленый, то у вам по жизни все нормально и проблем вроде бы как и нету вовсе.

PS. Вроде бы все понятно (в теории), но без помощи я не могу сдвинуться с места. Буду благодарен за любые директивы, в каком направлении копать и отлаживать.
controller_m30
Вот тут, как я понял, подключали монетоприёмник:
http://blog.bouni.de/blog/2012/05/06/the-m...rotocol-part-1/
и вроде-бы, там сигнал TXD идущий от VMC (который у SLAVE будет RXD) инвертируется, а сигнал RXD VMC (тот что TXD у SLAVE) не инвертируется. Т.е. в точности наоборот с приложенной в предыдущем посте схемой.

Вот ещё страничка этого автора, и там в комментах выложили схему какого-то MDB устройства (с иероглифами), где тоже исходящий из VMC сигнал инвертируется, а входящий в VMC не инвертируется.
http://blog.bouni.de/blog/2012/07/09/the-m...rotocol-part-2/
И ещё одно обсуждение, где подключают что-то к MDB шине, и инвертируют исходящие от VMC к SLAVE данные
http://forums.parallax.com/discussion/1370...tal-isolator-ic
Поскольку таких схем уже имеется аж три штуки - предлагаю эту возможность проверить, и проинвертирвать в вашем устройстве исходящие из контроллера данные.

Чем лучше инвертировать не посоветую. Как вам удобнее. Или на линию TX контроллера врезать инвертор, или оптрон N5 сделать инвертором (катод на землю, анод на TX контроллера)... в общем как там удобнее в реальной конструкции.
Оптрон N6 предлагаю пока не переделывать, а смотреть там данные осциллографом (хоть на входе, хоть на выходе). Если устройство ответит, тогда уж принимать решение, оставить N6 инвертирующим, или переделать для прямого сигнала.
AlexG
Цитата(controller_m30 @ Feb 19 2016, 04:45) *
Чем лучше инвертировать не посоветую


У Хмеги можно просто вывод порта настроить на инверсию сигнала
marat_galimov
To controller_m30:
Цитата
Поскольку таких схем уже имеется аж три штуки - предлагаю эту возможность проверить, и проинвертирвать в вашем устройстве исходящие из контроллера данные.

Чем лучше инвертировать не посоветую. Как вам удобнее. Или на линию TX контроллера врезать инвертор, или оптрон N5 сделать инвертором (катод на землю, анод на TX контроллера)... в общем как там удобнее в реальной конструкции.

Проинвертировал оптрон №5 (что на линии данных от контроллера в сторону MDB Slave / TX контроллера и RX у MDB Slave). Благо было на чем это проделать, у меня на одной текстолитке вытравлено четыре варианта опторазвязок для MDB.

Но увы - не заработало. И данных от MDB устройства я так и не увидел.

Я дополнительно прицепил на шину MDB кроме монетоприемника "NRI Currenza C2 Green MDB" еще и купюроприемник "ICT V7 DC34Volts MDB" ["6 - Coin_acceptor_and_bill_validator.jpg" во вложении]. Там фишка в том, что все периферийные MDB устройства вставляются друг в друга, а потом уже в VMC (в моем случае микроконтроллер). Стал слать следующие команды в цикле с задержками (описанными в спецификации):

1) RESET по адресу монетника;
2) POLL (опрос) по адресу монетника;
3) RESET по адресу купюрника;
4) POLL (опрос) по адресу купюрника;

Но ни купюрник, ни монетник мне не ответили.

Цитата
Вот тут, как я понял, подключали монетоприёмник:
http://blog.bouni.de/blog/2012/05/06/the-m...rotocol-part-1/
и вроде-бы, там сигнал TXD идущий от VMC (который у SLAVE будет RXD) инвертируется, а сигнал RXD VMC (тот что TXD у SLAVE) не инвертируется. Т.е. в точности наоборот с приложенной в предыдущем посте схемой.

Вот ещё страничка этого автора, и там в комментах выложили схему какого-то MDB устройства (с иероглифами), где тоже исходящий из VMC сигнал инвертируется, а входящий в VMC не инвертируется.
http://blog.bouni.de/blog/2012/07/09/the-m...rotocol-part-2/


Что заметил, при детальном рассмотрении этих ссылок. Вы мне дали ссылки на два поста германского товарища Bouni, который управлял старым газировочным автоматом с помощью Arduino Mega2560. Я собственно один из вариантов схемы опторазвязки MDB с него и срисовывал. Но вы указали мне, что у него там оптроны инвертированы с точностью до наоборот. Я внимательно стал вчитываться, и что заметил, что в посте номер 1 у него одна конфигурация оптронов, а в посте номер 2 с точностью до наоборот ["7 - Mistakes_on_first_optoisolator" во вложении]. Ну так я и срисовывал схему со второго его поста. И сейчас как я понимаю, что она действительно неправильна. Так как у VMC состояния бездействия "idle mode" равно 0, а у обычно МК'шного UART состояние бездействия равно 1, то там очевидно инверсия оптрона напрашивается.

А другой вариант MDB опторазвязки мне дали на форуме ["8 - Second_optoisolator.jpg" во вложении]. И он полностью эквивалентен варианту без инверсии данных от МК из второго поста германского товарища. Как я выяснил, эта схема из топика здесь на форуме ("MDB интерфейс, схема входной части slave" / http://electronix.ru/forum/index.php?showtopic=101328) - и у человека там, судя по его словам все заработало.

---

А смущает меня следующее. Я запитываю без подключения к опторазвязке монетник и купюрник (+24V DC), чтобы поcмотреть, что у него (у них) на линиях RX и TX. Но на деле там что-то, что не соответствующее логике ["9 - Oscilloscope_and_multimeter.jpg" во вложении]. Там явно на RX у MDB устройств не может быть пилы от 0 до 24V (ведь мультиметр показывает 0V). Обычно такое бывает (насколько я знаю из своего опыта), когда земляной крокодильчик у щупа осциллографа отрывается от земли, или подключен к не той земле или с землей что-то не то.

Вопрос 1: Может надо подключить MDB_GND (Communication Common) к земле микроконтроллера? Т.е. RX/TX развязаны оптически через оптроны, а земли у них соединены напрямую. Вот сижу и думаю. Вроде когда мы подключаем разные UART'ы друг к другу мы же соединяем у них три проводка RX,TX и землю. Может и здесь им земли соединить? Разве смысл отпторазвязки не в том, чтобы у каждого были свои питания и земли?

Вопрос 2: Внимательно изучал схему опторазвязки из первого поста германского товарища Bouni - у него там на стороне MDB устройств линии подтянуты до 5V [9 - Oscilloscope_and_multimeter.jpg" во вложении]. У меня же ничего не подтянуто. Просто опираясь на те две схемы, что мне дали, я думал эти подтяжки линий до 5V сделаны внутри моненика и купюрника. Попытался тупо повесить на RX со стороны MDB устройств 5V через резистор 1К от блока питания, но ничего не заработало и сигналов на линиях я так и не увидел. Скорее всего опять у меня что-то не так в плане соединения земель. Возможно мне стоит переделать что-то в схеме, в плане подтяжки до 5V?

PS. Не сочтите за наглость столь большое количество текста в сообщении, просто уже очень давно бьюсь над этой задачей.
controller_m30
Вопрос. Оба устройства MDB есть где проверить? Может они как-то там сконфигурированы не так перемычками или тумблерами (если такое есть), или же самозаблокировались из-за чего-то (я не сталкивался, просто предположения)? Это бы сняло вопросы насчёт пилы 24В и прочих непонятных сигналов на разъёмах MDB устройств.

Если проверить негде, то аппаратную часть пока отложим и проверим программную.
С каким BaudRate работает передатчик USART контроллера? Проверьте, соответствует ли скорость паспортной для MDB (9600 если не ошибаюсь).
Сколько стоп-битов (1,2), бит чётности (есть\нет), и бит данных (7,8,9) задано?
Какой порядок бит: LSB первый, или MSB первый? Для MDB как я понимаю, первым идёт LSB бит.

Посмотрите осциллографом отправку команды RESET на линии TX: до оптрона и после. Нет ли там каких-либо заваленных фронтов? Насколько сигналы "прямоугольные"?
Если осциллограф может захватить передаваемую команду, посмотрите, насколько передаваемые данные соответствуют требованиям для MDB (скорость передачи, порядок бит, количество бит данных и стоповых). Смотрите на разных тестовых данных: 0x000, 0x1FF, 0x155, 0x0AA, и т.п. Главное удостовериться, что данные формируются верно.
Если есть логический анализатор (хотя бы Saleae Logic), посмотрите передаваемую команду им (на выходе котроллера) - он распознаёт данные USART со всеми настройками, и показывает скорость данных. Тоже полезно для самопроверки.
Если анализатора нет, тогда осциллографом придётся захватывать и смотреть.
controller_m30
По разъёмам.
Согласно даташита "MDB/ICP Version 4.2 " сигналы MDB-устройства TXD и RXD, должны быть подключены наоборот по сравнению с вышеприведёнными схемами.
Потому что например "Line 4 - Master Receive" - значит что это линия приёма RXD у Мастера, т.е. у контроллера или VMC. А в выложенных выше схемах линия 4 обозначена как RXD у MDB устройства.
Предлагаю поменять на схемах, что: 4 - это TXD монетоприёмника, а 5 - это RXD монетоприёмника. И соотв. оптроны подключить, ну и попробовать ещё раз связываться с устройствами.

Ещё по "земле" для подключения осциллографа, и сигналу пилы. Там ведь две "земли": одна для сигнальных линий (нога 6), и одна для питания 24В (нога 2). Пила наблюдается относительно обеих "земель"? А мультиметр что показывает относительно одной "земли" и другой?
marat_galimov
To controller_m30:

Цитата
Вопрос. Оба устройства MDB есть где проверить? Может они как-то там сконфигурированы не так перемычками или тумблерами (если такое есть), или же самозаблокировались из-за чего-то (я не сталкивался, просто предположения)? Это бы сняло вопросы насчёт пилы 24В и прочих непонятных сигналов на разъёмах MDB устройств.


У нас в организации ничего такого нет. Но меня на днях начальство обещало повезти к их коллегам. У них в организации есть супер-крутой иностранный кофейный аппарат. Будем пробовать подцепить к их аппарату наш купюрник и монетник. Из персонала у них только монтажники, программистов в штате нет. И используют они иностранные готовые VMC в своих аппаратах - так что, они сразу нам сказали, что какие-то вопросы по MDB нам задавать бесполезно. Мы их не разрабатываем, а только собираем. Но я надеюсь, хотя бы проверить, работают они или нет на их аппарате после подключения к VMC этого их аппарата.

У меня все что есть, пять обугленных (сгоревших) иностранных итальянских плат VMC с разных торговых автоматов, но они сгоревшие в ноль. Так что запитать их, и что-либо с них "отреверсить" не вариант.

Купюрник и монетник новые, мне их купили только-только. Пока они даже не ставились никуда.

Цитата
Если проверить негде, то аппаратную часть пока отложим и проверим программную.
С каким BaudRate работает передатчик USART контроллера? Проверьте, соответствует ли скорость паспортной для MDB (9600 если не ошибаюсь).
Сколько стоп-битов (1,2), бит чётности (есть\нет), и бит данных (7,8,9) задано?
Какой порядок бит: LSB первый, или MSB первый? Для MDB как я понимаю, первым идёт LSB бит.


Вроде все правильно по формату байтов (хотя язык их не поворачивается называть байтами - так как они 9-ти битные). Все обрисовал на скриншоте во вложении [11 - MDB_and_UART_byte_format.jpg].

Цитата
Посмотрите осциллографом отправку команды RESET на линии TX: до оптрона и после. Нет ли там каких-либо заваленных фронтов? Насколько сигналы "прямоугольные"?


ДО ИНВЕРСИИ:

Сейчас он инвертирован, а когда он был без инверсии, я соединял по нему две платы с XMEGA'ми и гонял по нему тестовые девятибитные последовательности по USART'ам. Все работало идеально. Сигналы прямоугольные были на осциллографе, ничего не заваливалось.

ПОСЛЕ ИНВЕРСИИ:

Но сейчас, как вы сказали, я его инвертировал (анод на TX контроллера, катод на землю). Так что по двум USART'ам уже не погоняешь. А вот число 0x171(hex) в цикле посылать перепроверил, скриншот во вложении [12 - Optron_inversion.jpg]. Вроде бы как без завалов. Все инвертируется, как положено, согласно логике - бездействие USART TX - ЕДИНИЦА, а бездействие VMC TX - НОЛЬ.

Цитата
Если есть логический анализатор (хотя бы Saleae Logic), посмотрите передаваемую команду им (на выходе котроллера) - он распознаёт данные USART со всеми настройками, и показывает скорость данных. Тоже полезно для самопроверки.


На днях коллега обещал дать свой китайский клон Saleae Logic с Алиэкспресса. Перепроверю.

Вот я дурак был, что не заказал себе. Я ему его заказывал около 900 рублей с Алишки. Он к нам ехал аж 4 месяца!!! С нашей то почтой России. Поставшик два раза продлял мне срок.

Цитата
Ещё по "земле" для подключения осциллографа, и сигналу пилы. Там ведь две "земли": одна для сигнальных линий (нога 6), и одна для питания 24В (нога 2). Пила наблюдается относительно обеих "земель"? А мультиметр что показывает относительно одной "земли" и другой?


Относительно земли питания 24В (нога 2) - и RX и TX показывают нули, что осциллографом, что мультиметром.
Относительно земли для сигнальных линий (нога 6) - все как и было [9 - Oscilloscope_and_multimeter.jpg].

Цитата
Согласно даташита "MDB/ICP Version 4.2 " сигналы MDB-устройства TXD и RXD, должны быть подключены наоборот по сравнению с вышеприведёнными схемами.
Потому что например "Line 4 - Master Receive" - значит что это линия приёма RXD у Мастера, т.е. у контроллера или VMC. А в выложенных выше схемах линия 4 обозначена как RXD у MDB устройства.
Предлагаю поменять на схемах, что: 4 - это TXD монетоприёмника, а 5 - это RXD монетоприёмника. И соотв. оптроны подключить, ну и попробовать ещё раз связываться с устройствами.


Офигеть!!! Действительно!!! Вот что значит взглянули "незамыленным" глазом. Побежал потрошить плату-травленку, чтобы поменять местами RX и TX!!! Первым делом отпишусь по результатам!!!

PS. controller_m30 - спасибо, что помогаете.
marat_galimov
Цитата
Согласно даташита "MDB/ICP Version 4.2 " сигналы MDB-устройства TXD и RXD, должны быть подключены наоборот по сравнению с вышеприведёнными схемами.
Потому что например "Line 4 - Master Receive" - значит что это линия приёма RXD у Мастера, т.е. у контроллера или VMC. А в выложенных выше схемах линия 4 обозначена как RXD у MDB устройства.
Предлагаю поменять на схемах, что: 4 - это TXD монетоприёмника, а 5 - это RXD монетоприёмника. И соотв. оптроны подключить, ну и попробовать ещё раз связываться с устройствами.


Поменял RX и TX местами - теперь: 4 - это TXD монетоприёмника, а 5 - это RXD монетоприёмника. В итоге у меня сейчас все как на схеме [13 - 02_type1_3.3V.jpg]. Все что переделывал руками, помечено красным. Светодиод, который анодом был на питании, а катодом на линии TXD МК пришлось вырезать еще давно, так как когда линия TXD МК была в НУЛЕ, он почему-то вытягивал ее до 2V (что явно не было нормальным).

Один черт не работает. Зато теперь, когда я просто запитываю купюрник и монетник у меня так на обоих линиях со стороны MDB одинаково - на мультиметре 0V и на осциллорафе как на скриншоте [14 - Changing_MDB_RX_and_TX.jpg]. По крайней мере нет больше пилы от 0V до 24V.

В итоге сидел и думал. В оптрон данные заходят нормально, а с другой стороны линия MDB RX в НУЛЕ (всегда). По любому думаю RXD монетоприемника, которая теперь стала 5 ногой, надо подтянуть до 5V (чтобы оптрону было что в землю утаскивать). По протоколу она вроде как должна быть в 5V когда активна. Сделал как на схеме во вложении [15 - MDB_RXD_Pullup.jpg]:
1) MDB RXD (5 ногу) подтянул до 5V от отладки, на которой МК;
2) Сигнальную землю MDB (6 ногу) присоединил к земле платы с МК;

В итоге MDB RXD (5 нога) стала 5V - но когда открывается транзистор оптрона, он не утягивает эти 5V к земле, там по прежнему остается 5V. Пробовал без этой подтяжки (когда там меандр от 0 до 1V) - оптрон утягивает его к земле как положено.

Вопрос 1: У меня не было резисторов и я просто пульнул на MDB RXD (5 нога) 5V. Завтра раздобуду. Будет ли прок, если так же подтяну MDB RXD к 5V через 1К. Т.е. будет ли тогда оптрон при открытии транзистора утаскивать эти 5V в землю?

Вопрос 2: Тут у меня оптопара PC814, в единственной схеме (в двумя диодами внутри), а во всех остальных схемах PC817 (c одним диодом внутри). Хотя наверное какая разница - она ведь работает как положено и я ее вдоль и поперек протестировал?
controller_m30
Подождите с экспериментами по подаче 5В, надо подумать.

В начале темы zombi приводил данные что используется токовая петля. Также в даташите на стандарт, на следующей странице после разъёмов, приводится пример схемы подключения, где использована конструкция на двух транзисторах. И в втором блоге bouni, где выложена схема с иероглифами - там тоже есть конструкция из двух транзисторов.
В инете такая схема находится по ключевым словам "стабилизатор тока на двух транзисторах".
Так что, с большой вероятностью, там таки токовая петля rolleyes.gif

Я не сталкивался с токовой петлёй, потому прямо сказать, как подключать, и какие номиналы деталей не могу. Посмотрю в инете, может что найду интересного. И Вы тоже посмотрите.
Может ещё люди подскажут что с примерами.
controller_m30
Так. Предлагаю сделать следующее.
Вместо подтягивающего резистора на линии RXD-MDB, сделать целый стабилизатор тока 20мА на двух транзисторах, и включить его как приводится в примерах.
Какие номиналы деталей я точно сказать не могу. Это зависит от того что есть в наличии, и нужно будет подбирать экспериментально.
Внизу скриншот симуляции в Proteus стабилизатора на разных транзисторах (BC856 и 2N2907 - взяты наобум), но с одним и тем же номиналом резистора RV (34 Ом). И как видно, ток получается разный. Поэтому подбирать этот резистор придётся экспериментально.

Для организации "подтяжки" +5В предлагаю взять с выхода +24В устройства MDB. Стабилизатор LM317 с типичной обвязкой по даташиту (какой фирмы купите, того производителя даташит и смотрите). Линии GND сигнального и силового (24В) соединить вместе.
Вторая картинка, это как я вижу всю схему подключения после оптронов, на стороне MDB устройства.

PS. И стабилизатор напряжения и стабилизатор тока настраивайте отдельно от устройств MDB и оптронов (а то мало-ли чё). Только когда на выходе LM317 будет +5В, а стабилизатор тока будет железно держать 20мА на выходе, при его КЗ на землю - тогда можно будет испытывать схему вместе с MDB устройством.

PPS. Проверьте оптрон, на который подавали 5В напрямую - возможно он перегорел, пытаясь соединить 5В и землю через себя crying.gif
marat_galimov
To controller_m30:

Цитата
Подождите с экспериментами по подаче 5В ...


Увы я не удержался biggrin.gif Причем не сколько я, сколько все мои коллеги на работе biggrin.gif Вешали всякие номиналы резисторов, баловались с переменными резисторами.

Результаты на скриншотах.
[16 - MDB_RXD_Pullup_without_resistor.jpg]
[17 - MDB_RXD_Pullup_with_10K.jpg]
[18 - MDB_RXD_Pullup_with_1K.jpg]
[19 - MDB_RXD_Pullup_with_560R.jpg]

В общем все хотели убедиться, что это тупиковый вариант. И все убедились. Причем оптрону хоть бы что - он вообще неубиваемый какой-то!!!

Цитата
В начале темы zombi приводил данные что используется токовая петля. Также в даташите на стандарт, на следующей странице после разъёмов, приводится пример схемы подключения, где использована конструкция на двух транзисторах. И в втором блоге bouni, где выложена схема с иероглифами - там тоже есть конструкция из двух транзисторов.
В инете такая схема находится по ключевым словам "стабилизатор тока на двух транзисторах".
Так что, с большой вероятностью, там таки токовая петля rolleyes.gif

Я не сталкивался с токовой петлёй, потому прямо сказать, как подключать, и какие номиналы деталей не могу. Посмотрю в инете, может что найду интересного. И Вы тоже посмотрите.
Может ещё люди подскажут что с примерами.


Весь день разбирался с этим делом, в итоге тоже к этому пришел.

Откопал такую схему, человек говорит, что хоть проект сырой, но МDB там работает как надо.
------------------------------------------------------------------------------------
Топик на форуме "kiosks.ru", под названием "MDB-протокол":
http://www.kiosks.ru/YAF/default.aspx?g=posts&t=21208

В нем есть ссылка на проект Altium Designer:
http://kiosks.ru/go.asp?link=http://www.fr...s_v1.3_last.zip

В проекте Altium Designer есть схема:
mdb.SchDoc
------------------------------------------------------------------------------------

В общем вот схема на скриншоте во вложении [20 - MDB_side_electrical_circuit.jpg].

Буду собирать и вашу схему и эту (со всеми вытекающими на них номиналами).

Цитата
Для организации "подтяжки" +5В предлагаю взять с выхода +24В устройства MDB. Стабилизатор LM317 с типичной обвязкой по даташиту (какой фирмы купите, того производителя даташит и смотрите). Линии GND сигнального и силового (24В) соединить вместе.

Вторая картинка, это как я вижу всю схему подключения после оптронов, на стороне MDB устройства.


Завтра побегу закупать детальки и на ваш вариант и на вариант с форума КИОСК.РУ.

Цитата
PS. И стабилизатор напряжения и стабилизатор тока настраивайте отдельно от устройств MDB и оптронов (а то мало-ли чё). Только когда на выходе LM317 будет +5В, а стабилизатор тока будет железно держать 20мА на выходе, при его КЗ на землю - тогда можно будет испытывать схему вместе с MDB устройством.


Так и буду делать.

Цитата
PPS. Проверьте оптрон, на который подавали 5В напрямую - возможно он перегорел, пытаясь соединить 5В и землю через себя.


Живой и неубиваемый PC817!!! Он крут!!! Я не знаю, что с ним надо сотворить, чтобы он сгорел. Хотя лучше не экспериментировать ....

P.S. Как только протравлю, спаяю. Сразу отпишусь. Спасибо за помощь.
zombi
Может глупость спрошу, но разве оптроны уже не стоят в купюроприемнике/монетоприемнике?
controller_m30
Цитата(zombi @ Feb 26 2016, 03:38) *
Может глупость спрошу, но разве оптроны уже не стоят в купюроприемнике/монетоприемнике?

Не исключено что они есть, но точно не известно. Схемы нет, разбирать дорогую и чужую вещь наверное нельзя...
В своём 2-м блоге bouni пишет (в комментах, под схемой с иероглифами), что в одних MDB-устройствах оптроны есть, а в других нет.
http://blog.bouni.de/blog/2012/07/09/the-m...rotocol-part-2/
Исходим пока из того, что оптронов нет, и развязку делаем.
Предлагаю вариант что они есть, оставить на крайний случай, когда уже совсем всё что безопасно, будет испробовано rolleyes.gif
marat_galimov
To zombi:

Цитата
Может глупость спрошу, но разве оптроны уже не стоят в купюроприемнике/монетоприемнике?


Вовсе не глупость!!! Этот вопрос не дает мне спокойно засыпать по ночам rolleyes.gif Он вертится у меня в голове уже очень давно !!!

По этому вопросу мы постоянно спорим с моим начальством. Опираясь на руководства к разным моделям купюрников и монетников - у меня двоякое впечатление сложилось.

Например в руководстве купюрника CashCode MDB (не моего, у меня его нет) - в схеме показано, что они внутри у него есть (+триггеры Шмидта). Мне обещали подогнать конкретно эту модель CashCode MDB - поиграться, потестить, попробовать.

В некоторых, особенно технически старых моделях (древнего производства) - вроде как внутри оптронов нет.

Касательно моих двух товарищей (что у меня лежат новенькие купленные):
------------------------------------------------
1) Монетоприемник "NRI Currenza C2 Green MDB"

Не знаю, что у него внутри по оптронам. Руководства никаких схем не приводят.

2) Купюроприемник "ICT V7 DC34Volts MDB".

Где-то из его какой-то старой версии документации нарыл схему по нему [21 - Bill_validator_inside.jpg]. Если я понимаю правильно, то вроде бы как оптроны у него внутри есть.

------------------------------------------------

PS. У меня две обугленные (не подлежащие реверсу) платы VMC от кофейников каких-то итальянских. Так вот - на них по два отпрона на MDB на каждой плате!!!

To controller_m30:

Цитата
Не исключено что они есть, но точно не известно. Схемы нет, разбирать дорогую и чужую вещь наверное нельзя...


Убеждаю начальство - вскрыть монетник и купюрник. В процессе. Сам об этом постоянно думаю rolleyes.gif
zombi
Скорее всего оптроны у периферии уже есть.
Надо "курить" стандарт возможно там это указано.

Я бы на месте производителя периферии поставил бы оптроны однозначно.
marat_galimov
Вскрыл оба:

1) Монетоприемник "NRI Currenza C2 Green MDB"

Не нашел оптронов, все перерыл. Там куча разных моделей разноканальных аналоговых мультиплексоров 74HC40xx. Разные стабилизаторы напряжения LM317 и им подобные. Процессор NXP. Плата односторонняя. Разбирался адски-тяжело. Там "хитросделанная" система клипc и пластмассок. Причем там оторвана одна клипса. Т.е. кто-то туда уже лазил. С фига ли так, если мы покупали его как новый за кучу денег у поставщика ??? Но это к делу не относится. В общем не нашел оптронов.

Хотя я и не знаю точно, там тьма похожих на SOT-23 деталек, только с четырьмя выводами (три снизу и один сверху). Сверхмаленьких, с нечитаемыми кодами, и их на плате тьма-тьмущая. Я просто не в курсе. Может уже делают сверхмаленькие супермелкие оптроны в таких корпусах.

2) Купюроприемник "ICT V7 DC34Volts MDB".

Здесь оптроны есть. Все как на найденной мной картинке, которую я при приводил ранее. Там стоит два:
6N137 (Оптопара высокоскоростная 10 Мбит/с логическими уровнями на выходе [DIP-8]).

Вот такие дела.
aleksandr-zh
ну ваще!
я ж Вам вроде всё разжевал, схемы давал реальные, из моего торгового автомата... Не уж то всё так плохо с пониманием схем и основ электроники?...
marat_galimov
To aleksandr-zh:
Цитата
я ж Вам вроде всё разжевал, схемы давал реальные, из моего торгового автомата...


Ваши схемы из вашего автомата вы мне не давали.

Вы сказали, что приболели. Я не стал вас более беспокоить.

Поэтому я и стал собирать те две схемы, которые у меня были (которые я вам показывал изначально):
1) Из поста германского товарища Bouni
(http://blog.bouni.de/blog/2012/07/09/the-mdb-protocol-part-2/)
2) Из топика здесь на форуме
("MDB интерфейс, схема входной части slave" / http://electronix.ru/forum/index.php?showtopic=101328)
aleksandr-zh
так те же самые, что в личке рассматривали! да и могли бы напомнить, у меня с декабря дикая суета из-за кружка..

схема, со стороны торгового автомата






всё что надо - пишите, расскажу
marat_galimov
To aleksandr-zh:

Цитата
схема, со стороны торгового автомата


Большое спасибо за схему.

Цитата
так те же самые, что в личке рассматривали!


Увы они разные, причем те две схемы, которые у меня были изначально, что я вам показывал, значительно отличаются (они конкретно неправильны):

1) На разъеме MDB (MF-2x3MA) RX и TX перепутаны местами;
2) Земля +24V (2 нога) и сигнальная земля Communication Common (6 нога) не соединены между собой;
3) В линию RX MDB никакого тока не приходит (как у вас через PNP транзистор), там лишь оптрон тянет ее в землю (как будто бы 5V там уже присутствует по умолчанию);

--------------------------------------------------------------------------

To controller_m30:

Сделал вашу схему и схему с kiosk.ru (на всякий пожарный).

Во вложении и в jpg и в pdf.
[22 - 01_type3_3.3V.jpg / 22 - 01_type3_3.3V.pdf]
[23 - 02_type4_3.3V.jpg / 23 - 02_type4_3.3V.pdf]

Поглядел, вроде они не противоречат схеме от aleksandr-zh.

Развел, сейчас пойду травить. Как запущу. Сразу отпишусь.
marat_galimov
To controller_m30:

Цитата
Вместо подтягивающего резистора на линии RXD-MDB, сделать целый стабилизатор тока 20мА на двух транзисторах, и включить его как приводится в примерах.
Какие номиналы деталей я точно сказать не могу. Это зависит от того что есть в наличии, и нужно будет подбирать экспериментально.

Внизу скриншот симуляции в Proteus стабилизатора на разных транзисторах (BC856 и 2N2907 - взяты наобум), но с одним и тем же номиналом резистора RV (34 Ом). И как видно, ток получается разный. Поэтому подбирать этот резистор придётся экспериментально.

Транзисторы купил 2N2907, номинал, как у вас в симуляции в Proteus - один в один.

Цитата
И стабилизатор напряжения и стабилизатор тока настраивайте отдельно от устройств MDB и оптронов (а то мало-ли чё). Только когда на выходе LM317 будет +5В, а стабилизатор тока будет железно держать 20мА на выходе, при его КЗ на землю - тогда можно будет испытывать схему вместе с MDB устройством.


На выходе стабилизатора напряжения стабильно +5V, а на выходе стабилизатора тока стабильно 20mA, при его КЗ на землю.

---

Иду далее - просто пока замыкал MCU_TxD на питание и на землю:

Когда MCU_TxD в 1, то MDB_RxD в 0.
Когда MCU_TxD в 0, то MDB_RxD в 1.

Все по логике, все как положено.

---

Иду последовательно, подключаю MCU_TxD к USART_TX. Хочу просто прогнать меандр от МК (0x155), и посмотреть, что будет на стороне MDB на МDB_RxD.

На выходе МDB_RxD - какая-то лажа. Скиншот во вложении [24 - last_scheme_result.jpg].

Расстроился. Даже не представляю в каком направлении мне дальше копать в этом вопросе. Что переделывать в схеме? Видимо я реальный "логический ноль" в основах аналоговой электроники. Довольно долго пытаюсь побороть эту опторазвязку MDB и не могу добраться непосредственно до программирования и MDB команд.
Склихасовский
Парень не майся ерундой
возьми adum1201 и будет тебе счастье

а насчет оптопар погляди в дш по вопросу таймингов думаю поймешь всю утопичность своей идеи
controller_m30
Я вот думаю. Для 6N137 который стоит в MDB, ток светодиода должен быть в пределах 5-15мА, а ток 20мА является предельным. Наверное, неплохо бы поставить последовательно в цепь MDB-RXD резистор на 500 Ом, чтоб ограничить макс.ток этого светодиода до 10мА. Если этого резистора там нет, конечно. Если он и так есть, тогда не надо (посмотрите внутри).
Ну многовато 20мА для светодиода этой оптопары, мне так кажется.

Предложение что и где мерить.
Посмотрите сигнал осциллографом ещё и после резистора R4.
На джампере J4 померьте мультиметром ток в статическом режиме: при лог.1, и при лог.0 выставленной на стороне VMC.

Ещё, чтоб осциллографом посмотреть токовый сигнал (у нас он ведь токовый), надо в сигнальную цепь поставить шунт, и снимать сигнал зацепив "землю" щупа с одной стороны шунта, а щуп подключать с другой стороны.
Если например вместо перемычки J4 (или где-то в разрыв цепи) поставить резистор 10 Ом, то при токе 20мА через него, на его концах должно быть напряжение 0.2V. По закону Ома U=I*R, в общем.
Если с током в статике нормально, то посмотрите сигнал осциллом на шунте. Лог.1 должно соответствовать 200мВ, лог.0 = 0В (для шунта 10 Ом, конечно! Для другого номинала сами определите, какое напряжение при лог.1).
Что там и как, интересно.

Ещё попробуйте вместо входа MDB-RXD подключить просто обычный светодиод, и посмотрите, есть ли разница в параметрах сигнала в сравнении с подключенным входом MDB-RXD. Всё как мерили раньше: меандр по напряжению, и меандр по току; и ещё в статике - какой ток идёт на светодиод при 1 и 0 со стороны VMC.
На входе MDB стоит оптопара со светодиодом внутри, и подключение обычного светодиода позволяет ещё и визуально определить, включает ли наша схема светодиод, и выключает ли его полностью.
Ну и можно ещё раз посмотреть, как работает внешний светодиод, вместе с резистором 500 Ом включенным последовательно - т.е при ограничении тока до 10мА.
marat_galimov
To controller_m30:

Доброго времени суток. Как выяснилось, схема с kiosk.ru (вариант 4 справа на скриншоте [25 - both_scheme.jpg]) - работает, а та, что дали мне вы (вариант 3 слева на скриншоте [25 - both_scheme.jpg]) - не работает.

Т.е. на схеме kiosk.ru вся MDB-периферия работает как положено по MDB спецификации - купюрник/монентник отвечают на команды от MCU. Хотя по напряжению на осциллографе на MDB_RxD - полная каша, четких квадратных сигналов там не видно. Но зато видимо по току, который заходит в петлю через MDB_RxD - там все нормально, раз все работает.

Но вот зато на MDB_TxD - красивые квадратные сигналы по напряжению, в диапазоне от 0V до 5V - четко видно все ответы от MDB-периферии на осциллографе. А на MDB_RxD со стороны MDB - каша по напряжению.

--------------------------------------------------

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

В итоге я еще раз стал все переизмерять, пересматривать работу диодов, потрошить схему и т.д. Что я проделал:

1) Еще раз решил перепроверить, какой ток держит стабилизатор тока, при его КЗ на землю:

- вариант 3 (controller_m30) - 19.6 mA
- вариант 4 (kiosk.ru) - 19.8 mA

2) Воткнул в разъем минифит MDB светодиод с максимальным током 20 mA (анодом в MDB_RxD / катодом в MDB_GND), слал со стороны MCU 0/1 - смотрел, зажигается ли диод:

- вариант 3 (controller_m30) - горит/не горит
- вариант 4 (kiosk.ru) - горит/не горит

3) Слал медленный (видимый глазу) меандр, чтобы посмотреть моргание диода:

- вариант 3 (controller_m30) - моргает
- вариант 4 (kiosk.ru) - моргает

4) Поставил шунт (резистор 30 Ohm) вместо джампера MDB_RxD, чтобы посмотреть напряжение и посчитать ток, который идет в диод:

- вариант 3 (controller_m30) - воткнул шунт (резистор 30 Ohm) вместо джампера J4
Напряжение - 0.547 V
Ток: I = U/R = 0.547/30 = 18.23 mA

- вариант 4 (kiosk.ru) - воткнул шунт (резистор 30 Ohm) вместо джампера J13
Напряжение - 0.175 V
Ток: I = U/R = 0.175/30 = 5.83 mA

Итого: на нерабочей схеме варианта 3 получилось 18.23 mA. Сразу в башку стрельнуло вспышкой из спецификации:

Peripheral Slave:

= Receive: =
Maximum input current (active): 15 mA @ 4V
Maximum input current (inactive): 100 uA


Т.е. получили 18.23 mA, вместо 15 mA. Решил сделать ток меньше 15 mA.

5) Впаял в схему варианта 3 резистор 510 Ohm, чтобы ограничить ток в петлю через MDB_RxD:

I = U/R = 5/510 = 9mA

В общем сделал, как вы предлагали, в плане того, что много 20mA для светодиода оптрона, который стоит в оптопаре купюрника.
Цитата
Я вот думаю. Для 6N137 который стоит в MDB, ток светодиода должен быть в пределах 5-15мА, а ток 20мА является предельным. Наверное, неплохо бы поставить последовательно в цепь MDB-RXD резистор на 500 Ом, чтоб ограничить макс.ток этого светодиода до 10мА. Если этого резистора там нет, конечно. Если он и так есть, тогда не надо (посмотрите внутри).
Ну многовато 20мА для светодиода этой оптопары, мне так кажется.


Повесил обратно шунт:

- вариант 3 (controller_m30) - воткнул шунт (резистор 30 Ohm) вместо джампера J4
Напряжение теперь стало - 0.152 V
Ток: I = U/R = 0.152/30 = 5.0 mA (тогда как на схеме рабочего варианта 4 было 5.83 mA).

Запустил - MDB-периферия не отвечает.

6) Посмотрел на приемную линию MDB_TxD на рабочей схеме варианта 4, решил перенести все это во вариант 3:

- поменял R2 510 Ohm на 10K (по аналогии с R16)
- поменял R3 510 Ohm на 680 Ohm (по аналогии с R14)
- врезал в линию 680 Ohm (по аналогии с R15)
- повесил на линию кондер 100pF (по аналогии с C5)
- повесил на диод Зеннера (стабилитрон) на 5.1V (по аналогии с D5)

Запустил - MDB-периферия не отвечает по прежнему.

7) Подумал, может я все из пункта 6 криво припаял сверху, может проблема в этом:

Чтобы это исключить, решил от MCU в MDB_RxD слать через вариант 3, а принимать в MCU из MDB_TxD на варианте 4 (который заведомо рабочий). Соединил две схемы через сделанные переходники.

Запустил - MDB-периферия не отвечает по прежнему. Т.е. дело не в криво допаянной сверху обвязки приемной линии на варианте 3 (которая повторена по аналогии с вариантом 4).

8) Вспомнил, что вы говорили посмотреть до и после резистора R4, решил посмотреть:

Цитата
Посмотрите сигнал осциллографом ещё и после резистора R4.


В итоге результат на скриншоте во вложении [26 - signal_before_and_after.jpg].

Как видно, сигнал на схеме не рабочего варианта 3 после резистора R4 не виден (он там периодически выстреливает в очень маленькой амплитуде).

А вот на схеме варианта 4 - сигнал отчетливо видно и до и после резистора R12.

Мне кажется, проблема в этом. А вот как это решить. И в каком направлении двигаться дальше. Просто очень хочется во всем разобраться фундаментально.

Заранее всем спасибо за любые советы и рекомендации.
zombi
А Вас не смущает тот факт, что во всех схемах (которые мне попадались) подключения каких либо устройств с MDB интерфейсом
штуковина (которая подписана как "стабилизатор тока 20mA") через резистор подключается к аноду диода а не к коллектору транзистора оптрона?
controller_m30
marat_galimov, предлагаю взять номиналы резисторов обвязки токового стабилизатора от схемы kiosk.ru.

Мой вариант схемы, в динамике не испытывался даже в симуляторе Протеуса (имеющийся в программе осциллограф к токовому шунту не подключить). Номиналы резисторов обвязки стабилизатора тока (1К управляющий сигнал, и 2.2К подтяжка к земле), взяты из китайской схемы в блоге bouni, при том что транзисторы, используемые в той схеме не известны.
Я проверил только в статике, что предлагаемая мной схема корректно держит ток и напряжение, а также на малой частоте 1-2 Гц. Т.е. такие резисторы можно применить в первом приближении. А как она будет себя вести на скорости - это уже только испытания в железе могут показать.
И какие транзисторы Вы будете использовать в своей схеме, тоже было неизвестно на тот момент, и потому те номиналы обвязки были предложены исключительно для примера.

Поэтому номиналы резисторов вокруг токового стабилизатора, пришлось бы подбирать всё равно. И очень хорошо, что Вам попалась готовая схема для этих же транзисторов от kiosk.ru. Берите её и не раздумывайте rolleyes.gif
Мой вариант был только примерный, от которого можно отталкиваться при отсутствии других схем. Но я думаю мы довели бы его до ума. Протеус тоже показывал, что резистор R4 на 1k слишком велик для имеющихся транзисторов, и только после уменьшения его номинала до 100 Ом сигнал в симуляторе стал чётким. Но я сначала предложил проверить остальные части схемы в статике, чтоб ничего не спалить, уменьшив наобум сопротивление этого резистора.

В общем предлагаю ещё раз, брать схему от kiosk.ru в готовом виде и дальше не экспериментировать. Вы её проверили и в статике и в динамике, она безопасная для оптронов и главное работает - а больше ничего и не требуется.
Я тоже возьму себе на заметку схему kiosk.ru, может пригодится когда-то.
zombi
Пошла третья страница попыток зажечь светодиод и считать состояние с коллектора транзистора.
Это клиника! 01.gif
controller_m30
Цитата(zombi @ Mar 6 2016, 20:32) *
А Вас не смущает тот факт, что во всех схемах (которые мне попадались) подключения каких либо устройств с MDB интерфейсом
штуковина (которая подписана как "стабилизатор тока 20mA") через резистор подключается к аноду диода а не к коллектору транзистора оптрона?

Она подключается и к аноду диода тоже - только он спрятан внутри MDB-устройства.
Из-за того что в одном из MDB-устройств нет по входу оптронов (или они не идентифицированы на плате), а в другом они есть - одно из устройств развязано через один каскад опторазвязки, а другое аж через два каскада. И в этом другом устройстве токовая схема выдаёт сигнал на анод диода, это точно. Ведь устройство на команду реагирует.
zombi
Цитата(controller_m30 @ Mar 6 2016, 22:02) *
Ведь устройство на команду реагирует.

Ааа, ну тада ой. не буду мешать.

Возможно опять глупость спрошу. Но всё же.
А зачем там вообще стабилизатор тока если напряжение постоянно и равно 5V?
Почему просто резистора 250 Ом не достаточно?
controller_m30
Цитата(zombi @ Mar 6 2016, 22:01) *
Пошла третья страница попыток зажечь светодиод и считать состояние с коллектора транзистора.
Это клиника! 01.gif

Нет. Это "особенность" интерфейса MDB biggrin.gif
В нём сигнал выполняющий функцию TXD называется почему то "RXD-Master", а сигнал RXD зовётся как "TXD-Master". Потому в обсуждениях на форумах разработчиков этого интерфейса, постоянно мелькает что TXD и RXD были попутаны местами.
Изобретатели интерфейса видимо рассчитывали, что подключать их торговые автоматы будут только электрики, и не учли, что для разработчиков электроники, которые постоянно имеют дело с обозначениями TXD, RXD - их вариант названия сигналов непривычный. И потому у разработчиков регулярно возникает путаница, всего в двух проводах biggrin.gif
zombi
Цитата(controller_m30 @ Mar 6 2016, 22:18) *
Нет. Это "особенность" интерфейса MDB biggrin.gif
В нём сигнал выполняющий функцию TXD называется почему то "RXD-Master", а сигнал RXD зовётся как "TXD-Master".

Вот же картинка ! Ничего там не перепутано, как по мне

Цитата(controller_m30 @ Mar 6 2016, 22:02) *
... в одном из MDB-устройств нет по входу оптронов ...

Как такое может быть?
Если стандарт подразумевает наличие оных!!!
Это что, китайская новогодняя св. гирлянда что ли?
controller_m30
Цитата(zombi @ Mar 6 2016, 22:25) *
Вот же картинка ! Ничего там не перепутано, как по мне

Вот например там где написано "Master Transmit" - двойная стрелка показывает почему-то навстречу потоку данных. Почему так хз. Может потому что авторы картинки показывают так направление движения тока, а не данных (ток движется в направлении обратном движению электронов). А может всё-таки и перепутали что-то laughing.gif
Но эти стрелки наоборот, и названия типа "Master-Transmit", там где по привычным для всех обозначениям должно писаться "RXD" - могут вводить в заблуждение с непривычки.

А в схеме которую разрабатывает marat galimov, детали расположены также как и на картинке, только зеркально.
zombi
Цитата(controller_m30 @ Mar 6 2016, 23:01) *
Вот например там где написано "Master Transmit" - двойная стрелка показывает почему-то навстречу потоку данных. Почему так хз.

А почему Вы решили что эти стрелки показывают направление чего либо???
Я думаю что это просто контакты разъёма показаны.
Да и одинаковое положение по горизонтали на это как бы намекает, не?
1993 год , прошлый век как никак, рейсфедером небось рисовали biggrin.gif
controller_m30
Цитата(zombi @ Mar 6 2016, 23:07) *
А почему Вы решили что эти стрелки показывают направление чего либо???
Я думаю что это просто контакты разъёма показаны biggrin.gif

Может и контакты разъёма. Только тогда почему не показаны контакты разъёмов для трёх приведенных Slave-устройств? Или прямо с завода три Slave-устройства так и прибыли, соединённые одним неразъёмным кабелем?
Я ж говорю, что схема какая-то путанная и неполная, больше для монтажников-электриков подходящая, чем для разработчиков. Отсюда много путаницы laughing.gif
zombi
Цитата(controller_m30 @ Mar 6 2016, 23:23) *
Может и контакты разъёма. Только тогда почему не показаны контакты разъёмов для трёх приведенных Slave-устройств? Или прямо с завода три Slave-устройства так и прибыли, соединённые одним неразъёмным кабелем?

Потому что это схема подключения мастера.
А разъёмы Slave устройств пусть сами производители оных и рисуют на своих схемах.
Ни разу не встречал что бы мало мальски уважающий себя разработчик обозвал бы входной сигнал TXD и наоборот
zombi
Цитата(controller_m30 @ Mar 6 2016, 23:02) *
Она подключается и к аноду диода тоже - только он спрятан внутри MDB-устройства.

Т.е. к спрятанному внутри входу подключаем два выхода и удивляемся пАчемУ нэ работает?
Я правильно понял Вашу мысль?
marat_galimov
To zombi:

Цитата
Пошла третья страница попыток зажечь светодиод и считать состояние с коллектора транзистора.
Это клиника!


Да, вы правы, тема раскрыта полностью и вопрос исчерпан. Топик пора сворачивать biggrin.gif Три страницы - это серьезно biggrin.gif

---

Спасибо всем за советы и рекомендации.

To controller_m30:

Спасибо вам за помощь, без вас я бы не справился.
Отписал вам в личку.

To aleksandr-zh:

Спасибо вам за заполнение моих пробелов в знаниях.
Отписал вам в личку.

---

В качестве ЭПИЛОГА, так сказать подвести итоги по ключевым моментам этого топика:

--------------------------------------------------------------------------------------

1) В половине схем интернета и на многих форумах, RX и TX перепутаны местами - это грабли, на которые можно нарваться и все на них нарываются.

Master Transmit = Slave Receive
Master Receive = Slave Transmit


2) В монетнике, тоже есть два изолятора, только не оптроны а какие-то маленькие в SMD (так как монетник новый - модель 3-х летней давности примерно). В купюрнике стоят два лошадиных оптрона в ДИП корпусе (так как модель уже около 7 летней давности, если не 10-ти летней даже).

Главные два правила шины MDB:
- Что любой передатчик управляет линией с помощью транзистора с открытым коллектором.
- Что любой приемник отделен от линии оптроном.


По поводу транзистора с открытым коллектором, уже не актуально, так как каждый производитель VMC извращается в плане подачи тока в петлю по разному, кто на что горазд - видел схемы, где используются какие-то готовые токовые драйверы в виде одной микросхемы и т.д. Т.е. транзисторов может уже и не стоять.

По поводу оптронов тоже уже не актуально, так как во всех новых современных устройствах платежной системы могут быть любые другие изоляторы и готовые решения в виде одной микросхемы для этого, вместо лошадиных оптронов в ДИП корпусе.

В общем производители опираются только на токи в токовой петле из спецификации, а не на физическую реализацию с оптронами и транзисторами с открытыми коллекторами (как на этих рейсфедерных схемах 90-х годов).

3) В любом купюрнике/монетнике всегда два оптрона/изолятора в обе стороны, как и в любой плате VMC их тоже два в обе стороны.

Соответственно получаются две токовые петли, одна несет сигнал туда (в MDB периферию), другая несет сигнал обратно (от MDB периферии). И каждая из этих токовых петель гуляет в контуре между двумя оптронами/изоляторами - один в периферийном устройстве (купюрнике/монетнике), один на плате управления VMC.

По крайней мере я сделал такой вывод, распотрошив кучу всяких старых (нерабочих или спаленных) MDB периферийных устройств и плат управления VMC.

--------------------------------------------------------------------------------------
zombi
Цитата(marat_galimov @ Mar 7 2016, 16:59) *
Да, вы правы, тема раскрыта полностью и вопрос исчерпан. Топик пора сворачивать biggrin.gif Три страницы - это серьезно biggrin.gif

Ошибаетесь. До тех пор пока Вы считаете что в приведённом Вами тексте :
Цитата(marat_galimov @ Mar 7 2016, 16:59) *
Master Transmit = Slave Receive
Master Receive = Slave Transmit

что-то перепутано - рано тему сворачивать и рано считать вопрос исчерпанным!
zombi
Цитата(marat_galimov @ Mar 7 2016, 17:59) *
В монетнике, тоже есть два изолятора, только не оптроны а какие-то маленькие в SMD

Т.е. если маленькие и в SMD то это уже и не оптроны вовсе, а некие загадочные изоляторы biggrin.gif biggrin.gif biggrin.gif Афигеть просто можно от Ваших умозаключений
Неужели нет никакой маркировки на корпусе и в гуугле забанили?

Цитата(marat_galimov @ Mar 7 2016, 17:59) *
По поводу транзистора с открытым коллектором, уже не актуально, так как каждый производитель VMC извращается в плане подачи тока в петлю по разному, кто на что горазд - видел схемы, где используются какие-то готовые токовые драйверы в виде одной микросхемы и т.д. Т.е. транзисторов может уже и не стоять.

Т.е. если транзистор интегрирован в некую сборку то он перестаёт быть транзистором?

Цитата(marat_galimov @ Mar 7 2016, 17:59) *
В общем производители опираются только на токи в токовой петле из спецификации, а не на физическую реализацию с оптронами и транзисторами с открытыми коллекторами (как на этих рейсфедерных схемах 90-х годов).

И они правы!
Ибо не могут предположить какая из физических реализаций покажется Вам правдоподобной. biggrin.gif


ДИКАРИ'C. ей богу!
KARLSON
Всем здравствуйте. Так что в итоге? Удалось начать работать с аппаратами на программном уровне?
IvanArnoldovich
Программный уровень там посложнее аппаратного будет. В свое время на написание стека MDB ушло несколько месяцев. Основная сложность - далеко не все устройства полностью соответствуют спецификации MDB.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.