Плата АЦП AD7705/TM7705, двойная 16-битная, SPI

AD7705/TM7705

Ответить
tol123
Рядовой
Сообщения: 58
Зарегистрирован: 16.07.2021{, 11:34}
Репутация: 7
Имя: Anatoly

Плата АЦП AD7705/TM7705, двойная 16-битная, SPI

#1

Сообщение tol123 » 14.01.2023{, 07:39}

Хотел использовать с esp modemcu этот ацп AD7705, но сходу не все получилось легко или не получилось. В сериал выводит
v1 = TM7705.readADResult(AD770X::CHN_AIN1, 0.0); ----это настройки в файле менял
1,2 вольт подавал на AIN2
#32: CH1: 1.24985 CH2: 1.24985
#33: CH1: -1.23814 CH2: -1.23814
#34: CH1: -0.02655 CH2: -0.02655
AD770X::BIPOLAR, AD770X::GAIN_2,


AD770X::UNIPOLAR, AD770X::GAIN_2----это настройки в файле менял
1,2 вольт подавал на AIN2
#39: CH1: -1.23627 CH2: -1.23627
#40: CH1: 1.19736 CH2: 1.19736
5 вольт подавал на AIN2
#60: CH1: -1.25000 CH2: -1.25000
#61: CH1: 1.24996 CH2: 1.24996

экспериментировать дальше ... непонятно что дальше делать и какие настройки брать.
использовал файлы из https://github.com/benjaminzhao/ESP8266_AD7705_DEMO
есть пояснения автора библиотеки для ардуино http://www.kerrywong.com/2011/03/20/ad7 ... 6-library/
http://www.kerrywong.com/2012/04/18/ad7 ... revisited/
но как это прикрутить к ESP непонятно, или все сделано и только стоит что-то понять и изменить в имеющемся примере.


есть код для ESP32:
https://github.com/backfromearth/ESP32- ... h-channels
и его видео
Если кто разобрался с ним, то просим помочь получить с датчика напряжение.
Вложения
AD770X.h
(4 КБ) 19 скачиваний
AD770x.cpp
(3.88 КБ) 19 скачиваний
esp8266_SPI_7705.ino
(1.79 КБ) 22 скачивания

hallozin1
Рядовой
Сообщения: 31
Зарегистрирован: 02.08.2021{, 12:43}
Репутация: 5
Имя: Алексей

Плата АЦП AD7705/TM7705, двойная 16-битная, SPI

#2

Сообщение hallozin1 » 14.01.2023{, 16:58}

Делал давно , но работает)
Вложения
AD7705_VOLT_(Code_-_Basic).ubi
(168.29 КБ) 34 скачивания

Sanok
Рядовой
Сообщения: 25
Зарегистрирован: 31.08.2021{, 06:19}
Репутация: 2
Откуда: Добряка
Имя: Александр

Плата АЦП AD7705/TM7705, двойная 16-битная, SPI

#3

Сообщение Sanok » 15.01.2023{, 09:32}

Пойдёт термопару мерить?

tema
Сержант
Сообщения: 187
Зарегистрирован: 21.09.2020{, 12:31}
Репутация: 7
Имя: tema

Плата АЦП AD7705/TM7705, двойная 16-битная, SPI

#4

Сообщение tema » 15.01.2023{, 10:04}

Sanok писал(а):
15.01.2023{, 09:32}
Пойдёт термопару мерить?

тоже интерисует

hallozin1
Рядовой
Сообщения: 31
Зарегистрирован: 02.08.2021{, 12:43}
Репутация: 5
Имя: Алексей

Плата АЦП AD7705/TM7705, двойная 16-битная, SPI

#5

Сообщение hallozin1 » 15.01.2023{, 10:17}

Напрямую нет

tol123
Рядовой
Сообщения: 58
Зарегистрирован: 16.07.2021{, 11:34}
Репутация: 7
Имя: Anatoly

Плата АЦП AD7705/TM7705, двойная 16-битная, SPI

#6

Сообщение tol123 » 16.01.2023{, 10:02}

Если этот блок использовать как есть, то показывает 0,61 В на батарейке в 1,2 В, при измерении на одном выводе. Поэтому умножал на 2 или 2000 (если надо получить миливольты)
Добавил в функцию

Код: Выделить всё

      double VRef =   2.5 ; // из библиотеки берется 2,5. 
// return (readADResult(channel) - 32768)   / 32768.0 * VRef * 2; //И если это все *2, то получим вольты 1,22 В при измерении батарейки в 1,2 вольт
// return (readADResult(channel) - 32768)   / 32768.0 * VRef * 2000; //И если это все *2000, то получим милливольты 1221 мВ при измерении батарейки в 1,2 вольт
      return (readADResult(channel) - 32768)   / 32768.0 * VRef * 2000;
Если не объединять выводы, то мерит до 1,225 вольт на батарейке 1,2 вольта
Если объединять выводы, то мерит до 4,225 вольт на батарейке 4,2 вольта.
Пока не понял сколько максимально можно подать на вывод. при том или ином варианте. Не охота спалить модуль.
Вложения
Как подключить AD7705 к Node mcu.png
AD7705.flp
(366.07 КБ) 21 скачивание
Варианты подключения AD7705.png

hallozin1
Рядовой
Сообщения: 31
Зарегистрирован: 02.08.2021{, 12:43}
Репутация: 5
Имя: Алексей

Плата АЦП AD7705/TM7705, двойная 16-битная, SPI

#7

Сообщение hallozin1 » 16.01.2023{, 11:41}

tol123 писал(а):
16.01.2023{, 10:02}
Если этот блок использовать как есть, то показывает 0,61 В на батарейке в 1,2 В, при измерении на одном выводе. Поэтому умножал на 2 или 2000 (если надо получить миливольты)
Добавил в функцию

Код: Выделить всё

      double VRef =   2.5 ; // из библиотеки берется 2,5. 
// return (readADResult(channel) - 32768)   / 32768.0 * VRef * 2; //И если это все *2, то получим вольты 1,22 В при измерении батарейки в 1,2 вольт
// return (readADResult(channel) - 32768)   / 32768.0 * VRef * 2000; //И если это все *2000, то получим милливольты 1221 мВ при измерении батарейки в 1,2 вольт
      return (readADResult(channel) - 32768)   / 32768.0 * VRef * 2000;
Если не объединять выводы, то мерит до 1,225 вольт на батарейке 1,2 вольта
Если объединять выводы, то мерит до 4,225 вольт на батарейке 4,2 вольта.
Пока не понял сколько максимально можно подать на вывод. при том или ином варианте. Не охота спалить модуль.
в настройках блока вместо 2,5 поставь 5
подавать 5v можно на каждый вход

Ответить

Вернуться в «Помогите, а то я "нимагу"»