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

Дублёр автомобильной кузовной шины (k-bus bmw) на оптопаре


RockyG

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

Здравствуйте! 
 

Не кидайте камнями, но прошу совета отдельной темой, т.к. поиски чего-то похожего не увенчались для меня успехом.

Кратко, проблема следующая: нужна схема, которая бы принимала сигнал с k-bus шины (12В) автомобиля (BMW E46), передавала его дальше на конечное устройство, но не позволяло этому устройству транслировать сигнал обратно в автомобиль.

Подробнее: цель - запретить блоку управления креслом передавать на блок управления зеркалами и «приказывать» ему вызывать из памяти какое-то положение зеркал.

Общался на эту тему с человеком, который на коммерческой основе реализует более сложный продукт, который полностью эмулирует наличие k-bus шины, поэтому информации удалось узнать не много, но получил от него совет попробовать реализовать такой дублёр на конкретной оптопаре (4n35), т.к. такой оптрон соответсвует необходимым критериям (достаточно быстрый и без инверсии сигнала).

Но, в целом, не принципиально на каких элементах это делать, конечно. Приоритеты компактность схемы.

Характеристики шины во вложении.

A2ACE1F3-6C14-4540-8ADD-BA5738F20C5F.jpeg

 

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

1 час назад, RockyG сказал:

в целом, не принципиально на каких элементах это делать

Тогда чего вы хотите от форума? Вам же специалист уже порекомендовал вариант.

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

2 часа назад, Огонёк сказал:

//////////////

Он мне порекомендовал модель оптопары. А как это реализовать правильно, не порекомендовал :) 

Изменено пользователем Falconist
Оверквотинг
Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

6 минут назад, RockyG сказал:

зачем вообще эта ветка на форуме нужна

Если бы схема, которую вы ищете, существовала в свободном доступе, вам дали бы на неё ссылку. Но, скорее всего, её в природе не существует - значит надо её разрабатывать с нуля. Для таких задач есть профильный раздел форума.

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

3 часа назад, RockyG сказал:

Он мне порекомендовал модель оптопары. А как это реализовать правильно, не порекомендовал :) 

Сомнительная рекомендация, от якобы специалиста. Что она вам даст? Развязку от линии гальванически, зачем? Когда у вас проблема в канальном уровне. Нужно знать дает ли ответ на команды, или просто контролирует целостность данных в линии. А от того уже делать выводы что делать дальше.

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

54 минуты назад, Yuriy.pv сказал:

Нужно знать дает ли ответ на команды, или просто контролирует целостность данных в линии.

Не очень понял вопрос, если честно. Но если речь о том, что происходит в шине, то по ней разные устройства общаются между собой, как я понимаю, посылая определённые импульсы.

По сути мне нужно ограничить передачу этой информации с одной стороны. А ля диод. Но диод, видимо, срезает импульсы и не работает в данной цепи (проверял). 

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

@RockyG То как и что делают устройства я знаю. С подходом аля диод вы ничего не получите. Вы понятия не имеете что там происходит.

То что вам посоветовали подразумевает вскрытие блока управления кресла и манипуляцию с сигналом между процессором и драйвером шины, и то если вам повезет с тем, о чем я вам говорил.

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

@Yuriy.pv не, вскрывать там ничего не предлагалось. Человек на ардуино себе делал эмуляцию шины, чтобы поставить кресла в другой автомобиль, где такой шины никогда не было и кресла не получали сигнал о включении зажигания и не активировали память. Он осциллографом словил тот сигнал, который отвечает за информацию о положении ключа зажигания, и закодил его в ардуинку, которая просто передаёт этот сигнал на блок управления креслом, с которым никаких манипуляций не проводилось. И вот по логике этого же человека, раз шина у меня есть, и нужный сигнал существует, то нужно просто его транслировать в одностороннем порядке. 

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

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

Человек на ардуино себе делал эмуляцию шины,

И

12 часов назад, RockyG сказал:

Он мне порекомендовал модель оптопары

Вы чувствуете разницу. 

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

6 часов назад, RockyG сказал:

Он осциллографом словил тот сигнал

Как минимум осциллограф должен иметь функцию декодера!

6 часов назад, RockyG сказал:

И вот по логике этого же человека, раз шина у меня есть, и нужный сигнал существует

Включите логику и подумайте, по шине идет обмен между двумя устройствами БУ авто и БУ креслом, вы можете знать протокол, скорость обмена, но вы не можете знать что они сообщают друг другу! Что бы это узнать необходимо снять протокол этого обмена каким то сканером! И только после этого можно разгребать что нужно посылать.

Вот и пошевелите мозгами может ли человек не имея авто с креслом что то замутить?

Сергей.

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

@RockyG Если у вас хватит компетенции, максимум что вы можете сделать  это разрезать дорожку TX от процессора к трансмиттеру. Дальнейшее обсуждение бессмысленно, вам уже все подсказали. Если не поняли то вам сюда.

12 часов назад, Огонёк сказал:

Если вам нужна схема, то вам сюда:

https://forum.cxem.net/index.php?/forum/15-вакансии-и-разовая-работа/

 

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

42 минуты назад, optima сказал:

И только после этого можно разгребать что нужно посылать

А почему нельзя посылать абсолютно все? Без разбора.

 

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

16 часов назад, RockyG сказал:

цель - запретить блоку управления креслом передавать на блок управления зеркалами и «приказывать» ему вызывать из памяти какое-то положение зеркал.

А нахрена? Ну и неужели этого нельзя сделать через настройки мозгов машины тем же Васей Диагностом или чем-то аналогичным? Что-то мне подсказывает, что можно. А еще я больше чем уверен, что как только нарушится штатная связь между блоками, машина начнет выдавать ошибку.

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

@optima там адресное общение. Все команды доходят до всех блоков, но исполняются только те, что адресованы этому блоку. Если всё таки абстрагироваться от содержимого, неужели не найдётся какого-то плюс минус стандартного решения для подобных задач? Просто материалов о том, как на том же ардуино собрать схему, которая будет посылать конкретные сообщения на любой адрес - достаточно, но это довольно громоздкие решения.

@BARS_, нет, нельзя, т.к. мозги понятия не умеют, что у них может быть два кресла с памятью - оба выдают себя за водительские и оба командуют зеркалами. И не будет ошибок, это не замкнутая шина. В заводской проводке есть места, где эта шина болтается в воздухе, не получая никаких ответов по отдельно взятому проводу.

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

5 минут назад, RockyG сказал:

мозги понятия не умеют, что у них может быть два кресла с памятью

Такого быть не может, иначе ничего бы не работало.

 

5 минут назад, RockyG сказал:

это не замкнутая шина

А вообще есть понимание, что такое k-bus? Там все девайсы висят на одном проводе.

 

6 минут назад, RockyG сказал:

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

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

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

Это вторичная шина управления, с низшим приоритетом. Поэтому, повторяю:

11 часов назад, Yuriy.pv сказал:

Нужно знать дает ли ответ на команды, или просто контролирует целостность данных в линии. А от того уже делать выводы что делать дальше.

У вас три пути.

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

@BARS_ я довольно хорошо изучил и отточил навык кодирования старых BMW. Есть опции, которые обязательно надо закодировать, чтобы они работали, есть те, на которые в общем то машине по барабану и объявление их наличия нужно только для того, чтобы диагностика и кодирование работали в штатном режиме, и то это не обязательно. То есть я могу подключиться к блоку объявив изменение комплектации, но не сохранять его, например. Кресло с памятью, в нашем случае, довольно "глупое" существо, ничего кроме питания ему не надо, чтобы работать, в плане регулировок и воспроизведения положений из памяти (т.к. записывает оно их в себя, и кнопки вызова тоже на нём). Единственное, для чего ему нужна шина k-bus, так это получать информацию о положении ключа зажигания, которая транслируется по шине во все стороны и принимается почти всеми блоками на этой шине. Кресло, зная, что ключ в положении 1 или 2, активирует возможность запоминать новые положения, а без этой информации кнопка "Memory" просто не активна. Поставив в авто блок управления креслом от праворульной машины, мы получаем два водительских кресла. Диагностируются и кодируются они только путём отключения одного из них от шины, не могло в конкретно этой модели авто быть два кресла с памятью, иначе был бы отдельный блок для пассажира. Но работают при этом кресла абсолютно одинаково, в чём и кроется проблема: блок управления креслом, в момент вызова из памяти нового положения, передает по той же шине сообщения для блока управления зеркалами, какое положение сейчас было вызвано водителем, и зеркала также перестраиваются в это положение. А т.к. у нас формально оба блока кресла водительские, то и зеркала реагируют на них одинаково. Вот для этого и нужен какой-то физический барьер.

Можно конечно один раз выставить в память нужные положения кресла пассажира и отключить шину от  вообще, но это как-то не интересно :)

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

38 минут назад, RockyG сказал:

один раз выставить в память нужные положения кресла пассажира

Надуманная проблема. Память зеркал и кресел создана для удобства персональных водителей. Когда богатого дядю на шикарном седане круглосуточно возят три персональщика, каждый из них настраивает себе удобные для работы положения и восстанавливает их после сменщика одним нажатием кнопки. Накой ляд этот функционал переднему пассажиру? Ему что, трудно при необходимости кнопочками положение отрегулировать?

Обеспечь автономную работу регулировок и не морочь себе голову лишними усложнениями.

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

56 минут назад, BARS_ сказал:

Что из себя представляет k-bus?

Ну если сухо по документации, то это двунаправленный однопроводной интерфейс, работает в полудуплексном режиме. При передаче сообщений напряжение меняется от 0 до 12 В, от низкого к высоком - логическая 1, обратно - логический 0.

48 минут назад, Огонёк сказал:

Накой ляд этот функционал переднему пассажиру? Ему что, трудно при необходимости кнопочками положение отрегулировать?

