Цифровой спидометр-одометр на ЖКИ и ATmega8

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
ua3usy
Открыл глаза
Сообщения: 56
Зарегистрирован: Чт май 07, 2009 11:52:36
Откуда: Старая вичуга Ивановская область
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение ua3usy »

я тоже делаю спидометр.. для мопеда своего

http://www.youtube.com/watch?v=SWCL3rpA9K0
Аватара пользователя
artemvinihenko
Открыл глаза
Сообщения: 78
Зарегистрирован: Пт апр 30, 2010 16:09:16
Откуда: Мариуполь (украина)
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение artemvinihenko »

Так всетаки как же правильно перевести теперь полученую частоту в скорость (км/ч) ?
напишите ктонибудь правильную формулу...
AVR FOR CИ РУЛИТ)))
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение clawham »

а ты напиши диаметр своего колеса и колличество импульсов на один оборот этого колеса
а ещё лучше приведи какая частота получается при скорости например 20 километров в час
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
artemvinihenko
Открыл глаза
Сообщения: 78
Зарегистрирован: Пт апр 30, 2010 16:09:16
Откуда: Мариуполь (украина)
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение artemvinihenko »

clawham писал(а):а ты напиши диаметр своего колеса и колличество импульсов на один оборот этого колеса
а ещё лучше приведи какая частота получается при скорости например 20 километров в час


диаметр колеса 26 дюймов.
датчик и магнит у меня будет один - значит 1 импульс/1 оборот

а вот со скоростью засада...пока несчим сравнить...
AVR FOR CИ РУЛИТ)))
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение clawham »

блин 26 дюймов....
а в километрах какая длина окружности будет?

0.6604 метра диаметр
2,07470 метра длина окружности
это 0,00207470 километра
значить на один километр тебе нужно 482 импульса с датчика
когда будеш вводить это значение в менюшку - тебе там подскажут требуемое значение скорости на 1 герц
думается это будет
0,00207470 километров в секунду
или 7,468948038350518036850626885144 километра в час для каждого герца

помоему так...
ведь при скорости 1 оборот колеса в секунду ты за час приедеш
3600 * 2,07470 метров - тоесть 7468,92 метра в час или семь с половиной километра в час :)
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
artemvinihenko
Открыл глаза
Сообщения: 78
Зарегистрирован: Пт апр 30, 2010 16:09:16
Откуда: Мариуполь (украина)
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение artemvinihenko »

эт получается что меньше 7 скорость я неувижу...?а при двух герцах будет уже 14 имхо так непойдет....

а если увеличить
количество импульсов на оборот , например 8-9... тогда на 1км надо будет 4000 импульсов а на 1 герц будет поиходится 0.93 км/ч ,
все верно?
AVR FOR CИ РУЛИТ)))
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение clawham »

он тебе покажет и 0.001 герц и ниже :)) ты о чём? а раз в 10 минут импульс и ничо! работает! показывает!
нет там дискретности.....именно на низкие частоты он очень хорошо заточен...впрочем на высоких не хуже себя ведет...

чем больше импульсов на оборот тем меньше время за которое ты будеш видеть скорость реальную
если каждую спицу считать эт было б вообще супер! но....это сложно реализовать...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Аватара пользователя
artemvinihenko
Открыл глаза
Сообщения: 78
Зарегистрирован: Пт апр 30, 2010 16:09:16
Откуда: Мариуполь (украина)
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение artemvinihenko »

clawham писал(а):он тебе покажет и 0.001 герц и ниже :)) ты о чём? а раз в 10 минут импульс и ничо! работает! показывает!
нет там дискретности.....именно на низкие частоты он очень хорошо заточен...впрочем на высоких не хуже себя ведет...

чем больше импульсов на оборот тем меньше время за которое ты будеш видеть скорость реальную
если каждую спицу считать эт было б вообще супер! но....это сложно реализовать...


да..что то я сегодня уже туплю.....
всё получается...
просто до этого я считал сколько импульсов поступит с датчика за секунду.. а теперь нужно считать время между импульсами таким образом диарозон и точность повышается...можно хоть 10 секунд ждать
из этого всего вытекает такая формула
V=(1/T)*((L/1000000)*3600)
L - длина окружности колеса в мм.
T - время между импульсами в ms.

