Всем привет!. Хочу поделиться своим положительным опытом в изготовлении адаптера k-line.
Бляха-муха, писал-писал, нажал нечаянно не туда и пи...пи-пи-пи
Немного собственного опыта (не по теме), этот абзац можно пропустить. Еще в 90-х до интернета мы на работе разработали простой адаптер SR232 - моноканал (так мы его назвали) - передача информации по одной линии (полудуплекс). И каково было моё удивление, когда я понял, что k-line - это один в один тоже самое (у дураков и мысли сходятся). До этого я взял схему из инета и, конечно, не заработало.
Реализаций может быть несколько. Я остановился на оптронах - защита ком-порта, преобразователь уровней и простая реализация. Адаптер подключается непосредственно к ком-порту. У меня есть преобразователь USB - RS232 китайский на базе CH340, к нему то я и подключал адаптер. Когда я понял как должен работать адаптер, я доработал уже собранный по схеме из инета и все заработало (но не сразу). В исходном состоянии линия K должна быть в высоком уровне, в схеме из инета было наоборот. Своим CH340 пользуюсь давно (для других целей) и тут меня ждал сюрприз. Когда стал смотреть сигнал осциллографом выяснилось, что все сигналы на CH340 уровнем от 0 до 5В - это же UART а не RS232. RS232 имеет 2-полярные сигналы: на ПК +12/-12В, на преобразователях может и +5/-5В, но 2-полярные. Хотя может мой CH340 просто вышел из строя - не знаю, но работает пусть и по уровню UART. Т.о. можно подключать и к USB - RS232 и к USB - UART и к реальному ком-порту.
Вот схема.
Питание (+) идет с DTR, (-) с RTS ком-порта (у меня RST=0В). При настройке ПО нужно выставить ком-порт, скорость 10400, включить DTR и не включать RTS. Там есть опция поиск адаптера - работает, поскольку это, так называемая, "эховая" схема и все, что ПО пишет в порт эхом приходит назад.
Оптроны PC817, что были в наличие. У этого оптрона нет вывода базы, поэтому ток коллектора сильно зависит от тока светодиода и резистора в самом коллекторе. Еще надо учитывать, что ток реального ком-порта ПК достаточно слабый. Да, на оптронах при подключении к ком порту, нужно подбирать резисторы, чтобы транзистор работал в режиме на скорости 10 кГц - скорость передачи данных. В моем случае я подбирал резисторы для своего CH340. Если преобразователь будет с нормальным выходом +5/-5В, то ничего менять не нужно. Если +12/-12, возможно нужно увеличить R3 в 2 раза, а R4 в 4 раза. Ну, конечно, не нужно искать точно такие резисторы, небольшой маневр есть, просто у меня оказались такие.
Теперь ПО.
Сходу не заработало, поскольку и схема изначально была косячная и ПО тоже. В итоге когда я осциллографом увидел, что адаптер работает нормально, стал искать новое ПО. Вот это у меня не заработало Diagnostic Tulz v1.31.2, а вот это заработало OpenDiagFree1.4.
Мой контроллер BOSCH. В OpenDiagFree1.4 большой выбор контроллеров и нужно найти свой. Я искал перебором. Все BOSCH отвечали, но "чужие", то температуру -40 давали, то обороты на выключенном движке 1000, то напряжение сети 130В и только один показывал все параметры адекватно.
А вот как выглядит в железе