Плата АЦП AD7705/TM7705, двойная 16-битная, SPI
Плата АЦП AD7705/TM7705, двойная 16-битная, SPI
Хотел использовать с 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
Если кто разобрался с ним, то просим помочь получить с датчика напряжение.
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
Если кто разобрался с ним, то просим помочь получить с датчика напряжение.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Плата АЦП AD7705/TM7705, двойная 16-битная, SPI
Делал давно , но работает)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Сержант
- Сообщения: 215
- Зарегистрирован: 21 сен 2020, 12:31
- Имя: tema
- Благодарил (а): 29 раз
- Поблагодарили: 1 раз
Плата АЦП AD7705/TM7705, двойная 16-битная, SPI
[quote=Sanok post_id=120210 time=1673764329 user_id=14750]
Пойдёт термопару мерить?
тоже интерисует
Пойдёт термопару мерить?
тоже интерисует
Плата АЦП AD7705/TM7705, двойная 16-битная, SPI
Если этот блок использовать как есть, то показывает 0,61 В на батарейке в 1,2 В, при измерении на одном выводе. Поэтому умножал на 2 или 2000 (если надо получить миливольты)
Добавил в функцию
Если не объединять выводы, то мерит до 1,225 вольт на батарейке 1,2 вольта
Если объединять выводы, то мерит до 4,225 вольт на батарейке 4,2 вольта.
Пока не понял сколько максимально можно подать на вывод. при том или ином варианте. Не охота спалить модуль.
Добавил в функцию
Код: Выделить всё
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;
Если объединять выводы, то мерит до 4,225 вольт на батарейке 4,2 вольта.
Пока не понял сколько максимально можно подать на вывод. при том или ином варианте. Не охота спалить модуль.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Плата АЦП AD7705/TM7705, двойная 16-битная, SPI
в настройках блока вместо 2,5 поставь 5tol123 писал(а): 16 янв 2023, 10:02 Если этот блок использовать как есть, то показывает 0,61 В на батарейке в 1,2 В, при измерении на одном выводе. Поэтому умножал на 2 или 2000 (если надо получить миливольты)
Добавил в функциюЕсли не объединять выводы, то мерит до 1,225 вольт на батарейке 1,2 вольтаКод: Выделить всё
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;
Если объединять выводы, то мерит до 4,225 вольт на батарейке 4,2 вольта.
Пока не понял сколько максимально можно подать на вывод. при том или ином варианте. Не охота спалить модуль.
подавать 5v можно на каждый вход
-
- Рядовой
- Сообщения: 84
- Зарегистрирован: 21 ноя 2022, 12:11
- Имя: Alex
- Благодарил (а): 3 раза
- Поблагодарили: 6 раз
Re: Плата АЦП AD7705/TM7705, двойная 16-битная, SPI
Пробую Ваш блок подружить с 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?
Re: Плата АЦП AD7705/TM7705, двойная 16-битная, SPI
Не знаю.
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 (на котором проверено работает) по юарт. Так быстрее наверное выйдет.
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
Ну да согласен на стм ацп покруче будет тысяч 7 раз быстрее чем-то внешка только проблемы использовать её вам придётся делать блок для ацп посредством кубы MX составить код и впихать в флпрог
А я в своё время Давненько предлагал реализовать нечто подобное из Кубы MX редактор написания кода в flprog но у нас как обычно в росии партия спросила что будем развивать дальше большинство проголосовало за СТМ и партия начала развивать ESP ...
А я в своё время Давненько предлагал реализовать нечто подобное из Кубы MX редактор написания кода в flprog но у нас как обычно в росии партия спросила что будем развивать дальше большинство проголосовало за СТМ и партия начала развивать ESP ...
-
- Рядовой
- Сообщения: 84
- Зарегистрирован: 21 ноя 2022, 12:11
- Имя: Alex
- Благодарил (а): 3 раза
- Поблагодарили: 6 раз
Re: Плата АЦП AD7705/TM7705, двойная 16-битная, SPI
Дело в том , что AD7705 стоит на измерении тока, с шунта снимается напряжение от 0 до 75 милливольт и обрабатывается этой микросхемой, к примеру она стоит в выпрямителях Новиком, расстояние соответственно имеет большое значение, вот поэтому и есть необходимость принимать данные с неё.
- fefar51702
- Сержант
- Сообщения: 248
- Зарегистрирован: 26 июн 2022, 07:35
- Имя: Валера
- Благодарил (а): 1 раз
- Поблагодарили: 5 раз
Re: Плата АЦП AD7705/TM7705, двойная 16-битная, SPI
потомучто у него в блоке прописано фиксировано под есп8266
const int dataReadyPin= 5;
const int chipSelectPin= 15;
пропишите свои пины
в принцыпи то да берутся практически любые ну почти
ток спи то же надо указать в блоке от стм под каким номером походу
я бы взял спи1
SCK == PA5
MISO == PA6
MOSI == PA7
CS == PA4
DRDY == PA3
но там переназначать я не вижу в флпроге как немного неудачный выбор взят на pb на нём же отладка висит но вам оно врядли помешает я свой жетег недоконца освоил так и валяется плата
const int dataReadyPin= 5;
const int chipSelectPin= 15;
пропишите свои пины
в принцыпи то да берутся практически любые ну почти
ток спи то же надо указать в блоке от стм под каким номером походу
я бы взял спи1
SCK == PA5
MISO == PA6
MOSI == PA7
CS == PA4
DRDY == PA3
но там переназначать я не вижу в флпроге как немного неудачный выбор взят на pb на нём же отладка висит но вам оно врядли помешает я свой жетег недоконца освоил так и валяется плата
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя