Перейти к содержанию
    

Увеличение Длины Поступающих Импульсов

Здравствуйте.

Можно сделать так

-"навечно" запустить таймер

-подать входной сигнал на вход ICP

*ожидание прерываний

-по разнице значений CAPTi+1 и CAPTi определить период

-рассчитать требуемые параметры выходного сигнала с учетом текущего состояния таймера

-загрузить в регистр COMP сравнения таймера

-переход на *

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скважность 1 это пауза равна импульсу по длительности (сорри если ошибся

Скважность это отношение длины импульса к периоду. Т.е. когда длительность импульса и паузы равны, то скважность равна двум.

Куда катится образование? Полная профанация электроники: один совсем не знает азов, другой исправляет тут же все перевирая...

Господа, скажите что вы делаете, чтобы ненароком не нарваться на ваши "шедевры"?

 

P.S. Скважность это отношение периода следования импульсов к их длительности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

можно вынести в отдельную ветку и там выяснить что же такое скважность :laughing:

 

выразимся подругому еще раз: длина импульса равна длине паузы

 

а что можете сказать по теме ветки?

 

p/s/ основная масса программеров я смотрю еще не проснулась, у нас то +7 к москве

Изменено пользователем IC7K

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а что можете сказать по теме ветки?

Да ничего я не хочу говорить по теме ветки: в голове у вопрошающего манная каша, он не в состоянии внятно сформулировать, что же ему надо.

Если сподобится сам разобраться чего хочет, глядишь и вопрос снимется.

А угадать, что хотел сказать автор, как тут пытаются делать... Оно надо?

 

Можно взять управляемый ждущий мультивибратор. Годится такой ответ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что еще непонятного? если кому то мой вопрос неясен это скорее каша у него!

 

можно, но нужно сделать на atmega8 программно

Изменено пользователем IC7K

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

вопрос о фазе не стоит. вот мой код - скажите где трабл :wassat:
Трабл - всё в том же... Вы, наверное, не внимательно читаете ответы... Вам уже сколько твердили, что не нужно удлиннять импульс. Нужно сгенерить сигнал частотою Fвых=Fвх/К. Запустите два таймера: одним будете определять частоту входного сигнала, другой таймер - в режим генерации частоты (CTC mode, OCn toggle). После определения частоты входного сигнала (методов много - в зависимости от задачи: точности, быстродействия - поищите, это не раз обсуждалось), у второго таймера меняют значения регистров для изменения частоты выходного сигнала.

 

P.S. Извиняюсь... Невнимательно посмотрел: что такое коеффициент К. Выходная частота Fвых=Fвх*К/(K+1)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что еще непонятного? если кому то мой вопрос неясен это скорее каша у него!

А нельзя ли на форуме создать раздел для "амбициозных начинающих" ? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

другой исправляет тут же все перевирая...

 

P.S. Скважность это отношение периода следования импульсов к их длительности.

 

Ну ошибся, с кем не бывает )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

To IC7K

 

Если у Вас всё ещё остались вопросы, то разбейте свою задачу на три.

1. Определение параметров входного сигнала (частоты, или периода, или длины импульса)

2. Генерация сигнала с заданным параметром (частотой, периодом, длинной импульса и скважностью 2)

3. Чтение коеффициента К и вычисление параметров выходного сигнала по параметру входного сигнала и коеффициету

Объедините все три программы в одну.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... Невнимательно посмотрел: что такое коеффициент К. Выходная частота Fвых=Fвх*К/(K+1)
Не только К, см. самый первый пост: частота от 0 до 150 Гц

Тут никакие таймеры не помогут.

Я же говорю - каша в голове, арифметику не знает.

Опять какой-нибудь студент-двоечник, хотя сессия вроде должна уже закончиться...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В основной программе непрерывно измеряете период входного сигнала и соответствующим образом корректируете период таймера

а как его измерить? частота 16МГц, а таймер занят. а ведь считать то его нужно в единицах таймера получается

вопрос о фазе не стоит. вот мой код - скажите где трабл

Задвинем на время ваш код на дальнюю полку, он не для среднего ума (:-).

 

Измерить период входного сигнала можно так.

 

1) Ждёте начало входного импульса, т.е. перепада 0-1.

 

2) Читаете текущее значение таймера currtime.

 

3) Вычисляете pulselength=currtime-prevtime.

 

4) Сохраняете текущее время prevtime=currtime.

 

5) Переходите к пункту 1.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Куда катится образование? Полная профанация электроники: один совсем не знает азов, другой исправляет тут же все перевирая...

Господа, скажите что вы делаете, чтобы ненароком не нарваться на ваши "шедевры"?

 

P.S. Скважность это отношение периода следования импульсов к их длительности.

Вы тут сразу всех обругали. А сами-то, что пишите про скважность? Подразумеваете, что импульс положительный?

А в первом посте пишите, что скважность - единица. Более того, для непериодической функции период неопределен. Следите лучше за собой.

В технических разделах подобный тон, отвлеченные рассуждения и переход на личности недопустимы - см. Правила.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А сами-то, что пишите про скважность? Подразумеваете, что импульс положительный?

Понятие скважности никак не привязано к полярности импульса: просто отношение периода к длительности импульса.

Это вы уж сами разбирайтесь, какой импульс имеете ввиду положительный или отрицательный.

 

А в первом посте пишите, что скважность - единица. Более того, для непериодической функции период неопределен. Следите лучше за собой.

Что-то я за собой такого бреда не припомню, может лучше еще раз посмотрите на первый пост и его автора?

Прежде чем меня упрекать? :)

И откуда всплыло, что функция непериодическая? Автор заявил: частота от 0 до 150 Гц, частота автоматически подразумевает периодичность, разве нет? (F=1/T) :)

 

Задвинем на время ваш код на дальнюю полку, он не для среднего ума (:-).

 

Измерить период входного сигнала можно так.

 

1) Ждёте начало входного импульса, т.е. перепада 0-1.

...

Вы напрасно пытаетесь объяснить автору топика принцип измерения.

Я не поленился, в гугле посмотрел его вопрос на других форумах. Там на аналогичное моему замечание про 0 частоту, он подтверждает: "да, частота может быть нулевой - когда вал остановлен".

Автор явно абсолютно не понимает о чем говорит, и ведь будет пытаться измерять такую частоту.

Изменено пользователем ATLab

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Здравствуйте.

Можно сделать так

-"навечно" запустить таймер

-подать входной сигнал на вход ICP

*ожидание прерываний

-по разнице значений CAPTi+1 и CAPTi определить период

-рассчитать требуемые параметры выходного сигнала с учетом текущего состояния таймера

-загрузить в регистр COMP сравнения таймера

-переход на *

Правильно,

+ к тому еще в зависимости от входной частоты управлять предделителем вых. таймера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...