Спидометр: алгоритм

Обсуждаем цифровые устройства...
Аватара пользователя
Tohey
Грызет канифоль
Сообщения: 257
Зарегистрирован: Сб сен 09, 2006 19:00:18
Откуда: СССР

Спидометр: алгоритм

Сообщение Tohey »

Народ подскажите как лучше написать программу работы спидометра. Я думал подсчитывать количество пролетов магнита по геркону за 1 секунду, но это не будет точно измерять скорость, может есть какие то идеи или наброски программ?
Если есть полезные ссылки, дайте пожалуйста.
Реклама
Аватара пользователя
Мышонок
Друг Кота
Сообщения: 3792
Зарегистрирован: Чт сен 14, 2006 11:42:09
Откуда: Обитаю на чердаке
Контактная информация:

Сообщение Мышонок »

Для начала советую посмотреть тахометры и энкодеры. А принцип верный - подсчитывать число импульсов за определённый промежуток времени.
Память очень интересная штука: бывает так, что запомнишь одно, а вспомнишь другое...
Реклама
Аватара пользователя
Stkarapuz
Вымогатель припоя
Сообщения: 521
Зарегистрирован: Пн фев 27, 2006 02:02:12
Откуда: Россия, Санкт-Петербург
Контактная информация:

Сообщение Stkarapuz »

я вот к лету собрался на велик сделать такой, думаю пролеты магнита это верно, но вот один магнит на оборот и несбалансированно и неточно, думаю штук 6--8 повесить и опрос 100мс поставить, программы будут, для PICов скорее всего, через месяцок...
Хотя была идея сделать через моторчик, что-то вроде чем быстрее едешь тем больше напруга, но не компактно и неудобно... Решать вам, удачи!
Указывайте на ошибки других прямо, а не косвенно.
Уважаемые коты, СДАЛ и ЗДЕСЬ пишутся именно так :)))
Унижая другого, унижаешь себя.
Аватара пользователя
Tohey
Грызет канифоль
Сообщения: 257
Зарегистрирован: Сб сен 09, 2006 19:00:18
Откуда: СССР

Сообщение Tohey »

А можно вместо моторчика оптическую мышу прикошачить :))
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Abaktyсh
Вечно гонимый
Сообщения: 232
Зарегистрирован: Ср фев 28, 2007 17:48:07

Сообщение Abaktyсh »

мышонок писал(а):А принцип верный - подсчитывать число импульсов за определённый промежуток времени.
Это НЕ верный метод.

Верный метод это измерять время некоторого числа импульсов.
Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

Abaktych писал(а):
мышонок писал(а):А принцип верный - подсчитывать число импульсов за определённый промежуток времени.
Это НЕ верный метод.

Верный метод это измерять время некоторого числа импульсов.
Для програмных расчетов - что в лоб, что по лбу. Но если говорить об измерении скорости аппаратными средствами (без МК), то дважды прав мышонок: число импульсов прямо пропорционально пройденному колесом расстоянию. Определив сколько получается импульсов/метров за единицу времени - получаем скорость. Т.к. аппаратно временные интервалы легко реализуются таймером типа 555, то этот вариант прост. Если же мерить время предположим 1000 импульсов, то потом надо будет брать обратную величину (время-то в знаменателе), что аппаратно почти нереализуемо.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Аватара пользователя
Abaktyсh
Вечно гонимый
Сообщения: 232
Зарегистрирован: Ср фев 28, 2007 17:48:07

Сообщение Abaktyсh »

Если бы ты хоть чуть чуть подумал то наверняка понял что за ЗАДАНУЮ единицу времени может произойти 1.9 импульса например - естественно посчитается 1 и таким образом ошибка будет огромной !

Поэтому нужно мерить имеенно время некоторого ЦЕЛОГО числа импульсов. Тогда ошибка будет лишь в величину "тика" таймера.

Т.е. может быть равна периоду тактирования МК например.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

Не стоит говорить об обдумывании, иначе тема попадет в МЯУУУ, а мы получим пинков.
Аппаратно определить величину, обратную времени N импульсов - очень сложная задача, без МК практически нереализуемая, о чем я и сказал. А ошибка (которая будет лишь при черепашьих скоростях, когда пользоваться спидометром никому в голову не придет) лечится очень просто: надо выбирать такой интервал времени, чтобы в нем укладывалось некоторое существенно число импульсов. Например: если импульсы следуют от пролета спиц мимо датчика, то за 15 секунд их будет явно болше, чем 1,9 :) а обновлять показания спидометра чаще - особого смысла нет.
Хотя, если говорить абстрактно, надо совмещать оба метода - один для низких частот следования импульсов (малых скоростей), другой - для повышенных. Но это непросто и при программной реализации на МК. Кстати, именно с совмещением способов работают хорошие частотомеры: для частот менее 1 Гц они на самом деле измеряют период сигнала, а частоту вычисляют, хотя на высоких частотах ведут прямой счет, как обычно.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Abaktyсh
Вечно гонимый
Сообщения: 232
Зарегистрирован: Ср фев 28, 2007 17:48:07

Сообщение Abaktyсh »

и в чем ДВАЖДЫ прав мышонок ?
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18561
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

В том, что:
1. Чел мыслит в верном направлении, т.е. его метод верен.
2. Что измерение скорости делается именно таким способом (ну, с оговоркой - практически всегда таким).
:)

