Разобрал свой механический спидометр и обнаружил геркон, который одной ногой сидит на массе и замыкается 4 раза за 1 оборот троса. Замыкаемая нога, кажется доступна на разъеме. Сегодня подключился и получил результат: примерно 8 импульсов на 1 оборот колеса (замерял из салона по положению соска). Не надо ни чего колхозить
Действительно, пробег машины на один оборот колеса вряд-ли больше 1,5м, т.е. в худшем случае импульс будет на 18см. Это очень неплохой показатель т.к. большинство машин имеют 0,22-0,25м на пульс. Проблемы наблюдаются при 30-40см на пульс и то могут компенсироваться некоторыми ньюансами вождения. Ура!
зы. Плохо что на массе, это как в suzuki, для dr-gps всеже нужны 12в пульсы. В худшем случае придется колхозить инвертер сигнала. Прерывать землю не получится т.к. от той-же земли питается индикатор заднего хода. Понимаете, по пульсам невозможно определить направление движения автомобиля и калибрация не пройдет.
Ха-ха, это смотря какие колеса, на моих в 33 дюйма получается длинна окружности районе 2,63м., тогда один оборот это как раз зона риска ~ 32см. Хотя понятно, что колесо не бывает в реальности такого диаметра. Т.к. оно всегда проминается.
С 8 импульсами я наврал Изначально замерял так: поставил машину, что бы было видно в каком положении сосок и проехал один оборот колеса. Получилось 8 штук.
Потом пробовал по другому: замечаю место где стою, проезжаю до срабатывания импульса, замеряю расстояние: то 75 см получается, то 130 см Потом подумал, что надо ехать-то не от случайного места, а с того когда только-только импульс пришел
Доработал обработку следующим образом: Регистрирую импульс когда геркон размыкается. Зажигаю белый светодид с момента замыкания до момента размыкания - это предупреждение, что скоро придет импульс. Затем надо сделать заметку на земле как только белый погаснет первый раз, до того как погаснет второй раз. Делать это лучше на горке, что бы не мучить сцепление.
Но было уже темно. Поэтому я взял два Озика с разными навигаторами, ездил по улицам и фиксировал диктофоном показания GPS-одометров и Arduino-вского. На Arduino получается не намного большие значения, чем на GPS (понятно, что дрейф нулевой точки и мусор ни кто не отменял). Сегодня переведу записи в цифры и все-таки узнаю какое, примерное расстояние я получу на один импульс.
Понятно, что dead reconing у меня все равно не получится, но будет более точный одометр, чем в штатной приборке, который врет на 20% из-за бОльших колес.
незнаю как там работает ардунские схемы, но в фирменном чипе ublox один раз в секунду в окончательный рассчет принимается только количество импульсов, собранных за предыдущую секунду. Таким образом важным является лишь число, например 35 или 48 импульсов и неважно в каком они были порядке и хромает-ли ритм.
Кроме того зная пропорции работы геркона в спидометре вкл-выкл при генерации удвоенного меандра можно и подправить картинку. Генерить его всеравно придется т.к. все DR-GPS схемы считают только фронты.
Что-то я тогда совсем не понимаю необходимости умножать количество импульсов. Точность-то это никак не повысит…
Что-то у меня сходу не придумывается “подправлялка” на логике, которая автоматически подстраивает длительность импульса под его период. Вполне вероятно, что для этого придётся ставить отдельный контро… ардуину
Понять очень просто. В герконо-магнитных механизмах меняется частота и длительность импульсов. DR получает только частоту, длительность пропускает, а это дополнительная информация.
В связи с покупкой raspberry pi я все таки поcтараюсь разобраться
с набором параметров посылаемых на CAN шине контроллером ABS/EPS системы
которая стоит на ‘Audi A4/S4 B6/B7’.
Судя по диагностике их там довольно много, и названия весьма замысловатые…
Измеряется по крайней мере скорость каждого колеса (Geschwindigkeit: km/h), ускорение в 2 направлениях (Querbeschleunigung/Längsbeschleunigung: m/s²) ,
угол поворота (Lenkwinkel: °), скорость изменения угла поворота (Drehrate: °/s).
Druck [bar] это видимо тормозное усилие.
С цифрами надо разбираться, Längsbeschleunigung выглядит странно.
Найти соответствие между параметрами и CAN адресами задача конечно нудная, но разрешимая,
поскольку адаптер в Lаwicel моде использует легко читаемый ascii формат.
Думаю на машинах VW с ESP это тоже булет работать.
Согласен. Достаточно в динамике посмотреть на цифры, засекать изменения при прямолинейном движении, на повороте итп, конечно это все простейшим логическим мышлением разбирается.
глядя на эти умные пдфки невольно приходишь к мысли что магнитики с герконами делаются на порядок быстрее и выдают на порядок более достоверную информацию.
Я же про Volkswagen говорю, а не про калину
И щи можно лаптем хлебать, даже экологически чище.
Нашел для полноты картины еще 5 идентификаторов
010
011
...
5D2
5E0
5F2
то есть всего получается 32 пакета, где-то 25KB/s (ascii).
Вcе мониторится в линуксе на нетбуке (CAN адаптер AGV4000Bexp), в raspberry pi кто-то нехороший не включил
драйвер cdc_acm (и ftdi), так что я пока там не могу использовать CAN, ublox
приемники и ADS-B приемник GNS 5890 (ADS-B “радар”).
Пакет 0C2 состоит из 4 16битных слов
t 0C2 8 109F 0000 3BE0 0370
t 0C2 8 F09E 5401 3BF0 032C
где последние 2 это (скорее всего) какие-то keepalive таймеры,
а вот первые два - те самые
угол поворота (Lenkwinkel: °), скорость изменения угла поворота (Drehrate: °/s)
Доступная старая документация VW говорит что датчик Längsbeschleunigung
устанавливается только на полноприводные машины.
Так что пакеты 0C2 и 4A0 (+расстояние между колесами и т.п.) вроде как дают все, что нужно для
Technical paper: "Performance of low-cost real-time navigation system using single frequency GNSS measurements combined with wheel-tick data"
Шутить изволите? С Вашего позволения смею Вам заметить что много лет активно тестирую CAN-адаптеры и преобразую их данные в координаты специализированными GPS-чипами. Так вот. Любая каншина, что в бнв, что в калине выдает цифру скорости 1-2 раза в секунду. Это результат подсчета пульсов гребенки вала КПП или ABS, который соответственно длился секудну до этого. Потом эту скорость надо отправить в дальнейшие рассчеты, а с GPS данные приходят еще раз в секунду. Итого, по результатам натурных экспериментов имеем рассинхронизацию потоков данных более чем на секунду. При этом данные с гироскопа и со спутников синхронизированы с точностью до десятых долей секунды. Разницу ощущаете? У Вас машина уже уехала и повернула, а информация о продольном перемещении еще обрабатывается где-то. Кто писал алгоритмы навигаторов знает какой вал фидбека придет при “лагании на секунду-другую” - завалят воплями типа “дико тормозит а ххх не тормозит”
Поэтому аппаратные, низкоуровневые решения прямо с колес с актуальными пульсами типа 10pulse/m - это профессиональное картографическое решение. А пляски с канами как раз лапти и щи, хоть и дико дорогие, времязатратные, экологически чистые и проводов по машине меньше тянуть.
Зачем фантазировать, когда есть конкретные цифры ? Timestamp на CAN сообщения я пока отключил,
но разделив полное число сообщений на время (~70 минут) можно оценить сколько из них приходят в секунду.
Для более высокоприоритетного id=0C2 (угол поворота руля+угловая скорость) это ~10ms (100Hz),
а для id=4A0 (скорости и направления движения колес) это ~20ms (50Hz).
Порядок величин вполне согласуется с данными приведенными испанцем для других
сообщений (7ms тормоза, 8ms коробка, 10-20ms двигатель)
Более точные данные можно будет получить используя временные метки.
Я вижу скорее другую проблему: модулированный шум амплитудой ~0.2 km/h (период и спектр пока не анализировал),
систематическую разницу 2 km/h в скорости между передними и задними колесами (распределение нагрузки ?)
и между задними колесами (разница в давлении воздуха ?).