Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Увеличение Длины Поступающих Импульсов
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Страницы: 1, 2
IC7K
голову сломал но сделать не могу никак маленький опыт программирования очевидно.

есть задача:

поступают прямоугольные испульсы с частотой от 0 до 150 Гц и скважностью 1.
необходимо выдать подобные импульсы но с "плавной" регулировкой частоты (длительности) импульса/паузы и такой же скважностью в сторону увеличения длительности (уменьшения частоты).

т.е. допустим поступил импульс/пауза длительностью L, а выдать нужно L+L/K, где K - коэф-т удлиннения импульса/паузы.


пробовал таймером вызывать цикл счетчика и одновременно выдачи импульса в разных вариациях, но чтото никак

может есть какая идея простая?

буду благодарен за помощь!
AnV22
Цитата(IC7K @ Jul 1 2009, 08:09) *
поступают прямоугольные испульсы с частотой от 0 до 150 Гц и скважностью 1.

Вы не ошиблись со значением скважности? Может быть со скважностью 2?
domowoj
Как соотносятся входная и выходная частоты?
dimka76
Цитата(IC7K @ Jul 1 2009, 06:09) *
необходимо выдать подобные импульсы но с "плавной" регулировкой частоты (длительности) импульса/паузы и такой же скважностью в сторону увеличения длительности (уменьшения частоты).

т.е. допустим поступил импульс/пауза длительностью L, а выдать нужно L+L/K, где K - коэф-т удлиннения импульса/паузы.


Т.е. удлинять надо и импульс и паузу одновременно.
Пока вы удлиняете импульс, вы пропустите спадающий фронт и как же тогда вы удлините паузу ?
domowoj
IC7K
А чем "К" будете задавать?
Dog Pawlowa
Цитата(IC7K @ Jul 1 2009, 05:09) *
голову сломал но сделать не могу никак маленький опыт программирования очевидно.

может есть какая идея простая?

Есть идея простая.
Прежде чем кидаться программировать таймеры, стоит нарисовать на бумажке несколько импульсов на входе и на выходе и представить правила, как из одного сигнала получить другой.
Многое и прояснится.
А запрограммировать - поможем.
IC7K
Скважность 1 это пауза равна импульсу по длительности (сорри если ошибся smile.gif

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

Т.е. удлинять надо и импульс и паузу одновременно.
Пока вы удлиняете импульс, вы пропустите спадающий фронт и как же тогда вы удлините паузу ?


верно, но в том то все и дело smile3046.gif как то надо обойти эту проблему

стоит нарисовать на бумажке

малоли какие есть механизмы у контроллера, я же не спец.
может этот вопрос давно решен другим макаром.
dimka76
Цитата(IC7K @ Jul 1 2009, 10:38) *
Скважность 1 это пауза равна импульсу по длительности (сорри если ошибся smile.gif


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


Цитата
может этот вопрос давно решен другим макаром.


Посмотрите микросхему К155ИЕ8
Alex11
Поскольку входная и выходная частоты разные, то вопрос о фазе не стоит, поэтому делайте два независимых процесса - измерение длительности импульса или периода, что Вам важнее, и генерацию меандра с заданной частотой. Период меандра изменяйте хоть после каждого измерения, хоть усредняйте - в зависимости от задачи.
Dog Pawlowa
Цитата(IC7K @ Jul 1 2009, 09:38) *
может этот вопрос давно решен другим макаром.
Вам достаточно ясно дают понять, что вопрос некорректно поставлен, а Вы опять про механизмы в контроллере.
Фазу соблюсти невозможно, т.е. речь может идти не об "удлинении импульса", а генерации другого сигнала, как выше пишут.
domowoj
Цитата(Alex11 @ Jul 1 2009, 14:07) *
Поскольку входная и выходная частоты разные, то вопрос о фазе не стоит, поэтому делайте два независимых процесса - измерение длительности импульса или периода, что Вам важнее, и генерацию меандра с заданной частотой. Период меандра изменяйте хоть после каждого измерения, хоть усредняйте - в зависимости от задачи.

абсолютно согласен
=GM=
Цитата(IC7K @ Jul 1 2009, 01:09) *
есть задача: поступают прямоугольные испульсы с частотой от 0 до 150 Гц и скважностью 2.
необходимо выдать подобные импульсы но с "плавной" регулировкой частоты (длительности) импульса/паузы и такой же скважностью в сторону увеличения длительности (уменьшения частоты)

Ваша задача распадается на две простые подзадачи: 1) измерение периода входного сигнала и 2) формирование меандра заданной частоты.

