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

Ответить
tol123
Рядовой
Сообщения: 79
Зарегистрирован: 16 июл 2021, 11:34
Имя: Anatoly
Поблагодарили: 2 раза

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

Сообщение tol123 »

Хотел использовать с 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
и его видео https://youtu.be/aiB5vV6C6PI
Если кто разобрался с ним, то просим помочь получить с датчика напряжение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
hallozin1
Рядовой
Сообщения: 36
Зарегистрирован: 02 авг 2021, 12:43
Имя: Алексей

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

Сообщение hallozin1 »

Делал давно , но работает)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Sanok
Рядовой
Сообщения: 33
Зарегистрирован: 31 авг 2021, 06:19
Откуда: Добряка
Имя: Александр

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

Сообщение Sanok »

Пойдёт термопару мерить?
tema
Сержант
Сообщения: 215
Зарегистрирован: 21 сен 2020, 12:31
Имя: tema
Благодарил (а): 29 раз
Поблагодарили: 1 раз

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

Сообщение tema »

[quote=Sanok post_id=120210 time=1673764329 user_id=14750]
Пойдёт термопару мерить?

тоже интерисует
hallozin1
Рядовой
Сообщения: 36
Зарегистрирован: 02 авг 2021, 12:43
Имя: Алексей

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

Сообщение hallozin1 »

Напрямую нет
tol123
Рядовой
Сообщения: 79
Зарегистрирован: 16 июл 2021, 11:34
Имя: Anatoly
Поблагодарили: 2 раза

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

Сообщение tol123 »

Если этот блок использовать как есть, то показывает 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 вольта.
Пока не понял сколько максимально можно подать на вывод. при том или ином варианте. Не охота спалить модуль.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
hallozin1
Рядовой
Сообщения: 36
Зарегистрирован: 02 авг 2021, 12:43
Имя: Алексей

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

Сообщение hallozin1 »

tol123 писал(а): 16 янв 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 можно на каждый вход
SSSR2000
Рядовой
Сообщения: 84
Зарегистрирован: 21 ноя 2022, 12:11
Имя: Alex
Благодарил (а): 3 раза
Поблагодарили: 6 раз

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

Сообщение SSSR2000 »

Пробую Ваш блок подружить с STM32H743, подключаю SPI0 (miso PB14, mosi PB15, sck PB13), в esp hclk - D5, hmiso - D6, hmosi - D7, hcs - D8, drdy - D1, соответственно в stm PB14 - hmiso, PB15 - hmosi, PB13 - hclk, а вот hcs и drdy каким образом подсоеденить чтобы работал Ваш блок AD7705.flp?
tol123
Рядовой
Сообщения: 79
Зарегистрирован: 16 июл 2021, 11:34
Имя: Anatoly
Поблагодарили: 2 раза

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

Сообщение tol123 »

Не знаю.

hcs - Выбор чипа (CS).
drdy - Готовность данных (DRDY).

Где можно задать пины?
Использует SPI-интерфейс:
MOSI – передача данных к АЦП
MISO – получение данных от АЦП
SCLK – тактовый сигнал
CS (Chip Select) – выбор микросхемы
DRDY (Data Ready) – сигнал готовности данных.

В начале скетча наверно, не проверял (глобально):
#define HCLK 13 // PB13
#define HMISO 14 // PB14
#define HMOSI 15 // PB15
#define HCS 8 // CS (Chip Select)
#define DRDY 1 // Data Ready

А почему STM32H743 разве не сможет измерить, то что вы хотите измерить с помощью AD7705/TM7705?

Можно передавать с микроконтроллера esp8266 (на котором проверено работает) по юарт. Так быстрее наверное выйдет.
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

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

Сообщение fefar51702 »

Ну да согласен на стм ацп покруче будет тысяч 7 раз быстрее чем-то внешка только проблемы использовать её вам придётся делать блок для ацп посредством кубы MX составить код и впихать в флпрог
А я в своё время Давненько предлагал реализовать нечто подобное из Кубы MX редактор написания кода в flprog но у нас как обычно в росии партия спросила что будем развивать дальше большинство проголосовало за СТМ и партия начала развивать ESP ...
SSSR2000
Рядовой
Сообщения: 84
Зарегистрирован: 21 ноя 2022, 12:11
Имя: Alex
Благодарил (а): 3 раза
Поблагодарили: 6 раз

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

Сообщение SSSR2000 »

Дело в том , что AD7705 стоит на измерении тока, с шунта снимается напряжение от 0 до 75 милливольт и обрабатывается этой микросхемой, к примеру она стоит в выпрямителях Новиком, расстояние соответственно имеет большое значение, вот поэтому и есть необходимость принимать данные с неё.
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

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

Сообщение fefar51702 »

потомучто у него в блоке прописано фиксировано под есп8266
const int dataReadyPin= 5;
const int chipSelectPin= 15;
пропишите свои пины

в принцыпи то да берутся практически любые ну почти
ток спи то же надо указать в блоке от стм под каким номером походу

я бы взял спи1
SCK == PA5
MISO == PA6
MOSI == PA7
CS == PA4
DRDY == PA3

но там переназначать я не вижу в флпроге как немного неудачный выбор взят на pb на нём же отладка висит но вам оно врядли помешает я свой жетег недоконца освоил так и валяется плата
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя