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

 
 
7 страниц V  < 1 2 3 4 5 > »   
Reply to this topicStart new topic
> терморегулятор, помогите
xemul
сообщение Jul 31 2008, 17:17
Сообщение #31



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Lost_Viking @ Jul 31 2008, 19:29) *
можешь хотя бы примерно рассказать про данный метод? или, хотя бы, алгоритм если есть.

Метод - просто какой-либо НЧ фильтр в цифре.
Простейший НЧ фильтр 1-го порядка: Yi = a * Yi-1 + b * Xi, a+b = 1
Т.е.
Код
Y = a * Y + b * X;

Для целочисленной арифметики удобно делать a=c/2^N, b=(2^N-c)/2^N.
Чтобы не набегала погрешность при обработке, разрядность Y должна быть не менее (разрядность X) + N.

Найдите что-нибудь вроде "Цифровые фильтры" Р. Хемминга - там все доступно.
Go to the top of the page
 
+Quote Post
Lost_Viking
сообщение Jul 31 2008, 17:38
Сообщение #32


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-04-08
Пользователь №: 37 091



Цитата(sKWO @ Jul 31 2008, 21:05) *

как я понял - это просто среднее какое-то значение. блин, и там погрешность, и тут ...

Цитата(xemul @ Jul 31 2008, 21:17) *
Найдите что-нибудь вроде "Цифровые фильтры" Р. Хемминга - там все доступно.

07.gif wacko.gif
help.gif я умер от этой книги. ничего не понял. мне проще стабилизировать опорное напряжение и питание, чем разобраться в этих греческих символах
Нашел вот что.Я смотрю там через операционник подают измеряемое напряжение. Только я не понял зачем там обратная связь в операционнике?

Сообщение отредактировал Lost_Viking - Jul 31 2008, 17:47
Go to the top of the page
 
+Quote Post
xemul
сообщение Jul 31 2008, 18:10
Сообщение #33



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Lost_Viking @ Jul 31 2008, 21:38) *
как я понял - это просто среднее какое-то значение. блин, и там погрешность, и тут ...

Вряд ли погрешность обработки превысит погрешность АЦП АВР smile.gif.
Цитата
help.gif я умер от этой книги. ничего не понял. мне проще стабилизировать опорное напряжение и питание, чем разобраться в этих греческих символах

Код
u16_t Yavg;

for(;;)
{
   Yavg -= Yavg/256;
   Yavg += ADCH;
}

Запуск и готовность АЦП за Вами.
Утверждается, что в старшем байте Yavg получим фильтр НЧ с частотой среза = частоте запуска АЦП/256 с погрешностью обработки <0.5 LSB, по АФЧХ эквивалентный RC цепочке с такой же частотой среза. Почему? Хемминг уже рассказал, у меня лучше не получится smile.gif.
Цитата
Нашел вот что.Я смотрю там через операционник подают измеряемое напряжение. Только я не понял зачем там обратная связь в операционнике?

Операционник включен повторителем и согласует входной делитель со входом АЦП. Использование в нем LM358 и заявление "3. Входное напряжение – 0..100В" оставим на совести автора.
Go to the top of the page
 
+Quote Post
Lost_Viking
сообщение Jul 31 2008, 18:50
Сообщение #34


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-04-08
Пользователь №: 37 091



Цитата(xemul @ Jul 31 2008, 22:10) *
Операционник включен повторителем и согласует входной делитель со входом АЦП. Использование в нем LM358 и заявление "3. Входное напряжение – 0..100В" оставим на совести автора.

lol.gif там и на 1000 вольт есть, если поищешь.

Короче, вот мои соображения:
  1. на вход АЦП повесить ФНЧ из RC цепочки с частотой среза примерно 50Гц.
  2. использовать внешний ИОН на каком-либо стабилизаторе
  3. использовать КР514ИД2 по совету kipmaster'а
  4. наконец перенести все с макетной платы на печатку, предварительно подумав о развязке земли
  5. если все это не поможет, то использовать опцию "подавитель шумов"
  6. если и это не поможет, то использовать цифровой фильтр
подскажите пожалуйста как грамотно отделить питание аналоговой части от цифровой?

Сообщение отредактировал Lost_Viking - Jul 31 2008, 19:28
Go to the top of the page
 
+Quote Post
Stanislav_S
сообщение Jul 31 2008, 20:24
Сообщение #35


извечный пессимист
*****

Группа: Свой
Сообщений: 1 113
Регистрация: 9-10-06
Из: Днепропетровск
Пользователь №: 21 125



Цитата(Lost_Viking @ Jul 31 2008, 23:50) *
lol.gif там и на 1000 вольт есть, если поищешь.

Короче, вот мои соображения:
  1. на вход АЦП повесить ФНЧ из RC цепочки с частотой среза примерно 50Гц.
  2. использовать внешний ИОН на каком-либо стабилизаторе
  3. использовать КР514ИД2 по совету kipmaster'а
  4. наконец перенести все с макетной платы на печатку, предварительно подумав о развязке земли
  5. если все это не поможет, то использовать опцию "подавитель шумов"
  6. если и это не поможет, то использовать цифровой фильтр
