Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
14.08.2009, 16:21
|
#1
|
Временная регистрация
Регистрация: 02.05.2005
Адрес: Украина, Шостка
Сообщений: 65
Сказал спасибо: 35
Сказали Спасибо 1 раз в 1 сообщении
|
Генератор частоты на AVR
Здравствуйте. Подскажите реально ли сделать генератор перестраиваемой частоты на AVR например на ATmega8.
Параметры этого генератора:
частота 0-3,333 кГц,
скважность 2,
шаг изменения частоты ‹1,6 Гц.
Скажу для чего оно мне понадобилось. Имеются датчики скорости протяжки материала представляющие собой колесо с длинной окружности 0,5м на котором по окружности размещено 1000 штрихов, которые считывает оптопара. То есть при одном обороте колеса датчика на выходе 1000 импульсов. Ну и далее вторичный прибор который и принимает от датчика импульсы.
Проблема вся в том, что в датчике штрихи нанесены на стеклянный круг и он помутнел и потрескался.
Я хочу поменять стеклянный круг на алюминиевый с 5 отверстиями, далее микроконтроллер который вычислит скорость вращения измерительного колеса и выдаст на вторичный прибор соответствующую частоту.
Реален ли такой вариант?
|
|
|
|
14.08.2009, 18:14
|
#2
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Можно, но вроде рядом же ветка !
отверстий можно насверлиь побольше чуток.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
14.08.2009, 19:03
|
#3
|
Гражданин KAZUS.RU
Регистрация: 06.08.2006
Сообщений: 694
Сказал спасибо: 24
Сказали Спасибо 38 раз(а) в 31 сообщении(ях)
|
Сообщение от avr123-nm-ru
|
Можно, но вроде рядом же ветка !
отверстий можно насверлиь побольше чуток.
|
Насчет 5-ти отверстий это ты загнул...а сделать это реально, но я не разбираюсь в АВР-х.
|
|
|
|
14.08.2009, 19:12
|
#4
|
Временная регистрация
Регистрация: 02.05.2005
Адрес: Украина, Шостка
Сообщений: 65
Сказал спасибо: 35
Сказали Спасибо 1 раз в 1 сообщении
|
Сообщение от avr123-nm-ru
|
Можно, но вроде рядом же ветка !
отверстий можно насверлиь побольше чуток.
|
Что за ветка?
Насверлить то конечно побольше можно, но в принципе это не критично. А вот как бы выдать с AVR частоту изменяемую от 0 до 3,3 кГц это для меня вообще непонятно. Можно хотя б приблизительный алгоритм
|
|
|
|
14.08.2009, 19:14
|
#5
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Настройка таймеров в AVR интерактивным мастером кода это задача упражнение 6 - http://pid.by.ru/z6.htm
Закидывешь число в регситр OCR - досчитав от нуля до этого числа возникнет прерывание в котором надо переключиь выход сигнала в другой лог уровень, а таймер сам начнет счет с нуля. два отсчета будет примерно период выходного сигнала.
Другой таймер используется для подсчета времени между отверстиями.
Для отладки скачайте http://proteus123.narod.ru
а программируйте в CVAVR.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
14.08.2009, 19:25
|
#6
|
Гражданин KAZUS.RU
Регистрация: 13.06.2005
Адрес: РК г.Павлодар
Сообщений: 866
Сказал спасибо: 99
Сказали Спасибо 216 раз(а) в 140 сообщении(ях)
|
А соответсвующий энкодер на тот же вал поставить не проще?
__________________
Не ошибается лишь тот, кто ни чего не делает!
|
|
|
|
14.08.2009, 19:30
|
#7
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
наверно нет.
но 5 отв против 1000 это как то крутовато.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
14.08.2009, 19:45
|
#8
|
Временная регистрация
Регистрация: 02.05.2005
Адрес: Украина, Шостка
Сообщений: 65
Сказал спасибо: 35
Сказали Спасибо 1 раз в 1 сообщении
|
Сообщение от avr123-nm-ru
|
Закидывешь число в регситр OCR - досчитав от нуля до этого числа возникнет прерывание в котором надо переключиь выход сигнала в другой лог уровень, а таймер сам начнет счет с нуля. два отсчета будет примерно период выходного сигнала.
|
Да то в принципе понятно. Весь фокус в том, что чтобы настроить предделитель таймера. Согласитесь при частоте 1,5 Гц и 3300 Гц (длина импульса 333000мкс и 150мкс) одной настройкой предделителя таймера не обойтись.
Сообщение от woroba
|
А соответсвующий энкодер на тот же вал поставить не проще?
|
Не проще, он слишком дорого стоит.
Сообщение от avr123-nm-ru
|
но 5 отв против 1000 это как то крутовато.
|
Ничего не крутовато. Эти датчики (с 1000 штрихами на оборот) еще использовались для измерения нестабильности скорости подачи материала. Вот там эти 1000 импульсов на оборот мерного колеса были востребованы. А мне нужно всего лишь измерять скорость раз в 10 секунд при средней скорости вращения мерного колеса один оборот за 3 секунды. Так что мне этих 5 отверстий за глаза хватит и еще и останется. Можно даже было б и одно отверстие, мне хватило бы без проблем.
|
|
|
|
14.08.2009, 20:01
|
#9
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
предделитель придется переключать, либо использовать счетчик переполнения таймера - т.е. включить еще и прерыв попереполнению.
тоже мастером удобно но уже в cvavr
вот кусок кода где использовано два коэф деления для измерения оборотов от 15 до 10000 в минуту
http://paste.org.ru/?hcg84h
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
14.08.2009, 20:10
|
#10
|
Почётный гражданин KAZUS.RU
Регистрация: 13.02.2008
Адрес: Днепр. Украина
Сообщений: 3,294
Сказал спасибо: 442
Сказали Спасибо 1,048 раз(а) в 706 сообщении(ях)
|
Черновой вариат алгоритма - с максимальной точностью считаем время между фронтами входных импульсов. Результат счета делим на 400 и полученное число используем в качестве константы загрузки в таймер, которая используется до прихода следующего фронта.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:02.
|
|