Большой Воронежский Форум
Страница 8 из 43
« Первая < 2345678 9101112131418 > Последняя »
»Радиолюбитель>PIC контроллеры. Программаторы и первый проект на PIC
dr.ON 21:15 09.07.2009
Чегото тема подзавяла.

А ктонибудь делал ОВЕРСЕМПЛИНГ (oversampling). В роде как по словам одного дядьки это позволяет увеличивать разрешающую способность АЦП( интересует встроенное)
Вот тута сам прибор
А вот тута я пытаюсь выведать у дядьки данный секрет [Ответ]
petrd 09:50 10.07.2009

Сообщение от dr.ON:
Чегото тема подзавяла.
А ктонибудь делал ОВЕРСЕМПЛИНГ (oversampling). В роде как по словам одного дядьки это позволяет увеличивать разрешающую способность АЦП( интересует встроенное)

Не делал, но вот цитата известного в эмбеддерских кругах господина MBedder-a (ex =AVR=), он конечно хам и матершинник, но в вопросах разработки встраиваемых систем он аксакал:

Сообщение от :
...Для этого применяется Oversampling & Averaging Techniques - аппликух полно у Микрочипа, Силабса, Техаса, Атмела. Я лично применяю это в широченных масштабах и имею от 12-битного АЦП дсПИКа реальное 16-битное разрешение(!). На пальцах в примитиве - суммируй без переполнения 256 отсчетов АЦП, и сдвигай эту сумму на 4 вправо. Категорически рекомендую!.....

[Ответ]
dr.ON 14:29 10.07.2009
Чегото невыходит так красиво как в теории.
Ктонибудь из местных делал? А то с пивом посмотреть приеду [Ответ]
petrd 15:11 10.07.2009

Сообщение от dr.ON:
Чегото невыходит так красиво как в теории.
Ктонибудь из местных делал? А то с пивом посмотреть приеду

не делал, но подумать не против, если опишите проблему. [Ответ]
dr.ON 15:56 10.07.2009

Сообщение от petrd:
не делал, но подумать не против, если опишите проблему.

Все подробненько вот сдесь вот описано http://arv.radioliga.com/component/o...id,16/id,2853/ ( все мои эксперименты)
В двух словах : никак не удается получить несколько виртуальных правильных бит. [Ответ]
arispa 01:04 11.07.2009
ну почему же виртуальных...вполне реальных....а методом каким проверяете достоверность получаемых бит?...по моему этот метод работает только в том случае если считать шум белым...может у вас шум какой другой примешивается? [Ответ]
dr.ON 07:33 11.07.2009

Сообщение от arispa:
ну почему же виртуальных...вполне реальных....а методом каким проверяете достоверность получаемых бит?...по моему этот метод работает только в том случае если считать шум белым...может у вас шум какой другой примешивается?

Циферки на экран, на вход конденсатор 1000мкФ + параллельно резистор на 1 МОм. Разрежается неторопливо, а на экране :
Код:
..........
14056
14056
14056
14054
14041
14040
14040
14040
14030
14025
14025
14025
14023
14010
14009
14009
14009
14004
13993
13993
13993
13992
13980
13977
13977
13977
13972
13961
13961
13961
13961
13949
13945
13945
13945
13940
13929
13929
13929
13929
........
11666
11666
11666
11663
11651
11650
11650
11650
11650
11649
11636
11634
11634
11634
11634
11634
11626
11618
11618
11618
11618
11618
11615
11603
11602
11602
11602
11602
11602
11591
11586
11586
11586
11586
11586
11581
11571
11570
..........
10518
10518
10518
10518
10511
10503
10502
10502
10502
10502
10502
10498
10487
10486
10486
10486
10486
10486
10485
10473
10470
10470
10470
10470
10470
10470
10459
...........
10104
10099
10089
10088
10088
10088
10088
10088
10086
10074
10072
10072
10072
10072
10072
10072
10064
10056
10056
10056
10056
10056
10056
10052
10041
10040
10040
10040
10040
10040
10038
10028
10024
10024
10024
10024
................
07172
07171
07171
07171
07171
07171
07171
07171
07171
07170
07159
07156
07155
07155
07155
07155
07155
07155
07155
07155
07150
07140
07140
07140
07140
07140
07140
07140
07140
07140
07140
07134
07125
07124
вместо
07155
07154
07153
07152
07151
.........



Как уже писал сдесь- шума то нет. Есть только незначительная неопределенность при переходе на следующую ступень.

