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

 
 
> Калибровка AD7732, Калибровка АЦП
Leonmezon
сообщение Feb 11 2009, 08:34
Сообщение #1


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

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



ДОбрый день.
Возникла необходимость (и соотвественно сложность) в калибровке АЦП AD7732.
Сейчас без калибровки получаю напряжение так (пример на 1 АЦП из 3 - все через цфировую логику подключены к Atmega640):
//Чтение регистра ADC Status
PORTF&=~BIT(0); // CS1 установить в 0 - выбор 1 АЦП
NOP();
SpiWriteByte(0x04+0x40);
reg=SpiReadByte();
// Выбор канала готовых данных (аппаратно RDY дает сигнал только о готовности данных,без указания канала
switch (reg)
{
case 0x01:
{
// Установка чтение 0 канала данных
//Устанавливаем регистр для чтения - выходные данные 24 бит - 3 байта
SpiWriteByte(0x08+0x40);
}
break;
case 0x04:
{
// Установка чтение 1 канала данных
//Устанавливаем регистр для чтения - выходные данные 24 бит - 3 байта
SpiWriteByte(0x0A+0x40);
}
break;
case 0x05:
{
// Установка чтение 0 канала данных
//Устанавливаем регистр для чтения - выходные данные 24 бит - 3 байта
SpiWriteByte(0x08+0x40);
}
break;
default: { return (0x00);}
}
//Чтение данных из регистра АЦП
// Читаем и заносим в буфер
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);

В целом работает не плохо, но возникла задача повысить точность установки нуля. Для этого удобно использовать внутреннею калибровку АЦП. А здесь возникает сложность: чития даташит не фига не понятно, а имеено: (привожу формулу из даташита для калибровки )

For bipolar ranges:
Data = ((ADC result – ADC ZS Cal. reg.) × ADC FS Reg./400000h + 800000h – Ch. ZS Cal. reg.) × Ch. FS Cal. reg./200000h
Where the ADC result is in the range of 0 to FFFFFFh.

Вопрос: как изменяется Data? (с учетом что ADC result может быть меньше ADC ZS Cal.reg.????) и как от нее перейти к напряжению, т.е. как после этой формулы получить для возращения микровольты?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DS
сообщение Sep 14 2009, 12:50
Сообщение #2


Гуру
******

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



Ну я даже и не знаю как такое откомментировать. Странно, что вообще что-то измеряет, а не то, что показания скачут ...


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


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

Группа: Участник
Сообщений: 169
Регистрация: 30-07-05
Из: Бюрлин
Пользователь №: 7 223



Цитата(DS @ Sep 14 2009, 15:50) *
Ну я даже и не знаю как такое откомментировать. Странно, что вообще что-то измеряет, а не то, что показания скачут ...


Да, может вас удивляет, что генератор запитан от DVCC, а не от AVCC. Признаю свою глупость. В следующий раз такт буду запитывать только от AVCC.
Go to the top of the page
 
+Quote Post
DS
сообщение Sep 15 2009, 10:58
Сообщение #4


Гуру
******

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



Цитата(Rockstein @ Sep 15 2009, 01:52) *
Да, может вас удивляет, что генератор запитан от DVCC, а не от AVCC. Признаю свою глупость. В следующий раз такт буду запитывать только от AVCC.


Нет, глупость в другом - использование инверторов в микросхеме генератора еще и для передачи интерфейсных сигналов. При том, что частота небольшая, и микросхема АСТ. В данном случае лучше всего купить интегральный генератор и привесить его на проводках рядышком.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Rockstein
сообщение Sep 15 2009, 11:47
Сообщение #5


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

Группа: Участник
Сообщений: 169
Регистрация: 30-07-05
Из: Бюрлин
Пользователь №: 7 223



Цитата(DS @ Sep 15 2009, 14:58) *
Нет, глупость в другом - использование инверторов в микросхеме генератора еще и для передачи интерфейсных сигналов. При том, что частота небольшая, и микросхема АСТ. В данном случае лучше всего купить интегральный генератор и привесить его на проводках рядышком.