В большинстве случаев, вы кончено правы. Функционал не часто используется. Но, например, у меня есть пара частых пассажиров настолько разного роста, что нужно заранее изменять положение кресла, чтобы высокий пассажир хотя бы смог сесть, после низкого. Ну и для себя у меня есть комфортное положение, для тех случаев, когда я сам на пассажирском месте) Так то, конечно, не горит, неспешно ищу вариант красивой реализации.

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

29 минут назад, RockyG сказал:

то это двунаправленный однопроводной интерфейс, работает в полудуплексном режиме.

Тогда сделать как-то так:image.png.f3f924dc179d827618dfef290f948d24.png

 

Можно и с оптопарой:image.png.cb73ddb80353697dad126bfffe5dec63.png

Единственно подобрать ту, что сможет работать на частоте 10 КГц.

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

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

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

    • У меня больше всего вопросов вызвала необычная схема обеспечения отрицательного питания. Автор этой обстоятельной заметки пишет: For this supply to work correctly, the transformer must have a secondary voltage of at least 18V RMS.  Почему? Что будет не так с отрицательным питанием, если напряжение на трансформаторе будет меньше 18В?   https://tinyurl.com/23mlwxtt - я в простейшей эмуляции ставлю 12В пикового напряжения для трансформатора и на стабилитроне все как положено: -5.6В.
    • Согласен, очень криво объяснил. Это работа трёх вольтовой линии, просто на диод шотки сдвоенный, на один анод приходит сигнал напрямую с трансформатора, а на второй через дроссель. Вольт/деление 5 вольт в клетке, тайминг по моему 10 МС. Третья фотография это сигнал на катодах уровень земли ровно по центру экрана. Но все линии по итогу в порядке 3.3 в, 5, в, 12 в и -12 в. Нагрузить все линии не могу сразу ,так как тут же выгорают транзисторы (имеется нагрузка 250 ватт по 10 ампер на каждую линию за исключением-12в), поэтому нагружаю 3.3 вольтовую линию на 10 ампер,  подключаю переменный резистор 50 ватт на 15 ом на 5 вольтовую линию и постепенно довожу до той той картины с перекосом (это гдето  50 ватт общее). По поводу микросхемы, вверху имеется скрин где между импульсами проскакивает мини импульс, если так можно сказать, он проскакивает и на одной  и на второй ноге (7,8). Микросхема не tl 494, а lw4933/abx942.1/c9421646. Далее они приходят на базы транзисторов 945g  коллекторы этих транзисторов соединены с  выводами трансформатора. Просто схема типовая, легче мне кажется просто привести фото самого блока, для тех кто разбирается будет гораздо информативне.  Диод шотки по 12 вольтовой линии был подгоревший, заменил на донора. Приводить скрины не буду что бы не захламлять тему. В итоге, пока все так же, при достижении определенной нагрузки суммарно где-то 50 ватт, появляется этот "выброс и перекос". По этому имеются мысли на два варианта, это микросхема , этот мини импульс между периодами, на низкой нагрузке особо не влияет, но при достижении определенной приводит с самовозбуждению входной цепи и непроизвольному открытию транзистора нижнего плеча. Либо дело в "горячей части", плавающий дефект в обвязке силовых ключей.  Спасибо за ответ.
    • @Gomerchik а вы контролировали как меняется уровень сигнала на А1 ардуины?
    • Спасибо за совет. Автором данного проекта я не являюсь, мне нужно было воссоздать уличный датчик для метеостанции взамен пропавшего(( Из разного найденного в интернете этот проект работает с моей станцией Орегон (спасибо автору). В понедельник попробую последовать Вашему совету. Но все равно куча непоняток  как блин это работает)) Если дело в неправильной отправки команды, то как на это влияет подключение датчика температуры? Если совсем не подключать таймер, то передача идет один раз (как и прописано в программе), станция принимает и отображает, но минут через сколько-то естественно станция уже ни чего не показывает, но с таймером питание полностью не пропадает с ардуинки, но передача сигнала каким-то образом работает по таймеру.  В моем понимании данная команда подается один раз потому, что таймер должен отключать питание МК после передачи сигнала и каждые 43 сек снова подавать питание (так того требует станция).  Ардуино передает показания температуры отключается полностью и 43 секунды мк не работает.  Сейчас у меня питание пока сделано на подпитке от солнечной батареи, но пару пасмурных дней и аккумулятор съедается до отключения(
    • thickman Так и сделаю. Вытащу из бу БП.  Буду знать, как отличить. Благодарю. Заменил транзисторы на IRFB20N50K. Картина стала, совсем другой.  Похоже трудность не в драйвере, на момент подвозбуда, переходные процессы, в нем, завершены. Увеличил затворные резисторы до 50ом, стало немного лучше.  Не понятно, почему верхний ключ греется несколько сильнее. Возможно, стоит посмотреть ток в коллекторе.  Снабберные емкости временно удалил, изменений не произошло.  Замена ТГР на другой, на кольце MSTN-16A-TH, так же, результата не принесла.   irfb20n50k.pdf
    • А что нить из ассортимента активных щупов производства СССР..))
×
×
  • Создать...