Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

Закрытая тема
Опции темы
Непрочитано 16.11.2016, 19:38   #51
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,440
Сказал спасибо: 97
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Работа с AD7799

Сообщение от Mr.Denis Посмотреть сообщение
Здравствуйте!
Помогите пожалуйста разобраться с чтением и данных
Попробуй так:
PHP код:

   result 
= ((unsigned long int‹‹ 16) + ((unsigned long int‹‹ 8) + (unsigned long intc
Реклама:
Godzilla82 вне форума  
Непрочитано 16.11.2016, 20:39   #52
Mr.Denis
Временная регистрация
 
Регистрация: 24.08.2010
Сообщений: 74
Сказал спасибо: 41
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Mr.Denis на пути к лучшему
По умолчанию Re: Работа с AD7799

Godzilla82,
Спасибо, за ответ!

Тоже самое выводит:
Нажмите, чтобы открыть спойлер

6554367
6616063
6549759
6607871
6629887
6446847
6577919
6480895
6552063
6783743

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

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

Думаю может что-то с настройками ошибся!?
Настройки: Continuous-Conversion Mode, Gain = 128, Chenel = 2, Update Rate = 4.17, Unipolar, No Buffer.

Спасибо!
Mr.Denis вне форума  
Непрочитано 16.11.2016, 21:02   #53
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,440
Сказал спасибо: 97
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Работа с AD7799

Сообщение от Mr.Denis Посмотреть сообщение
Unipolar.
почему однополярный? как подключен датчик? сколько милливольт с датчика выходит (померять тестером)?
Godzilla82 вне форума  
Непрочитано 16.11.2016, 21:27   #54
Mr.Denis
Временная регистрация
 
Регистрация: 24.08.2010
Сообщений: 74
Сказал спасибо: 41
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Mr.Denis на пути к лучшему
По умолчанию Re: Работа с AD7799

Сообщение от Godzilla82 Посмотреть сообщение
как подключен датчик?
К второму входу АЦП. +Сигнал к AIN2(+) / -Сигнал к AIN2(-)
Тут на сто процентов не уверен, потому что на датчик спецификации нет.
Мог перепутать +Сигнал с -Сигнал.

Сообщение от Godzilla82 Посмотреть сообщение
сколько милливольт с датчика выходит (померять тестером)?
Относительна +Сигнал / -Сигнал = 0 Вольт.
Относительно GND / +Сигнал = 2.448
Относительно GND / -Сигнал = 2.448
Питание датчика и REF АЦП = 4.90
Тестером измерял как постоянное напряжение в режиме Авто.
Сообщение от Godzilla82 Посмотреть сообщение
почему однополярный?
На этот вопрос у меня нет адекватного ответа.(

Спасибо!
Mr.Denis вне форума  
Непрочитано 16.11.2016, 21:32   #55
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,440
Сказал спасибо: 97
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Работа с AD7799

У вас дифференциальное подключение датчика. Поэтому в конфигурации надо устанавливать двуполярный режим.

Диапазон кодов при двуполярном режиме расписан в даташите.
Godzilla82 вне форума  
Непрочитано 16.11.2016, 22:06   #56
Mr.Denis
Временная регистрация
 
Регистрация: 24.08.2010
Сообщений: 74
Сказал спасибо: 41
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Mr.Denis на пути к лучшему
По умолчанию Re: Работа с AD7799

Получается что, от 0x000000 до 0x800000 значения со знаком -, а от 0x800000 до 0xFFFFFF со знаком + ?
Если это так, то тогда мне нужно сделать что-то типа:
Value -= 0x800000
Спасибо!
Mr.Denis вне форума  
Непрочитано 16.11.2016, 22:13   #57
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,440
Сказал спасибо: 97
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Работа с AD7799

нужно значение, выдаваемое без нагрузки принять за ноль. и это значение вычитать из результатов измерений.
Godzilla82 вне форума  
Сказали "Спасибо" Godzilla82
Mr.Denis (17.11.2016)
Непрочитано 17.11.2016, 00:19   #58
Mr.Denis
Временная регистрация
 
Регистрация: 24.08.2010
Сообщений: 74
Сказал спасибо: 41
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
Mr.Denis на пути к лучшему
По умолчанию Re: Работа с AD7799

Что-то я совсем запутался...(
Считал 24-bit регистр данных, и положил в переменную result:
PHP код:
  unsigned long result 0;
  
SPI_WriteByte(0x58);
  
unsigned char a SPI_Read();

  
SPI_WriteByte(0x00);
  
unsigned char b SPI_Read();

  
SPI_WriteByte(0x00);
  
unsigned char c SPI_Read()

result = ((unsigned long‹‹ 16) + ((unsigned int‹‹ 8) + c
Получается что в result находятся голые данные с АЦП. Правильно получается, что при частоте опроса 4.17Гц. из 24 бит мы реально имеем 18 бит? Если да, то тогда мы можем первые 6 бит откинуть.
PHP код:
result ››= 6
Теперь получается 18 битный результат и часть шумов(помех) откинуты?

После этого результат нужно отфильтровать, а потом преобразовывать?
Спасибо!
Mr.Denis вне форума  
Непрочитано 17.11.2016, 00:24   #59
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,888
Сказал спасибо: 2,959
Сказали Спасибо 3,144 раз(а) в 2,133 сообщении(ях)
ForcePoint на пути к лучшему
По умолчанию Re: Работа с AD7799

Сообщение от Mr.Denis Посмотреть сообщение
Получается что, от 0x000000 до 0x800000 значения со знаком -, а от 0x800000 до 0xFFFFFF со знаком + ?
Абсолютно не так.
+макс. 0x7FFFFF
+1 0x000001
0 0x000000
-1 0xFFFFFF
-макс. 0x800000

Уберите "unsigned" и компилятор всё сделает сам.
ForcePoint вне форума  
Непрочитано 17.11.2016, 00:40   #60
Godzilla82
Почётный гражданин KAZUS.RU
 
Регистрация: 29.10.2006
Сообщений: 1,440
Сказал спасибо: 97
Сказали Спасибо 315 раз(а) в 231 сообщении(ях)
Godzilla82 на пути к лучшему
Сообщение Re: Работа с AD7799

Сообщение от Mr.Denis Посмотреть сообщение
то тогда мы можем первые 6 бит откинуть.
PHP код:
result ››= 6
Теперь получается 18 битный результат и часть шумов(помех) откинуты?

После этого результат нужно отфильтровать, а потом преобразовывать?
Усреднять лучше с шумами. Точнее получится.

Сообщение от ForcePoint Посмотреть сообщение
+макс. 0x7FFFFF
+1 0x000001
0 0x000000
-1 0xFFFFFF
-макс. 0x800000

Уберите "unsigned" и компилятор всё сделает сам.
Сообщение от ForcePoint Посмотреть сообщение
Абсолютно не так.
Почитайте даташит на AD7799. Там своё представление:

-MAX = 0
0 = 2^23
MAX = 2^24.
Godzilla82 вне форума  
Закрытая тема

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ищу гуру STM32 (работа за деньги!) xakez ARM 1 07.07.2016 13:44
Напряжённая работа Roshens Отвлекитесь, эмбеддеры! 8 01.09.2010 23:08


Часовой пояс GMT +4, время: 14:27.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot