BASCOM AVR в вопросах и ответах
- Magicanin
- Нашел транзистор. Понюхал.
- Сообщения: 184
- Зарегистрирован: Чт янв 13, 2011 11:36:16
- Откуда: Красноярский край
Re: BASCOM AVR в вопросах и ответах
Ну насколько я знаю даже на холостом ходу обороты держатся на уровне 900 об/мин, или я не прав!
Даже на этих оборотах погрешность не будет превышать 50 об/мин, чем выше количество тем меньше погрешность. В любом случае будет точнее чем стрелочный малоинформативный тахометр.
Даже на этих оборотах погрешность не будет превышать 50 об/мин, чем выше количество тем меньше погрешность. В любом случае будет точнее чем стрелочный малоинформативный тахометр.
[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
Re: BASCOM AVR в вопросах и ответах
средние холостые от 800 до 900 это норма.
при 100 ГЦ значение на жки 1249
следовательно можно получить точный тахометр, расчитав делитель для таймера.
Код: Выделить всё
я посмотрел что при одном Гц у меня на жки значение 59463 = 1 ГЦ
^ сама частота
^ время между импульсами
при 100 ГЦ значение на жки 1249
следовательно можно получить точный тахометр, расчитав делитель для таймера.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Magicanin, я так понимаю он говорит о том что не была бы погрешность +- 100 оборотов... А так считать как угодно можно. Хоть количество импульсов хоть время между ними. Тем же таймером в режиме захвата, например...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
я считаю время между импульсами, и пытаюсь конвертировать их в частоту.
- Magicanin
- Нашел транзистор. Понюхал.
- Сообщения: 184
- Зарегистрирован: Чт янв 13, 2011 11:36:16
- Откуда: Красноярский край
Re: BASCOM AVR в вопросах и ответах
Зная малоизученность вопроса со стороны господина AVRDaemon, решил предложить самый простой способ, чтоб не заморачивался с коэффициентами и конвертированием.
[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Да конечно, самый простой вариант. 
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
формулу не подскажете? 
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Простите, формулу чего? Как перевести количество оборотов за 1 секунду в количество оборотов в минуту? 
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
- Magicanin
- Нашел транзистор. Понюхал.
- Сообщения: 184
- Зарегистрирован: Чт янв 13, 2011 11:36:16
- Откуда: Красноярский край
Re: BASCOM AVR в вопросах и ответах
Единственная сложность подбор кварца, чтобы при выбранном прескаллере на выходе была секунда либо другое удобоваримое значение. Или второй вариант Timer1 с независимым часовым кварцем на 32768
[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Не вижу проблем. Прерывание по совпадению и все. Секунда великолепно получается.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
нашел другой код, попробую адаптировать..
- Magicanin
- Нашел транзистор. Понюхал.
- Сообщения: 184
- Зарегистрирован: Чт янв 13, 2011 11:36:16
- Откуда: Красноярский край
Re: BASCOM AVR в вопросах и ответах
Тоже вариант если будет успевать прерываться до переполнения. 
Можно если использовать подсчет переполнений.
Можно если использовать подсчет переполнений.
[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
- Magicanin
- Нашел транзистор. Понюхал.
- Сообщения: 184
- Зарегистрирован: Чт янв 13, 2011 11:36:16
- Откуда: Красноярский край
Re: BASCOM AVR в вопросах и ответах
следовательно можно получить точный тахометр, расчитав делитель для таймера.
Погрешности в этом варианте так же не избежны.
Т.к. с приходом внешнего прерывания таймер сбросится не закончив цикл и прировняется к наименьшему предыдущему значению.
Последний раз редактировалось Magicanin Ср май 04, 2011 17:54:32, всего редактировалось 1 раз.
[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
Re: BASCOM AVR в вопросах и ответах
Magicanin писал(а):Тоже вариант если будет успевать прерываться до переполнения.
Можно если использовать подсчет переполнений.
вот этот код и нашел)
- Magicanin
- Нашел транзистор. Понюхал.
- Сообщения: 184
- Зарегистрирован: Чт янв 13, 2011 11:36:16
- Откуда: Красноярский край
Re: BASCOM AVR в вопросах и ответах
Нашел тут в закромах кусок кода от ваттметра-приставки к электросчетчику с импульсным выходом.
Что к чему уже и не вспомню, может поможет.
Принцип измерения тот-же
Что к чему уже и не вспомню, может поможет.
Принцип измерения тот-же
Код: Выделить всё
...
Config Timer1 = Timer , Prescale = 1024 , Capture Edge = Falling
On Capture1 Captmr
On Timer1 Per
...
Enable Interrupts
Enable Capture1
Enable Timer1
...
Sub Style6
F = R * 65535
F = F + Capture1
F = F /15885
F = 1125 / F
Locate 1 , 1 : Lcd "ЁoїpeІ»ЗeјaЗ Е».ЕЅ.:"
Locate 2 , 1 : Lcd Round(f) ; " Baїї "
Locate 3 , 1 : Lcd "Ko»-іo ёјѕy»Дcoі:"
Locate 4 , 1 : Lcd Imp
If Imp = 200 Then
Cls
Style = 1
End If
Reset Watchdog
End Sub
Captmr:
Incr Imp
Timercounter = Capture1
Timer1 = 0
R = 0
Return
Per:
Incr R
Return[size=85][color=#80BF00][b]Извращение это[/b][/color]: программатор - [color=#40BFBF]AVR910 by Prottoss[/color], прошивка - [color=#40BFBF]Doper[/color], драйвер - [color=#40BFBF]Osamu Tamura[/color], называется - [color=#FF0000]STK500[/color]![/size]
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Таймер в режиме захвата. Плюс еще подсчет переполнений таймера... А вообще по мне, так жутко неудобно наблюдать за оборотами в виде цифр. Меняются обороты и на индикаторе каша.
Тут стрелка гораздо информативнее. Ну или дуга светодиодов... А цифрами разве что холостые выставлять хорошо.
И раз уж цифры, так лучше за секунду считать, пусть шаг 60 будет, все меньше дрыганий. Впрочем, это всего лишь мое мнение...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
поставил бы море плюсов вам, т.к показали хороший код, а обороты я хотел через waitms 300 выводить на ЖКИ.
благодарствую!
благодарствую!
Re: BASCOM AVR в вопросах и ответах
хм...
измерять время между импульсами самый лучший вариант, и более точный со сравнению подчета импульсов за секунду(врет аж на 60 об мин.)
у меня тут запара с расчетом нормальной частоты:
этот код считает время между импульсами, при одном герце выводит на жки 59463
при 100гц выводит 1249
(что это может быть, я незнаю, похоже на время между двумя сигналами, и в чем оно измеряется я так и не понял)
может кто нибудь подскажет формулу вычисления об/мин из этих значений?
заранее благодарен.
измерять время между импульсами самый лучший вариант, и более точный со сравнению подчета импульсов за секунду(врет аж на 60 об мин.)
у меня тут запара с расчетом нормальной частоты:
Код: Выделить всё
Config Timer1 = Timer , Prescale = 64 , Capture Edge = Rising
Dim Wtime As Byte
dim rpm as single
On Capture1 Captmr
Enable Interrupts
Enable Capture1
Wtime = 100
Do
Waitms Wtime
Locate 1 , 1
Rpm = Capture1
Lcd "rpm: " ; Rpm ; " "
Loop
Captmr:
Timer1 = 0
Return
этот код считает время между импульсами, при одном герце выводит на жки 59463
при 100гц выводит 1249
(что это может быть, я незнаю, похоже на время между двумя сигналами, и в чем оно измеряется я так и не понял)
может кто нибудь подскажет формулу вычисления об/мин из этих значений?
заранее благодарен.
- edm2007
- Поставщик валерьянки для Кота
- Сообщения: 2255
- Зарегистрирован: Вт апр 21, 2009 22:24:10
- Откуда: Иркутск
- Контактная информация:
Re: BASCOM AVR в вопросах и ответах
Называйте вещи своими именами, не врет а шаг 60 оборотов.
Оно и логично. Может стоит разобраться нормально с работой таймера по захвату? Да и вообще с работой таймера. С предделителями, со временем одно тика таймера и прочее...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Re: BASCOM AVR в вопросах и ответах
делать на таймере, который считает импульсы в секунду, и затем их умножать на 60, получим менее точный результат с погрешностью 60 (кэп)
я хочу сделать на различии времени между импульсами(шагами) а выложенный код и есть в режиме захвата.
помогите только понять: это миллисекунды? 1246мс? или что?
я хочу сделать на различии времени между импульсами(шагами) а выложенный код и есть в режиме захвата.
помогите только понять: это миллисекунды? 1246мс? или что?