PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Рабочий журнал (http://pccar.ru/forumdisplay.php?f=25)
-   -   KartingPC - Бортовая электроника для карта (http://pccar.ru/showthread.php?t=18968)

yurich38 04.04.2013 09:22

KartingPC - Бортовая электроника для карта
 
Вложений: 4
Привет Всем!

С ребенком собираем карт, сама машина уже почти закончена, скоро поедем :)

Вложение 30715

Вложение 30716


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

Основные ее задачи такие:
1. Мониторинг телеметрической информации (скорость, обороты и т.п.) и передача ее на удаленное устройство. + возможно на "доску приборов"
Интересно посмотреть различные параметры пока ребенок катается, машина строится чисто для обучения, для гонок она не пойдет, поэтому никаких ограничений по весу и прочему у меня нет))
2. Активная безопасность (отсечка по скорости, возможность остановить карт удаленно)
Ребенок маленький, поэтому мне нужна уверенность что он не разгонится и не въедет куда-нибудь.

Перебрав кучу решений по мониторингу, пришел к роутерам :) Мелкий и мощный аппарат с практически всем что нужно на борту.

Система построена на базе роутера TP-link MR-3020
в его задачи входит обработка собранной информации, генерация динамических web страниц и передача этого всего по wi-fi на мой телефон)))
Роутер работает в паре с Atmega8 которая занимается собственно сбором информации с датчиков и управлением различными выходами.

Вложение 30717

Корпус от старого китайского инвертера, хоть на чтото он сгодился))

Вложение 30718

Антенну пришлось вынести из металического корпуса

Пока Atmega считывает только данные с термодатчика (воткнут в порт)
в ближайшее время научу ее определять скорость и обороты двигателя

Роутер работает на прошивке OpenWrt и с Atmega связан через встроенный ком порт.
С Web интерфейсом уже более менее разобрался, т.е. связка (датчик - Atmega - Роутер - Телефон) уже работает.

yurich38 04.04.2013 09:32

Вложений: 5
Теперь о датчиках скорости..

Встал вопрос об измерении скорости вращения колес)

Вариантов перебрал много, но хотелось чего-нибудь по проще, по изящнее)

1. Геркон - так делают на великах, да и как потом выяснилось на многих машинах. оказывается геркон не такой уж и медленный, частота срабатывания у многих доходит до 1000Гц О_о) И ресурс у них приличный, но решение это мне както не по душе)

2. Опто-датчики - Не подходят из-за грязи в которой они не очень хорошо работают

3. Датчики холла - на этом я и остановился.

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

ищем дальше.. куллеры (ведь в каждом стоит датчик холла)

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

Вложение 30719

изучаем второй (верхний на фото) )) куллров куча целая на работе неисправных;)
тоже неудача, чем круче куллер - тем больше в нем деталей))

тогда ищем самый дешевый.. от HDD например. Вот оно, деталей почти нет)
Вложение 30720

На фотках видно квадратную четырехногую микруху, она то нам и нужна.

Вытаскиваем потроха, как и предполагалось деталей нет.

Вложение 30721

Паяем опытный образец, питание и светодиод..

Вложение 30722

Работает! Пролет магнита одним полюсом включает светодиод, другим полюсом выключает.

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

Вложение 30723

но я скорее всего неодимовые магниты приклею на ось, так проще и работает датчик с ними на расстоянии 1,5см


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

bfom 04.04.2013 15:26

Вложений: 3
Очень-очень интересная тема. У товарища есть подобный аппарат и то же назначение - обучение ребёнка, соответственно те же задачи. Постараюсь подтянуть товарища в эту ветку, хотелось бы больше подробностей, да и может сможем помочь в некоторых вопросах. Ниже фоты его подопытного аппарата

Андрейр 04.04.2013 21:29

Вот он я(чей картинг в смысле), давно мечтал о телеметрии, готов помогать, сам могу немного писать в bascom ну если для атмеги.

bfom 05.04.2013 00:21

Вот и заинтересованные лица подтягиваются. Теперь надо составить список хотелок и можно потихоньку приступать к реализации))).

yurich38 05.04.2013 09:05

Отлично) Очень рад что комуто это интересно:)

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