подскажите пожалуйста как грамотно отделить питание аналоговой части от цифровой?

Через LC фильтр, землю цифровую и аналоговую соединить в одной точке, допустим на конденсаторе фильтра после выпрямителя.


--------------------
Slaves are those of this world
Given freedom to lay chains upon The Master
The wolf is no longer free
Release the chains and come for me
Go to the top of the page
 
+Quote Post
xemul
сообщение Jul 31 2008, 20:48
Сообщение #36



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Lost_Viking @ Jul 31 2008, 22:50) *
lol.gif там и на 1000 вольт есть, если поищешь.

Проблема не верхнем пределе, а в нижнем. LM358 не является ОУ с диапазоном rail-to-rail ни по входу, ни по выходу.
Цитата
[*]использовать КР514ИД2 по совету kipmaster'а

имхо, при разумной смехотехнике и трассировке достаточно отключать индикаторы на время преобразования АЦП.
Цитата
[*]если все это не поможет, то использовать опцию "подавитель шумов"

Вы собираетесь биться за 9 честный бит? А "внешний ИОН на каком-либо стабилизаторе" у Вас какую точность опоры обеспечит? А где брать в розницу резисторы 0.25% Вы уже знаете?
Или это задача для души? Тогда все-таки начните с теории.
Цитата
[*]если и это не поможет, то использовать цифровой фильтр

Не поможет от чего? От мельтешения младшего разряда на индикаторе? Да тупо пропустите сигнал с АЦП через цифровой ФНЧ с частотой среза в 0.5 Гц - будет мельтешить не чаще раза в секунду. Только точности это не добавит, хотя и не убавит.
Go to the top of the page
 
+Quote Post
Lost_Viking
сообщение Jul 31 2008, 21:10
Сообщение #37


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-04-08
Пользователь №: 37 091



Цитата(xemul @ Jul 31 2008, 21:17) *
Метод - просто какой-либо НЧ фильтр в цифре.
Простейший НЧ фильтр 1-го порядка: Yi = a * Yi-1 + b * Xi, a+b = 1
Т.е.
Код
Y = a * Y + b * X;

Для целочисленной арифметики удобно делать a=c/2^N, b=(2^N-c)/2^N.

что такое a и b? для чего они нужны?
как я понял - это Взвешенное скользящее среднее (WMA), взято от сюда
Go to the top of the page
 
+Quote Post
xemul
сообщение Jul 31 2008, 21:29
Сообщение #38



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Lost_Viking @ Aug 1 2008, 01:10) *
что такое a и b? для чего они нужны?
как я понял - это Взвешенное скользящее среднее (WMA), взято от сюда

Нет, это Экспоненциальное скользящее среднее (EMA) Yi = Yi-1 + A*(Xi - Yi-1).
С помощью несложных преобразований можно показать, что a = 1 - A, b = A.
оттуда же
Цитата
В случае EMA, коэффициент A - параметр фильтра, определяющий степень сглаживания. Чем он меньше, тем сильнее будет сглаживаться входной временной ряд. При A=0 фильтр перестает реагировать на изменения входного ряда, а при A=1 он будет повторять входной временной ряд.

Попробуйте смоделировать (хоть в ёкселе) реакцию фильтра на единичный скачок (x=0 при i<0, x=1 при i>=0), поиграйтесь с A, и все станет просто и понятно.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jul 31 2008, 22:17
Сообщение #39


Гуру
******

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



Цитата(xemul @ Aug 1 2008, 02:48) *
Да тупо пропустите сигнал с АЦП через цифровой ФНЧ с частотой среза в 0.5 Гц - будет мельтешить не чаще раза в секунду. Только точности это не добавит, хотя и не убавит.
Извиняюсь, что вмешиваюсь, но мельтешение на индикаторе убирается уменьшением частоты вывода на индикацию. Я считаю, что чаще чем 3 раза в секунду обновлять показания вообще нет смысла. Это связано с инерционностью человеческого мозга при обработке визуальной информации. В большинстве измерительных приборов период обновления показаний - 1 секунда.
Go to the top of the page
 
+Quote Post
GDI
сообщение Aug 1 2008, 06:54
Сообщение #40


Профессионал
*****

Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008



У атмела есть апликэйшены на темы:
AVR222: 8-Point Moving Average Filter
AVR223: Digital Filters with AVR
AVR121: Enhancing ADC resolution by oversampling
AVR120: Characterization and Calibration of the ADC on an AVR
С примерами программ. http://atmel.com/dyn/products/app_notes.asp?family_id=607


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
Lost_Viking
сообщение Aug 1 2008, 10:43
Сообщение #41


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-04-08
Пользователь №: 37 091



Такс, собираю ИОН на TL431OEB. Насколько хорош этот стабилизатор?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Aug 1 2008, 10:50
Сообщение #42


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



А может даласовские датчики поставить и не мучиться? +/-1оС точность - лечится калибровкой, дискретность - где-то полградуса...
Хотя, если хочется повозиться с АЦП, то флаг в руки...
Прикрепленное изображение
Опора не оказывает влияния на результат (только нестабильность резисторов)


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Lost_Viking
сообщение Aug 1 2008, 13:46
Сообщение #43