А запитывать этот интегральный генератор от AVCC? И естессно егy нужно очень хорошо bypass сделать
Go to the top of the page
 
+Quote Post
DS
сообщение Sep 15 2009, 11:51
Сообщение #6


Гуру
******

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



Цитата(Rockstein @ Sep 15 2009, 15:47) *
А запитывать этот интегральный генератор от AVCC? И естессно егy нужно очень хорошо bypass сделать


Не обязательно.


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


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

Группа: Участник
Сообщений: 169
Регистрация: 30-07-05
Из: Бюрлин
Пользователь №: 7 223



Цитата(DS @ Sep 15 2009, 14:51) *
Не обязательно.

Спасибо большое, к сожалению на 2,5Мгц кварцевых smd-oszillatorov не нашел нигде в продаже, есть только 4Мгц, а при 4 у него интегральная нелинейность хуже (где-то 2ппм при 2,5Мгц и за 5 при 4Мгц). Склоняюсь к описанному в этой ветке способе кварц (30ppm) на одном АЦП как нибудь навесным монтажем и через MCLKOUT одного в MCLKIN другого. Немного волнует возвратный ток от одного АЦП к другому при таком тактировании. Думаю можно пренебречь указанными +/-10мкА MCLKIN, если этот ток протечет по массе, то ничего не будет.
Go to the top of the page
 
+Quote Post
DS
сообщение Sep 15 2009, 21:13
Сообщение #8


Гуру
******

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



Цитата(Rockstein @ Sep 16 2009, 00:55) *
Спасибо большое, к сожалению на 2,5Мгц кварцевых smd-oszillatorov не нашел нигде в продаже, есть только 4Мгц, а при 4 у него интегральная нелинейность хуже (где-то 2ппм при 2,5Мгц и за 5 при 4Мгц). Склоняюсь к описанному в этой ветке способе кварц (30ppm) на одном АЦП как нибудь навесным монтажем и через MCLKOUT одного в MCLKIN другого. Немного волнует возвратный ток от одного АЦП к другому при таком тактировании. Думаю можно пренебречь указанными +/-10мкА MCLKIN, если этот ток протечет по массе, то ничего не будет.


Я надеюсь земли у Вас разделены ? Если разделены, опасаться нечего. 2ppm INL получить будет ой как не просто, и совсем не из-за кварца. Рекомендую пока не обращать на это внимание. Когда дойдете до 5 ppm, тогда и будете по частоту тактирования думать.


--------------------
Не бойтесь тюрьмы, не бойтесь сумы, не бойтесь мора и глада, а бойтесь единственно только того, кто скажет - "Я знаю как надо". А. Галич.
Go to the top of the page
 
+Quote Post
Rockstein
сообщение Sep 16 2009, 22:15
Сообщение #9


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

Группа: Участник
Сообщений: 169
Регистрация: 30-07-05
Из: Бюрлин
Пользователь №: 7 223



Цитата(DS @ Sep 16 2009, 01:13) *
Я надеюсь земли у Вас разделены ? Если разделены, опасаится нечего. 2ppm INL получить будет ой как не просто, и совсем не из-за кварца. Рекомендую пока не обращать на это внимание. Когда дойдете до 5 ppm, тогда и будете по частоту тактирования думать.

Да, земли раздельные. Но очень глупо все сделано. Жопыта то нет никакого. Вообщем есть две платы питания с трансформаторами, на одной находятся +/-15V для питания операционников, +24V для питания силового ключа. На другой находяться три разных +5V. Все напряжения гальванически не связаны. Потом это все соединяется экранированными с одной стороны кабелями, примерно 200-500мм с соответсвующим местом на плате АЦП. 5 Вольт для AVCC и DVCC сделаны на LT1763-5 кажется и идут 4-мя проводами. 2 питание и 2 sens-вывода, этим вроде подавляются какие-то помехи и падение напряжения в кабеле. На самой плате АЦП нет стабилизаторов, только байпассинг. Массы AGND и DGND раздельны и соединяются только под одним из АЦП. Масса 5В для МК заземлена, так как соединяется напрямую с массой компьютер чере усб или рс232. АGND выведена отдельно и подключается к чистой земле вне прибора. Но работат и без привязки к земле. Иногда конечно 50Герц как common-mode пролазит.

