Продвинутый цифровой спидометр

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
__Alexander
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

Давно хотел забабахать приборку в авто, но чет дело у меня не в электронике, а в других технологических процессах. Хотел было ЖКИ на всю панель, но их таких в продаже нет, даже приблизительных размеров. Выход один - хочу использовать диоды и соответствующие пленочные светофильтры (может кто подскажет где в Киеве их купить небольшими листами?). А потом, гемор сделать ячейки под светододиод, чтобы не рассеивал на всю панель, точнее не сами ячейки, а их крепеж, т.к. в автомобильной технике надо жестко учитывать вибрацию. А в моем авто - и пяти минут не продержит. :)) Выход - плата, обязательно заводская, жесткие стенки корпуса... и т.д. и т.п. .
Вот так вот, в уме ее уже вижу, сделать - очень много чего надо уметь. :)) :)) :)) .
А через сраку - не хочу даже начинать.

PS. Есть еще один выход - сменить авто на современное. Но уж...
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

Вот тоже думаю замутить себе супер-пупер продвинутый спидометр-одометр, но пока дело дальше эскизов и предварительного алгоритма не пошло, :oops: времени катастрофически не хватает.
что планируется:
цифровой спидометр на чем нибудь от KingBrightа
аналоговый (на светодиодах) спидометр
одометр на ЖКИ (вообщето МФД будет, а не только одометр)
ну само-собой пару -тройку температур
и что еще не решил пока.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
__Alexander
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

Я тоже долго думаю... такие идеи...
А вот такая панель пришла мне в голову, в первый раз два года назад.
Вложения
panel.jpg
(44.11 КБ) 936 скачиваний
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

Класный дизайн,
только ИМХО я бы термометр поменял местами с уровнемером :wink:
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
__Alexander
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

GP1 писал(а):Класный дизайн,
только ИМХО я бы термометр поменял местами с уровнемером :wink:


Возможно. Давно это было. Но помню, я рисовал расположение, как привык это видеть. Да и в принципе и сейчас, температура слева. Но, повторюсь, давно это было, и то, что я ща рисую, далеко не похоже на это. Хотя жалею что не воплотил даже это.
Мне бы ЖКИ таких размеров... цветное да с подсветкой :))

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

Одним словом, я много чего хочу, кто-бы продал красный, желтый, зеленый, желтый и синий светофильтр... может быть и получилась бы полная конструкция.
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

Любая задумка ничего не стоит если никто не собирается ее реализовывать.
У меня приборка из 3 аналоговых измерителей. Со временем заменю топливомер и термоуказатель. Пока готов цифр. спидометр_ одометр и термоуказатель. На месте старого аналогового будет:
температура ОЖ (цифра), температура за бортом (цифра), температура ОЖ столбик ( использую штатный датчик), Тахометр (цифра)
Вложения
Archive.rar
Левый прибор
(160.62 КБ) 540 скачиваний
Аватара пользователя
__Alexander
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

Igr44 писал(а):Любая задумка ничего не стоит если никто не собирается ее реализовывать.
У меня приборка из 3 аналоговых измерителей.


Согласен полностью с реализацией! Но тут вопрос относительно вашего (круглый дизайн) в том, что я снимаю всю панель нах... и у меня простора для идей аж 210х77 мм. Я не хочу в существующую панель че-то добавлять, т.к. она все равно будет выглядеть рагульно, а времени и нервов уйдет столько-же, сколько на изготовление полностью новой. И это хорошо, что перед окончательным решением человек что-то новое придумывает, видоизменяет... и т.п.

А вопрос тут в другом, может я рано или поздно это сделаю (что хотелось бы), но не факт, что тогда у меня не будет автомобиля, в котором ничего не надо изменять (там и так все красиво выглядит).
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

У меня немного другой случай, панель корейская индикаторные лампочки вынесены в отдельные сегменты, в общем не получается полностью все вычистить и набить своей электроникой.
А со сменой машины согласен. Может легче машину поменять на ту, что полностью устраивает ( хотя такого быть не может), но возможности пока нету вот и дорабатываем что имеем
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Сообщение clawham »