Возможно шум нада самому подмешивать на вход АЦП ???
Но тогда я не вижу как это смог сделать дядька в темометре.

Вот лог АЦП:
Код:
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00442
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00441
00442
00441
00441
00441
00441
00441
00441
00441
00442
00441
00441
00441
00441
00441
00441
00441
00442
00441
00441
00442
00441
00441
00441
00441
00442
00441
00441
00442
00441
00441
00441
00441
00441
00442
00441
00441
00441
00441
00441
00441
00441
00442
00441
00441
00442
00441
00441
00441
00441
00442
00441
00442
00442
00441
00441
00441
00441
00442
00442
00441
00442
00441
00441
00441
00441
00442
00442
00442
00442
00441
00441
00441
00441
00441
00442
00441
00442
00441
00441
00441
00441
00441
00442
00441
00442
00442
00441
00442
00441
00441
00442
00442
00442
00442
00441
00441
00441
00441
00442
00442
00442
00442
00441
00441
00442
00441
00442
00442
00442
00442
00441
00441
00442
00442
00442
00442
00442
00442
00442
00441
00442
00442
00442
00442
00442
00442
00442
00441
00442
00442
00441
00442
00442
00442
00442
00441
00442
00442
00441
00442
00442
00442
00442
00442
00441
00442
00441
00442
00442
00442
00442
00442
00441
00442
00442
00442
00442
00442
00442
00442
00441
00442
00442
00441
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00441
00442
00442
00441
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
00442
[Ответ]
arispa 09:59 11.07.2009
я тут щас подумал...важно чтоы среднее значение шума было равно нулю...а шум он всегда найдется...хотя бы например шум квантования...так что подмешивать ниче не надо))
по поводу нужных циферок - откуда вы взяли нужные?...мне кажется что проблема в этом....и сколько отсчетов вы суммируете? [Ответ]
dr.ON 10:10 11.07.2009

Сообщение от arispa:
я тут щас подумал...важно чтоы среднее значение шума было равно нулю...а шум он всегда найдется...хотя бы например шум квантования...так что подмешивать ниче не надо))
по поводу нужных циферок - откуда вы взяли нужные?...мне кажется что проблема в этом....и сколько отсчетов вы суммируете?

Люди. Может хватит тут теории разводить ( оставим ее всяким аспирантам и ботаникам).
Речь идет о реальном устройстве которое видимо из за низкой разрядности не имеет шумов на которые опираются все эти мега теории.
Цифры получены с реального железа.
см тута исходник
Суммировал 256 и 4096 отсчетов.

P.S. Кстати как там дела у ПИКов с АЦП ? [Ответ]
arispa 10:16 11.07.2009

Сообщение от dr.ON:
Люди. Может хватит тут теории разводить ( оставим ее всяким аспирантам и ботаникам).

мне кажется если вы хотите найти ошибку то только так и надо её искать....вам помочь пытаются....а вы теории
ну так вот....проверьте вот что - один отсчет ацп соответствует тому что вы от него ждете...вы же написали что должно быть что то в райно 7 тыс..эта цифра откуда взялась?это значение одного отсчета?...или суммы
[Ответ]
dr.ON 10:29 11.07.2009
arispa, Во вложении все подробненько расписанно( переименовать в *.mht).
Изображения
[Ответ]
arispa 10:54 11.07.2009

Сообщение от dr.ON:
Да оно и немудрено АЦП впринципе не шумит

это я у вас там прочитал....да нет...шумит и ещё как
и то что я там прочитал ничем не отличается от того что вы тут пишете куча цифр непонятных и все - это вам все понятно наверно в них, а форумцам надо объяснить что все значит, мы ж не знаем что вы там думаете и делаете..мож вы таблицы брадиса пишете....
возьмите постоянный уровень, подайте на ацп, напишите значение(желательно шестнадцатеричное)...потом сделайте выборку, ну скажем 256 отсчетов....сложите их все...и тоже напишите тут число(желательно шестнадцатеричное) [Ответ]
dr.ON 11:57 11.07.2009
arispa, Во вложении исходные данные для применения теорий
Изображения
[Ответ]
arispa 20:27 11.07.2009

Сообщение от dr.ON:
arispa, Во вложении исходные данные для применения теорий