Вариантов решения подзадач - море...Лаптевых, ниже приведен самый простой.

Формируете меандр с помощью прерывания таймера по переполнению, в нём вы должны инвертировать выходной пин и загрузить новое значение полупериода. В основной программе непрерывно измеряете период входного сигнала и соответствующим образом корректируете период таймера.

При определенной сноровке можно даже на си залудить.
Dog Pawlowa
Цитата(=GM= @ Jul 1 2009, 14:54) *
При определенной сноровке можно даже на си залудить.

Насмешил. А без сноровки? biggrin.gif
sigmaN
Да.
А что мешает это сделать без _особой_ сноровки, просто на Си?
Или тут имелось ввиду знание Си в принципе? Ну тогда без вопросов ))))
IC7K
Цитата(=GM= @ Jul 1 2009, 15:54) *
Ваша задача распадается на две простые подзадачи: 1) измерение периода входного сигнала и 2) формирование меандра заданной частоты.

Вариантов решения подзадач - море...Лаптевых, ниже приведен самый простой.

Формируете меандр с помощью прерывания таймера по переполнению, в нём вы должны инвертировать выходной пин и загрузить новое значение полупериода. В основной программе непрерывно измеряете период входного сигнала и соответствующим образом корректируете период таймера.

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


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

я по таймеру 16МГц/256=62500 считал длину импулься и тут же параллельно выдавал, и как бы получается так что все сдвигается и накладывается на входной, вобщем запутало меня все это.

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

CODE
//==========START TIMER PROCESS=====================
Timer:
CLI

//заносим и выделяем бит скорости из порта С
IN PortCVal, PINC ;
ANDI PortCVal, 1<<InPortSyg

//выделяем предыдущее состояние бита из порта С
MOV temp1, Flags ;
ANDI temp1, 1<<InSygFlag

//копируем бит из порта С для проверки изменился ли он
MOV temp3, PortCVal
EOR temp3, temp1 ; проверяем изменился ли бит
//если изменился то пытаемся его продлить
BRNE DecDelay ;1x1=0(Z) 0x0=0(Z) 1x0=1 0x1=1
//после задержки инвертируем флаг сигнала
LDI temp3,1<<InSygFlag ;
EOR Flags, temp3

//вычисляем длительность нового импульса DelL_Next DelH_Next

CalNewDel:

MOV dd16uL, CtrL
MOV dd16uH, CtrH

//для упрощения задаем фиксированную задержку
LDI DelL_Next, $10
LDI DelH_Next, $00
//прибавляем к длительности импульса
ADD DelL_Next, CtrL
ADC DelH_Next, CtrH
//начнем подсчет заново
CLR CtrL
CLR CtrH

//ПРОДОЛЖИМ ВЫДАЧУ ИМПУЛЬСА
DecDelay:
DEC DelL_Cur
BRNE FollowCount
TST DelH_Cur
BRNE DecDelayH
//Задержка ЗАКОНЧИЛАСЬ, загружаем НОВУЮ
MOV DelL_Cur, DelL_Next
MOV DelH_Cur, DelH_Next
RJMP ActuateSyg
DecDelayH:
DEC DelH_Cur
RJMP FollowCount
//АКТУАЛИЗАЦИЯ ТОЛЬКО ПОСЛЕ ЗАДЕРЖКИ!!!!!
ActuateSyg:
//выделяем предыдущее состояние OutSyg из флага

MOV PortCVal, Flags
LDI temp3,1<<OutSygFlag ;
AND PortCVal, temp3
EOR PortCVal, temp3 ;
EOR Flags, temp3

//актуализация сигнала (изменение на обратный)
OUT PORTC, PortCVal //выдача импульса

FollowCount:
INC CtrL ; и увеличиваем общий счетчик импульсов
BRNE SetTimer
INC CtrH
BRNE SetTimer
//ограничиваем длину входного импульса
SER CtrL
SER CtrH ;Counter=$FFFF

