Тахометр, Спидометр - одометр
|
|
ADMIN |
Дата: Пт, 03.06.2011, 10:11 | Сообщение # 16 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Слева на главной странице есть ссылка в меню сайта - Каталог статей. Или перейди по этой ссылке. Там - добавить статью. Остальное - то же самое.
|
|
|
|
xppirat |
Дата: Пт, 03.06.2011, 13:57 | Сообщение # 17 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
23
Замечания:
±
На сайте с 20.03.2011
Статус:
Offline
|
Все, статья перемещена - http://www.picbasic.ru/publ/spidometr_odometr_i_takhometr/4-1-0-88
|
|
|
|
Diam |
Дата: Пн, 06.06.2011, 21:07 | Сообщение # 18 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
9
Замечания:
±
На сайте с 31.05.2011
Статус:
Offline
|
Хотелось, чтобы в программе тахометр появились комментарии. Ну, раз уж для народа выложили статью. Строка: Tcon Con 245 - откуда родилась такая константа? Если честно, врет тахометр безбожно Прибор красивый получился - тут слов нет. ЗдОрово.
С уважением Александр
|
|
|
|
xppirat |
Дата: Вт, 07.06.2011, 11:25 | Сообщение # 19 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
23
Замечания:
±
На сайте с 20.03.2011
Статус:
Offline
|
Quote (Diam) Tcon Con 245 - откуда родилась такая константа? Константа родилась из Протеуса. т. к. калиброванного источника сигнала небыло пришлось поверить Протеусу. А подсчитывать задержки на выполнение других команд было лень
Сообщение отредактировал
xppirat - Вт, 07.06.2011, 11:26
|
|
|
|
Diam |
Дата: Вт, 07.06.2011, 17:23 | Сообщение # 20 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
9
Замечания:
±
На сайте с 31.05.2011
Статус:
Offline
|
Понятно. Только такие приборы маленько по другому называются - типа показометр. Без обид конечно. А, это - RPM = Imp * 50 / 10. Ну 10 понятно - прячем показания 4 разряда, а 50 - почему итог переменной умножаем на 50 секунд? В общем есть много почему. Не подумай, что я докапываюсь - просто тоже необходим тахометр, но не на авто, а на токарный станок. Хотел взять за основу алгоритм твоей программы. Сам то я с Бейсиком 3 дня как знаком - пока слабо самому что нибудь путнее написать. Хотел именно на 84 построить (штук 10 надо куда то пристраивать).
С уважением, извини если обидел
С уважением Александр
|
|
|
|
xppirat |
Дата: Ср, 08.06.2011, 00:55 | Сообщение # 21 |
Группа:
Проверенные
Ранг:
Начал соображать
Сообщений:
23
Замечания:
±
На сайте с 20.03.2011
Статус:
Offline
|
Quote (Diam) А, это - RPM = Imp * 50 / 10. Ну 10 понятно - прячем показания 4 разряда, а 50 - почему итог переменной умножаем на 50 секунд? Конечно без обид, прямо указывая человеку на его ошибки – это путь к исправлению этих ошибок. 50 это не секунды, а некая величина скажем так.
Расчет ведем так: 1 оборот двигателя = 2 импульсам датчика Интервал времени измерения импульсов = 600 миллисекунд При частоте вращения двигателя = 50 оборотов/минута = 100 импульсов/60000 миллисекунд Интервал измерения в 600 миллисекунд = 100 импульсов делим на 60000 миллисекунд и умножаем на 600 миллисекунд = 1 импульс 1 импульс умножаем на 50 = 50 оборотов/ минута
Точность тахометра в этом случае = 50оборотам/ минута. Ну а почему делим на 10 вы уже сами ответили. Вот по тому и такая формула.
|
|
|
|
DAlexV |
Дата: Ср, 08.06.2011, 23:06 | Сообщение # 22 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Для повышения точности измерений советую прочитать эту статейку. В свое время очень выручила когда бился с измерением оборотов двигателя. Успехов
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
Diam |
Дата: Чт, 09.06.2011, 17:18 | Сообщение # 23 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
9
Замечания:
±
На сайте с 31.05.2011
Статус:
Offline
|
Все сдаюсь Ребята, нужна помощь. Не могу перевести PortA 4 PIC16F84 в режим счета. В даташите написано перевести регистр OPTION 5 бит в 1 и все. TrisA тоже перевел на вход. Или еще какие то тонкости в Бейсик Про есть? Если не затруднит какой нибудь примерчик.
А статья интересная, но мне бы чего нибудь попроще победить. Спасибо
С уважением Александр
Сообщение отредактировал
Diam - Чт, 09.06.2011, 17:20
|
|
|
|
Matrix252005 |
Дата: Чт, 09.06.2011, 17:55 | Сообщение # 24 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
636
Замечания:
±
На сайте с 12.10.2007
Статус:
Offline
|
Приятного времени суток. Diam, Вы не забыли, что PortA.4 - это вход с ОК (Открытым Коллектором) !!!! Его нужно через резистор посадить на + Uп.
THE TRUTH IS OUT THERE.
С уважением, Николай.
|
|
|
|
Diam |
Дата: Чт, 09.06.2011, 19:04 | Сообщение # 25 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
9
Замечания:
±
На сайте с 31.05.2011
Статус:
Offline
|
Matrix252005, когда он PORTA4 работает на выход, тогда надо подтягивать. На вход не надо Добавлено (09.06.2011, 19.04.04) --------------------------------------------- Елки палки как поплачешься в жилетку, так ошибки свои находишь При счете PortA4 флаг INTF не поднимается, а я как лох два дня пытаюсь его поднять. Работает только флаг переполнения TMR0.
Или я не прав?
С уважением Александр
|
|
|
|
DAlexV |
Дата: Чт, 09.06.2011, 23:27 | Сообщение # 26 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (Diam) INTF не поднимается Данному флагу соответствует нога RB0. RA4 для источника прерывания не подойдет. Quote (Diam) Или еще какие то тонкости в Бейсик Про есть? У меня были проблемы с прерываниями(особенно от нескольких источников и работе с большими числами). Сменил язык программирования и проблемы исчезли.
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
Diam |
Дата: Пт, 10.06.2011, 15:34 | Сообщение # 27 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
9
Замечания:
±
На сайте с 31.05.2011
Статус:
Offline
|
Quote (DAlexV) RA4 для источника прерывания не подойдет.
Не понял? Совсем не пойдет?
С уважением Александр
|
|
|
|
DAlexV |
Дата: Пт, 10.06.2011, 23:17 | Сообщение # 28 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
657
Замечания:
±
На сайте с 13.05.2008
Статус:
Offline
|
Quote (Diam) Не понял? Совсем не пойдет? RA4 может выступать в качестве счета импульсов. Но прерывание будет формироваться только лишь по переполнению TMR0(255 имп.) Либо придется вводить еще один таймер(который в 84 отсутствует) который будет формировать равномерные отрезки времени и с помощью него снимать набежавшие в TMR0 импульсы. Советую еще раз перечитать статью. Я врубился то же не сразу, попробую объяснить простыми словами. Для этого нам понадобиться: Источник прерывания(нога проца способная вызвать прерывание) Таймер для отсчета временного промежутка между прерываниями(TMR0 в нашем случае для счета времени между импульсами)
Прерывание от RBIF настраиваем на фронт или спад(зависит от датчика используемого тахометре) Выставляем в TMR0 нужный для нас коэффициент предделителя(1:1, 1:2, 1:4 и т.д.) Чем он меньше тем выше точность измерения, но тем с более большими числами при расчетах нам придется оперировать. Так же при переполнении TMR0 кол-во переполнений записываем в некую переменную( T0OverTMP например) При поступлении прерывания от RBIF снимаем текущее значение таймера(таймер насчитал например значение $2F и T0OverTMP=$03) эти переменные мы запоминаем( T0Def=TMR0, T0Over= T0OverTMP), после чего сбрасываем на 0 значение TMR0 и T0OverTMP(не забывая сбросить флаг прерывания от RBIF) Теперь пока таймер начал новый отсчет можно заняться вычислением частоты. Частота кварца 4 MHZ предделитель настроен в соотношении 1:16(генератор используем внутренний Fosc/4) каждое приращение таймера будет происходить через 16,00 µs(0,000016 s) Частота=1/((T0Over*256+T0Def)*0,000016) Частота=1/(($03*256+$2F)*0,000016) Частота=1/(($03*256+$2F)*0,000016) Частота=1/(815*0,000016) Частота=76.6871Гц(или имп. в сек.) осталось только это все умножить на 60 что бы получить об/мин итого точно 4601,2 об/мин.
Формулу расчета и количество нулей после запятой можно изменить немного переработав формулу расчета. Так же советую не заниматься расчетами в прерывании( занимает кучу времени из за чего может подвисать в прерывании)
Успехов
Будьте оригинальны-не повторяйте чужих ошибок ! Рыба сдохла. Теперь STM32(TS)+C#(VS).Старею :)
|
|
|
|
bestsergey |
Дата: Чт, 06.12.2012, 09:04 | Сообщение # 29 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
1
Замечания:
±
На сайте с 04.12.2012
Статус:
Offline
|
Доброе утро.Очень понравилась схема.Хочу адаптировать схему одометра+спидометра под мопед.Где в прошивке нужно внести изменения по датчику,точнее количество импульсов для спидометра на оборот колеса? Спасибо!
|
|
|
|
cyg |
Дата: Сб, 24.05.2014, 17:24 | Сообщение # 30 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
7
Замечания:
±
На сайте с 24.05.2014
Статус:
Offline
|
Sir / Madam: Здравствуйте! Пожалуйста, пришлите файл "PBPPIC14.LIB" для меня? Спасибо!
|
|
|
|