BASCOM AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Magicanin
Нашел транзистор. Понюхал.
Сообщения: 184
Зарегистрирован: Чт янв 13, 2011 11:36:16
Откуда: Красноярский край

Re: BASCOM AVR в вопросах и ответах

Сообщение Magicanin »

Ну насколько я знаю даже на холостом ходу обороты держатся на уровне 900 об/мин, или я не прав!
Даже на этих оборотах погрешность не будет превышать 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]
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

Re: BASCOM AVR в вопросах и ответах

Сообщение AVRDaemon »

средние холостые от 800 до 900 это норма.

Код: Выделить всё

я посмотрел что при одном Гц у меня на жки значение 59463 = 1 ГЦ
                                                            ^  сама частота
                                                     ^ время между импульсами

при 100 ГЦ значение на жки 1249
следовательно можно получить точный тахометр, расчитав делитель для таймера.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

Magicanin, я так понимаю он говорит о том что не была бы погрешность +- 100 оборотов... А так считать как угодно можно. Хоть количество импульсов хоть время между ними. Тем же таймером в режиме захвата, например...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

Re: BASCOM AVR в вопросах и ответах

Сообщение AVRDaemon »

я считаю время между импульсами, и пытаюсь конвертировать их в частоту.
Аватара пользователя
Magicanin
Нашел транзистор. Понюхал.
Сообщения: 184
Зарегистрирован: Чт янв 13, 2011 11:36:16
Откуда: Красноярский край

Re: BASCOM AVR в вопросах и ответах

Сообщение Magicanin »

Зная малоизученность вопроса со стороны господина 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 в вопросах и ответах

Сообщение edm2007 »

Да конечно, самый простой вариант. :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

Re: BASCOM AVR в вопросах и ответах

Сообщение AVRDaemon »

формулу не подскажете? :)
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

Re: BASCOM AVR в вопросах и ответах

Сообщение edm2007 »

Простите, формулу чего? Как перевести количество оборотов за 1 секунду в количество оборотов в минуту? :))
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Аватара пользователя
Magicanin
Нашел транзистор. Понюхал.
Сообщения: 184
Зарегистрирован: Чт янв 13, 2011 11:36:16
Откуда: Красноярский край

Re: BASCOM AVR в вопросах и ответах

Сообщение Magicanin »

Единственная сложность подбор кварца, чтобы при выбранном прескаллере на выходе была секунда либо другое удобоваримое значение. Или второй вариант 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 в вопросах и ответах

Сообщение edm2007 »

Не вижу проблем. Прерывание по совпадению и все. Секунда великолепно получается.
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

Re: BASCOM AVR в вопросах и ответах

Сообщение AVRDaemon »

нашел другой код, попробую адаптировать..
Аватара пользователя
Magicanin
Нашел транзистор. Понюхал.
Сообщения: 184
Зарегистрирован: Чт янв 13, 2011 11:36:16
Откуда: Красноярский край

Re: BASCOM AVR в вопросах и ответах

Сообщение Magicanin »

Тоже вариант если будет успевать прерываться до переполнения. :)
Можно если использовать подсчет переполнений.
[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 »

следовательно можно получить точный тахометр, расчитав делитель для таймера.

Погрешности в этом варианте так же не избежны.
Т.к. с приходом внешнего прерывания таймер сбросится не закончив цикл и прировняется к наименьшему предыдущему значению.
Последний раз редактировалось 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]
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

Re: BASCOM AVR в вопросах и ответах

Сообщение AVRDaemon »

Magicanin писал(а):Тоже вариант если будет успевать прерываться до переполнения. :)
Можно если использовать подсчет переполнений.


вот этот код и нашел) :))
Аватара пользователя
Magicanin
Нашел транзистор. Понюхал.
Сообщения: 184
Зарегистрирован: Чт янв 13, 2011 11:36:16
Откуда: Красноярский край

Re: BASCOM AVR в вопросах и ответах

Сообщение Magicanin »

Нашел тут в закромах кусок кода от ваттметра-приставки к электросчетчику с импульсным выходом.
Что к чему уже и не вспомню, может поможет.
Принцип измерения тот-же

Код: Выделить всё

...
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 в вопросах и ответах

Сообщение edm2007 »

Таймер в режиме захвата. Плюс еще подсчет переполнений таймера... А вообще по мне, так жутко неудобно наблюдать за оборотами в виде цифр. Меняются обороты и на индикаторе каша. :) Тут стрелка гораздо информативнее. Ну или дуга светодиодов... А цифрами разве что холостые выставлять хорошо. :) И раз уж цифры, так лучше за секунду считать, пусть шаг 60 будет, все меньше дрыганий. Впрочем, это всего лишь мое мнение...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

Re: BASCOM AVR в вопросах и ответах

Сообщение AVRDaemon »

поставил бы море плюсов вам, т.к показали хороший код, а обороты я хотел через waitms 300 выводить на ЖКИ.
благодарствую!
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

Re: BASCOM AVR в вопросах и ответах

Сообщение AVRDaemon »

хм...
измерять время между импульсами самый лучший вариант, и более точный со сравнению подчета импульсов за секунду(врет аж на 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 в вопросах и ответах

Сообщение edm2007 »

Называйте вещи своими именами, не врет а шаг 60 оборотов. :) Оно и логично. Может стоит разобраться нормально с работой таймера по захвату? Да и вообще с работой таймера. С предделителями, со временем одно тика таймера и прочее...
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
AVRDaemon
Открыл глаза
Сообщения: 54
Зарегистрирован: Сб дек 06, 2008 13:48:59

Re: BASCOM AVR в вопросах и ответах

Сообщение AVRDaemon »

делать на таймере, который считает импульсы в секунду, и затем их умножать на 60, получим менее точный результат с погрешностью 60 (кэп)
я хочу сделать на различии времени между импульсами(шагами) а выложенный код и есть в режиме захвата.
помогите только понять: это миллисекунды? 1246мс? или что?
Ответить

Вернуться в «AVR»