SetTimer:

//предустановка периода таймера на 1 тик
LDI temp1, $FF ;загружаем старший байт
OUT TCNT1H, temp1 ; Старший байт пошел!
LDI temp1, $FE ;загружаем младший байт
OUT TCNT1L, temp1 ; Младший байт пошел!

RETI
akl
Здравствуйте.
Можно сделать так
-"навечно" запустить таймер
-подать входной сигнал на вход ICP
*ожидание прерываний
-по разнице значений CAPTi+1 и CAPTi определить период
-рассчитать требуемые параметры выходного сигнала с учетом текущего состояния таймера
-загрузить в регистр COMP сравнения таймера
-переход на *
ATLab
Цитата
Скважность 1 это пауза равна импульсу по длительности (сорри если ошибся

Цитата( @ Jul 1 2009, 16:49) *
Скважность это отношение длины импульса к периоду. Т.е. когда длительность импульса и паузы равны, то скважность равна двум.

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

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

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

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

p/s/ основная масса программеров я смотрю еще не проснулась, у нас то +7 к москве
ATLab
Цитата(IC7K @ Jul 2 2009, 15:33) *
а что можете сказать по теме ветки?

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

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

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

P.S. Извиняюсь... Невнимательно посмотрел: что такое коеффициент К. Выходная частота Fвых=Fвх*К/(K+1)
Dog Pawlowa
Цитата(IC7K @ Jul 2 2009, 08:53) *
что еще непонятного? если кому то мой вопрос неясен это скорее каша у него!

А нельзя ли на форуме создать раздел для "амбициозных начинающих" ? smile.gif
dimka76
Цитата(ATLab @ Jul 2 2009, 08:48) *
другой исправляет тут же все перевирая...

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


Ну ошибся, с кем не бывает )))
Палыч
To IC7K

Если у Вас всё ещё остались вопросы, то разбейте свою задачу на три.
1. Определение параметров входного сигнала (частоты, или периода, или длины импульса)
2. Генерация сигнала с заданным параметром (частотой, периодом, длинной импульса и скважностью 2)
3. Чтение коеффициента К и вычисление параметров выходного сигнала по параметру входного сигнала и коеффициету
Объедините все три программы в одну.
ATLab
Цитата(Палыч @ Jul 2 2009, 16:08) *
... Невнимательно посмотрел: что такое коеффициент К. Выходная частота Fвых=Fвх*К/(K+1)
Не только К, см. самый первый пост: частота от 0 до 150 Гц
Тут никакие таймеры не помогут.
Я же говорю - каша в голове, арифметику не знает.
Опять какой-нибудь студент-двоечник, хотя сессия вроде должна уже закончиться...
=GM=
Цитата(IC7K @ Jul 1 2009, 23:05) *
В основной программе непрерывно измеряете период входного сигнала и соответствующим образом корректируете период таймера
а как его измерить? частота 16МГц, а таймер занят. а ведь считать то его нужно в единицах таймера получается
вопрос о фазе не стоит. вот мой код - скажите где трабл

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

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

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

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

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

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

5) Переходите к пункту 1.
Tanya
Цитата(ATLab @ Jul 2 2009, 08:48) *
Куда катится образование? Полная профанация электроники: один совсем не знает азов, другой исправляет тут же все перевирая...
Господа, скажите что вы делаете, чтобы ненароком не нарваться на ваши "шедевры"?

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

Вы тут сразу всех обругали. А сами-то, что пишите про скважность? Подразумеваете, что импульс положительный?
А в первом посте пишите, что скважность - единица. Более того, для непериодической функции период неопределен. Следите лучше за собой.
В технических разделах подобный тон, отвлеченные рассуждения и переход на личности недопустимы - см. Правила.
ATLab
Цитата(Tanya @ Jul 2 2009, 23:04) *
А сами-то, что пишите про скважность? Подразумеваете, что импульс положительный?

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

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

Что-то я за собой такого бреда не припомню, может лучше еще раз посмотрите на первый пост и его автора?
Прежде чем меня упрекать? smile.gif
И откуда всплыло, что функция непериодическая? Автор заявил: частота от 0 до 150 Гц, частота автоматически подразумевает периодичность, разве нет? (F=1/T) smile.gif

