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

 
 
5 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> Калибровка AD7732, Калибровка АЦП
Leonmezon
сообщение Jun 4 2009, 12:01
Сообщение #16


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

Группа: Участник
Сообщений: 191
Регистрация: 11-02-09
Из: Краснодар
Пользователь №: 44 686



Цитата(DS @ Jun 4 2009, 00:41) *
Я не писал, что она не нужна ВООБЩЕ. Не нужна фильтрация высоких порядков при правильном выборе соотношений частот. Достаточно фильтра первого порядка. И Вы путаете частоту дискретизации и частоту выдачи результата . В случае данного АЦП это совершенно не одно и то же.

Тогда не совсем понятно, какое отношение темп выдачи результата относиться к цифровой фильтрации (в режиме единичного преобразования - темп вообще можно сделать хоть раз в год). На сколько я понимаю: фильтрация сигнала относиться к дисктретизации АЦП.
Go to the top of the page
 
+Quote Post
Leonmezon
сообщение Jul 4 2009, 16:45
Сообщение #17


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

Группа: Участник
Сообщений: 191
Регистрация: 11-02-09
Из: Краснодар
Пользователь №: 44 686



Просьба подсказать как лучше будет (задании параметров для 3-АЦП происходит параллельно - так разведено): делать проверку на готовность калибровки или после выдачи задания на калибровку просто подождать (у меня время на всю калибровку 10 мин всегда от подачи питания, т.е. после на каждый вид калибровки могу потратить 3 мин - этого достаточно? И надо ли задать на каждый канал или можно задать одновременно оба (в даташите на стр.14 - в описании регистров есть две сноски - но не понятно как работать в режиме калибровки? также как и при задании общих параметров? ): примерно так написал для кварца 14МГц и если разница какие регистры надо с начало калибровать (в даташите последовательности калибровки явно не прописано).

void delay (void)
{
unsigned char a, b, c;
for(a=0; a<255; a++)
{
for(b=0; b<255; b++)
{
for(c=0; c<100; c++)
{
NOP();
}
}
}

void Calibrovka(void)
{
// Калибровка по Channel Full-Scale Cal, Mode Register=0b11100010=0xE2;
PORTF&=~BIT(0); // CS1 установить в 0 - выбор 1 АЦП
PORTF&=~BIT(1); // CS2 установить в 0 - выбор 2 АЦП
PORTF&=~BIT(2); // CS3 установить в 0 - выбор 3 АЦП
SpiWriteByte(0x38);// Установка регистра для 1 канала
SpiWriteByte(0xE2);
PORTF|=BIT(0); // CS1 установить в 1
PORTF|=BIT(1); // CS2 установить в 1
PORTF|=BIT(2); // CS3 установить в 1
delay(); // ждем пока идет калибровка
// Калибровка по ADC Zero-Scale Self-Calibration, Mode Register=0b10000010=0x82
PORTF&=~BIT(0); // CS1 установить в 0 - выбор 1 АЦП
PORTF&=~BIT(1); // CS2 установить в 0 - выбор 2 АЦП
PORTF&=~BIT(2); // CS3 установить в 0 - выбор 3 АЦП
SpiWriteByte(0x38);// Установка регистра для 1 канала
SpiWriteByte(0x82);
PORTF|=BIT(0); // CS1 установить в 1
PORTF|=BIT(1); // CS2 установить в 1
PORTF|=BIT(2); // CS3 установить в 1
delay(); // ждем пока идет калибровка
// Калибровка по Channel Zero-Scale System Calibration, Mode Register=0b11000010=0xC2
PORTF&=~BIT(0); // CS1 установить в 0 - выбор 1 АЦП
PORTF&=~BIT(1); // CS2 установить в 0 - выбор 2 АЦП
PORTF&=~BIT(2); // CS3 установить в 0 - выбор 3 АЦП
SpiWriteByte(0x38);// Установка регистра для 1 канала
SpiWriteByte(0xC2);
PORTF|=BIT(0); // CS1 установить в 1
PORTF|=BIT(1); // CS2 установить в 1
PORTF|=BIT(2); // CS3 установить в 1
delay(); // ждем пока идет калибровка
}
Go to the top of the page
 
+Quote Post
DS
сообщение Jul 6 2009, 09:37
Сообщение #18


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



14 Мгц кварц - не ошибка ? Максимально, что допустимо 6.144 Мгц.

Если калибровка запускалась с использованием сигнала SYNC, достаточно проверять готовность любого АЦП.

Калибровки существуют 2 - калибровка АЦП - ее надо делать обязательно после включения питания и калибровка канала. Она выполняется для каждого канала раздельно, и убирает смещение коммутатора и внешних входных цепей. Т.е. то, что в момент выполнения этой калибровки будет на входе, то и будет восприниматься в качестве "0".


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Leonmezon
сообщение Jul 6 2009, 14:33
Сообщение #19


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

Группа: Участник
Сообщений: 191
Регистрация: 11-02-09
Из: Краснодар
Пользователь №: 44 686



Цитата(DS @ Jul 6 2009, 13:37) *
14 Мгц кварц - не ошибка ? Максимально, что допустимо 6.144 Мгц.

Если калибровка запускалась с использованием сигнала SYNC, достаточно проверять готовность любого АЦП.

Калибровки существуют 2 - калибровка АЦП - ее надо делать обязательно после включения питания и калибровка канала. Она выполняется для каждого канала раздельно, и убирает смещение коммутатора и внешних входных цепей. Т.е. то, что в момент выполнения этой калибровки будет на входе, то и будет восприниматься в качестве "0".

По кварцу - это кварц atmega640 (относиться к функции delay()) - указал чтоб было понятна примерно время задержки.

По калибровки понятно (сегодня попробывал)И так как не имею возможноти коммутировать вход (он жестко распаян) - оставил только автокалибровку, т.е. калибровку внутренних параметров (фактически калибровка от ИОН) - но выявилась ошибка - при каждом новом включении прибора очень большой разброс параметров (вижу по выходным данным при нулевом сигнале (на ноль (смещение) калибруем программано уже ЭВМ по 3 тыс. значениям ) и честно не знаю в чем дело: значали грешил на входные операционные усилители (их питани...) - полностью отключил питание, отсоеденил входы АЦП и соеденил все на землю) - результат тот же, честно не знаю что может быть? Пр нулевом сигнале: цифровой код с АЦП соотвествует +-4 мВ (причем абсолюно периодично (напряжения примерны но порядок тот же): плюс 4мВ, минус 4мВ, плюс 4мВ минус 4 мВ.... ).
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jul 6 2009, 15:23
Сообщение #20


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Leonmezon @ Jul 6 2009, 18:33) *
Пр нулевом сигнале: цифровой код с АЦП соотвествует +-4 мВ (причем абсолюно периодично (напряжения примерны но порядок тот же): плюс 4мВ, минус 4мВ, плюс 4мВ минус 4 мВ.... ).


Так не должно быть никогда. Где-то у Вас ОШИБКА Ваша. Проанализируйте последовательность выходную.
Go to the top of the page
 
+Quote Post
Leonmezon
сообщение Jul 6 2009, 15:33
Сообщение #21


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

Группа: Участник
Сообщений: 191
Регистрация: 11-02-09
Из: Краснодар
Пользователь №: 44 686



Цитата(Tanya @ Jul 6 2009, 19:23) *
Так не должно быть никогда. Где-то у Вас ОШИБКА Ваша. Проанализируйте последовательность выходную.

Выходная последовательность имеет частоту повторения 100 Гц равную половине частоты дискретизации 200 Гц, причем если сигнал не нулевой - скажем подаю синусоиду 0,1 Гц до 100 Гц и амплитудой до 10 В - на выходеименно ее и получаю (графически востанавливаем сигнал на ЭВМ). Что интресно: менял частоту дискретизации - резльатт тот же - только частота повторения соотвественно другая (деленная на два). Где искать не знаю.
Go to the top of the page
 
+Quote Post
DS
сообщение Jul 6 2009, 19:33
Сообщение #22


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Цитата(Leonmezon @ Jul 6 2009, 19:33) *
Выходная последовательность имеет частоту повторения 100 Гц равную половине частоты дискретизации 200 Гц, причем если сигнал не нулевой - скажем подаю синусоиду 0,1 Гц до 100 Гц и амплитудой до 10 В - на выходеименно ее и получаю (графически востанавливаем сигнал на ЭВМ). Что интресно: менял частоту дискретизации - резльатт тот же - только частота повторения соотвественно другая (деленная на два). Где искать не знаю.


Программную калибровку Вы записываете в регистры АЦП ? Или вычитаете в процессоре ? Не может ли быть, что у Вас перенос разряда при вычитании 24 битного слова хромает ?


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Leonmezon
сообщение Jul 6 2009, 19:48
Сообщение #23


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

Группа: Участник
Сообщений: 191
Регистрация: 11-02-09
Из: Краснодар
Пользователь №: 44 686



Цитата(DS @ Jul 6 2009, 23:33) *
Программную калибровку Вы записываете в регистры АЦП ? Или вычитаете в процессоре ? Не может ли быть, что у Вас перенос разряда при вычитании 24 битного слова хромает ?

Калибровку вообще отключил (при таких значениях калибровка не поможет): закоротил все входы АЦП и смотрю что на цифровом выходе.
Обработка данных в mege (повторю часть своего первого сообщения): (да и проверял когда писал программу на регистрах - все сходиться до знака).

//Чтение данных из регистра АЦП
// Читаем и заносим в буфер
SPDR = 0x00;
while (!(SPSR&0x80)); // ожидание готовности порта, прежде чем считывать
A=SPDR; //считать SPDR - 1 байт
SPDR = 0x00;
while (!(SPSR&0x80)); // ожидание готовности порта, прежде чем считывать
B=SPDR; //считать SPDR - 2 байт
SPDR = 0x00;
while (!(SPSR&0x80)); // ожидание готовности порта, прежде чем считывать
C=SPDR; //считать SPDR - 3 байт
// Закрываем АЦП
PORTF|=BIT(0); // CS1 установить в 1
// Получаем длиное целое из полученных байт
// с учетом что первым идет старший байт
rez=(C+(B<<8)+(A<<16));
// Далее преобразуем с типу double и Преобразуем к напряжению
U=(((double)(rez))*10)/0xFFFFFF; // Получаем напряжение от 0 до 10 В
// Отнимаем 5 В - для сдига в биполярный сигнал - получаем изменение напряжения от -5 до 5 В
U=U-5;
// Преобразуем в микровольты и возращаем результат
rez=(signed long)(U*1000000);
return (rez);

Вопрос где искать? (землю вроде верно разведены - соеденены в одной точке, кварцы у 3 АЦП сразу отказали - наврядле, 3 АЦП испортились - то же, единственно у нас в качестве ИОН используеться REF43 - одна штука - но от нее проводом сечением 1,5 кв. мм. )невесным чтоб уменьшить сопротивление) подходит к АЦП сигнал). - Как можно поискать ошибку?
Go to the top of the page
 