Пока что я для себя определил..
Моточасы работы двигателя;
температуры двигателя и воздуха;
Обороты двигателя;
Скорость (возможно с двух колес);
Время круга

По хорошему все должно писаться в Лог, для возможности анализа потом. только я не сильно понимаю что по этим данным можно сказать; опыта не хватает(

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

Hamster 05.04.2013 17:29

Время круга наверное это "внешний" параметр по отношению к карту? Он же сам его не сможет посчитать - только совместно с фотофинишем?
Если для обучения - я бы мониторил еще педальки тормоз/газ и положение руля - потом с сыном можно будет детально разобрать почему он в поворот с сильным заносом влетел, ну или еще чего там :) В идеале это все записывать на видео (не обязательно с карта) и синхронизировать по времени с логами - тогда просмотр "как катались" будет нагляднее :)

yurich38 06.04.2013 06:41

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

Весь этот мониторинг помоему безссмыслен без "доски приборов" на самом карте;
Я когда гонял (ледовые кольцевые гонки) на своей машине, то на тренировках запоминал максимальную скорость прохождения каждого участка трассы. но у меня был спидометр; я имел возможность контролировать скорость)
А с картом получается странно, смотрим по логам или удаленно что скорость в повороте низкая/высокая, однако ребенок с самого карта ничего этого не видит, и никак не может точно контролировать ту-же скорость, поскольку спидометра нет и опыта чтоб определить скорость "на глаз" тоже нет;

Андрейр 07.04.2013 13:27

В микроне(профессиональны картинговый бк) так и сделанно коробка с ик и датчик на карте, и на бк высвечивается круг и его отношение к предыдущему +или- ну типа быстрее или медленнее.
Дистанционная телеметрия это высший уровень, на мостике все можно спокойно видеть и анализировать.
По датчикам кроме параметров двигателя обороты, температура, состав смеси, интересны датчики, угол поворота руля, усилие или ход нажатия тормозной педали, ход педали газа , спидометр , но самое главное ко всему этому G сенсор(измеритель ускорения), я попозже опишу как все это обычно обрабатывается.
Чем на данном этапе я могу помочь, отсыпте работы.

yurich38 08.04.2013 06:43

Смотрел профессиональную телеметрию.. круто конечно, единственное что не понравилось это их ЖК дисплеи на которых практически ничего не видно. Рули F1 в этом смысле гораздо информативней;

И Так сенсоры подключенные к системе
Датчик температуры двигателя (-55/+125C)
Датчик температуры воздуха (-55/+125C)
Обороты двигателя (500-15000об/мин)
Скорость задней оси (0-140км/ч);
Скорость передней оси (надо ли?)
Датчик "круга" (непонятки с точным определением времени)
Датчик положения педали Газа
Датчик положения педали Тормоза
Датчик положения педали Руля
G-Сенсор
Датчик состава смеси (пока вообще не понятно как его прикрутить)

Смотрите диапазоны измеряемых значений и если что корректируйте, поскольку для моей задачи диапазонов хватит в разы меньше))

Теперь о главном; Мы никогда не добьемся тойже производительности что и у проф телеметрии. при нашей реализации системы сенсоры будут считываться периодически (N раз в сек) слабым местом у нас является как использование медленных процессоров так и сам роутер, да и возможности WiFi канала не безграничны.

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

yurich38 08.04.2013 07:10

Доска приборов.
Я буду делать на светодиодных сегментных индикаторах, их лучше видно днем; но большое их количество усложняет конструкцию

Мне кажется достаточным вывод скорости + оборотов (либо как на F1 оборотов оптимального переключения)
Для этого нужно всего 3-4цифры + линейка светодиодов.

Если выводить время круга и еще куча всего то проще взять ЖК дисплей, но мне эта идея не нравится. да и пилоту (особенно ребенку) эти данные не нужны;
Если уж сильно круто делать то проще организовать по WiFi аудио канал, и сообщать пилоту эти данные; однако я прока не нашел возможностей реализации данной идеи;)

yurich38 08.04.2013 12:22

Андрейр, если у вас есть возможность/желание создавать подобную систему то уже сейчас можно взять роутер и обкатать его на карте в реальных условиях
поскольку неизвестно как wi-fi будет вести себя на большой скорости и какую реальную дальность мы получим;