Цитата(=GM= @ Jul 2 2009, 22:33) *
Задвинем на время ваш код на дальнюю полку, он не для среднего ума (:-).

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

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

Вы напрасно пытаетесь объяснить автору топика принцип измерения.
Я не поленился, в гугле посмотрел его вопрос на других форумах. Там на аналогичное моему замечание про 0 частоту, он подтверждает: "да, частота может быть нулевой - когда вал остановлен".
Автор явно абсолютно не понимает о чем говорит, и ведь будет пытаться измерять такую частоту.
domowoj
Цитата(akl @ Jul 2 2009, 10:27) *
Здравствуйте.
Можно сделать так
-"навечно" запустить таймер
-подать входной сигнал на вход ICP
*ожидание прерываний
-по разнице значений CAPTi+1 и CAPTi определить период
-рассчитать требуемые параметры выходного сигнала с учетом текущего состояния таймера
-загрузить в регистр COMP сравнения таймера
-переход на *

Правильно,
+ к тому еще в зависимости от входной частоты управлять предделителем вых. таймера.
Tanya
Цитата(ATLab @ Jul 2 2009, 17:52) *
Понятие скважности никак не привязано к полярности импульса: просто отношение периода к длительности импульса.
Это вы уж сами разбирайтесь, какой импульс имеете ввиду положительный или отрицательный.

Так вот. Зависит от того, что считать импульсом.
Была неправа. Первый пост не Ваш.
Однако, переход на личности недопустим.
domowoj
Ребята, не спорьте!
http://ru.wikipedia.org/wiki/%D0%A1%D0%BA%...%81%D1%82%D1%8C
Dog Pawlowa
Цитата(Tanya @ Jul 2 2009, 17:26) *
Однако, переход на личности недопустим.

Если бы модераторы вовремя перенесли тему в раздел для начинающих, то перепалки бы не возникло, т.к. там в общем-то снисходительное отношение к многим вопросам.
Tanya
Цитата(domowoj @ Jul 2 2009, 21:52) *

Так там написано про полярность? Если нет, то если скважность = 100 для положительных, то сколько будет для отрицательных?
Есть ли смысл в подобных определениях? Только для тех, кто думает, что 1 - больше, чем ноль в вольтах.
ATLab
Цитата(Tanya @ Jul 3 2009, 04:24) *
Так там написано про полярность? Если нет, то если скважность = 100 для положительных, то сколько будет для отрицательных?
Есть ли смысл в подобных определениях? Только для тех, кто думает, что 1 - больше, чем ноль в вольтах.

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

Про ваш Вопрос с "скважность = 100 для положительных". Пусть
- длительность импульса (положительного) 1 сек
- период 100 сек
Тогда скважность = 100/1=100.

Соответственно, длительность "отрицательного" импульса будет 100-1=99 (сек.) и для него скважность будет 100/99=1.01(01)

P.S. Странно, что такую элементарщину нужно объяснять модератору
И еще странно, что автоматически подразумеваются логические уровни сигналов: 1 и 0 это ведь оттуда, и условность "положительных" и "отрицательных" импульсов происходит из условности "положительной" и "отрицательной" логики.
IC7K
блин я уже пожалел что применил умное слово скважность rolleyes.gif

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


пятерка гуглу за оперативность bb-offtopic.gif

любой частотомер же показывает 0, значит есть такая частота! будем спорить?

Цитата(=GM= @ Jul 2 2009, 16:33) *
Задвинем на время ваш код на дальнюю полку, он не для среднего ума (:-).


спасибо biggrin.gif он явно не для начинающих

у меня алгоритм такой:

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

и все это не работает почемуто...
ATLab
Цитата(IC7K @ Jul 3 2009, 09:19) *
любой частотомер же показывает 0, значит есть такая частота! будем спорить?
О чем спорить то? Нулевая частота соответствует бесконечному периоду. Ну измерьте половину от бесконечности - полупериод, и удлините его на свою константу.
Бред? Он самый...
Я уж не говорю про разрядность числа, потребную для измерения такого периода smile.gif