насчет подсчета импульсов за счет спиц - можно использовать тонкий направлен. ик-луч чтоб спицы при прохождении перекрывали его и на датчике устанавливался низкий уровень......но частота там будет высокая
AVR FOR CИ РУЛИТ)))
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение akl »

Ну, наконец-то!. Осталось только вывести постоянную часть и получить
V[км/час]=(3,6*2,074*Fo)/K*Nx/nox,
где
Fo-частота тактирования МК
K-число импульсов датчика за 1 оборот
Nx-целое число оборотов за время измерения
nox-число тиков частоты тактирования МК за время Nx
Например, для частоты тактирования 8'000'000Гц и 1 имп/оборот постоянная часть, выделенная курсивом будет 59'731'200.
Если скорость движения 22.222 км/час, то оборот колеса будет происходить за время 0,33599135991359913599135991359914 сек, спидометр должен насчитать nox=2'687'930 и высчитать скорость движения V=59'731'200*1/2'687'930~22,222 км/час
http://radioded.ru/forum/viewtopic.php?f=3&t=179#p401
Аватара пользователя
artemvinihenko
Открыл глаза
Сообщения: 78
Зарегистрирован: Пт апр 30, 2010 16:09:16
Откуда: Мариуполь (украина)
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение artemvinihenko »

akl писал(а):Ну, наконец-то!. Осталось только вывести постоянную часть и получить
V[км/час]=(3,6*2,074*Fo)/K*Nx/nox,
где
Fo-частота тактирования МК
K-число импульсов датчика за 1 оборот
Nx-целое число оборотов за время измерения
nox-число тиков частоты тактирования МК за время Nx
Например, для частоты тактирования 8'000'000Гц и 1 имп/оборот постоянная часть, выделенная курсивом будет 59'731'200.
Если скорость движения 22.222 км/час, то оборот колеса будет происходить за время 0,33599135991359913599135991359914 сек, спидометр должен насчитать nox=2'687'930 и высчитать скорость движения V=59'731'200*1/2'687'930~22,222 км/час
http://radioded.ru/forum/viewtopic.php?f=3&t=179#p401


По выше изложеной формуле( V=(1/T)*((L/1000000)*3600) ) всё работает :)
зачем ещё усложнять?

вот проэкт , если интересно :)
Вложения
Spidometr - 2.rar
исправленый расчёт скорости
(133.54 КБ) 527 скачиваний
AVR FOR CИ РУЛИТ)))
Аватара пользователя
artemvinihenko
Открыл глаза
Сообщения: 78
Зарегистрирован: Пт апр 30, 2010 16:09:16
Откуда: Мариуполь (украина)
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение artemvinihenko »

Нарисовалась следущая проблема...немогу с достаточной точностью измерить время (((
вот как я делаю:
настраиваю таймер1 на прерывание при совпадении .в обработчике прибавляю переменную t.
настраиваю внешнее прерывание по спадающему фронту и когда оно приходит останавливаю таймер и приравниваю переменную t другой переменно Tms . а t обнуляю и обнуляю таймер снова запускаю таймер...

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

подскажите как это все правильно организовать?
AVR FOR CИ РУЛИТ)))
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение GP1 »

Что-то как-то замудрённо.
Не проше ли использовать режим ICP таймера:
-ждем прихода импульса на ICP
-считываем ICR (в нем будет нужное значение в ремени в тиках таймера)
-презапускаем таймер с 0
-ждем следующий импульс на входе ICP и далее по кругу.
Чем дальше, тем больше становлюсь занудой...
Изображение
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение clawham »

тем кто повторяет подвиги по написанию прошивки почитайте чтоли для прилиция хотябы эту тему viewtopic.php?f=20&t=46464

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

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение clawham »

тем кто повторяет подвиги по написанию прошивки почитайте чтоли для прилиция хотябы эту тему viewtopic.php?f=20&t=46464

звесь полный блог строительства этой прошивки с нуля...со всеми проблемамии и их обходами
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение akl »