Частый гость
**

Группа: Участник
Сообщений: 168
Регистрация: 25-04-08
Пользователь №: 37 091



Цитата(MrYuran @ Aug 1 2008, 14:50) *
А может даласовские датчики поставить и не мучиться? +/-1оС точность - лечится калибровкой, дискретность - где-то полградуса...
Хотя, если хочется повозиться с АЦП, то флаг в руки...

ДАЛАСОВСКИЕ? DS которые? Они у них диапозон до 120градусов. Мне нужно 160 градусов. У меня такой даласовский лежит уже, купил не прочитав даташит.
Цитата(MrYuran @ Aug 1 2008, 14:50) *
Прикрепленное изображение
Опора не оказывает влияния на результат (только нестабильность резисторов)


Как это опора не оказывает влияние на результат? 07.gif Ведь если Uоп = 5В, а Uвх = 2.5В, то 10битный ADC выдаст 512. А если опора 10В, то выдаст 256.

Заметил вот что: записал в ADMUX:
Код
REFS1    REFS0    ADLAR    MUX4    MUX3    MUX2    MUX1    MUX0
0    0    1    0    0    0    0    0

Циферки перестали бегать, а АЦП все еще мерял что-то. Короче, получилось тоже самое, что и с внутренним ИОН, но только стабильнее. На AREF у меня всего лишь кондер висит, и никакого опорного напряжения не подводится.

Объясните мне в чем секрет? Я в чудеса не верю
Go to the top of the page
 
+Quote Post
xemul
сообщение Aug 1 2008, 14:54
Сообщение #44



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Цитата(Lost_Viking @ Aug 1 2008, 17:46) *
Как это опора не оказывает влияние на результат? 07.gif Ведь если Uоп = 5В, а Uвх = 2.5В, то 10битный ADC выдаст 512. А если опора 10В, то выдаст 256.

При таком включении Rt = Nadc * Rоп / (Nadc_max - Nadc),
где
Nadc - результат преобразования АЦП
Nadc_max - максимальное значение АЦП (0x3ff для однополярного 10-битного АЦП)
Цитата
Заметил вот что: записал в ADMUX:
Код
REFS1    REFS0    ADLAR    MUX4    MUX3    MUX2    MUX1    MUX0
0    0    1    0    0    0    0    0

Циферки перестали бегать, а АЦП все еще мерял что-то. Короче, получилось тоже самое, что и с внутренним ИОН, но только стабильнее. На AREF у меня всего лишь кондер висит, и никакого опорного напряжения не подводится.

Объясните мне в чем секрет? Я в чудеса не верю

Вы забыли еще помолиться и свечку затеплить - без этого цифирки все равно иногда будут бегать.
Go to the top of the page
 
+Quote Post
rezident
сообщение Aug 1 2008, 15:52
Сообщение #45


Гуру
******

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



Цитата(Lost_Viking @ Aug 1 2008, 19:46) *
Как это опора не оказывает влияние на результат? 07.gif Ведь если Uоп = 5В, а Uвх = 2.5В, то 10битный ADC выдаст 512. А если опора 10В, то выдаст 256.
Это называется ратиометрическим способом измерения, от слова ratio - отношение. На вход опоры можно подавать Vcc напрямую, если конечно это допустимо. Либо можно поставить буфер и вход опоры и делитель запитывать от него (т.к. ток по входу опоры в несколько раз выше, чем по входу АЦП). Либо использовать внутреннюю опору и выход опоры использовать для запитки делителя Rоп-Rt. В общем когда резистивный делитель запитывается от того же напряжения что и опора, то через оба резистора протекает один и тот же ток (соединение-то последовательное). Поэтому результат преобразования уже не зависит от величины напряжения, а только от отношения величин резисторов, ну и соответственно от временнОй и температурной стабильности опорного резистора. Результат преобразования АЦП является функцией отношения этих резисторов. Следует это отсюда
Ut=Rt/(Rt+Rоп)*Uref
Поскольку Ut мы получаем в виде результата преобразования АЦП (кодАЦП), а Uref соответствует максимальному коду АЦП = 1023, то получаем что
кодАЦП=Rt/(Rt+Rоп)*1023.
После простейших метематических преобразования получаем формулу
Rt=Rоп*кодАЦП/(1023-кодАЦП).
Где величина опоры никак не участвует, а играет роль только сопротивление опорного резистора Rоп. Конечно же превышать максимально допустимое для АЦП и опоры напряжение нельзя. Так что про "если опора 10В" это вы погорячились smile.gif

Update. Кстати при вычислениях в последней формуле существует вероятная ситуация исключения - деление на нуль, когда кодАЦП=1023. На практике это означает, что Rt>>Rоп (Rt много больше, на несколько порядков больше Rоп) или просто обрыв в цепи измеряемого сопротивления.

Сообщение отредактировал rezident - Aug 1 2008, 17:39
Go to the top of the page
 
+Quote Post

7 страниц V  < 1 2 3 4 5 > » 
Reply to this topicStart new topic
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0

 


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


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