настройка макроса АЦП

PIC версия программы(разные темы)

Re: настройка макроса АЦП

Сообщение Sergey (Sergey) » 09 янв 2016, 23:01

Исправил.
Вот, что получилось.
1. Интегратор + усреднение. (MK_16f887_temp_outtemp_volt_current_3.fcf)
По моим экспериментам (в железе) частота вывода измеренных значений зависит от колличества усредненных значений и от времени интегратора.
В моем случае получилось где-то каждые 1,5с (если входные значения постоянно меняются) выводятся значения на индикатор, т.е. время измерения медленное.
Сказать, что значения не прыгают не могу (с этим вариантом программы измеренная температура с аналогового датчика прыгает, пример, от 16,0 до 16,6 градуса). Наверное это уже связано с железом.
2. Усреднение измеренных значений.
Я еще поэкспериментировал с кодом, который я выкладывал постом выше. Это алгоритм усреднения измеренных значений, а не интегратор :oops:
Работает он быстрее, с частотой около 1с можно измерять входной сигнал. Значения прыгают, пример, от 16,0 до 16,2.
3. DS18B20 + Интегратор + усреднение. (MK_16f887_DS18B20_outtemp_volt_current_ysrednenie-konstanta-integrator.fcf)
Долго игрался. Проблема была в том, что сильно большие задержки при измерениях.
Конечно некоторые могут и гораздо лучше сделать. В железе все достаточно хорошо работает, быстро реагирует на изменение входного сигнала.
Результат приблизительно аналогичен Интегратор + усреднение.
А почему я говорю, что быстро реагирует, потому что в сравнении с 8-10с, 1,5с это замечательно.
В принципе это устраивает, но можно и улучшить.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: Sergey
Имя: Sergey
Специалист
Специалист
Информация о пользователе

Re: настройка макроса АЦП

Сообщение Steve Key (Steve Key) » 10 янв 2016, 07:02

Sergey писал(а):По моим экспериментам (в железе) частота вывода измеренных значений зависит от колличества усредненных значений и от времени интегратора.
В моем случае получилось где-то каждые 1,5с (если входные значения постоянно меняются) выводятся значения на индикатор, т.е. время измерения медленное.

Работает он быстрее, с частотой около 1с можно измерять входной сигнал. Значения прыгают, пример, от 16,0 до 16,2.
3. DS18B20 + Интегратор + усреднение. (MK_16f887_DS18B20_outtemp_volt_current_ysrednenie-konstanta-integrator.fcf)
Долго игрался. Проблема была в том, что сильно большие задержки при измерениях.

Гы, а я-то, дурак, пишу значения в массив, и после каждого измерения (по таймеру, к примеру) в фоне вычисляю среднее и заношу в переменную вывода, так что значение может обновляться с частотой динамической индикации (но оно плавно меняется из-за усреднения). :!) Но да, память не экономим…
FlowCode 5.5.2.1, Proteus 7.10, PICkit 2
Аватар пользователя
Ник: Steve Key
Имя: Steve Key
(Шахты)
Специалист
Специалист
Информация о пользователе

Re: настройка макроса АЦП

Сообщение mim (mim) » 10 янв 2016, 07:34

Sergey писал(а):Исправил. Вот, что получилось.

:headbang: Чем дальше в лес тем больше дров...
Кто тебя надоумил сделать интегратор сразу на три измерения??? Ты бы разобрался как он работает и будет ли так работать...
Все твои усреднения и дальнейшие потуги по сокращению времени измерения ничего хорошего не дадут, пока не поймешь причины флуктуаций напряжения (может ты там накрутил что попало, а тут голову ломаем, осциллографа что ли нет?).
Кроме того, я в шоке от твоих измерений в формате floating point...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: настройка макроса АЦП

Сообщение Sergey (Sergey) » 13 янв 2016, 12:41