artemvinihenko писал(а):Нарисовалась следущая проблема...немогу с достаточной точностью измерить время (((
вот как я делаю:
настраиваю таймер1 на прерывание при совпадении .в обработчике прибавляю переменную t.
настраиваю внешнее прерывание по спадающему фронту и когда оно приходит останавливаю таймер и приравниваю переменную t другой переменно Tms . а t обнуляю и обнуляю таймер снова запускаю таймер...
подскажите как это все правильно организовать?
Как я понял, импульсы датчика оборотов подаются на INTx и делается попытка счета тиков МК таймером Т1. Все просто
-глобальный запрет прерываний
-настраивается лапа INTx на вывод 0 в надежде заблокировать входные импульсы
-останавливается Т1 и в TCNT1 заносится начальное значение 12 для последующего учета погрешности из-за обработки прерывания INTx
-таймер настраивается счетчиком тиков МК. Также организуется счетчик числа переполнений Т1
-чистятся все флаги
-лапа INTx настраивается на ввод и максимально быстро глобальное разрешение прерываний
-ждем'с
-с приходом прерывания INTx, разрешается работа Т1 счетчиком тиков МК со значения 12
-с приходом следующего INTx, счетчик Т1 останавливается
-глобальный запрет прерываний
- считывается все, что насчитал Т1 и счетчик переполнений
-данные для расчета в кармане
Как-то так.
Кстати, рекомендованный GP1 вариант использования входа ICP1, специально предназначенного для выполнения таких операций не надо сбрасывать со счетов, т.к. половина операций, описанных выше, делается на аппаратном уровне.
Аватара пользователя
artemvinihenko
Открыл глаза
Сообщения: 78
Зарегистрирован: Пт апр 30, 2010 16:09:16
Откуда: Мариуполь (украина)
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение artemvinihenko »

akl писал(а):Кстати, рекомендованный GP1 вариант использования входа ICP1, специально предназначенного для выполнения таких операций не надо сбрасывать со счетов, т.к. половина операций, описанных выше, делается на аппаратном уровне.


:) то что на аппаратном эт хорошо... а то у меня памяти мк и так нехватает :) грузонул его под завязку 99% :))
надо будет попробовать :)

clawham писал(а):тем кто повторяет подвиги по написанию прошивки почитайте чтоли для прилиция хотябы эту тему viewtopic.php?f=20&t=46464звесь полный блог строительства этой прошивки с нуля...со всеми проблемамии и их обходами

обязательно просмотрю :)
AVR FOR CИ РУЛИТ)))
Ostap1706
Родился
Сообщения: 2
Зарегистрирован: Вт авг 16, 2011 15:51:50

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение Ostap1706 »

Доброго времени суток.
У меня есть нужда построить данный спидометр(так как свой не работает)
И мне не понятно пару елементов:
Я их выделил крастным.
И кварц на 16 Mhz нужно заземлять?
Очень жду ответ.
Вложения
1.GIF
(64.26 КБ) 733 скачивания
clawham
Поставщик валерьянки для Кота
Сообщения: 1957
Зарегистрирован: Пт окт 31, 2008 09:38:55
Откуда: Одесса
Контактная информация:

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение clawham »

это всё меры хорошего тона и предосторожности
кварц можно не заземлять и вообще обойтись без кварца - просто точность снизится
дроссель просто необходим в машине - там по 12-ти вольтам 10000 вольт шманает туда-сюда импульсами :)
оптопара на входе - если управляющий продьёт на ВВ провод или на 12 вольт силовых то выгорит просто светик оптопары а не нога МК дороги к этой ноге, экран, кренка и т.д.
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Ostap1706
Родился
Сообщения: 2
Зарегистрирован: Вт авг 16, 2011 15:51:50

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение Ostap1706 »

Спасибо теперь есть смелость начинать делать спидометр.
Перерыл много схем спидометров и вот эта меня покорила тем что можно регулировать количество импульсво на ходу не изменяя прошивку каждый раз при неправильной настройке спидометра.
Огромное СПАСИБО
denya_a
Родился
Сообщения: 12
Зарегистрирован: Чт окт 20, 2011 12:30:04

Re: Цифровой спидометр-одометр на ЖКИ и ATmega8

Сообщение denya_a »

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

Вернуться в «AVR»