+Quote Post
DS
сообщение Jul 6 2009, 20:35
Сообщение #24


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Цитата(Leonmezon @ Jul 6 2009, 23:48) *
Вопрос где искать? (землю вроде верно разведены - соеденены в одной точке, кварцы у 3 АЦП сразу отказали - наврядле, 3 АЦП испортились - то же, единственно у нас в качестве ИОН используеться REF43 - одна штука - но от нее проводом сечением 1,5 кв. мм. )невесным чтоб уменьшить сопротивление) подходит к АЦП сигнал). - Как можно поискать ошибку?


Вы серьезно поставили 3 кварца ? Вы себе представляете, какие биения могут возникнуть именно на частотах в полосе измерения ? Выкиньте 2 из трех кварцев, подсоедините входы MCLKIN к MCLKOUT АЦП с кварцем.
И распечатайте побайтно, без преобразования, результаты считываемые из регистров, наверняка ошибка программная.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Leonmezon
сообщение Jul 6 2009, 20:51
Сообщение #25


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

Группа: Участник
Сообщений: 191
Регистрация: 11-02-09
Из: Краснодар
Пользователь №: 44 686



Цитата(DS @ Jul 7 2009, 00:35) *
Вы серьезно поставили 3 кварца ? Вы себе представляете, какие биения могут возникнуть именно на частотах в полосе измерения ? Выкиньте 2 из трех кварцев, подсоедините входы MCLKIN к MCLKOUT АЦП с кварцем.
И распечатайте побайтно, без преобразования, результаты считываемые из регистров, наверняка ошибка программная.