Зато я, как обычно, невнимателен: все-таки речь идет о программном счете... Сбило с толку название раздела "Цифровая техника"... Простят ли меня модераторы???
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Abaktyсh
Вечно гонимый
Сообщения: 232
Зарегистрирован: Ср фев 28, 2007 17:48:07

Сообщение Abaktyсh »

ARV писал(а):В том, что:
1. Чел мыслит в верном направлении, т.е. его метод верен.
нет не верен - так как дает большую ошибку при задействовании тех же ресурсов.
ARV писал(а):2. Что измерение скорости делается именно таким способом (ну, с оговоркой - практически всегда таким).
:)
Прктически... В автомобильных системах с которыми я занимался измеряют так как я описал. Потому что можно измерять от 1 периода импульсов с приемлимой точночтью.
Аватара пользователя
aen
Модератор
Сообщения: 11940
Зарегистрирован: Пт апр 28, 2006 15:26:07
Откуда: Россия.
Контактная информация:

Сообщение aen »

Abaktych писал(а):
ARV писал(а):В том, что:
В автомобильных системах
Тут проскользнуло слово велик, а велик он на то и велик, что виляет и измерять будем не скорость велосипеда, всего лишь скорость вращения колеса. Для велосипеда, уж если точно, как хотите, нужно примязиваться к чему то внешнему. :cry:
Аватара пользователя
Сэр Мурр
Модератор
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

Я вообще обхожусь бесконтактным методом- всё определяет GPS- навигатор, установленный на руле- расстояние, скорость, время движения и стоянки. Но это так, для поддержания флуда. Можете не обращать внимания на мой пост. :wink:
Аватара пользователя
Мышонок
Друг Кота
Сообщения: 3792
Зарегистрирован: Чт сен 14, 2006 11:42:09
Откуда: Обитаю на чердаке
Контактная информация:

Сообщение Мышонок »

Abaktych писал(а):
мышонок писал(а):А принцип верный - подсчитывать число импульсов за определённый промежуток времени.
Это НЕ верный метод.

Верный метод это измерять время некоторого числа импульсов.
Зависит от скорости. Принцип тот же, что и у измерения частоты. Низкие частоты мы измеряем путем измерения времени между какими-то событиями (например, импульсами), высокие - тут легче посчитать число импульсов за фиксированный промежуток времени. Вопрос в целесообразности того или иного метода.
Память очень интересная штука: бывает так, что запомнишь одно, а вспомнишь другое...
Аватара пользователя
Сэр Мурр
Модератор
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

Коты, своими глазами видел на велосипеде- единственный магнит,дачик и на индикатор. Питается от часовой батарейки. Скорость велосипеда ниже 6 км\час- нонсенс, так что не мудрите.
Аватара пользователя
Tohey
Грызет канифоль
Сообщения: 257
Зарегистрирован: Сб сен 09, 2006 19:00:18
Откуда: СССР

Сообщение Tohey »

А как лучше зделать, считать внешние прерывания или порт сканировать? Хотел по таймеру кнопки опрашивать, но проблема будет если магнит остановится на герконе. :cry:
И что можно зделать с дребезгом геркона, где можно почитать про дребезг?
Аватара пользователя
Мышонок
Друг Кота
Сообщения: 3792
Зарегистрирован: Чт сен 14, 2006 11:42:09
Откуда: Обитаю на чердаке
Контактная информация:

Сообщение Мышонок »

Нужен формирователь импульсов. От простейшей RC диф. цепочки до специализированных микросхем. Выбор за вами. Геркон - не лучший вариант.
Память очень интересная штука: бывает так, что запомнишь одно, а вспомнишь другое...
Аватара пользователя
dx40
Нашел транзистор. Понюхал.
Сообщения: 182
Зарегистрирован: Вт июл 11, 2006 12:39:16
Откуда: Москва
Контактная информация:

Сообщение dx40 »

Рассказываю как я делал спидометр.
Датчик - геркон, для уменьшения потребляемого тока, удалось уложиться в 500мкА с индикатором. Впаралель геркону - кондюк 0.01 мкф. От геркона на питание через резистор 5 ком и на INT0 микрухи (прерывание по срезу), другая нога геркона на соответственно землю.
Таймер тикает с частотой 1 кгц, считает время. По прерыванию от геркона обновляем показания спидометра, дополнительно можно сделать такую фичу: по таймеру - если прошло времени больше, чем промежуток времени прошлого оборота - высчитываем скорость, как будто произошло прерывание, и показываем ее. В итоге получается, что при торможении и остановке спидометр не "подвисает", а пытается предсказать текущую скорость.

Могу показать примеры кода.
Аватара пользователя
Tohey
Грызет канифоль
Сообщения: 257
Зарегистрирован: Сб сен 09, 2006 19:00:18
Откуда: СССР

Сообщение Tohey »

А кондюк от дребезга?
Аватара пользователя
Мышонок
Друг Кота
Сообщения: 3792
Зарегистрирован: Чт сен 14, 2006 11:42:09
Откуда: Обитаю на чердаке
Контактная информация:

Сообщение Мышонок »

Может и от дребезга, а может и ещё для чего! :wink:
Память очень интересная штука: бывает так, что запомнишь одно, а вспомнишь другое...
Ответить

Вернуться в «Цифровая техника»