Перейти к содержанию

На чем можно собрать Lin master..?


chevy91

Рекомендуемые сообщения

Добрый день.

я хочу  на столе запускать фары с рендж ровера, для проверки дхо, габарита и поворота(светодиодный), фара общается по lin.

Канхакером пакеты вычитал и нашел тот который отвечает за дхо, с канхакера все работает, но хочу изготовить блок, так что бы при подаче питания, он отправлял этот пакет в фару и она засвечивалась.

на чем и как это можно реализовать

Спасибо

Ссылка на комментарий
Поделиться на другие сайты

59 минут назад, chevy91 сказал:

Добрый день.

я хочу  на столе запускать фары с рендж ровера, для проверки дхо, габарита и поворота(светодиодный), фара общается по lin.

Канхакером пакеты вычитал и нашел тот который отвечает за дхо, с канхакера все работает, но хочу изготовить блок, так что бы при подаче питания, он отправлял этот пакет в фару и она засвечивалась.

на чем и как это можно реализовать

Спасибо

PIC, Atmega, Arduino , что больше нравится и трансивер типа TJA1021. Ну на крайняк, чтобы микроконтроллер "дрыгал ногой" через мосфет, устанавливая в шине низкий уровень, при этом линия должна быть подтянута к +12V. 

Ссылка на комментарий
Поделиться на другие сайты

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

Вообще-то даже паять не надо, китайцы уже все спаяли, на алиэкспрессе все это есть готовое, только пиши программу.

Ссылка на комментарий
Поделиться на другие сайты

могу сделать проект , не бесплатно!

Ссылка на комментарий
Поделиться на другие сайты

В 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 то фара просыпается и работает ..дхо засвечивает...

чо не так,,?

Ссылка на комментарий
Поделиться на другие сайты

14 часов назад, chevy91 сказал:

 

  // Инициализация SoftwareSerial для LIN

  linSerial.begin(19200);  // Скорость передачи данных LIN

}

У протокола Lin возможны 3 скорости передачи данных: 2400, 9600 и 19200.  

У Вас есть осциллограф, сравните сигналы от ардуино и канхакера.

Ссылка на комментарий
Поделиться на другие сайты

В 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к.

Ссылка на комментарий
Поделиться на другие сайты

Добрый день, не не забросил выходные начались))), последние дни лета так сказать))

сегодня закажу  TJA1021 и на нем попробую сфорганить схемку...