а зачем марочиться с знакосинтезирующими экранами и светодиодными столбиками? не проще ли несколько экранчиков от нокии 3310 использовать с развернутым передним фильтром на 90 градусов(чтоб по-умолчанию всё было черное а "черная точка по-старому" белой и подсветку взять тож с какой-то мобилы или разбитого КПКшного экрана....у нотикоремонтников много светодиодных "панелек" с равномерной засветкой с торца....
Я вот тож всё думаю как бы "окошечки" разместить...в принципе не проблема ж и картинку фоновую нарисовать с делениями и цифрами под аналоговый и стрелку нарисовать из угла или от центра :) мега 32 спокойно справляется с рисованием синусоид :)
ещё думаю совместиться с какой-то системой зажигания - точнее корректировать угол опережения, а сама системя зажигания(исполнительное устройство) оставить прежнее - только импульсы с даччика холла через МК пропускать задерживая их на определенное время :)
И ещё идей Вам подкину - для удобства изготовления - попробуйте взять рисовой бумаги, напечатать лазерником на ней рисунок и эту бумагу наклеить на огрстекло нужной формы - результат - нужной формы дырочки и надписи, а чтоб светодиоды не просвечивались - просто нарезать черной пластмассы высолой в сантиметр квадратиков 1х1х1 см и поприклеивать их растворителем к оргстеклу с обратной стороны дырочки под светик - получится посадочное место под светик изолированноесветики можно в ячейках крепить простым молекулярным клеем из пистолета а торец(чтоб снова таки не засвечивался фальшиво) зарисовать перманентным маркером(он по молекулярному клею рисует очень непрозрачно)....
хотя моя мечта всёже конечно большая панеля как в пром станках с ЧПУ - размеры большие точки некрупные и ч/б + память своя :) ну а подсветку желтую легко переделать на ярко-белую
Аватара пользователя
__Alexander
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

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


А ты в своем проекте скорость измеряешь по длине периода или просто по количеству поступивших импульсов за единицу времени? Просто как то вроде и на 6 имп. метр, но при 100Гц скорость не 60, а 53, в протеусе :)) . В реалии все чики?
Аватара пользователя
Igr44
Встал на лапы
Сообщения: 132
Зарегистрирован: Вс мар 08, 2009 12:24:25
Откуда: Ukraine

Сообщение Igr44 »

Привет!
Давно тебя не слышал.
Нет. количество импульсов за единицу времени, действительно небольшое несоответствие с протеусом наблюдается, но тут еще и зависимость от диаметра колеса, и высоты резины
Аватара пользователя
__Alexander
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

Igr44 писал(а): но тут еще и зависимость от диаметра колеса, и высоты резины

Что-то великовата погрешность, да и если вводить корректировку, то получается что и метр будет не 6 импульсов. Если делать пересчет, то в одометре его тоже надо учитывать.

Я хотел сделать измерение по длине импульса, т.к. 1 км/час это 1.6 Гц, такое можно отчитать с хорошей точностью, если измерение проводить с соответствующим интервалом. Можно, но визуально обновлять данные раз в две секунды не хочется.

Но насколько я помню, у меня был глюк что-то вроде - по прерыванию, снимаю значение с таймера, перевожу математически в необходимое число, а в основной программе это значение вывожу. При установившейся частоте все окей, а вот в момент изменения частоты на входе какого-то ляда выводилось значение именно таймера, как-будто в прерывании INT0 TCNT в переменную переписалось, а следующие за ним строки арифметических действий не проводились... я до сих пор не могу понять такой фигни. В протеусе этого бага не отследить, а аппаратно не было времени отлаживать.
w0lf79
Родился
Сообщения: 7
Зарегистрирован: Сб мар 14, 2009 18:08:28

Сообщение w0lf79 »

__Alexander писал(а):
Я хотел сделать измерение по длине импульса, т.к. 1 км/час это 1.6 Гц, такое можно отчитать с хорошей точностью


Я делал измерение скорости по периоду между импульсами , на TINY2313. Для этого удобно пользовать ножку ICP и прерывание по изменению сигнала на ней. В прерывании читаем значение значение регистра ICR, в котором хранится измеренная величина .
Точность измерения частоты получлась в пределах 0.2-0.1Гц , и то из-за округления при расчетах.
Аватара пользователя
__Alexander
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