Андрейр 08.04.2013 13:12

Цитата:

Сообщение от yurich38 (Сообщение 254471)
Андрейр, если у вас есть возможность/желание создавать подобную систему то уже сейчас можно взять роутер и обкатать его на карте в реальных условиях
поскольку неизвестно как wi-fi будет вести себя на большой скорости и какую реальную дальность мы получим;

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

yurich38 08.04.2013 13:46

Я тоже не сильно то и крут в программировании AVR:). Последнее время пишу на CdoeVision AVR.

Роутер я так понимаю без разницы какой, я брал MR3020 именно изза его размеров, ну и большого числа "модов" в инете.
С ним я уже более менее разобрался, могу подсказать по прошивке и некоторым нюансам; с другими не знаю)

Атмега8 вполне может кончится раньше, портов там уже впритык хватает, на всякий случай нашел Атмегу32, портов хватит а вот с производительностью я не уверен.

yurich38 08.04.2013 19:09

Вложений: 3
Зацените идею индикационного блока) "Photoshop maked"
причем из корпуса роутера;)
Показывать может в нескольких режимах;

Скорость + линейка оборотов, или оборотов переключения
Вложение 30776

можно показывать скорость + тахометр (может еще чтото)
Вложение 30777

А так показывает "преимущество" на круге (в сравнении с пред. кругом)
+01:47:681 это круто конечно)
Вложение 30778

Секндомер в реальном времени показывать мало вероятно. слишком часто данные обновлять; а вот +/- от круга можно показать, и практически без лишних индикаторов.

yurich38 28.04.2013 11:04

Вложений: 5
И так, за это время сделано)

1. проект полностью переехал на Atmega32.
Больше портов, более свободный монтаж. Появилась возможность, например, вывести диагностические светодиоды которые на 8-ке при всех наших хотелках уже просто некуда было запихать
Вложение 31110


2. Система получила независимое питание 7-40В. Блок питания собран на LT1076CT.
Вложение 31111
Все собрано по типовой схеме. и настроено на 5,05В
Вложение 31113


3. Сделан индикационный блок.
т.к. мне менее интересна индикация оборотов, чтоб не делать дополнительные лампы, светодиоды объединили в группы. полоса индикации оборотов на них тоже выводится довольно информативно, однако появляется возможность индикации ошибок и неисправностей, зажигая например одну красную лампу
Вложение 31114
Работает все по 4м проводам (питание+интерфейс), интерфейс собственный, довольно простой и абсолютно не требовательный к скорости.
Вложение 31112
Индикатор собран на Tiny2313, одна тинька тянет 6-7 сегментных индикаторов, в индикационном блоке их будет 2 (пока работает только один)
Яркость индикаторов не достаточна при ярком свете, с этим пока боремся)

yurich38 01.05.2013 18:25

Сегодня произвели тесты дальности :)
результаты следующие:
1. Телефон ~~ Блок Мониторинга. работает на расстоянии около 50 метров
2. Ноутбук ~~ Блок. метров 100

А вот связка
3. Ноутбук - Роутер ~~ Блок. показала дальность почти в 300 метров, это при том что роутер был полудохлый, с какойто недоантенной))
За исключением нескольких сбоев, причины которых выясняются, система работает стабильно. При сокращении расстояния связь восстанавливается, и данные продолжают мониторится
Так что идея удаленного мониторинга имеет право на жизнь))))

На данный момент система мониторит 8 Аналоговых входов, до 4х датчиков температуры.
Наконец сделаны внутренние часы (их точность хода пока никчерту)
Работаем дальше...

yurich38 03.05.2013 11:42

Вложений: 2
Поскольку блок показал очень хорошие результаты при работе от батарей, решено установить внутрь корпуса li-po батарею, а раз так то нужна система контроля ее заряда; чтоб не угробить ;)

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

Продолжаем эксперименты.. Теперь займемся логами)
Паралельно развлекаемся с Web интерфейсом.
Вложение 31150
Учимся выводить информацию в различных видах.
Вложение 31151

Андрейр 04.05.2013 16:55

Красиво, а у меня пока времени нет вплотную заняться.

yurich38 05.05.2013 16:13