по скоростям разные пробывал, не работало((, а вот по поводу подтяжки резистора не знал...

В 14.09.2024 в 12:50, autonica сказал:

У протокола Lin возможны 3 скорости передачи данных: 2400, 9600 и 19200.  

У Вас есть осциллограф, сравните сигналы от ардуино и канхакера.

есть, как же без него..

Ссылка на комментарий
Поделиться на другие сайты

Для вашей цели разницы между 1021 и 1028 никакой нет. 

На физическом уровне протокол Lin чувствителен к крайним значениям напряжения на шине, поэтому внешний резистор подтяжки необходим. Он ставится со стороны master.

Ссылка на комментарий
Поделиться на другие сайты

Если надо запускать только на столе, то можно исключить C202, D202.

Ссылка на комментарий
Поделиться на другие сайты

9 часов назад, chevy91 сказал:

о форум заработал, я так понимаю такая схемка пойдет под master...?

В принципе пойдет. Я только  не понял, зачем RX подтягивать к VCC?

Ссылка на комментарий
Поделиться на другие сайты

это общая схемка я ее в инете надыбал.. в моей реализации rx  подтягивать к питанию не буду

15 часов назад, autonica сказал:

Если надо запускать только на столе, то можно исключить C202, D202.

так и сделаю)

Ссылка на комментарий
Поделиться на другие сайты

11 часов назад, vasil1975 сказал:

Я только  не понял, зачем RX подтягивать к VCC?

Выход TX контроллера(в режиме UART), который подключается ко входу RX данной микросхемы, имеет открытый коллектор и не может работать без подтяжки. У контроллера имеется внутренняя подтяжка(30-50k), но ее может не хватить при некотором удалении от него, поэтому ставится дополнительная рядом с выводом RX микросхемы. На линии TX данной микросхемы тоже надо поставить подтяжку, но со стороны управляющего контроллера(RX этого контроллера). Чем дальше расстояние, тем меньшее значение должен иметь резистор подтяжки, но не менее указанного в документации к определенной микросхеме. В данном случае можно поставить и 1k, хуже от этого не будет.

Ссылка на комментарий
Поделиться на другие сайты

26 минут назад, autonica сказал:

Выход TX контроллера(в режиме UART), который подключается ко входу RX данной микросхемы, имеет открытый коллектор и не может работать без подтяжки. У контроллера имеется внутренняя подтяжка(30-50k), но ее может не хватить при некотором удалении от него, поэтому ставится дополнительная рядом с выводом RX микросхемы. На линии TX данной микросхемы тоже надо поставить подтяжку, но со стороны управляющего контроллера(RX этого контроллера). Чем дальше расстояние, тем меньшее значение должен иметь резистор подтяжки, но не менее указанного в документации к определенной микросхеме. В данном случае можно поставить и 1k, хуже от этого не будет.

Делал пару проектов, PIC16F876A- UART- интерфейс RS-232. Правда всё на одной плате, работало без подтяжек без проблем. 

Ссылка на комментарий
Поделиться на другие сайты

Я не утверждаю, что в данном случае будет все плохо. Все зависит от скорости передачи, удаления и внешнего фона. При скоростях для LIN может и ничего не надо ставить, тем более "на столе". В реальных условиях помех, например, при скорости передачи 921бод и расстоянии примерно в метр, пришлось применить оптику, даже минимальные значения подтяжек от помех не спасали.

Ссылка на комментарий
Поделиться на другие сайты

39 минут назад, autonica сказал:

даже минимальные значения подтяжек от помех не спасали.

Я сделал охранный комплекс, ИК датчики движения, герконы на дверях, датчики удара от сигналки. И дёрнуло меня сделать все это на SMD компонентах и процессор в корпусе SSOP-20. На столько чувствительно получилось к помехам, что даже щелчок выключателя освещения мог заставить зависнуть процессор. Хотя такой же охранный комплекс, чуть проще по функционалу , но с процессом в DIP корпусе и с выводными компонентами, сделанный мной соседу работает уже лет семь без проблем. Вот тогда я понял, какую проблему представляют собой помехи. И оказывается надо избегать прямых углов при разводке печатной платы. 

Ссылка на комментарий
Поделиться на другие сайты

Относительно применения этой микросхемы NXP рекомендует.... По мне, для теста на столе, нужен хороший блок питания (гальваническая развязка и уровень пульсаций в соответствии к требованиям входного и выходного сигнала) или аккумулятор и не нужно будет бороться с помехами.

TJA1021.png

https://www.alldatasheet.com/html-pdf/310056/NXP/TJA1021/954/16/TJA1021.html

 

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

 немного занят был, но все же  решил вернуться к проэкту, собрал схемку на tja1021 которая нарисована сверху,  шину lin подтянул через диод и резистор к 12 вольтам пакеты данных на осциллографе вижу но фара как молчала так и молчит(. Сравнил осциллограммы на канхакере и на ардруинке они разные.. как я понимаю не корректно написан сам код..

фото_с_канхакера.jpg

фото_с_ардруино.jpg

1 минуту назад, chevy91 сказал:

 немного занят был, но все же  решил вернуться к проэкту, собрал схемку на tja1021 которая нарисована сверху,  шину lin подтянул через диод и резистор к 12 вольтам пакеты данных на осциллографе вижу но фара как молчала так и молчит(. Сравнил осциллограммы на канхакере и на ардруинке они разные.. как я понимаю не корректно написан сам код..

фото_с_канхакера.jpg

фото_с_ардруино.jpg

первое фото канхакер, второе  ардуино

Ссылка на комментарий
Поделиться на другие сайты

4 часа назад, chevy91 сказал:

 Сравнил осциллограммы на канхакере и на ардруинке они разные.. как я понимаю не корректно написан сам код..

Конечно так работать не будет. У вас отсутствуют состояния BREAK , SYNC и контрольная сумма. Также неправильный подход к формированию пакета LIN. Вы отправляете по-байтно, а LIN работает пакетно.

Надо сформировать массив начиная с состояния SYNС и заканчивая контрольной суммой, установить программно состояние BREAK, а затем отправить массив на определенной скорости. 

Ссылка на комментарий
Поделиться на другие сайты

У Вас есть все данные на осциллографе, надо только повторить. Ну и не мешало бы посмотреть как устроен пакет 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

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
  • Создать...