1.Принцип работы интегратора
Если к примеру wind_float (в нашем случае входная напруга)изменилась, начинается обратный отсчёт переменнной Time. которая определяет задержку интегратора. При етом на выходе интегратора значение wind_float остаётся прежним до тех пор, пока Time не достигнет ноля. Если wind_float приняла прежнее значение раньше чем Time достигла ноля, Time принимает исходное значение (например 10) и на выходе интегратора остаётся прежнее значение wind_float. Если Time достигла ноля, то на выход интегратора передаётся уже новое значение wind_float. Таким образом, как бы игнорируются кратковременные скачки или отклонения wind_float.(на время определяемое переменной Time).
2.Работать та он будет, только не так как надо. Если одино из входных напряжений измениться, то интегратор будет интегрировать и остальные два напряжения.
По поводу измерений в формате floating point, вы предлагаете делать на int?
3.В железе не смотрел, осциллограф на работе. :(
Ник: Sergey
Имя: Sergey
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: настройка макроса АЦП

Сообщение mim (mim) » 14 янв 2016, 07:16

Sergey писал(а):1.Принцип работы интегратора...
2.Работать та он будет...не так как надо.
3. По поводу измерений в формате floating point, вы предлагаете делать на int?
4.В железе не смотрел, осциллограф на работе. :(

1, 2 - ну, слава богу...
3. Я предлагаю сидеть не только в своих темах. Я каждый раз наблюдаю, - когда я выкладываю какие-то примеры, в этот топик заходит чел, а пример остается не прочитанным... с такими челами я, в последующем, стараюсь не иметь ни каких бесед... Раз оно ему не нужно, то мне и подавно... В своих примерах я в 99 случаях из 100 применяю только целочисленные вычисления...
4. Тогда тему можно закрывать...
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: настройка макроса АЦП

Сообщение Sergey (Sergey) » 16 янв 2016, 21:52

Все-таки надеялся бы продолжить тему.
Но, у меня сейчас, к сожалению, нет возможности проверить схему.
Думаю, что на следующей неделе получится.
Ник: Sergey
Имя: Sergey
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: настройка макроса АЦП

Сообщение Sergey (Sergey) » 01 фев 2016, 20:42

Добрый вечер!
Извините, что долго не отвечал - не было возможности проверить прибор.
Вот посмотрел - по питанию все отлично - жестко держит 5В, земля соединяется в одной точке. А показания скачут как и было при подключенной нагрузке. Я думаю, что еще буду разбираться с электроникой, но пока хотел спросить, хватит ли для обработки трех сигналов алгоритма усреднения или нужен какой-то другой?
Ник: Sergey
Имя: Sergey
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: настройка макроса АЦП

Сообщение mim (mim) » 02 фев 2016, 07:10

Sergey писал(а):хотел спросить, хватит ли для обработки трех сигналов алгоритма усреднения или нужен какой-то другой?
Не знаю... На такие вопросы так не отвечают - хватит или не хватит. Обработка сигнала всегда основывается на характеристиках этого сигнала, ты про эти характеристики ничего не знаешь (ну, а я тем более)... Усреднение, фильтрация или еще что всегда связаны с различными параметрами сигнала - частота, амплитуда, фаза, помехи, всплески... и т.д. Почитай хоть что нибудь по этому вопросу.
I Am Legend
Аватар пользователя
Ник: mim
Имя: mim
(Из Лесу, вестимо...)
Легенда
Легенда
Информация о пользователе
Вернуться наверх

Re: настройка макроса АЦП

Сообщение Sergey (Sergey) » 02 фев 2016, 07:53

Очень благодарен! Да там действительно проблемы с помехами, нужно их найти.
Может подскажешь, что можно почитать?
Ник: Sergey
Имя: Sergey
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Re: настройка макроса АЦП

Сообщение Sergey (Sergey) » 04 фев 2016, 22:50

Вообщем получилось застабилизировать измеряемые показания!
Спасибо, мим!
Проблема действительно была в помехах.
Решение - повесил на каждый измеряемый канал конденсатор 0,1мкф прямо с ножки мк на землю.
Программа для мк осталась предыдущая, в ней только убрал интергатор.
У вас нет доступа для просмотра вложений в этом сообщении.
Ник: Sergey
Имя: Sergey
Специалист
Специалист
Информация о пользователе
Вернуться наверх

Пред.След.

Вернуться в Flowcode PIC

Кто сейчас на форуме

Пользователь просматривает форум: нет зарегистрированных пользователей

cron