Красиво то оно может и красиво, но чет не то(
посмотрел на проги Motec для анализа логов по заезду. понял примерно как это все можно анализировать, задумался о том что "строю".

И так, раз уж эта тема превратилась в мой монолог( буду критиковать себя сам..

На данный момент Atmega передает роутеру посылки об изменениях параметра в формате #00:00:00.000 SNx VAL; т.е. время/сенсор/значение; вроде как логично, но..
При скорости порта 19200 мы имеем 1745 байт/сек или примерно 70 посылок в секунду
теперь поделим на количество параметров (к примеру минимум 10) и получим 7! т.е. изменеие одного параметра мы можем мониторить каждые 142мс А при скорости 80км/ч машина за это время пролетит 3 метра!!!

Еще одним недостатком является опрос медленной шины 1-Wire с которой на опрос термодатчиков мы вынуждены тратить 750мс т.е. пока опрашивается дачик вы пролетаем 16,5 метров!

В связи с этим думаю теперь как:
1 оптимизировать передачу с Атмеги на роутер, хотябы до 45мс
2 избавится от медленных шин. есть вариант вынести их на отдельный проц
3 избавится от транзита данных роутер-атмега-дисплей, подключив дисплей напрямую к роутеру
4 оценить надобность/возможность подключения к системе GPS приемника

Hamster 05.05.2013 16:43

Цитата:

Сообщение от yurich38 (Сообщение 257542)
И так, раз уж эта тема превратилась в мой монолог

Ну, это не значит что тему не читают:)
Просто дело новое, вот и нету вала советов/замечаний.
Что касается пере дачи инфы от/к роутеру - а если использовать не текстовый формат, а бинарный? Объем передаваемой инфы увеличится в разы, соответственно уменьшится время передачи параметров. Не удобно с точки зрения написания софта, но чем то надо же жертвовать.

MiD_E34 07.05.2013 15:03

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

Virtual 07.05.2013 22:46

насчет 1-Wire термодатчиков.... пересмотри логику. реально шустрее это:
прочесть данные, сразу послать запрос на новый замер и уйти заниматься своими делами
тоесть идея: не запрос ответ., а ответ запрос. +насколько помню даласы как получили команду на измерение..... забивают болт на все и пока не посчитают не реагируют на интерфейс /*отвечают пр. результатом*/ (можно их зафлудить запросами, и чтением.... читать можно в разы чаще но показания изменятся при новом расчете)
+ если датчики на одной линии то команду на начало измерения можно слать груповую.

самое мощное устройство у тя это роутер - перекладывай на него все.
дисплей (7 сегментные индикаторы) вполне реально прикрутить к роутеру... по I2C иль SPI

yurich38 08.05.2013 15:02

Вложений: 1
Про термодатчики спасибо за идею) буду пробовать.

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

На счет блока индикации думаем; Идея подавать импульсами высокое напряжение у меня проскакивала, но если контроллер повиснет, например изза плохого контакта при тряске.. индикатору конец.
Главный недостаток сегментных индикаторов это белые ячейки, яркий свет начинает их хорошо подсвечивать и цифры превращаются в 8 ))
Да и информативность у них хромает;

Один Хороший Человек)) поделился акселерометрами! За что ему огромное Спасибо; Теперь есть Аналоговый MMA7260 и Цифровой MMA7455 для экспериментов.

Цифровой акселерометр я уже припаял на платку (взял для SOIC микрух, хотя можно использовать любую) и залил эпоксидкой
Аналоговый (на 10 копейках) ждет своей очереди

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

Главная проблема в их подключении это 3,3В уровни, пока ищу варианты согласования цифровых интерфейсов;
С аналоговым проще, но переводить АЦП на 3,3 тоже не хочется.

MiD_E34 08.05.2013 15:08

насчет зависаний контролера - вроде у всех есть "Watchdog"

yurich38 08.05.2013 15:55

Цитата:

Сообщение от MiD_E34 (Сообщение 257863)
насчет зависаний контролера - вроде у всех есть "Watchdog"