Не совсем понятно как три кварца могут дать биения (они же подключены к каждому своему АЦП)? (Да и на плате кроме них - еще три кварца: 14Мгц, 7,8 МГц и 32 кГц (atmega640, atmega8515+ часы реального времени) кварц GPS приемника (DSP процессор) и кварц микроЭВМ (одноплатник на 500 МГц) - все работает).
Go to the top of the page
 
+Quote Post
DS
сообщение Jul 7 2009, 05:45
Сообщение #26


Гуру
******

Группа: СуперМодераторы
Сообщений: 3 096
Регистрация: 16-01-06
Из: Москва
Пользователь №: 13 250



Цитата(Leonmezon @ Jul 7 2009, 00:51) *
Не совсем понятно как три кварца могут дать биения (они же подключены к каждому своему АЦП)? (Да и на плате кроме них - еще три кварца: 14Мгц, 7,8 МГц и 32 кГц (atmega640, atmega8515+ часы реального времени) кварц GPS приемника (DSP процессор) и кварц микроЭВМ (одноплатник на 500 МГц) - все работает).


У них частота одинаковая. Поэтому биения будут в районе 0.5 - 10 Гц. А 6 Мгц замечательно пролезает по цифре внуть АЦП. Вы же собираетесь измерять с тоностью до микровольт, я правильно помню ?


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Leonmezon
сообщение Jul 7 2009, 14:59
Сообщение #27


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

