Для передачи цифровых сигналов на большие расстояния принято применять дифференциальные интерфейсы, типа RS422 или RS485. Совет с MAX1480 вовсе неплохой. Это проверенная временем и многими применениями м/с. Да, она дорогая, но работает так как указано в описании.
Вы же с помощью оптрона пытаетесь реализовать интерфейс "токовая петля". Тоже неплохой по помехоустойчивости интерфейс, только с ним есть несколько нюансов.
1. Оптрон в вашем случае должен быть установлен непосредственно
возле разъема COM-порта. В длинную линию нужно передавать
сигнал тока, а не напряжения. Но при этом вы готовы к тому, что все наводки длинной линии примет на себя порт вашей Меги или чего там в у вас? И как вы предполагаете в этом случае будет обстоять дело с ее помехоустойчивостью, а?

2. Запитать выходную часть оптрона лучше все-таки от дополнительного изолированного источника. Если же запитываете непосредственно от COM-порта, то посмотрите хотя бы как это делали другие.
http://www.caxapa.ru/sch/rs232.html3. При передаче через "токовую петлю" требуется учитывать сопротивление линии связи. На 1 км сопротивление проводов может быть существенным и потребуется коррекция тока (придется подобрать резистор к излучающему диоду оптрона).
Короче я не совсем понимаю ваши изыски. Есть готовые и широкораспространенные решения для промышленных интерфейсов, зачем изобретать именно
свой велосипед?
Цитата(Qwertty)
А RS232 это как раз UART - асинхронный протокол.
Цитата(defunct)
UART это не протокол, это интерфейс.
UART это не протокол и не интерфейс, это устройство или периферийный модуль микроконтроллера -
Universal
Asynchronous
Receiver /
Transmitter. А вот RS232 это да, стандартный интерфейс.