На канал АЦП поступает сигнал импульсами, подскажите как найти максимальное значение за импульс?
Как высчитать максимальное значение за период с помощью АЦП
- Сообщения: 261
- Зарегистрирован: Ср авг 01, 2012 10:45:42
Здравствуйте!
На канал АЦП поступает сигнал импульсами, подскажите как найти максимальное значение за импульс?
На канал АЦП поступает сигнал импульсами, подскажите как найти максимальное значение за импульс?
- Реклама
- Сообщения: 261
- Зарегистрирован: Ср авг 01, 2012 10:45:42
Можно задать вопрос по другому.
На канал АЦП поступают сигналы импульсами, На LCD выводятся тоже импульсами. Как сделать чтоб данные показывали постоянно,т.е. только обновлялись с последующими импульсами?
На канал АЦП поступают сигналы импульсами, На LCD выводятся тоже импульсами. Как сделать чтоб данные показывали постоянно,т.е. только обновлялись с последующими импульсами?
- Сообщения: 51
- Зарегистрирован: Пн янв 04, 2016 17:23:59
Привет!
У себя в коде находил максимальное напряжение так
но у меня данные собранны в массиве 255 значений и из этих значений определял максимальное.
Можно и сразу оцифровывать и сравнивать.
У себя в коде находил максимальное напряжение так
Код: Выделить всё
//максимальное значение сигнала
Vmax=0;
for(int y=1;y<255;y++)
{
if(Vmax<mass[y])
{
Vmax=mass[y];
}
}
Можно и сразу оцифровывать и сравнивать.
- Сообщения: 51
- Зарегистрирован: Пн янв 04, 2016 17:23:59
посмотрите делал любительский осциллографический пробник.kk042fjv писал(а):.....Как сделать чтоб данные показывали постоянно,т.е. только обновлялись с последующими импульсами?
Код специально максимально комментировал, там русского больше чем С!)))
Мне кажется там есть для вас.
http://srukami.inf.ua/pultoscop_v25110.html
Дак постоянно или синхронно с импульсами ?kk042fjv писал(а):Как сделать чтоб данные показывали постоянно,т.е. только обновлялись с последующими импульсами?
Вообще, вопрос как то странно звучит. Период отображения, либо по какому то событию, Вы выбираете сами. И на вопрос "Как сделать", ответ один - синхронизироваться с необходимым событием.
- Реклама
- Сообщения: 574
- Зарегистрирован: Вт ноя 02, 2010 17:46:37
Можно сделать примерно как писал bodriy2014, только сравнение поставить сразу после преобразования от АЦП
Тогда не надо городить массивы, единственная проблема это найти начал импульса и по этому событию сбрасывать Vmax в ноль.
Если во время отсутствия импульсов у вас идёт 0, то можно сделать отслеживание перехода из 0 в 1 это и будет событием начала импульса.
Код: Выделить всё
if(Vmax<ADCW){
Vmax=ADCW;
} Если во время отсутствия импульсов у вас идёт 0, то можно сделать отслеживание перехода из 0 в 1 это и будет событием начала импульса.
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Как вариант - считать количество "нулевых" импульсов и если их достаточно много считать концом импульса. Самый простой вариант:
Код: Выделить всё
#define ADC_ZERO 10 //нижний порог сигнала. Не сравнивать же строго с нулем
#define NUMZEROS 100 //количество нулевых отсчетов, соответствующих паузе между импульсами
uint16_t adc = ADC; //я бы лучше все-таки перед использованием значения АЦП сохранил его в отдельной переменной
uint16_t adc_max;
static uint8_t zerocount=0; //счетчик нулевых отсчетов АЦП
if( adc_max < adc )adc_max = adc;
if( adc < ADC_ZERO ){ //если очередной отсчет равен нулю (с учетом помех и прочей неидеальности аналогового сигнала) увеличиваем счетчик
if( zerocount < 255 )zerocount++; //условие поставлено чтобы он не переполнился
}else{ //если очередной отсчет не равен нулю
if( zerocount > NUMZEROS ){ //если нулей набралось достаточно - сбрасываем adc_max, то есть начинается новый импульс
adc_max = 0;
}
zerocount = 0; //счетчик нулей сбрасываем в любом случае
}- Сообщения: 139
- Зарегистрирован: Чт фев 11, 2016 18:35:37
Если между импульсами чистый ноль, то не показывать на дисплее те результаты, которые равны нулю, а если не ноль, а некие провалы, то пропускать те показания, которые меньше заранее выбранного порога.kk042fjv писал(а):На канал АЦП поступают сигналы импульсами, На LCD выводятся тоже импульсами. Как сделать чтоб данные ... только обновлялись с последующими импульсами?
- Из овощей я больше всего люблю пельмени... © Соседский Мальчик


