26.07.2015, 20:11
|
|
Прописка
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Как снизить дискретность тахометра в авто?
Два импульса на оборот вала в TMR1. Формула вычисления такая N(имп/сек) * 30 Вот и считает с дискретностью 30 об/мин. Не критично конечно, но мы же в 21 веке живем Есть какой-нибудь другой алгоритм?
|
|
|
|
26.07.2015, 20:16
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,048
Сказал спасибо: 3,040
Сказали Спасибо 3,209 раз(а) в 2,179 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Не совсем понял вопрос... По мне, хоть и в 21-м, но точнее 100..250 об/мин знать обороты ни к чему. По крайней мере в движении авто, а не на моторном стенде.
P.S. Без указания числа цилиндров и тактов - формула становится весьма неполна.
|
|
|
|
26.07.2015, 20:19
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Сообщение от FreeTramp
|
N(имп/сек) * 30
|
N(имп/сек) * 5, так пойдет?
Вообще, для измерения частоты, вернее, периода следования импульсов, есть модуль CCP, работающий в режиме Capture (захват). Ну а потом полученное значение периода переводится в частоту по формуле 1/Т
Последний раз редактировалось NewWriter; 26.07.2015 в 20:24.
|
|
|
|
26.07.2015, 20:33
|
|
Прописка
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Сообщение от NewWriter
|
N(имп/сек) * 5, так пойдет?
|
Так не пойдет. Если приходит два импульса на оборот двигателя, то для 1 минуты будет N/2*60 или N*30
Цитата:
|
Вообще, для измерения частоты, вернее, периода следования импульсов, есть модуль CCP, работающий в режиме Capture (захват). Ну а потом полученное значение периода переводится в частоту по формуле 1/Т
|
Нет у моего камня CCP. Можно программно замутить, если памяти хватит. На борту всего 1kB, а там не только тахометр.
|
|
|
|
26.07.2015, 21:27
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Если приходит 2 импульса за 1 оборот, то тогда, например, при частоте вращения 1 об/с частота импульсов составит 2 Гц. При 10 об/с (или 600 об/мин) частота импульсов 20 Гц, а период импульсов 1/20 = 50 мс.
При частоте вращения 100 об/с (или 6000 об/мин) частота импульсов 200 Гц, а период импульсов 5 мс.
Вывод. Нужно просто нормально, с хорошим разрешением измерить период между двумя импульсами.
Для дискретности 1 об/мин на высоких частотах потребуется измерять период импульсов с точностью до 1 мкс
Последний раз редактировалось NewWriter; 26.07.2015 в 21:37.
|
|
|
|
26.07.2015, 21:48
|
|
Почётный гражданин KAZUS.RU
Регистрация: 05.05.2011
Адрес: Харьков
Сообщений: 5,049
Сказал спасибо: 592
Сказали Спасибо 3,968 раз(а) в 1,826 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
ЫЕЬ32А0 на вас нет с reciprocal counter.
|
|
|
|
26.07.2015, 21:52
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Сообщение от FreeTramp
|
Нет у моего камня CCP. Можно программно замутить, если памяти хватит. На борту всего 1kB, а там не только тахометр.
|
Надо было сразу выбирать камень под задачу. В вашем случае светит только Interrupt-on-change + TIM. На камне с ССР будет проще, но с повышением частоты вращения будет падать точность.
Самый оптимальный вариант для подобных задач - reciprocal counter, но на вашем камне, увы, это невозможно.
|
|
|
|
26.07.2015, 21:55
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
|
|
|
|
26.07.2015, 22:32
|
|
Прописка
Регистрация: 24.12.2006
Сообщений: 167
Сказал спасибо: 9
Сказали Спасибо 2 раз(а) в 2 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Сообщение от STM32F0
|
Надо было сразу выбирать камень под задачу. В вашем случае светит только Interrupt-on-change + TIM. На камне с ССР будет проще, но с повышением частоты вращения будет падать точность.
Самый оптимальный вариант для подобных задач - reciprocal counter, но на вашем камне, увы, это невозможно.
|
Я не заказ исполняю. Так, от неча делать решил себе тахометр с вольтметром сделать, ну и что бы яркость LED регулировалась, иначе в темное время глаз резать будет. В общем задача простая. Камней 14-ти ногих F676 штук десять дома наберется, а F688 или более серьезный PIC под такую игрушку рука взять не поднимается. Ладно, посмотрю сколько памяти у 676-го будет оставаться. Можно по прерыванию на ноге период измерить, только измерения эти усреднять перед вычислением надо. Ведь не с генератора лабораторного импульсы приходят. Цифры мельтешить, мне каца будут. Так что все дело в байтах. Может и запихаю все что надумал, а если не удастся, хрен с ней с дискретностью.
|
|
|
|
26.07.2015, 23:00
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.08.2010
Адрес: Днепр
Сообщений: 8,565
Сказал спасибо: 5,041
Сказали Спасибо 10,615 раз(а) в 3,604 сообщении(ях)
|
Re: Как снизить дискретность тахометра в авто?
Сообщение от FreeTramp
|
N(имп/сек) * 30
|
N(имп/5сек) * 6
N(имп/10сек) * 3
N(имп/30сек) * 1
Время подсчета импульсов запросто можно увеличить. При этом дискретность будет уменьшаться пропорционально увеличению этого времени.
Последний раз редактировалось Alex9797; 26.07.2015 в 23:20.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:19.
|
|