генератор 0,2-4Гц

Обсуждаем контроллеры компании Atmel.
Ответить
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн дек 06, 2010 23:57:09
Откуда: Обнинск

Сообщение Sel4 »

Здравтсвуйте! Подскажите, как реализовать генератор одиночного импульса ?
длина импульса 0,2сек и постоянна , а частота должна меняться в пределах от 0,2 до 4гц по изменению на аналоговом входе.
Контроллер atmega16.
Реклама
Друг Кота
Сообщения: 6014
Зарегистрирован: Чт ноя 26, 2009 11:16:50
Откуда: Москва

Сообщение SmarTrunk »

Таймерами. Их в АТмега16 3 штуки. Ими делаются задержки. По окончании счета таймер может сделать прерывание, для выполнения следующего шага.
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

А насколько стабильно должно быть ваше устройство?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн дек 06, 2010 23:57:09
Откуда: Обнинск

Сообщение Sel4 »

делал я через прерывания.. многие советуют правильно, почти... меняется длина импульса все равно...
стабильность не важна... за частотой будет следить контролер через термопару (планируется пид )
Реклама
Эиком - электронные компоненты и радиодетали
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

А если попробовать через аппаратный ШИМ? Использовать с коррекцией фазы?
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Реклама
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн дек 06, 2010 23:57:09
Откуда: Обнинск

Сообщение Sel4 »

там.я все перепробывал... меняется длина все равно...
мне каж нужно как то жестко задать длину и выводить это на ножку с частотой, пропорционально уровню ацп.
может как то через if...
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1438
Зарегистрирован: Вт окт 28, 2008 09:00:18
Откуда: Украина, Харьков

Сообщение Dr. Alex »

ну тогда делать програмный шим
Порой мне кажется, что я делаю какое-то дерьмо, но когда я вижу, что делают другие, то я чувствую себя гением...
Контактная информация:
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн дек 06, 2010 23:57:09
Откуда: Обнинск

Сообщение Sel4 »

шим? хм... мне. кажется ЧИМ. Ведь должна меняться частота следования импульсов, а при шим она не меняется. Или там есть некоторые тонкости?
Друг Кота
Аватара пользователя
Сообщения: 25613
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Sel4 писал(а):шим? хм... мне. кажется ЧИМ.
Нужен режим Output Compare для одного таймера, который в свою очередь запускается другим таймером (его OCR-регистром), время пересчета которого (период следования импульсов созданных первым) определяется из входного аналогового сигнала. То есть не частоту импульсов нужно рассчитывать, а ПЕРИОД СЛЕДОВАНИЯ.
Есть только один нюанс. Так как запуск Output Compare будет происходить через прерывания от второго таймера, то нужно учитывать НЕСТАБИЛЬНОСТЬ ЛАТЕНТНОСТИ этого прерывания. Я не помню насчет АТмеги - как у нее с этой нестабильностью...
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн дек 06, 2010 23:57:09
Откуда: Обнинск

Сообщение Sel4 »

нестабильности латентности -это, как понимаю, частота не стабильная будет? да и ладно, это ж насос дозировочный будет.
лишь бы не в два раза отличалась.
Модератор
Аватара пользователя
Сообщения: 22897
Зарегистрирован: Пн дек 08, 2008 19:28:04
Откуда: 10км от Москвы на Север

Сообщение Borodach »

Может проще будет на двух 555 или одной 556 собрать?
На первой генератор на 0,2-4 Гц, а на второй уже таймер на 0,2 сек ... :)
Друг Кота
Аватара пользователя
Сообщения: 25613
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Borodach писал(а):Может проще... :)
Не проще, потому что еще есть задача АНАЛОГОВОГО управления, что потребует ОУ для преобразования уровней, усиления, ПИД и прочей мутотени.
Задачу нужно решать не "проще", а в соответствии с требованиями... А то получится "как всегда"... :)
Sel4 писал(а): лишь бы не в два раза отличалась.
В два раза не будет. Речь идет о нестабильности в пару-тройку машинных циклов. То есть нестабильность составит примерно 1/50 000
Последний раз редактировалось КРАМ Вс сен 14, 2014 08:51:36, всего редактировалось 1 раз.
Модератор
Аватара пользователя
Сообщения: 22897
Зарегистрирован: Пн дек 08, 2008 19:28:04
Откуда: 10км от Москвы на Север

Сообщение Borodach »

Зачем усложнять, если ТС не просит ... ? :)
Sel4 писал(а):нестабильности латентности -это, как понимаю, частота не стабильная будет? да и ладно, это ж насос дозировочный будет.
лишь бы не в два раза отличалась.
Друг Кота
Аватара пользователя
Сообщения: 25613
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Сообщение КРАМ »

Borodach писал(а):Зачем усложнять, если ТС не просит ... ? :)
ТС просит именно на МК. Ему виднее.
Полагаю, что там еще и управление есть.
Кстати, на МК получится проще. Потому что кроме самого МК там практически не будет никакого навеса.
Модератор
Аватара пользователя
Сообщения: 22897
Зарегистрирован: Пн дек 08, 2008 19:28:04
Откуда: 10км от Москвы на Север

Сообщение Borodach »

КРАМ писал(а): Кстати, на МК получится проще.
Кому как ... :)
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн дек 06, 2010 23:57:09
Откуда: Обнинск

Сообщение Sel4 »

сейчас работает так: шим с контроллера конвертится в аналоговый и управляет к512пс10, на ней реализован такой формирователь импульса. как бы норм, задача выполняется, но, блин, можно и без этой микрухи. и полевик, который управляет в цепи задающего генератора плывет от температуры. а МК малоподвержен воздействию температуры окр среды.
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

Нужно использовать режим изменения состояния ножки OC по совпадению. В прерывании по совпадению загружаете новое значение в OCR, как старое значение + длительность импульса, настраиваете сброс ножки OC по совпадению. В следующем прерывании загружаете новое значение в OCR, как старое значение + (период - длительность импульса), настраиваете установку ножки OC по совпадению. И так далее. Импульсы будут генериться аппаратно без всякого джиттера. Главное, чтобы прерывание успело обработаться от момента текущего совпадения до момента следующего совпадения. Т.е. нельзя делать длительность импульса очень близкой к периоду.
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

Там 50 мс разница, за это время можно добежать до канадской границы.
Вложения
kot_m16.rar
(58.58 КБ) 174 скачивания
Контактная информация:
Открыл глаза
Сообщения: 74
Зарегистрирован: Пн дек 06, 2010 23:57:09
Откуда: Обнинск

Сообщение Sel4 »

urry, по ходу, че надо...приду домой гляну лучше...
у меня несколько каналов adc, через массив..
как то можно оттуда значение брать?
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1262
Зарегистрирован: Пн дек 08, 2008 10:58:48
Откуда: Винница

Сообщение urry »

кто вам может это запретить ? :)
Контактная информация:
Ответить

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