Грубо это практически тоже самое что и я пытался сделать. Мда, я опечатался, измерял именно период, от и до прерывания по спаду на int0. Лажа была что-то типа такого:

main()
{
for(;;)
{
Тут вывод на отображение х
}
}

vector interrupt INT0()
{
x = TCNT1;
x = x / 5 бла-бла, короче всякие разные арифм. манипуляции.
TCNT = 0;
}

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

А ты свой исходник еще не удалил? Дай на посмотреть. Если, можно, конечно.
w0lf79
Родился
Сообщения: 7
Зарегистрирован: Сб мар 14, 2009 18:08:28

Сообщение w0lf79 »

Измерение периода

interrupt [TIM1_CAPT] void timer1_capt_isr(void)
{

pulse_period=ICR1; // считывание регистра
TCNT1=0x0000; // обнулить таймер

}
// timer 1 overflow interrupt
interrupt [TIM1_OVF] void timer1_ovrfl_isr(void)
{
pulse_period=65535; // скорость =0
}


Математика по пересчету в км/ч в основном цикле . Прерывание по переполнению таймера 1 нужно для обнуления скорости , иначе будет висеть последнне измеренное значение . С обнулением небольшая задержка , на время пока таймер досчитает до переполнения .
В протеусе
Вложения
SPD.rar
(36.24 КБ) 290 скачиваний
Аватара пользователя
__Alexander
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

Спс. Попробывал.
Та же фигня. Даже не могу понять в чем дело.

Вот типа 60 при 100Гц
Идет:
60
60
60
60
60
101
60
60
60
60
99
и т.д.

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

----------
w0lf79
Родился
Сообщения: 7
Зарегистрирован: Сб мар 14, 2009 18:08:28

Сообщение w0lf79 »

__Alexander писал(а):Спс. Попробывал.
Та же фигня. Даже не могу понять в чем дело.



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

----------


Это получается что вместо скорости выводится частота ? А если считать только чтото одно-скорость или частоту ?
Аватара пользователя
__Alexander
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

w0lf79 писал(а): Это получается что вместо скорости выводится частота ? А если считать только чтото одно-скорость или частоту ?


Не, не так.
С таймера получаем значение, отключаем прерывания, значение таймера множим на делитель, получаем длину периода, берем обратное соотношение период/частота, и следующей строчкой для перевода в км умножаем, допустим, на 0,6. Выводим последнее на экран. Включаем прерывания. (Это все образно).
Так вот вместе с последним, на экран проскакивает и предпоследнее.

:))
w0lf79
Родился
Сообщения: 7
Зарегистрирован: Сб мар 14, 2009 18:08:28

Сообщение w0lf79 »

__Alexander писал(а):
Не, не так.
С таймера получаем значение, отключаем прерывания, значение таймера множим на делитель, получаем длину периода, берем обратное соотношение период/частота, и следующей строчкой для перевода в км умножаем, допустим, на 0,6. Выводим последнее на экран. Включаем прерывания. (Это все образно).
Так вот вместе с последним, на экран проскакивает и предпоследнее.

:))


Расчет скорости выглядит у меня такой

spd=18656/pulse_period;

Коэффициент рассчитан исходя из тактовой частоты и настроек предделителя .
А зачеим отключать прерывания, частота импульсов с датчика низкая , уложится в 250 Гц .
Аватара пользователя
__Alexander
Потрогал лапой паяльник
Сообщения: 335
Зарегистрирован: Вт сен 11, 2007 10:27:08
Откуда: Киев

Сообщение __Alexander »

w0lf79 писал(а): А зачеим отключать прерывания, частота импульсов с датчика низкая , уложится в 250 Гц .


Потому что я уже не знаю куда копать :))

Вот проектик на протеусе, там что по ICP, что по INT0 обрабатывает как и должно быть, а вот в реалии какие-то залеты.

И кстати, 250Гц - это только 150 км/час :))

----
Вложения
ProteusSpeed.rar
(16.22 КБ) 274 скачивания
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»