Можно сказать, что эффективно получаю всего может быть 17бит при 2.5Мгц такт и около 5мс время конвертирования (96 пишу в FW регистр). Запускаю 4 измерения подряд как сингл и беру среднее. В будущем хочу побороться за 20бит эффектив (не пик-ту-пик). Много полезного почерпнул из форума.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Leonmezon   Калибровка AD7732   Feb 11 2009, 08:34
- - Tanya   Цитата(Leonmezon @ Feb 11 2009, 11:34) ДО...   Feb 11 2009, 08:57
|- - DS   Цитата(Tanya @ Feb 11 2009, 11:57) Вам ни...   Feb 11 2009, 09:42
|- - Leonmezon   Цитата(Tanya @ Feb 11 2009, 11:57) Вам ни...   May 20 2009, 19:13
|- - Tanya   Цитата(Leonmezon @ May 20 2009, 23:13) Ес...   May 20 2009, 19:44
|- - Leonmezon   Цитата(Tanya @ May 20 2009, 22:44) Я Вас ...   May 21 2009, 08:29
|- - DS   Цитата(Leonmezon @ May 21 2009, 12:29) Ил...   May 21 2009, 11:07
|- - Leonmezon   Просьба подсказать: необходима ли развязка между А...   May 29 2009, 20:03
|- - DS   Цитата(Leonmezon @ May 30 2009, 00:03) Пр...   May 31 2009, 09:13
|- - Leonmezon   Цитата(DS @ May 31 2009, 13:13) Развязка ...   May 31 2009, 17:01
- - DS   Усреднять результаты можно. Теорему Вы не правильн...   Jun 1 2009, 14:58
|- - Leonmezon   Цитата(DS @ Jun 1 2009, 18:58) Усреднять ...   Jun 1 2009, 15:30
|- - DS   Цитата(Leonmezon @ Jun 1 2009, 19:30) До ...   Jun 1 2009, 15:50
|- - Leonmezon   Цитата(DS @ Jun 1 2009, 19:50) Такой филь...   Jun 2 2009, 19:41
|- - DS   Цитата(Leonmezon @ Jun 2 2009, 23:41) Для...   Jun 3 2009, 20:41
|- - Leonmezon   Цитата(DS @ Jun 4 2009, 00:41) Я не писал...   Jun 4 2009, 12:01
- - Leonmezon   Просьба подсказать как лучше будет (задании параме...   Jul 4 2009, 16:45
- - DS   14 Мгц кварц - не ошибка ? Максимально, что допуст...   Jul 6 2009, 09:37
|- - Leonmezon   Цитата(DS @ Jul 6 2009, 13:37) 14 Мгц ква...   Jul 6 2009, 14:33
|- - Tanya   Цитата(Leonmezon @ Jul 6 2009, 18:33) Пр ...   Jul 6 2009, 15:23
|- - Leonmezon   Цитата(Tanya @ Jul 6 2009, 19:23) Так не ...   Jul 6 2009, 15:33
|- - DS   Цитата(Leonmezon @ Jul 6 2009, 19:33) Вых...   Jul 6 2009, 19:33
|- - Leonmezon   Цитата(DS @ Jul 6 2009, 23:33) Программну...   Jul 6 2009, 19:48
|- - DS   Цитата(Leonmezon @ Jul 6 2009, 23:48) Воп...   Jul 6 2009, 20:35
|- - Leonmezon   Цитата(DS @ Jul 7 2009, 00:35) Вы серьезн...   Jul 6 2009, 20:51
|- - DS   Цитата(Leonmezon @ Jul 7 2009, 00:51) Не ...   Jul 7 2009, 05:45
|- - Leonmezon   Цитата(DS @ Jul 7 2009, 09:45) У них част...   Jul 7 2009, 14:59
|- - Tanya   Цитата(Leonmezon @ Jul 7 2009, 18:59) Что...   Jul 7 2009, 16:01
|- - Leonmezon   Цитата(Tanya @ Jul 7 2009, 20:01) Могу то...   Jul 7 2009, 16:24
|- - Tanya   Цитата(Leonmezon @ Jul 7 2009, 20:24) Поп...   Jul 7 2009, 16:33
|- - Leonmezon   Цитата(Tanya @ Jul 7 2009, 20:33) Кто бы ...   Jul 7 2009, 16:40
|- - Tanya   Цитата(Leonmezon @ Jul 7 2009, 20:40) Да ...   Jul 7 2009, 16:55
|- - DS   Цитата(Leonmezon @ Jul 7 2009, 20:40) Да ...   Jul 7 2009, 18:02
|- - Leonmezon   Цитата(DS @ Jul 7 2009, 22:02) На всех АЦ...   Jul 7 2009, 18:23
|- - DS   Цитата(Leonmezon @ Jul 7 2009, 22:23) С н...   Jul 7 2009, 18:30
|- - Leonmezon   Цитата(DS @ Jul 7 2009, 22:30) У Вас полу...   Jul 8 2009, 14:13
|- - DS   Цитата(Leonmezon @ Jul 8 2009, 18:13) Из ...   Jul 9 2009, 09:41
- - Rockstein   Спасибо за подробное объяснение калибровки, я тоже...   Sep 9 2009, 22:00
|- - DS   А питание как ? Земля ? 1/1000 от значения уже вес...   Sep 10 2009, 15:06
|- - Rockstein   Цитата(DS @ Sep 10 2009, 19:06) А питание...   Sep 10 2009, 19:07
|- - dos622   Цитата(Rockstein @ Sep 10 2009, 23:07) ди...   Sep 11 2009, 11:36
|- - Rockstein   Цитата(dos622 @ Sep 11 2009, 15:36) Как п...   Sep 11 2009, 11:44
|- - dos622   Цитата(Rockstein @ Sep 11 2009, 15:44) По...   Sep 11 2009, 12:09
- - DS   Может быть корявый фронт, который с небольшой веро...   Sep 11 2009, 07:06
|- - Rockstein   Цитата(DS @ Sep 11 2009, 10:06) Может быт...   Sep 11 2009, 10:38
|- - DS   Цитата(Rockstein @ Sep 11 2009, 14:38) Ещ...   Sep 11 2009, 12:10
||- - Rockstein   Цитата(DS @ Sep 11 2009, 16:10) Вообще-то...   Sep 11 2009, 12:23
|- - Tanya   Цитата(Rockstein @ Sep 11 2009, 14:38) Ещ...   Sep 11 2009, 13:18
|- - Rockstein   Цитата(Tanya @ Sep 11 2009, 16:18) Через ...   Sep 11 2009, 14:26
- - Rockstein   УРА!!!! Поздравте меня. Все-таки э...   Sep 11 2009, 20:56
|- - DS   Цитата(Rockstein @ Sep 12 2009, 00:56) УР...   Sep 12 2009, 15:18
|- - Tanya   Цитата(DS @ Sep 12 2009, 19:18) Для этого...   Sep 12 2009, 15:30
|- - Rockstein   Цитата(DS @ Sep 12 2009, 18:18) ACT для т...   Sep 13 2009, 21:43
|- - Rockstein   Цитата(DS @ Sep 14 2009, 15:50) Ну я даже...   Sep 14 2009, 19:56
|- - dos622   Цитата(Rockstein @ Sep 15 2009, 01:52) Да...   Sep 15 2009, 09:41
- - Herz   Цитата(Rockstein @ Sep 14 2009, 21:56) Се...   Sep 15 2009, 10:26
- - dos622   Цитата(Herz @ Sep 15 2009, 14:26) А зачем...   Sep 15 2009, 10:42


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

 


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


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