Перейти к содержанию

Проблемы с подключение АЦП к контроллеру


Гость izakom

Рекомендуемые сообщения

Добрый день,

Никак не могу, подключить АЦП к микроконтроллеру. Будет здраво, если кто-нибудь сможет подсказать где моя ошибка или хотя бы где ее искать.

Я подключаю ADS1240 к arduino UNO. Описание АЦП слишком тяжелое, поэтому прикрепляю ссылку

http://www.ti.com/lit/ds/sbas173f/sbas173f.pdf
Также во вложении прикрепил 2 схемы подключения, которые побывал.
Контроллер общается с АЦП по SPI, где D10 -SS, D11 - MOSI, D12 - MISO, D13 - SCLK.

Сейчас моя задача, измерять напряжение на потенциометре с достаточной точностью. 
К сожалению внутренний АЦП arduino 10 разрядный, поэтому пытаюсь подключить внешний.

Также прикрепляю программу, при помощи которой пытаюсь снимать показания. Но к сожалению на контроллер приходит только "0".

Схема_2.pdf

Схема_1.pdf

Тестова программа.txt

Схема_2.pdf

Схема_1.pdf

Тестова программа.txt

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Гость izakom сказал:

на контроллер приходит только "0"

А SPI вообще работает и если работает, то так, как описано в даташите на АЦП? Почитайте регистры, в которых заранее известно значение, например тот же FSR0 должен выдавать 59h

Ссылка на комментарий
Поделиться на другие сайты

Попробовал - без изменений.
Может я не правильно настроил SPI?
я настроил так: 

  • CPOL=0, CPHA=1

Чтение — на спаде, запись — на фронте.

  • Частота SPI 2 МГц.
  •  Порядок посылки битов: MSBFIRST — первым идёт старший бит посылки

Как можно убедиться, что проблема именно в  SPI, а не том как я подключил АЦП?
 

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Для начала ткнуться осциллом в SPI и посмотреть, работает ли он вообще. И насколько правильно. Может там SS поднимается после передачи каждого байта.

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

К сожалению, до него доберусь только завтра (в лучшем случае).
Может можно как-то проверить  без него? 

Чтобы проверить вообще отсылает ли что-нибудь SPI, я соединил MISO и MOSI на контроллере.
При отправке 0x1A как и ожидалось пришло 26.

Пробовал менять время задержки м/у отправкой команды и ответом с АЦП - не дало результатов.
 

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Линия CS правильно работает? Идеальный вариант - отправить в помойку ардуйяйские библиотеки вместе с IDE и написать код по человечески. Тогда будет понятно, в чем проблема.

Ссылка на комментарий
Поделиться на другие сайты

Вы тактируете SPI и сам АЦП одной частотой? А в даташите написано, что частота SPI должна быть меньше частоты АЦП в 4 раза (минимум).

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

@Геннадий Спасибо, действительно не правильно понял как пользоваться микросхемой. Теперь тактовая частота АЦП, берется с кварцевого резонатора на 4.9152МГц. По схеме ниже, с конденсаторами 20пФ. 

Я наконец раздобыл цифровой анализатор, результаты прикрепляю.
Можете подсказать, правильно ли реализован SPI для данной микросхемы? Время м/у командой и ожидаемым ответом я пробовал разное и 50*Tosc и 50000*Tosc, результат тотже = 0000 0000.

И может ли быть ошибка в чем то еще? Или я всетаки испортил микросхему при монтаже? 

Screenshot_1.png

Screenshot_2.png

Изменено пользователем izakom
Ссылка на комментарий
Поделиться на другие сайты

Прикрепляю полную схему соединения и увеличенный SPI интерфейс.

 

 

 

Снимок1.PNG

Schematic_New-Project_Sheet-1_20180427132355.pdf

Снимок2.PNG

Изменено пользователем izakom
Ссылка на комментарий
Поделиться на другие сайты

 

//Пытаюсь считать значение регистра с адресом 0Сh

#include <SPI.h>
void setup() {
   Serial.begin(9600);  
// Управление ведомым устройством 10 pin  
  int SS = 10;            
  pinMode(SS, OUTPUT);
  digitalWrite(SS, HIGH);

// Настройка SPI Интерфейса
  SPI.begin();
  SPI.setBitOrder(MSBFIRST);
  SPI.setClockDivider(SPI_CLOCK_DIV32);
  SPI.setDataMode(SPI_MODE1);
  
}

void loop()
{
  
 
  digitalWrite(SS, LOW);                // Начало общения с АЦП

   SPI.transfer(0x1C);  // отправка команды 0001 1100
  SPI.transfer(0x01);  // отправка команды READ - 0000 0001
  delay(50*0.203);      // задержка 50 * Tosc
  SPI.transfer(0x00);
  SPI.transfer(0x00);
  SPI.transfer(0x00);
  SPI.transfer(0x00);
  SPI.transfer(0x00);
  SPI.transfer(0x00);

  digitalWrite(SS, HIGH);               // Конец общения с АЦП
     SPI.endTransaction();

   delay(25);
  }   
 

Изменено пользователем izakom
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...