реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> обнуление параметров
Sneg_87
сообщение Dec 9 2009, 18:11
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 12-10-09
Пользователь №: 52 882



у меня на плату с МК идет синусоида с генератора -> сигнал оцифровывается на АЦП -> происходит рассчет частоты.
после выключения генератора программа в МК запоминает последние значения всех переменных и как бы "зависает", а необходимо обнулить все переменные при отключении. Если кто сталкивался с подобной проблемой - оптишитесь, пожалуйста, как вы ее решили.


--------------------
coding, кодинг, koDinГ, copyriting, printing ....
Go to the top of the page
 
+Quote Post
OLEG_BOS
сообщение Dec 9 2009, 18:28
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 386
Регистрация: 1-12-05
Пользователь №: 11 639



Цитата(Sneg_87 @ Dec 9 2009, 20:11) *
.. программа в МК запоминает последние значения всех переменных и как бы "зависает",

Недостаточно данных для решения проблемы:
1. Что за МК ?
2. Куда "запоминает последние значения всех переменных" ?
3. А что разве кому-то еще нужны "обнуленные данные " в МК после его выключения ?
4. Непонятно что откуда и куда идет : "у меня на плату с МК идет синусоида с генератора" - это как ?

В общем ничего непонятно из сказанного Вами
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 9 2009, 18:43
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Sneg_87, какой диапазон частот измеряете и какой у вас временной период для выдачи результата частоты? ИМХО период подсчета частоты слишком большой.
И пользуйтесь все-таки знаками препинания, чтобы вас понимали.
Go to the top of the page
 
+Quote Post
Sneg_87
сообщение Dec 9 2009, 19:04
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 12-10-09
Пользователь №: 52 882



Цитата(OLEG_BOS @ Dec 9 2009, 23:28) *
Недостаточно данных для решения проблемы:


1 микроконтроллер AT91SAM7A3
2 в программе есть место для хранения переменных. какая память используется для хранения не знаю
3 микроконтроллер не выключается, выключается генератор.
Дело в том, что после выключения ГЧ на выходе АЦП получается "плавающее" значение (ввиду наводок), а его не должно быть т.к. генератор физически отключен. в этом вся и загвоздка.
Поэтому и необходимо обнулять параметры после выключения генератора.
4 на плату с микроконтроллером идет от генератора-частоты (ГЧ-...) сигнал

Цитата(rezident @ Dec 9 2009, 23:43) *
Sneg_87, какой диапазон частот измеряете и какой у вас временной период для выдачи результата частоты? ИМХО период подсчета частоты слишком большой.

Диапазон частот от 0,1 Гц до 6,5кГц, в среднем время измерения одного периода около 40 мс (в зависимости от частоты), время индикации в этих же пределах.

Усреднение по частоте происходит каждый 2000 отсчет из 50 000. Если 2000 отсчет попадает на середину или в момент близкий к концу периода сигнала, то алгоримт домеряет до последнего значения периода. Где может произойти ошибка, если частота будет около 0.
ЗЫ насчет "знаками препинания" - приму к сведению.
Причина редактирования: Излишнее цитирование.


--------------------
coding, кодинг, koDinГ, copyriting, printing ....
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Dec 9 2009, 20:46
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



1) вы можете подгрузить вход АЦП, если сигнал генератора мощный.
2) если у вас частота в пределах, например, 100-1000, то отфильтровывайте остальные частоты.
3) Сделайте программный детектор частоты. Критерии могут быть следующие:
а) Амплитуда не менее ....
б) Частота не меняется не менее ... интервала времени

ну и так далее
Go to the top of the page
 
+Quote Post
Sneg_87
сообщение Dec 10 2009, 04:11
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 12-10-09
Пользователь №: 52 882



Цитата(SasaVitebsk @ Dec 10 2009, 01:46) *
ну и так далее

1 до входа на АЦП стоит схема ограничивающая сигнал по амплитуде.
2 какие алгоритмы, способы используются для отфильтровки остальных составляющих?
3 если есть ссылки с "типичной" программой частотного детектора, то буду очень благодарен.
Причина редактирования: Излишнее цитирование.


--------------------
coding, кодинг, koDinГ, copyriting, printing ....
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Dec 10 2009, 05:06
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Sneg_87 @ Dec 10 2009, 08:11) *
1 до входа на АЦП стоит схема ограничивающая сигнал по амплитуде.

Ну так что мешает анализировать амплитуду сигнала до схемы ограничения?
Нет ограничения - данные о частоте не действительны.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Sneg_87
сообщение Dec 10 2009, 08:10
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 12-10-09
Пользователь №: 52 882



Цитата(Dog Pawlowa @ Dec 10 2009, 10:06) *
1 Ну так что мешает анализировать амплитуду сигнала до схемы ограничения?
2 Нет ограничения - данные о частоте не действительны.

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

Да все просто на самом деле: сигнал есть - МК измеряет необходимые параметры сигнала, сигнала нет - все параметры по нулям. вот и взя задача, только как ее решить?


--------------------
coding, кодинг, koDinГ, copyriting, printing ....
Go to the top of the page
 
+Quote Post
OLEG_BOS
сообщение Dec 10 2009, 09:46
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 386
Регистрация: 1-12-05
Пользователь №: 11 639



Цитата(Sneg_87 @ Dec 10 2009, 10:10) *
сигнала нет - все параметры по нулям. вот и взя задача, только как ее решить?

Как первый вариант, можна организовать дополнительную схему индикации полезного сигнала: пиковый детектор + компаратор. Вход компаратора настраивается на минимальную амплитуду полезного сигнала. Выход компаратора подключается к порту контроллера. Если полезный сигнал отсутсвует (его амплитуда ниже порогового уровня), на входе порта контроллера будет "0" - что значит полезного сигнала нет и данные нужно обнулить smile.gif
Второй вариант сделать тоже самое, но с помощью программного алгоритма wink.gif Определяем пиковые значения сигнала за интервал времени, усредняем его сравниваем с пороговым уровнем, в зависимости от результата обнуляем данные или делаем дальнейшие преобразования.
Выбор варианта реализации зависит от того на сколько загружен МК сторонними задачами.
Go to the top of the page
 
+Quote Post
Ant_m
сообщение Dec 10 2009, 11:01
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 756
Регистрация: 14-08-07
Из: Москва
Пользователь №: 29 765



Цитата(Sneg_87 @ Dec 9 2009, 22:04) *
Диапазон частот от 0,1 Гц до 6,5кГц, в среднем время измерения одного периода около 40 мс (в зависимости от частоты), время индикации в этих же пределах.

Усреднение по частоте происходит каждый 2000 отсчет из 50 000. Если 2000 отсчет попадает на середину или в момент близкий к концу периода сигнала, то алгоримт домеряет до последнего значения периода. Где может произойти ошибка, если частота будет около 0.


При частоте 0,1 Гц с описанным вами алгоритмом усреднения у вас частота будет устанавливаться очень дооооолго, замучаетесь ждать. Может в этом причина?

Приходилось мерять частоту от 1/60Гц до 100Гц. На нижнем пределе измерения делал таймер, отсчитывающий время от начала импульса. Если время превышало, с запасом, 80сек - считал что сигнала нет, и сбрасывал результат измерения.

Сообщение отредактировал Ant_m - Dec 10 2009, 11:02
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 23:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.01428 секунд с 7
ELECTRONIX ©2004-2016