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.
Мне кажется, проблема в этом. А вот как это решить. И в каком направлении двигаться дальше. Просто очень хочется во всем разобраться фундаментально.
Заранее всем спасибо за любые советы и рекомендации.