Подключение нескольких MCU по USART
Мужно подключить несколько ATmega88А(слейвов) к STM32F407 (мастер) по USART как Тут.
Решил сделать оптическую развязку:

Даная схеме не инвертирует входной сигнал. Но не хочет работать быстрее 4800. Диоды для защиты выхода микроконтроллера от сигнала с активного мк.
Слейв после приёма (через аналогичную развязку) принимает сообщение(адрес девайса), и «отвечает» мастеру тем же адресом. к точке «MASTER_UASRT_RX» подключен логический анализатор. В каждый момент активен только 1 мк. Когда включён 1 модуль(по отдельности работает каждый) всё работает, когда 2, логический анализатор ничего не фиксирует на линии. Мне нужно подключить таким способом 5 модулей, а тут два не работает.
Не могу понять в чем проблема…
Решил сделать оптическую развязку:

Даная схеме не инвертирует входной сигнал. Но не хочет работать быстрее 4800. Диоды для защиты выхода микроконтроллера от сигнала с активного мк.
Слейв после приёма (через аналогичную развязку) принимает сообщение(адрес девайса), и «отвечает» мастеру тем же адресом. к точке «MASTER_UASRT_RX» подключен логический анализатор. В каждый момент активен только 1 мк. Когда включён 1 модуль(по отдельности работает каждый) всё работает, когда 2, логический анализатор ничего не фиксирует на линии. Мне нужно подключить таким способом 5 модулей, а тут два не работает.
Не могу понять в чем проблема…
19 комментариев
Почему Вы думаете что bjt будет работать быстрее?
P.S. Да, у банального BC847 напряжение насыщения коллектор-эмиттер составляет 200 мВ (типичное значение) при токе коллектора 100 мА. Хотя, конечно, неизвестно, что за оптопара стоИт.
P.P.S. Кстати, я конечно, могу ошибаться, но включение транзистора оптопары как эмиттерного повторителя — не очень хорошее решение.
Оптопара pc817.
Мне нужно получить обычний сигнал, а не инвертированый. Но дополнительный транзистор ставить не хотелось.
Схема из картинки не корректная.
Логический уровень UART в неактивном состоянии '1'. Следовательно при каскадировании двух и более устройств затвор транзистора всегда будет подтянут к Gnd через R6 (транзистор закрыт).
При работе всего одного устройства активный '0' с выхода МК будет разрывать цепь затвора (диод не даст затвору разрядится через вывод МК на землю". Затвор будет медленно разряжаться через R6. Этим и обусловлена низкая скорость передачи.
Предлагаю такой вариант.
Исправил оригинальную картинку в Paint в рабочем перерыве. Перепроверьте, мог где-то что-то не увидеть.
Изменил полярность диодов, добавил резистор в затворную цепь. R7 ИМХО лишний (не такой уже там и мощный транзистор). В коллектор оптрона можно поставить каскад с ОБ, как советовали ранее. Но, думаю, скорости до 115200 и так потянет без проблем.
PS давно хотел зарегиться, повода не было :D
Можно выкинуть со схеми R6?, так как при «0» на ТХ ток будет течь Vсс
— 1K — D5 — земля
Нижний резистор R6 можно (и нужно) выбросить. Он лишний.
Если есть осциллограф было бы неплохо увидеть формы напряжений с затвора Q2, анода и эмиттера оптрона.
Я через не самые быстрые оптроны передавал сигнал до 38 кбит/с. 4.8 кбит — вообще не серьёзно.