Цифровой спидометр-одометр на ЖКИ и ATmega8
- Реклама
Так всетаки как же правильно перевести теперь полученую частоту в скорость (км/ч) ?
напишите ктонибудь правильную формулу...
напишите ктонибудь правильную формулу...
AVR FOR CИ РУЛИТ)))
а ты напиши диаметр своего колеса и колличество импульсов на один оборот этого колеса
а ещё лучше приведи какая частота получается при скорости например 20 километров в час
а ещё лучше приведи какая частота получается при скорости например 20 километров в час
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
диаметр колеса 26 дюймов.clawham писал(а):а ты напиши диаметр своего колеса и колличество импульсов на один оборот этого колеса
а ещё лучше приведи какая частота получается при скорости например 20 километров в час
датчик и магнит у меня будет один - значит 1 импульс/1 оборот
а вот со скоростью засада...пока несчим сравнить...
AVR FOR CИ РУЛИТ)))
блин 26 дюймов....
а в километрах какая длина окружности будет?
0.6604 метра диаметр
2,07470 метра длина окружности
это 0,00207470 километра
значить на один километр тебе нужно 482 импульса с датчика
когда будеш вводить это значение в менюшку - тебе там подскажут требуемое значение скорости на 1 герц
думается это будет
0,00207470 километров в секунду
или 7,468948038350518036850626885144 километра в час для каждого герца
помоему так...
ведь при скорости 1 оборот колеса в секунду ты за час приедеш
3600 * 2,07470 метров - тоесть 7468,92 метра в час или семь с половиной километра в час
а в километрах какая длина окружности будет?
0.6604 метра диаметр
2,07470 метра длина окружности
это 0,00207470 километра
значить на один километр тебе нужно 482 импульса с датчика
когда будеш вводить это значение в менюшку - тебе там подскажут требуемое значение скорости на 1 герц
думается это будет
0,00207470 километров в секунду
или 7,468948038350518036850626885144 километра в час для каждого герца
помоему так...
ведь при скорости 1 оборот колеса в секунду ты за час приедеш
3600 * 2,07470 метров - тоесть 7468,92 метра в час или семь с половиной километра в час
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
- Реклама
эт получается что меньше 7 скорость я неувижу...?а при двух герцах будет уже 14 имхо так непойдет....
а если увеличить
количество импульсов на оборот , например 8-9... тогда на 1км надо будет 4000 импульсов а на 1 герц будет поиходится 0.93 км/ч ,
все верно?
а если увеличить
количество импульсов на оборот , например 8-9... тогда на 1км надо будет 4000 импульсов а на 1 герц будет поиходится 0.93 км/ч ,
все верно?
AVR FOR CИ РУЛИТ)))
он тебе покажет и 0.001 герц и ниже
ты о чём? а раз в 10 минут импульс и ничо! работает! показывает!
нет там дискретности.....именно на низкие частоты он очень хорошо заточен...впрочем на высоких не хуже себя ведет...
чем больше импульсов на оборот тем меньше время за которое ты будеш видеть скорость реальную
если каждую спицу считать эт было б вообще супер! но....это сложно реализовать...
нет там дискретности.....именно на низкие частоты он очень хорошо заточен...впрочем на высоких не хуже себя ведет...
чем больше импульсов на оборот тем меньше время за которое ты будеш видеть скорость реальную
если каждую спицу считать эт было б вообще супер! но....это сложно реализовать...
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
да..что то я сегодня уже туплю.....clawham писал(а):он тебе покажет и 0.001 герц и нижеты о чём? а раз в 10 минут импульс и ничо! работает! показывает!
нет там дискретности.....именно на низкие частоты он очень хорошо заточен...впрочем на высоких не хуже себя ведет...
чем больше импульсов на оборот тем меньше время за которое ты будеш видеть скорость реальную
если каждую спицу считать эт было б вообще супер! но....это сложно реализовать...
всё получается...
просто до этого я считал сколько импульсов поступит с датчика за секунду.. а теперь нужно считать время между импульсами таким образом диарозон и точность повышается...можно хоть 10 секунд ждать
из этого всего вытекает такая формула
V=(1/T)*((L/1000000)*3600)
L - длина окружности колеса в мм.
T - время между импульсами в ms.
насчет подсчета импульсов за счет спиц - можно использовать тонкий направлен. ик-луч чтоб спицы при прохождении перекрывали его и на датчике устанавливался низкий уровень......но частота там будет высокая
AVR FOR CИ РУЛИТ)))
Ну, наконец-то!. Осталось только вывести постоянную часть и получить
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[км/час]=(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) ) всё работает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
зачем ещё усложнять?
вот проэкт , если интересно
- Вложения
-
- Spidometr - 2.rar
- исправленый расчёт скорости
- (133.54 КБ) 530 скачиваний
AVR FOR CИ РУЛИТ)))
Нарисовалась следущая проблема...немогу с достаточной точностью измерить время (((
вот как я делаю:
настраиваю таймер1 на прерывание при совпадении .в обработчике прибавляю переменную t.
настраиваю внешнее прерывание по спадающему фронту и когда оно приходит останавливаю таймер и приравниваю переменную t другой переменно Tms . а t обнуляю и обнуляю таймер снова запускаю таймер...
но точность неочень
гуляют еденицы а бывает и десятки милисекунд. я уже неговорю о мкс. там вообще тихий ужас(((
а на показания спидометра эт очень влияет...
подскажите как это все правильно организовать?
вот как я делаю:
настраиваю таймер1 на прерывание при совпадении .в обработчике прибавляю переменную t.
настраиваю внешнее прерывание по спадающему фронту и когда оно приходит останавливаю таймер и приравниваю переменную t другой переменно Tms . а t обнуляю и обнуляю таймер снова запускаю таймер...
но точность неочень
гуляют еденицы а бывает и десятки милисекунд. я уже неговорю о мкс. там вообще тихий ужас(((
а на показания спидометра эт очень влияет...
подскажите как это все правильно организовать?
AVR FOR CИ РУЛИТ)))
Что-то как-то замудрённо.
Не проше ли использовать режим ICP таймера:
-ждем прихода импульса на ICP
-считываем ICR (в нем будет нужное значение в ремени в тиках таймера)
-презапускаем таймер с 0
-ждем следующий импульс на входе ICP и далее по кругу.
Не проше ли использовать режим ICP таймера:
-ждем прихода импульса на ICP
-считываем ICR (в нем будет нужное значение в ремени в тиках таймера)
-презапускаем таймер с 0
-ждем следующий импульс на входе ICP и далее по кругу.
тем кто повторяет подвиги по написанию прошивки почитайте чтоли для прилиция хотябы эту тему http://radiokot.ru/forum/viewtopic.php?f=20&t=46464
звесь полный блог строительства этой прошивки с нуля...со всеми проблемамии и их обходами
звесь полный блог строительства этой прошивки с нуля...со всеми проблемамии и их обходами
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
тем кто повторяет подвиги по написанию прошивки почитайте чтоли для прилиция хотябы эту тему http://radiokot.ru/forum/viewtopic.php?f=20&t=46464
звесь полный блог строительства этой прошивки с нуля...со всеми проблемамии и их обходами
звесь полный блог строительства этой прошивки с нуля...со всеми проблемамии и их обходами
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
Как я понял, импульсы датчика оборотов подаются на INTx и делается попытка счета тиков МК таймером Т1. Все простоartemvinihenko писал(а):Нарисовалась следущая проблема...немогу с достаточной точностью измерить время (((
вот как я делаю:
настраиваю таймер1 на прерывание при совпадении .в обработчике прибавляю переменную t.
настраиваю внешнее прерывание по спадающему фронту и когда оно приходит останавливаю таймер и приравниваю переменную t другой переменно Tms . а t обнуляю и обнуляю таймер снова запускаю таймер...
подскажите как это все правильно организовать?
-глобальный запрет прерываний
-настраивается лапа INTx на вывод 0 в надежде заблокировать входные импульсы
-останавливается Т1 и в TCNT1 заносится начальное значение 12 для последующего учета погрешности из-за обработки прерывания INTx
-таймер настраивается счетчиком тиков МК. Также организуется счетчик числа переполнений Т1
-чистятся все флаги
-лапа INTx настраивается на ввод и максимально быстро глобальное разрешение прерываний
-ждем'с
-с приходом прерывания INTx, разрешается работа Т1 счетчиком тиков МК со значения 12
-с приходом следующего INTx, счетчик Т1 останавливается
-глобальный запрет прерываний
- считывается все, что насчитал Т1 и счетчик переполнений
-данные для расчета в кармане
Как-то так.
Кстати, рекомендованный GP1 вариант использования входа ICP1, специально предназначенного для выполнения таких операций не надо сбрасывать со счетов, т.к. половина операций, описанных выше, делается на аппаратном уровне.
akl писал(а): Кстати, рекомендованный GP1 вариант использования входа ICP1, специально предназначенного для выполнения таких операций не надо сбрасывать со счетов, т.к. половина операций, описанных выше, делается на аппаратном уровне.
надо будет попробовать
clawham писал(а):тем кто повторяет подвиги по написанию прошивки почитайте чтоли для прилиция хотябы эту тему viewtopic.php?f=20&t=46464звесь полный блог строительства этой прошивки с нуля...со всеми проблемамии и их обходами
обязательно просмотрю
AVR FOR CИ РУЛИТ)))
это всё меры хорошего тона и предосторожности
кварц можно не заземлять и вообще обойтись без кварца - просто точность снизится
дроссель просто необходим в машине - там по 12-ти вольтам 10000 вольт шманает туда-сюда импульсами
оптопара на входе - если управляющий продьёт на ВВ провод или на 12 вольт силовых то выгорит просто светик оптопары а не нога МК дороги к этой ноге, экран, кренка и т.д.
кварц можно не заземлять и вообще обойтись без кварца - просто точность снизится
дроссель просто необходим в машине - там по 12-ти вольтам 10000 вольт шманает туда-сюда импульсами
оптопара на входе - если управляющий продьёт на ВВ провод или на 12 вольт силовых то выгорит просто светик оптопары а не нога МК дороги к этой ноге, экран, кренка и т.д.
Что нас не убило сделало нас осторожней
Не доверяйте русским лужам - это может быть вход в метро.
Не доверяйте русским лужам - это может быть вход в метро.
- Сообщения: 2
- Зарегистрирован: Вт авг 16, 2011 15:51:50
Спасибо теперь есть смелость начинать делать спидометр.
Перерыл много схем спидометров и вот эта меня покорила тем что можно регулировать количество импульсво на ходу не изменяя прошивку каждый раз при неправильной настройке спидометра.
Огромное СПАСИБО
Перерыл много схем спидометров и вот эта меня покорила тем что можно регулировать количество импульсво на ходу не изменяя прошивку каждый раз при неправильной настройке спидометра.
Огромное СПАСИБО
- Сообщения: 12
- Зарегистрирован: Чт окт 20, 2011 12:30:04
всем доброго дня. работаю с мк впервые и долго собственноручно учился прошивать. прибор стал очень необходим ,на машине сдох одометр ,а запчастей нет в силу редкости аппарата в стране. не хочу показаться идиотом, но не ясен некоторый момент. прибор работает, считает ,но при сбросе питания данные теряются и при перемещении по меню экран зливает буквами "я"



