Помогите с Ads1118
- Войдите на сайт для отправки комментариев
Добрый день! Делаю диплом на Ардуино. Нужно считывать информацию с датчиков температуры: терминаторов, термопар. Т.к. аналоговые входы Ардуино Мега имеют всего 10-битный АЦП, а этого недостаточно чтобы добиться большой точности, то решил использовать АЦП ADS1118, т.к. имеет встроенный датчик температуры и коэффициент усиления до 120. В общем имею 2 таких АЦП. Понадеялся на библиотеку ADS1118.h для Ардуино, но что-то возникли у меня проблемы. На мой взгляд она не очень рабочая, т.к. не могу наладить коммуникацию с микросхемой. Это в общем...
А теперь расскажу что сделал. Сделал печатную плату, запаял микросхемы, подключил к Ардуино и не работало. Начал разбираться.. Перепутал MISO и MOSI выходы. Поменял местами. Все равно не работает. Начал искать дальше. Были ошибки в коде примера библиотеки. В итоге вроде заработало. Но выдавало одни нули. Решил отключить АЦП от Ардуино. Дальше начинает выдавать нули. Я думал программа зациклился на этапе ads1118.begin() т.к. устройство отключено. Ладно. Подключил остилограф. Нету ничего на выходе SPI в Ардуино. Даже задающий частоты SCK.
Может кто-то работал с этими АЦП и поможет как-то наладить с ними коммуникацию?
только с ads1115, подключение по I2C
А чего не подойдёте к руководителю диплома?
Трудно будет наладить коммуникацию при неработающих выводах.
Трудно будет наладить коммуникацию при неработающих выводах.
Этим я хотел сказать, что библиотека для этого АЦП - кривая.
а ВЫ точно правильно подключили?
а ВЫ точно правильно подключили?
Подключение я проверил уже 10 раз, стандартное SPI устройство. И на Мега это 50, 51, 52, 53(CS)
53 CS это с какого перепугу, CS нужен свой, любой, зацепите на любой свободный, к примеру 5 или 10, его и пропишите в скетче при инициализации ads1118
Ну так выкиньте ее, пользуйтесь прямой. Называется "SPI.h" и входит в стандартный комплект постаки.
53 CS это с какого перепугу, CS нужен свой, любой, зацепите на любой свободный, к примеру 5 или 10, его и пропишите в скетче при инициализации ads1118
При единственном устройстве на SPI 53 - лучший выбор.
Если датчика 2, для одного можно использовать 53, а для другого - любой другой пин, хотя бы и 5.
на 53 дисплей разве не завязан?
на 53 дисплей разве не завязан?
Покажите, где Вы в сообщениях ТС видите слово "дисплей".
Или хрустальный шар подсказал?
на 53 дисплей разве не завязан?
Покажите, где Вы в сообщениях ТС видите слово "дисплей".
Или хрустальный шар подсказал?
Хрустальный шар, а что, нет разве его, ждёмс, что ТС скажет )))
2ТС: скетч и схему в студию!
2ТС: скетч и схему в студию!
Вечером буду с компа, залью скетч и схему.
2ТС: скетч и схему в студию!
#include "Ads1118.h"
#include "SPI.h"
#define CS 53
Ads1118 ads1118(CS); // instantiate an instance of class Ads1118
void setup(){
ads1118.begin();
Serial.begin(9600);
}
void loop(){
Serial.println(ads1118.readTemp(), DEC);
Serial.println(ads1118.adsRead(ads1118.AIN0), DEC);
Serial.println(ads1118.adsRead(ads1118.AIN1), DEC);
Serial.println(ads1118.adsRead(ads1118.AIN2), DEC);
Serial.println(ads1118.adsRead(ads1118.AIN3), DEC);
Serial.println();
delay(1000);
}
COM порт (при отключенном АЦП, а при подключенном везде нули):
Current_config is:49B
0.0000000000
Current_config is:449B
1.0976876068
Current_config is:549B
0.0000000000
Current_config is:649B
0.0000000000
Current_config is:749B
0.0000000000
Для вставки кода вверху есть кнопка:
А на входы ацп что подаете?
Что за датчики такие - терминаторы?