P.S. Ради любопытства загляните в паспорт частотомера и поинтересуйтесь пределами измерений, может тогда перестанете нести хрень, про измеряемую им нулевую частоту.
domowoj
Цитата(IC7K @ Jul 3 2009, 06:19) *
блин я уже пожалел что применил умное слово скважность

Нужно было применить другое умное слово - меандр - сигнал со скважностью 2.

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

Затем, умножать я думаю вы умеете.

И потом, второй(скорей третий) таймер запустить в "свободное плавание", с возможностью коррекции его
вых. параметров(используя OCRAx).
Tanya
Цитата(ATLab @ Jul 3 2009, 02:17) *
P.S. Странно, что такую элементарщину нужно объяснять модератору
И еще странно, что автоматически подразумеваются логические уровни сигналов: 1 и 0 это ведь оттуда, и условность "положительных" и "отрицательных" импульсов происходит из условности "положительной" и "отрицательной" логики.

Цитата(ATLab @ Jul 3 2009, 02:17) *
В вопросе про скважность, предполагается, что во время импульса что-то делается: течет ток, выделяется мощность на нагрузке, что-то излучается. При таком подходе никаких проблем с определением не возникает.

Зря Вы напрягались. Я именно хотела объяснить Вам бессмысленность такого определения.
Представьте, что у Вас в руках тестер. И Вы им измеряете скважность. А потом меняете руки. Пусть напряжение на выходе данной нам коробочки меняется от -1 до +1 вольта. Ток никуда не течет. Что у нас со скважностью?
domowoj
Цитата(Tanya @ Jul 3 2009, 10:18) *
Зря Вы напрягались. Я именно хотела объяснить Вам бессмысленность такого определения. Представьте, что у Вас в руках тестер. И Вы им измеряете скважность. А потом меняете руки.

В любом случае покажет среднее за период, с + или - .

Существуют условности, длительность импульса, в определении скважности,
подразумевается положительного, и не надо путать новичков и отступать от темы.
=AK=
Цитата(IC7K @ Jul 3 2009, 08:49) *
у меня алгоритм такой:

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

и все это не работает почемуто...

Нельзя совмещать измерение входных импульсов и выдачу выходных. "Нельзя" не потому что это совсем невозможно, а потому, что это настолько сложно сделать правильно, что совершенно не имеет смысла париться. У вас должно быть 2 раздельных куска кода, один меряет период входной частоты, другой синтезирует выходныe частоты по заданию, полученному в результате измерения.

1. Измерение.

Казалось бы, проще всего по перепаду входного импульса (из 0 в 1, или из 1 в 0, как больше нравится) запоминать значение свободно бегущего аппаратного счетчика. Период равен (текущее значение) - (предыдущее значение).

Однако при больших периодах входного сигнала счетчик начнет переполняться. Чтобы не потерять правильное значение счетчика, необходимо в момент переполнения аппаратного счетчика (по прерыванию) инкрементировать программный счетчик, который станeт расширением аппаратного. Суммарная разрядность этого (аппаратного+программного) счетчика должна быть такой, чтобы переполнения не было хотя бы лет 100. Навскидку, 48 разрядов для частоты 16МГц/256 хватит за глаза. Конечно, при этом придется вычитание (текущее значение) - (предыдущее значение) делать 48-разрядным, зато голова не будет болеть.

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

Вот эта проблема посерьезней, чем разрядность счетчика. Ее можно попробовать решить так. Когда процедура прерывания, вызываемая в момент переполнения аппаратного счетчика, инкрементирует программную "надбавку", обсуждавшуюся ранее, она должна одновременно проверять накопленное к этому моменту значение разности (текущее значение) - (предыдущее значение). И если новая разность превысила то значение, которое было получено в предыдущем цикле измерения интервала, то дополнять (увеличивать) задание для выходного синтезатора частоты.

2. Синтез частоты по заданию.

Это сделать легко, но надо учитывать, что синтезатор обязан регулярно проверять свое задание, поскольку оно может меняться "на лету", пока вых. импульс находится в стадии формирования. При нулевой вх. частоте, когда измеритель все время "подновляет" задание синтезатору, выход должен замереть навечно.
tyro
ИХМО, для того что бы начать составлять работающий алгорим, необходимо прояснить как минимум следующие моменты:
-что такое нулевая частота т.е. частота ниже которой входной сигнал считаем постоянным (об этом говорилось выше)
-что должно быть на выходе в случае нулевой входной частоты когда вход имеет уровень сигнала (если входной имеет уровень паузы, то надо пологать и выходной в этом случае должен иметь уровень паузы)
-в случае роста входной частоты какой импульс должен "транслироваться" на выход:
-первый импульс вслед за обрабатываемым
-последний полный импульс, "уложившийся" в обрабатываемый
-последний начавшийся импульс в пределах обрабатываемого
Tanya
Цитата(domowoj @ Jul 3 2009, 07:25) *
В любом случае покажет среднее за период, с + или - .

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

Да нет там (и не нужно) никакого периода. Автору (мне так кажется) нужно аккуратно переформлировать задачу примерно в таком ключе.
После прихода нарастающего фронта измеряется время до спадающего и какие-то действия...происходят некоторые действия....измеряется время до следующего нарастающего.... и т.д.
ATLab
Цитата
ИХМО, для того что бы начать составлять работающий алгорим, необходимо прояснить как минимум следующие моменты:

Цитата(Tanya @ Jul 3 2009, 15:43) *
Да нет там (и не нужно) никакого периода. Автору (мне так кажется) нужно аккуратно переформлировать задачу...

Вот-вот, то самое о чем я сразу и говорил: автору определиться с тем, что ему надо, внятно сформулировать задачу. А то гадание продолжается...

Цитата
Пусть напряжение на выходе данной нам коробочки меняется от -1 до +1 вольта. Ток никуда не течет.
Tanya, простите, у Вас какое образование? Что-то мне кажется, что не электронное. Электронщик такого сказать не может, поскольку
1. напряжения без тока не бывает
2. тестер сам по себе уже нагрузка
GDI
Если скважность всегда постоянная, то зачем мерять длину импульса? Достаточно мерять просто период сигнала. А для выходного сигнала надо продумать поведение в крайних ситуациях, которые уже перечисляли выше, могу добавить еще одну ситуацию - резкое изменение частоты, например при заклинивании двигателя.
dimka76
Цитата(ATLab @ Jul 3 2009, 11:23) *
у Вас какое образование? Что-то мне кажется, что не электронное. Электронщик такого сказать не может, поскольку
1. напряжения без тока не бывает


А вот у вас какое???

Как раз, напряжение без тока может существовать !!!
А вот тока без напряжения - нет !!!

Вот пример. Все производители стараются сделать батарейки с минимальным током саморазряда. Предположит кто-то сделал идеальную батарейку, внутри которой протекать ток не будет. А идеальный вольтметр обладает бесконечным сопротивлением. Вот теперь мы подключает этот идеальный вольтметр к идеальной батарейке. И что, вольтметр нам нуль покажет ?!
=AK=
Цитата(dimka76 @ Jul 3 2009, 18:16) *
Как раз, напряжение без тока может существовать !!!
А вот тока без напряжения - нет !!!

И напряжение без тока может существовать (пример - заряженная лейденская банка), и ток без напряжения тоже (пример - индуцированный ток в сверхпроводнике)
rezident
Цитата(dimka76 @ Jul 3 2009, 14:46) *
Как раз, напряжение без тока может существовать !!!
А вот тока без напряжения - нет !!!
Если внутри кольца из короткозамкнутого проводника двигать постоянный магнит, то в проводнике возникнет ток при, казалось бы, отсутствии напряжения приложенному к нему wink.gif ЭДС это вовсе не эквивалент напряжения, это ЭлектроДвижущая Сила. Причины возникновения ЭДС могут быть разными.
ATLab
bb-offtopic.gif Ох не зря я сетовал на образование: почитайте определение электрического напряжения в учебнике физики, или в wiki, а после этого объясните мне, что такое "перемещение эл. заряда" как не ток.
А лейденская банка накапливает заряд, а не напряжение.

P.S. А образование у меня устаревшее: советское еще, когда калькуляторы были большими, а программы печатали на перфокартах... Оттого и не понимаю закидонов про нулевую частоту, и в скважности не путаюсь.
dimka76
Цитата(ATLab @ Jul 3 2009, 15:12) *
физики, или в wiki,


вот и почитайте. напряжение это разность потенциалов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.