Группа: Участник
Сообщений: 191
Регистрация: 11-02-09
Из: Краснодар
Пользователь №: 44 686



Цитата(DS @ Jul 7 2009, 09:45) *
У них частота одинаковая. Поэтому биения будут в районе 0.5 - 10 Гц. А 6 Мгц замечательно пролезает по цифре внуть АЦП. Вы же собираетесь измерять с тоностью до микровольт, я правильно помню ?


Про микровольты - правильно. Честно сказать не совсем понятна физика возникновения биения - не очень ясно как вообще это может быть и как это влияет на точность.
Проверил схему включения (привожу на рис. части прибора: 3 АЦП и микроконтроллер, и преобразователь биполярного сигнала в дифференциальный с развязывающими буферами для подачи на оба канала АЦП) и программу (части программы приема данных были выше) - честно не вижу ошибок которые приводили к таким результат: при закорачивании входов имеем по каналам АЦП -4 до 4мВ (прилагаю график) в то же время при подключении нагрузки (на графике к 3 АЦП подключен генератор синусоидального напряжения 1 Гц) - вроде нормально все оцифровывает (хотя шум есть). Как говорили выше - в место напряжения с тем же тактом считал регистры (выбрал два калибровочных такой же длины что регистр данных) - вроде нормально считываются (те.е. программа работает) - но есть не понятные вещи: значения регистров сами изменяются (каждое 11...15 значение - хотя и близкое к изначальному) при этом к регистрам калибровки не обращаюсь.
Что можете посоветовать? (кварцы попробую убрать,но не думаю что из за них может быть шум 4мВ - при этом аналоговая часть вся отключена)
Прикрепленные файлы
Прикрепленный файл  Sxema.zip ( 651.06 килобайт ) Кол-во скачиваний: 22
Прикрепленный файл  __________________________.pdf ( 113.36 килобайт ) Кол-во скачиваний: 33
Прикрепленный файл  ___________________.pdf ( 120.08 килобайт ) Кол-во скачиваний: 30
Прикрепленный файл  ____________________________.zip ( 2.39 килобайт ) Кол-во скачиваний: 16
 
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jul 7 2009, 16:01
Сообщение #28


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Leonmezon @ Jul 7 2009, 18:59) *
Что можете посоветовать? (кварцы попробую убрать,но не думаю что из за них может быть шум 4мВ - при этом аналоговая часть вся отключена)

Могу только повторить просьбу DS - побайтно, безо всяких преобразований, при закороченном входе - отрезать предусилители.
Go to the top of the page
 
+Quote Post
Leonmezon
сообщение Jul 7 2009, 16:24
Сообщение #29


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

Группа: Участник
Сообщений: 191
Регистрация: 11-02-09
Из: Краснодар
Пользователь №: 44 686



Цитата(Tanya @ Jul 7 2009, 20:01) *
Могу только повторить просьбу DS - побайтно, безо всяких преобразований, при закороченном входе - отрезать предусилители.

Попробую (хотя не уверен что это что то даст, все усилители убраны: входы АЦП закорочены и на землю). По ощущениям - чтото происходит в аналоговой части АЦП - но как это узнать?

Сообщение отредактировал Leonmezon - Jul 7 2009, 16:25
Go to the top of the page
 
+Quote Post
Tanya
сообщение Jul 7 2009, 16:33
Сообщение #30


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(Leonmezon @ Jul 7 2009, 20:24) *
Попробую (хотя не уверен что это что то даст, все усилители убраны: входы АЦП закорочены и на землю). По ощущениям - чтото происходит в аналоговой части АЦП - но как это узнать?


Кто бы покупал такие гнилые микросхемы, в аналоговой части которых происходит нечто...?
То, что у Вас. В ощущениях.
Go to the top of the page
 
+Quote Post

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

 


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


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