Создание библиотеки усилителя тока MAX40080 для Arduino не работает

Я работал над созданием библиотеки для датчика MAX40080 от Maxim Integrated. Библиотека должна работать в соответствии с таблицей данных и примером кода, который я создал.

Насколько мне известно, необходимо установить только два регистра внутри устройства: конфигурацию (0x00) и конфигурацию FIFO (0x0A). Я установил следующие значения в этих регистрах

Конфигурация -> 0x0F0B Конфигурация FIFO -> 0x7400

Это должно дать мне текущее измерение в активном режиме в соответствии с таблицей данных. Но я не вижу никаких изменений в значении тока. У кого-нибудь есть идеи?

https://gitlab.com/UJUR007/max40080/-/tree/master

, 👍-1

Обсуждение

Привет @ujjval, добро пожаловать в Stack Overflow. Пожалуйста, отредактируйте свой вопрос, чтобы включить [минимальный, воспроизводимый пример] (https://stackoverflow.com/help/minimal-reproducible-example ), что демонстрирует проблему. Пожалуйста, не ссылайтесь на код на внешних сайтах - этот код невозможно найти, и внешние ссылки могут перестать работать, @romkey

@romkey, если вопрос неполный, пожалуйста, проголосуйте за закрытие, потому что "нужны подробности или ясность". Если вы находите вопрос интересным, вы можете использовать "Подписаться", чтобы получать уведомления, если OP добавит информацию к вопросу, @Juraj

Wire.begin (адрес), а не "Wire.begin (8,7)", прочитайте [документацию] (https://www.arduino.cc/reference/en/language/functions/communication/wire/begin /). Также вы должны вызвать Wire.available() после вызова Wire.requestFrom(), снова прочитайте [documentation](https://www.arduino.cc/reference/en/language/functions/communication/wire/available/)., @hcheung

Пожалуйста, разместите схему в том виде, в каком она у вас есть, с указанием всех подключений, включая питание и заземление. Вьющиеся картинки просто бесполезны. Также разместите ссылку на техническую информацию об аппаратных устройствах, которые вы используете, ссылки на azon, как правило, являются продажами, а не технической информацией., @Gil

MAX40080 по умолчанию требует отправки байта CRC. Вычисляете ли вы и отправляете CRC? Если вы этого не сделаете, то ваш датчик просто проигнорировал ваши попытки записи. Этот блог может помочь вам: https://community.element14.com/challenges-projects/design-challenges/experimenting-with-current-sense-amplifier/b/challenge-blog/posts/blog-2-introduction-to-max40080#mcetoc_1g088t9ma8, @Misaz

Я создал библиотеку https://github.com/misaz/MAX40080-Library но она не портирована на Arduino. Вам необходимо правильно реализовать функции в https://github.com/misaz/MAX40080-Library/blob/main/src/MAX40080_PlatformSpecific.c по проводным вызовам библиотеки, а затем Библиотека будет обрабатывать все коммуникации, включая вычисление CRC и проверку с помощью датчика для вас., @Misaz