Создание библиотеки усилителя тока MAX40080 для Arduino не работает
Я работал над созданием библиотеки для датчика MAX40080 от Maxim Integrated. Библиотека должна работать в соответствии с таблицей данных и примером кода, который я создал.
Насколько мне известно, необходимо установить только два регистра внутри устройства: конфигурацию (0x00) и конфигурацию FIFO (0x0A). Я установил следующие значения в этих регистрах
Конфигурация -> 0x0F0B Конфигурация FIFO -> 0x7400
Это должно дать мне текущее измерение в активном режиме в соответствии с таблицей данных. Но я не вижу никаких изменений в значении тока. У кого-нибудь есть идеи?
https://gitlab.com/UJUR007/max40080/-/tree/master
@ujjval, 👍-1
Обсуждение0
Смотрите также:
- Multiple Wire.write() не работает для Arduino Nano I2C
- Проблема с отображением времени Ntp на oled с использованием библиотеки U8G2.
- Совместимость с частотой двухпроводного интерфейса (TWI) и SMBus
- Отправка и получение различных типов данных через I2C в Arduino
- Как работают функции вне цикла void?
- Как отображать переменные на 0,96-дюймовом OLED-дисплее с библиотекой u8glib?
- Как отправить строку на мастер с помощью i2c
- Как выбрать альтернативные контакты I2C на ESP32?
Привет @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