вы, наверное, либо не понимаете что вам надо...либо хотите показать себя самым умным... Я вас просил написать два числа, а не выставлять мне архивы. Тем более, что теорию этого эффекта можно и самому на листике написать...формул то всего три штуки получится.
потому возникает вопрос вы сами это делаете или нет?
если да, то для чего архив? выпендриваетесь?
если нет...то в принципе все ясно [Ответ]
dr.ON 23:38 11.07.2009
arispa, Успокойтесь пожалуйста.
Первоначальный вопрос был адресован к ПРАКТИКАМ. Интересует меня достигнутые результаты, а не теория.
Архивы выложил чтобы показать дырку от шума( в моем случае), на который и опирается вся эта теория. [Ответ]
arispa 00:05 12.07.2009
да я если честно не сильно и переживаю))...просто вроде бы у вас реальный вопрос и в тоже время вы упорно игнорируете мою просьбу о двух значениях - один отсчет АЦП и сумма иксного кол-ва отсчетов АЦП
по поводу "дырки от шума" - если немного подумать то и так понятно что без него такая фишка не получится.
меня удивляет то, что у вас АЦП не шумит...даже на один младший бит...почему вы так уверены что не шумит?...подайте постоянку на вход и посмотрите значения(это уж точно чистая практика)) )...я такую штуку смотрел и не раз(на 8051 и на Cortex)... разные значения получались... [Ответ]
arispa 13:37 12.07.2009
ну и уж ради интереса напишите какая тактовая частота АЦП и с какой скоростью берете отсчеты [Ответ]
petrd 16:02 20.07.2009

Сообщение от dr.ON:
Кстати как там дела у ПИКов с АЦП ?

Интересно, как обстоят дела с оверсамплингом, разобрались или нет? А то меня тут немного не было, теперь готов повозиться с этой проблемой на PIC. [Ответ]
dr.ON 16:31 20.07.2009

Сообщение от petrd:
Интересно, как обстоят дела с оверсамплингом, разобрались или нет? А то меня тут немного не было, теперь готов повозиться с этой проблемой на PIC.
*

Нет. Бросил. т.к. не могу получить на 10 битином AVRовском АЦП необходимый шум без наворотов.
АЦП работает ровно как и положенно ему по теории. Изучив ихний аппноут видел строчки про необходимость самостоятельного подмешивания шума в сигнал или опору.
Four methods were used successfully:
i Adding noise, generated by a signal generator, directly to the input signal.
i Generating noise with the AVR, using PWM, and adding it to the input signal.
i Adding noise, generated by the AVR, to AREF when using AVCC as VREF.
i Adding noise, generated by the AVR, to AREF when using AREF as VREF.
[Ответ]
petrd 08:51 21.07.2009

Сообщение от dr.ON:
АЦП работает ровно как и положенно ему по теории. Изучив ихний аппноут видел строчки про необходимость самостоятельного подмешивания шума в сигнал или опору.

Это в конкретном примере так сделано, а в разделе 3.2 Noise написано какой шум может использоваться. А еще вот это https://www.silabs.com/Support%20Doc...Docs/an118.pdf с примером С кода под С51.
Что-то мне подсказывает, что у Вас что-то не так, но что пока не пойму.
Вот еще что.
1. В Вашей тестовой схеме нагрузка АЦП 1000 мкф + 1 мОм, а ведь для правильной работы АЦП нагрузка должна быть не более 10 кОм.
2. Накопительный конденсатор АЦП разряжается после каждого сэмпла или нет?
Но это все слова, попробую на PIC. [Ответ]
dr.ON 09:23 21.07.2009

Сообщение от petrd:
А еще вот это https://www.silabs.com/Support%20Doc...Docs/an118.pdf с примером С кода под С51.

Читал.
От туда и выяснил что это волшебное слово на самом деле значит усреднение
Кстати там они все больше про 12ти битное АЦП. У людей такие шумят сами без проблем.

Сообщение от petrd:
1. В Вашей тестовой схеме нагрузка АЦП 1000 мкф + 1 мОм, а ведь для правильной работы АЦП нагрузка должна быть не более 10 кОм.

Зато у конденсатора внутреннее сопротивление очень маленькое.

Сообщение от petrd:
2. Накопительный конденсатор АЦП разряжается после каждого сэмпла или нет?

Нет. Значительно медленнее. На единицу за несколько секунд( несколько десятков тысяч сымплов).( см. выше логи с АЦП)
[Ответ]
petrd 09:45 21.07.2009

Сообщение от dr.ON:
Значительно медленнее. На единицу за несколько секунд( несколько десятков тысяч сымплов).

Нет, я имел ввиду внутрений конденсатор АЦП, а не внешний. [Ответ]
petrd 13:26 23.07.2009
dr.ON
Попробовал на PIC16F887 в железе oversampling.
На входе АЦП только потенциометр на 10 кОм. Опора АЦП - питание +5 в. Основной алгоритм:
Код:
for(;;)
{
tmp = 0;
for(i=0;i<256;i++)
{
TRISA0_bit = 0;
TRISA0_bit = 1;
GO_DONE_bit = 1;
while(GO_DONE_bit) continue;
ADC_result = ADRESH<<8;
ADC_result |= ADRESL;
tmp += ADC_result;
}
tmp >>= 4;
LongToStr(tmp, text);
Lcd_Out(2,1,text);
delay_ms(500);
}
Результаты отображаются на ЖКИ. При входном напряжении в районе 0 ... 1LSB 10-разрядного АЦП при oversampling (т.е. tmp >>= 4; ) получаю значения менее 16. При усреднении (т.е. tmp >>= 8; ) и при том же положении потенциометра получаю 0. Т.е. к 10 разрядам еще 4 разряда появляются. Или это не то? [Ответ]
dr.ON 13:48 23.07.2009
petrd, Это не то! Разряды то и у меня появляются, только они ничего не значат.
Нада на вход подать очень плавно меняющийся сигнал и посмотреть на поведение появившихся разрядов. В теории они должны плавно( если не учитывать шум) увеличиваться или уменьшаться с шагом 1.

P.S. Тогда я вижу смысл в таком повышении разрядности, а инче на кой оно нужно? [Ответ]
petrd 15:02 23.07.2009

Сообщение от dr.ON:
petrd, Это не то! Разряды то и у меня появляются, только они ничего не значат.
Нада на вход подать очень плавно меняющийся сигнал и посмотреть на поведение появившихся разрядов. В теории они должны плавно( если не учитывать шум) увеличиваться или уменьшаться с шагом 1.
P.S. Тогда я вижу смысл в таком повышении разрядности, а инче на кой оно нужно?

Почему не значат? Кручу резистор на увеличение (уменьшение) - на 14-ти разрядах показания увеличиваются (уменьшаются), а на 10 - нет. 10 кОм, конечно, не для малых приращений, поэтому про единичные приращения пока говорить не буду, но результат-то как и ожидался. [Ответ]
petrd 15:54 23.07.2009
dr.ON
Вместо резистора поставил 1кОм + 1N4148. Подогреваю диод (потихоньку), показания как и положено плавно уменьшаются с шагом 1 , перестаю греть - плавно возвращаются назад. В покое показания колеблются +- 1 младший разряд. [Ответ]
dr.ON 16:18 23.07.2009

Сообщение от petrd:
Вместо резистора поставил 1кОм + 1N4148. Подогреваю диод (потихоньку), показания как и положено плавно уменьшаются с шагом 1 , перестаю греть - плавно возвращаются назад. В покое показания колеблются +- 1 младший разряд.

Это хорошо.
1) А нет ли возможости померять амплитуду р-р( пик - пик ) шума диода и есть ли он вообще?
2) А нет ли возможности посмотреть сырые данные с АЦП, щум в них присутствует или нет ? [Ответ]
petrd 08:12 24.07.2009

Сообщение от dr.ON:
1) А нет ли возможости померять амплитуду р-р( пик - пик ) шума диода и есть ли он вообще?

Вот один из экранов шума с диода
...
и файл на 256 отсчетов АЦП, шум присутствует.
Изображения
Тип файла: bmp DS0003.BMP (18.7 Кб, 143 просмотров)
[Ответ]
dr.ON 11:29 03.08.2009

Сообщение от petrd:
Вот один из экранов шума с диода
...
и файл на 256 отсчетов АЦП, шум присутствует.

Значит получается прибор/метод работает изза шума диода?!
Мерять постоянку также чудненько не получится ? [Ответ]
petrd 12:30 03.08.2009

Сообщение от dr.ON:
Значит получается прибор/метод работает изза шума диода?!
Мерять постоянку также чудненько не получится ?

Я думаю, что получится и постоянку мерить, только нужно чтобы уровень шума был не меньше 1 LSB реального АЦП. А шума блока питания (во всяком случае сетевого) для этого должно быть достаточно (а может и шума самого источника постоянного напряжения будет достаточно). Пробовать надо. [Ответ]
Страница 8 из 43
« Первая < 2345678 9101112131418 > Последняя »
Вверх