Есть, но я несколько раз умудрялся вешать контролер так что он не помогает; видимо при каких-то условиях клинит само ядро. а состояния выводов остаются.(

MiD_E34 08.05.2013 17:22

Цитата:

Сообщение от yurich38 (Сообщение 257870)
Есть, но я несколько раз умудрялся вешать контролер так что он не помогает; видимо при каких-то условиях клинит само ядро. а состояния выводов остаются.(

тогда "упс.." у меня опыта с "собакой" нет совсем. Насколько я помню, виснуть у меня он мог только при пуске двигателя - питание вначале было от АСС, а я на МК делал климат-контроль. А когда питание сделал нормальное, то и зависонов не было уже никогда

yurich38 26.06.2013 07:17

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

На сегодняшний день изменения такие:
1. Решено делать единую шину SPI для общения со всеми устройствами (блок индикации, и внутренние элементы)
2. Возможно блок будет переделан на нормальную вытравленую плату с smd компонентами (успешно опробована технология печати плат на полимерной пленке)
3. Блок индикации версии А (на фотках раньше) Списан и уничтожен) Заканчивается сборка блока индикации версии С (теперь это будет аналого-цифровой прибор)

yurich38 18.09.2013 11:06

Вложений: 2
Ура! Мы Поехали!!!!! :big:

Вложение 32823
Вложение 32824

И нормально, таки, поехали :big:
Удалось даже установить пару датчиков и проверить блок мониторинга "в деле"

yurich38 18.09.2013 11:18

Вложений: 2
Датчик скорости:
Все тот же, на микрухе с вентилятора ) к сожалению руки не дошли дописать его обработчик :blush:
Вложение 32825
это он, на алюминиевой пластинке, залитый эпоксидкой.

а магниты были интегрированы в бывшую ступицу звезды
Вложение 32826
держаться на ура. еще ни один не выпал ))

yurich38 18.09.2013 11:22

Вложений: 1
Самом собой зацепили все DS18B20 какие нашли дома :big:
Один в двигатель, Другой в тормозной суппорт
Вложение 32827

bfom 18.09.2013 11:22

Поздравляю с выездом)))))

yurich38 18.09.2013 11:32

Вложений: 2
Долго пришлось ломать голову как зацепить потенциометры.
в итоге придумал насадить на него кусок пластиковой стяжки (в строительстве применяются с колечками на конце)
И получилось! главное в случае чего стяжка гнется а не скручивает голову резюку :whistle:
хотя надо еще додумать конструкцию :blush:

Это датчик положения педали тормоза
Вложение 32828

Аналогично с положением руля.
Только тут этот кусок стяжки вкрутили в гайку на конце рулевого вала.
Вложение 32829

За несколько переездов в багажнике и несколько часов катаний, ни один датчик не сместился )

MiD_E34 18.09.2013 11:35

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

yurich38 18.09.2013 11:39

Вложений: 3
Сам блок получил ушки для крепления ) нужная штука о которой сначала как то не подумали )))

Вложение 32830

Закрепили его за сидением водителя.
Вложение 32831
Тут сухо и тепло :big:

Проводов как в самолете )) и это только начало! :shok:
Вложение 32832

Но все работает :smile1:

yurich38 18.09.2013 11:41

Цитата:

Сообщение от MiD_E34 (Сообщение 271056)
тоже поздравляю - приятно, когда работа закончена и пора придумывать новую ))

Ну о конце еще рано ))) Еще все это надо адаптировать под ребенка.

Да и проект бортовой электроники только в самом начале!!:big::big::big:

yurich38 18.09.2013 11:48

Цитата:

Сообщение от bfom (Сообщение 271053)
Поздравляю с выездом)))))

Спасибо!
Кстати, куда подевался ваш товарищ? Осталось у него еще желание делать мониторинг?

yurich38 18.09.2013 12:12

Вложений: 2
За это время немного определились чего мы хотим от мониторинга
В идеале это тотже функционал что и у программы Motec i2

Графики позволяют очень точно отследить ситуацию на трассе, и потом анализировать ошибки пилота.
Вложение 32833
Все наглядно..
Вложение 32834
С ребенком скачали i2pro.. там есть демо лог. Видно все ) Где пилот замешкался и воткнул не ту передачу, где тормозил рано/поздно, и многое другое.
Идеально для обучения :big:

Вот бы выяснить форматы логов Motec'a и писать сразу в них :big:


Часовой пояс GMT +4, время: 16:15.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot