chevy91 0 Опубликовано 11 сентября Поделиться Опубликовано 11 сентября Добрый день. я хочу на столе запускать фары с рендж ровера, для проверки дхо, габарита и поворота(светодиодный), фара общается по lin. Канхакером пакеты вычитал и нашел тот который отвечает за дхо, с канхакера все работает, но хочу изготовить блок, так что бы при подаче питания, он отправлял этот пакет в фару и она засвечивалась. на чем и как это можно реализовать Спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
vasil1975 132 Опубликовано 11 сентября Поделиться Опубликовано 11 сентября 59 минут назад, chevy91 сказал: Добрый день. я хочу на столе запускать фары с рендж ровера, для проверки дхо, габарита и поворота(светодиодный), фара общается по lin. Канхакером пакеты вычитал и нашел тот который отвечает за дхо, с канхакера все работает, но хочу изготовить блок, так что бы при подаче питания, он отправлял этот пакет в фару и она засвечивалась. на чем и как это можно реализовать Спасибо PIC, Atmega, Arduino , что больше нравится и трансивер типа TJA1021. Ну на крайняк, чтобы микроконтроллер "дрыгал ногой" через мосфет, устанавливая в шине низкий уровень, при этом линия должна быть подтянута к +12V. Ссылка на комментарий Поделиться на другие сайты Поделиться
chevy91 0 Опубликовано 11 сентября Автор Поделиться Опубликовано 11 сентября мне бы схемку )), хорошо было бы на ардуинке, с прошивкой)) Ссылка на комментарий Поделиться на другие сайты Поделиться
autonica 23 Опубликовано 11 сентября Поделиться Опубликовано 11 сентября 20 минут назад, chevy91 сказал: мне бы схемку )), хорошо было бы на ардуинке, с прошивкой)) Это как в сказке про солдата как он варил суп из топора)))) Ничего сложного нет, только надо схемку спаять и запрограммировать контроллер. Микросхем специализированных полно + ардуино с библиотеками завались). https://github-com.translate.goog/gicking/LIN_master_Arduino?_x_tr_sl=en&_x_tr_tl=ru&_x_tr_hl=ru&_x_tr_pto=sc Вообще-то даже паять не надо, китайцы уже все спаяли, на алиэкспрессе все это есть готовое, только пиши программу. Ссылка на комментарий Поделиться на другие сайты Поделиться
DCpowering 170 Опубликовано 11 сентября Поделиться Опубликовано 11 сентября могу сделать проект , не бесплатно! Ссылка на комментарий Поделиться на другие сайты Поделиться
chevy91 0 Опубликовано 13 сентября Автор Поделиться Опубликовано 13 сентября В 11.09.2024 в 22:54, autonica сказал: Это как в сказке про солдата как он варил суп из топора)))) Ничего сложного нет, только надо схемку спаять и запрограммировать контроллер. Микросхем специализированных полно + ардуино с библиотеками завались). https://github-com.translate.goog/gicking/LIN_master_Arduino?_x_tr_sl=en&_x_tr_tl=ru&_x_tr_hl=ru&_x_tr_pto=sc Вообще-то даже паять не надо, китайцы уже все спаяли, на алиэкспрессе все это есть готовое, только пиши программу. сидел мудрил, мудрил(под пивко)))) намудрил такое #include <SoftwareSerial.h> // Пины для связи с LIN-трансивером const int txPin = 2; // Передача данных const int rxPin = 3; // Прием данных // Создание экземпляра SoftwareSerial для LIN SoftwareSerial linSerial(rxPin, txPin); void setup() { // Инициализация последовательного порта для отладки Serial.begin(9600); // Инициализация SoftwareSerial для LIN linSerial.begin(19200); // Скорость передачи данных LIN } void loop() { // Пример данных для отправки byte data[8] = {0x53, 0x00, 0x00, 0x00,0x00,0x40,0x00,0x00}; sendLINPacket(data, sizeof(data)); // Задержка 1 секунда delay(1000); } // Функция для отправки пакета данных по LIN void sendLINPacket(byte* data, int length) { // Простейшая отправка данных linSerial.write(data, length); Serial.print("Sent: "); for (int i = 0; i < length; i++) { Serial.print(data[i], HEX); Serial.print(" "); } Serial.println(); } компилируется, загружается на плату ,на Ардуино нано. Монитор порта выводит 37 8 53 00 00 00 00 40 00 00, микросхему lin использую tja1028. Осцилографом прямоугольники вижу на выходе микросхемы tja1028, 4 вывод если не ошибаюсь. но если смотреть при помощи кан хакера то этих пакетов нету((и фара молчит..( но если с канхакера дать этот пакет 37 8..........00 то фара просыпается и работает ..дхо засвечивает... чо не так,,? Ссылка на комментарий Поделиться на другие сайты Поделиться
Chytka 145 Опубликовано 13 сентября Поделиться Опубликовано 13 сентября может попробуй TJA1021 Ссылка на комментарий Поделиться на другие сайты Поделиться
autonica 23 Опубликовано 14 сентября Поделиться Опубликовано 14 сентября 14 часов назад, chevy91 сказал: // Инициализация SoftwareSerial для LIN linSerial.begin(19200); // Скорость передачи данных LIN } У протокола Lin возможны 3 скорости передачи данных: 2400, 9600 и 19200. У Вас есть осциллограф, сравните сигналы от ардуино и канхакера. Ссылка на комментарий Поделиться на другие сайты Поделиться
autonica 23 Опубликовано 16 сентября Поделиться Опубликовано 16 сентября В 13.09.2024 в 22:20, chevy91 сказал: Монитор порта выводит 37 8 53 00 00 00 00 40 00 00, микросхему lin использую tja1028. Осцилографом прямоугольники вижу на выходе микросхемы tja1028, 4 вывод если не ошибаюсь. но если смотреть при помощи кан хакера то этих пакетов нету((и фара молчит..( но если с канхакера дать этот пакет 37 8..........00 то фара просыпается и работает ..дхо засвечивает... чо не так,,? Заработало? Забросил?... Хочу добавить очень важный момент. Подтяжка внутри микросхемы драйвера рассчитана для slave, поэтому для master надо добавить свою - резистор 1к. Ссылка на комментарий Поделиться на другие сайты Поделиться
chevy91 0 Опубликовано 16 сентября Автор Поделиться Опубликовано 16 сентября Добрый день, не не забросил выходные начались))), последние дни лета так сказать)) сегодня закажу TJA1021 и на нем попробую сфорганить схемку... по скоростям разные пробывал, не работало((, а вот по поводу подтяжки резистора не знал... В 14.09.2024 в 12:50, autonica сказал: У протокола Lin возможны 3 скорости передачи данных: 2400, 9600 и 19200. У Вас есть осциллограф, сравните сигналы от ардуино и канхакера. есть, как же без него.. Ссылка на комментарий Поделиться на другие сайты Поделиться
autonica 23 Опубликовано 16 сентября Поделиться Опубликовано 16 сентября Для вашей цели разницы между 1021 и 1028 никакой нет. На физическом уровне протокол Lin чувствителен к крайним значениям напряжения на шине, поэтому внешний резистор подтяжки необходим. Он ставится со стороны master. Ссылка на комментарий Поделиться на другие сайты Поделиться
chevy91 0 Опубликовано 20 сентября Автор Поделиться Опубликовано 20 сентября о форум заработал, я так понимаю такая схемка пойдет под master...? Ссылка на комментарий Поделиться на другие сайты Поделиться
autonica 23 Опубликовано 20 сентября Поделиться Опубликовано 20 сентября Если надо запускать только на столе, то можно исключить C202, D202. Ссылка на комментарий Поделиться на другие сайты Поделиться
vasil1975 132 Опубликовано 20 сентября Поделиться Опубликовано 20 сентября 9 часов назад, chevy91 сказал: о форум заработал, я так понимаю такая схемка пойдет под master...? В принципе пойдет. Я только не понял, зачем RX подтягивать к VCC? Ссылка на комментарий Поделиться на другие сайты Поделиться
chevy91 0 Опубликовано 21 сентября Автор Поделиться Опубликовано 21 сентября это общая схемка я ее в инете надыбал.. в моей реализации rx подтягивать к питанию не буду 15 часов назад, autonica сказал: Если надо запускать только на столе, то можно исключить C202, D202. так и сделаю) Ссылка на комментарий Поделиться на другие сайты Поделиться
autonica 23 Опубликовано 21 сентября Поделиться Опубликовано 21 сентября 11 часов назад, vasil1975 сказал: Я только не понял, зачем RX подтягивать к VCC? Выход TX контроллера(в режиме UART), который подключается ко входу RX данной микросхемы, имеет открытый коллектор и не может работать без подтяжки. У контроллера имеется внутренняя подтяжка(30-50k), но ее может не хватить при некотором удалении от него, поэтому ставится дополнительная рядом с выводом RX микросхемы. На линии TX данной микросхемы тоже надо поставить подтяжку, но со стороны управляющего контроллера(RX этого контроллера). Чем дальше расстояние, тем меньшее значение должен иметь резистор подтяжки, но не менее указанного в документации к определенной микросхеме. В данном случае можно поставить и 1k, хуже от этого не будет. Ссылка на комментарий Поделиться на другие сайты Поделиться
vasil1975 132 Опубликовано 21 сентября Поделиться Опубликовано 21 сентября 26 минут назад, autonica сказал: Выход TX контроллера(в режиме UART), который подключается ко входу RX данной микросхемы, имеет открытый коллектор и не может работать без подтяжки. У контроллера имеется внутренняя подтяжка(30-50k), но ее может не хватить при некотором удалении от него, поэтому ставится дополнительная рядом с выводом RX микросхемы. На линии TX данной микросхемы тоже надо поставить подтяжку, но со стороны управляющего контроллера(RX этого контроллера). Чем дальше расстояние, тем меньшее значение должен иметь резистор подтяжки, но не менее указанного в документации к определенной микросхеме. В данном случае можно поставить и 1k, хуже от этого не будет. Делал пару проектов, PIC16F876A- UART- интерфейс RS-232. Правда всё на одной плате, работало без подтяжек без проблем. Ссылка на комментарий Поделиться на другие сайты Поделиться
autonica 23 Опубликовано 21 сентября Поделиться Опубликовано 21 сентября Я не утверждаю, что в данном случае будет все плохо. Все зависит от скорости передачи, удаления и внешнего фона. При скоростях для LIN может и ничего не надо ставить, тем более "на столе". В реальных условиях помех, например, при скорости передачи 921бод и расстоянии примерно в метр, пришлось применить оптику, даже минимальные значения подтяжек от помех не спасали. Ссылка на комментарий Поделиться на другие сайты Поделиться
vasil1975 132 Опубликовано 21 сентября Поделиться Опубликовано 21 сентября 39 минут назад, autonica сказал: даже минимальные значения подтяжек от помех не спасали. Я сделал охранный комплекс, ИК датчики движения, герконы на дверях, датчики удара от сигналки. И дёрнуло меня сделать все это на SMD компонентах и процессор в корпусе SSOP-20. На столько чувствительно получилось к помехам, что даже щелчок выключателя освещения мог заставить зависнуть процессор. Хотя такой же охранный комплекс, чуть проще по функционалу , но с процессом в DIP корпусе и с выводными компонентами, сделанный мной соседу работает уже лет семь без проблем. Вот тогда я понял, какую проблему представляют собой помехи. И оказывается надо избегать прямых углов при разводке печатной платы. Ссылка на комментарий Поделиться на другие сайты Поделиться
Martelectro 0 Опубликовано 21 сентября Поделиться Опубликовано 21 сентября Относительно применения этой микросхемы NXP рекомендует.... По мне, для теста на столе, нужен хороший блок питания (гальваническая развязка и уровень пульсаций в соответствии к требованиям входного и выходного сигнала) или аккумулятор и не нужно будет бороться с помехами. https://www.alldatasheet.com/html-pdf/310056/NXP/TJA1021/954/16/TJA1021.html Ссылка на комментарий Поделиться на другие сайты Поделиться
chevy91 0 Опубликовано 7 октября Автор Поделиться Опубликовано 7 октября немного занят был, но все же решил вернуться к проэкту, собрал схемку на tja1021 которая нарисована сверху, шину lin подтянул через диод и резистор к 12 вольтам пакеты данных на осциллографе вижу но фара как молчала так и молчит(. Сравнил осциллограммы на канхакере и на ардруинке они разные.. как я понимаю не корректно написан сам код.. 1 минуту назад, chevy91 сказал: немного занят был, но все же решил вернуться к проэкту, собрал схемку на tja1021 которая нарисована сверху, шину lin подтянул через диод и резистор к 12 вольтам пакеты данных на осциллографе вижу но фара как молчала так и молчит(. Сравнил осциллограммы на канхакере и на ардруинке они разные.. как я понимаю не корректно написан сам код.. первое фото канхакер, второе ардуино Ссылка на комментарий Поделиться на другие сайты Поделиться
u-vovchika 139 Опубликовано 7 октября Поделиться Опубликовано 7 октября Такое ощущение, что частота не подобрана Здесь лучше лог-анализатор Ссылка на комментарий Поделиться на другие сайты Поделиться
autonica 23 Опубликовано 7 октября Поделиться Опубликовано 7 октября 4 часа назад, chevy91 сказал: Сравнил осциллограммы на канхакере и на ардруинке они разные.. как я понимаю не корректно написан сам код.. Конечно так работать не будет. У вас отсутствуют состояния BREAK , SYNC и контрольная сумма. Также неправильный подход к формированию пакета LIN. Вы отправляете по-байтно, а LIN работает пакетно. Надо сформировать массив начиная с состояния SYNС и заканчивая контрольной суммой, установить программно состояние BREAK, а затем отправить массив на определенной скорости. Ссылка на комментарий Поделиться на другие сайты Поделиться
chevy91 0 Опубликовано 7 октября Автор Поделиться Опубликовано 7 октября Ох блин))),не все так просто как я думал.. Ссылка на комментарий Поделиться на другие сайты Поделиться
autonica 23 Опубликовано 7 октября Поделиться Опубликовано 7 октября У Вас есть все данные на осциллографе, надо только повторить. Ну и не мешало бы посмотреть как устроен пакет LIN. https://www.ti.com/lit/an/slla383a/slla383a.pdf?ts=1728286910337&ref_url=https%3A%2F%2Fwww.google.com%2F Осталось совсем немного). Сначала инициализируем ногу txPin как обыкновенный выход и записываем в него "0" и ждем 1-2мс. Затем инициализируем Serial. и отправляем такой массив: {0x55, 0x37, 0x53, 0x00, 0x00. 0x00, 0x00, 0x40, 0x00, 0x00, 0x6B} . Здесь 0x55 - поле синхронизации, 0x6B - контрольная сумма, можно вычислить онлайн здесь: https://linchecksumcalculator.machsystems.cz Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти