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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> mega168 - скачет напряжение с АЦП
kd_Rash
сообщение Nov 7 2007, 07:46
Сообщение #16


Участник
*

Группа: Новичок
Сообщений: 58
Регистрация: 11-01-07
Пользователь №: 24 311



Прикрепленный файл  ADC.rar ( 37.15 килобайт ) Кол-во скачиваний: 162
Цитата(singlskv @ Nov 6 2007, 22:54) *
Автор,
без схемы входа, значений резисторов в плечах делителя ADC и частоты ADC(какой делитель на какой частоте проца), типа канала (обычный/диф.), Ваш вопрос чисто абстрактный...


вкратце, конечно

Сообщение отредактировал kd_Rash - Nov 7 2007, 07:55
Go to the top of the page
 
+Quote Post
oran-be
сообщение Nov 7 2007, 10:28
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621



Интересный креатиффчик...
Непонятно тока зачем делать четыре измерения, заполняя буфер, а потом на пятый раз сдвигать все значения. При этом идет усреднение каждый раз. Может, стоит просто зациклить заполнение фильтра и каждый раз усреднять - получится обычный нерекурсивный фильтр.
А засада, может кроется в объявлениях переменных - есть у меня подозрение, что компилятор при входе в прерывание затрет переменные в 0. Надо сгенерировать ассемблерный код и посмотреть.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 7 2007, 10:39
Сообщение #18


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(kd_Rash @ Nov 6 2007, 13:58) *

Судя по схеме у Вас есть много резервов для улучшения качества оцифровки.
1. Входной делитель с конденсатором приблизить к входу (смысл не масштабировать помеху).
2. Неиспользуемые входы АЦП шные посадить лучше на землю.
3. Резистор в делителе 7,5 кОм уменьшить, а опорное поднять.
4. На AVCC поставить конденсатор.
5. +5 В на коллекторы транзисторов отвести отдельно с 7805.

Это, что сразу бросилось в глаза. smile.gif
Go to the top of the page
 
+Quote Post
singlskv
сообщение Nov 7 2007, 11:01
Сообщение #19


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(oran-be @ Nov 7 2007, 13:28) *
А засада, может кроется в объявлениях переменных - есть у меня подозрение, что компилятор при входе в прерывание затрет переменные в 0. Надо сгенерировать ассемблерный код и посмотреть.
Там вобще-то static стоит, компилятор который в такой ситуации будет
обнулять переменные нужно просто выкинуть...

Автору:
- кондер на AVcc обязательно
- непонятно зачем между +5 и Avcc резистор 100 Ом, атмел рекомендует:
2. The AVCC pin on the device should be connected to the digital VCC supply
voltage via an LC network as shown in Figure 109.
L=10uH C=100nF

- неясно какая частота MCU, но например для 8MHz и выбраном Вами делителе 16
получаем fADC=8000000/16=500000 - многовато будет для 10bit точности.
- в тексте прерывания строка
if (t==0) {x1=ADCrez;}
не будет работать никогда, тк перед ней стоит t++;
и вобще не очень понятно что Вы хотели сделать...
если скользящее среднее, то там его нету...

- непонятно как объявлены ADCrez и k.

P.S. текст проги пишите в текстовом виде
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 7 2007, 11:07
Сообщение #20


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(singlskv @ Nov 7 2007, 14:01) *
L=10uH C=100nF[/i]

Поддерживаю, желательно так сделать.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Nov 7 2007, 11:41
Сообщение #21


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(kd_Rash @ Nov 7 2007, 10:46) *
вкратце, конечно


1. Да поставьте же ж Вы на АВЦЦ кондюка 2,2мкф! И, BTW, можно и без L=10uH. Сам ставлю 100 Ом ( из жадности biggrin.gif ) и ниче...
2. Почему на AREF так мало (100н)? Никогда так не делал - все больше 10мкФ.
3. Так у Вас, оказывается, можно дрыгать ногами в одном месте программы!

Сообщение отредактировал _Pasha - Nov 7 2007, 11:42
Go to the top of the page
 
+Quote Post
ArtemKAD
сообщение Nov 7 2007, 13:16
Сообщение #22


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

Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364



Цитата
вкратце, конечно

Цитата
1. Да поставьте же ж Вы на АВЦЦ кондюка 2,2мкф!

Именно. Ну хоть какой-то на 18 ноге поставь!!!
Цитата
3. Резистор в делителе 7,5 кОм уменьшить, а опорное поднять.

Лучше ТАК не делай wink.gif . Особенно в части понижения резистора...

Цитата
5. +5 В на коллекторы транзисторов отвести отдельно с 7805.

То-же лучше не так. Переподключи коллекторы на +12 (туда где делитель) и замени 7805 на 78L05 (пусть лучше греется 4-е транзистора чем 1 стабилизатор). Можешь поставить по резистору в цепь коллектора. Повесь резисторы на землю на базах транзисторов.

Ну и самый неприятный вопрос заключается в том, что полный ток индикатора течет через землю твоего МК.... Не думаю, что это улучшит точность измерения напряжения измеряемого относительно той-же земли...

Перенеси электролит с выхода стабилизатора на вход. Поставь на входе стабилизатора керамику.
Резистор и электролит по цепи Reset выбрось.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 7 2007, 14:08
Сообщение #23


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(ArtemKAD @ Nov 7 2007, 16:16) *
Лучше ТАК не делай wink.gif . Особенно в части понижения резистора...

Объясните поподробнее почему.
Туда не ходи, сюда ходи. Снег башка попадет - совсем мертвый будешь. (Джентальмены удачи.)smile.gif
Go to the top of the page
 
+Quote Post
kd_Rash
сообщение Nov 8 2007, 07:48
Сообщение #24


Участник
*

Группа: Новичок
Сообщений: 58
Регистрация: 11-01-07
Пользователь №: 24 311



спасибо всем!

на ADC0 и на AREF поставил по кондеру по 2 мкф - не помогло
ADCrez и k - глобальные
t++ перенес, ошибся

короче разводка не очень удачная - надо как-то программным путем.
а мое усреднение не очень устраивает, т.к. изменения напряжения показываются с задежкой

да, забыл сказать, до этого у меня стояла мега8 - было все ок
и на схеме только показал работу АЦП, остальную переферию убрал для простоты.
т. ч. все ноги у меги заняты

повторюсь - стояла мега8 и без всякого усреднения напряжение не перескакивало.
выпаял ее и поставил 168-ю, изменив делитель под опорное 1,1В- 7,5 и 0.5 кОм (у 8меги - 2,56 было и в делители стояли 7,5 и 1 кОм)+ 2мкф.

Сообщение отредактировал kd_Rash - Nov 8 2007, 08:07
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 8 2007, 07:57
Сообщение #25


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(kd_Rash @ Nov 8 2007, 10:48) *
короче разводка не очень удачная - надо как-то программным путем.
а мое усреднение не очень устраивает, т.к. изменения напряжения показываются с задежкой

А какая задержка и на что она влияет ?
Если только на вывод на дисплей, то не надо так расстраиваться.
Когда от изменений на дисплее рябит в глазах - это очень плохо. smile.gif
Go to the top of the page
 
+Quote Post
kd_Rash
сообщение Nov 8 2007, 08:09
Сообщение #26


Участник
*

Группа: Новичок
Сообщений: 58
Регистрация: 11-01-07
Пользователь №: 24 311



Цитата(alexander55 @ Nov 8 2007, 11:57) *
А какая задержка и на что она влияет ?
Если только на вывод на дисплей, то не надо так расстраиваться.
Когда от изменений на дисплее рябит в глазах - это очень плохо. smile.gif

да, но почему с мегой8-ой такого не было crying.gif
хотелось бы понять(найти) причину
Go to the top of the page
 
+Quote Post
GDI
сообщение Nov 8 2007, 08:18
Сообщение #27


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

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



А вы посчитайте какая постоянная времени получилась(да и было) у вашей входной цепи на ADC0 и прикиньте сколько усреднений вы успеете сделать пока установится новое напряжение на входе АЦП. Я думаю, что именно из-за этого у вас получаются задержки покизаний, а не из-за того что вы делаете программное усреднение. Кстати у атмела есть апноут про оверсемплинг - там рассказано как при усреднении можно получить дополнительные разряды преобразования АЦП, если мне не изменяет память если на 16 измерений получать 1 результат, то можно вытянуть один лишний разряд, т.е. получить 11бит преобразование


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 8 2007, 08:29
Сообщение #28


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(GDI @ Nov 8 2007, 11:18) *
если мне не изменяет память если на 16 измерений получать 1 результат, то можно вытянуть один лишний разряд, т.е. получить 11бит преобразование

Здесь зависимость корень квадратный из количества показаний. Т.е. Сделав 100 усреднений, повысим точность в 10 раз.
PS. Вот ссылка на обсуждение цифровой фильтрации http://electronix.ru/forum/index.php?showt...4068&st=15#
Go to the top of the page
 
+Quote Post
GDI
сообщение Nov 8 2007, 09:32
Сообщение #29


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

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



Цитата
Сделав 100 усреднений, повысим точность в 10 раз

Нет, не так, опять же по памяти, при 256 измерениях получается 12 бит, а это всего в 4 раза против исходных 10бит, это цыфры из апнота атмеловского, там же есть и пример.


--------------------
http://www.embedders.org Блоги разработчиков электроники.
Go to the top of the page
 
+Quote Post
alexander55
сообщение Nov 8 2007, 10:04
Сообщение #30


Бывалый
*****

Группа: Свой
Сообщений: 1 584
Регистрация: 7-08-07
Пользователь №: 29 615



Цитата(GDI @ Nov 8 2007, 12:32) *
Нет, не так, опять же по памяти, при 256 измерениях получается 12 бит, а это всего в 4 раза против исходных 10бит, это цыфры из апнота атмеловского, там же есть и пример.

А если считать исходно 8 бит (а 2 бита от лукавого), то и получается в 16 раз (а 2 бита от лукавого). biggrin.gif
Go to the top of the page
 
+Quote Post

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

 


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


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