LINUX.ORG.RU

Отваливается USB-Serial адаптер на Rasspberry Pi 4

 


1

3

Есть проект в котором к Raspberry Pi 4 подключены по USB: K-line адаптер (для получения диагностической информации от двигателя, на чипе ftdi), микроконтроллер stm32 в CDC режиме (определяется как последовательный порт) и 4G модем. RPI питается от автомобильного аккумулятора через преобразователь 12-5v 3А такой вот Сам аккумулятор заряжается от автомобильного же генератора. В чем проблема: При повышении оборотов двигателя до 2500 и более: диагностический адаптер начинает отваливаться. В dmesg вижу: ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32 При оборотах около 4000, также отваливается STM32. Само устройство на месте /dev/ttyACM0, сообщений в dmesg нет, но данные из него просто перестают поступать. Лечится только перезагрузкой RPI. 4G модем при этом нормальной работает всегда. Именно с USB-Serial девайсами начинаются проблемы. Я пробовал подключать совершенно другой диагностический адаптер (ELM 327 с интерфейсным чипом CH340). Ситуация точно такая же. Причем, если адаптер выдернуть из USB вообще, то STM32 перестает отваливаться. Магия. Не могу понять как это все между собой связано. Если не хватает питания на USB, то почему 4G модем не реагирует? И с чего бы вдруг питания должно не хватать, ведь при повышении оборотов генератор наоборот активнее работает. Адаптер на 3A, USB периферия ничего не потребляет особо. Плату RPI менял на другую - разницы нет.

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

с интерфейсным чипом CH340

ИМХО, самый устойчивий к помехам — это cp2102.

Модем, поди, Hi-speed, а эти Full-speed (usb 1.1).

mky ★★★★★
()

Т.е. прилетают помехи со стороны борт-сети через адаптер k-line.
Можно пробовать модифицировать его схему питания, добавлять фильтр, но не факт, что поможет. К-лайн медленная, можешь сделать свой адаптер с гальваническими развязками.
Тут еще можно проверить, что является источником помех. Можно, конечно, предположить, что генератор, что маловероятно, но крайне легко проверяется - отключи и посмотри. Другой вариант - катушка зажигания, вв-провода прошибают.

sehellion ★★★★★
()
Ответ на: комментарий от sehellion

Только для хорошей галванической развязки нужны оптопары с малой проходной ёмкостью, мне вот PC817 не хватило, пришлось ставить по две штуки, с одной и с другой стороны линии, а потом всё равно менять СH340 на CP2102.

mky ★★★★★
()
Ответ на: комментарий от sehellion

Для себя. На продажу, для управления нашими системами собраем шкафы с релюшками и сторонними промышленными контроллерами, и никакого USB :)

mky ★★★★★
()