Страница 1 из 1

ADS1232 24bit

Добавлено: 26 окт 2019, 00:35
Ingwar
В поисках альтернативы связки AD8555 и AD7476 для тензодатчиков решил попробовать АЦП ADS1232 http://www.ti.com/lit/ds/symlink/ads1232.pdf.
https://ru.aliexpress.com/wholesale?cat ... xt=ADS1232
Нашел один из вариантов ее применения с принципиальными схемами и тестами https://gitlab.com/jousis/scale-featherwing
Из примера попробовал сделать ПБ.
ads1232.flp
Проверил на NANO, MEGA, STM - работает. Поскольку пример был для ESP32, думаю и на ESP8266 будет работать. Только на STM (под IDE) он работает как то не так... я бы сказал тормознуто.
Библиотека в чистом виде тут https://gitlab.com/jousis/ads1232-library

Поскольку языков программирования я не знаю, ПБ наверняка не оптимален.
Прошу знающих и умеющих, когда заняться будет нечем, посмотреть сие творение, а по возможности "причесать" и добавить неиспользованные в ПБ функции библиотеки.
Более полный пример тут https://gitlab.com/jousis/espresso-scale

З. Ы. На 10 килограммовом тензодатчике получил стабильную дискретность 1 грамм.

ADC1232 24bit

Добавлено: 26 окт 2019, 23:14
gmz_001
1 к 10000 это больше 16 бит. Странно по тому что цап дифференциальный и 24 бита делятся пополам, 12 на прложительную часть и 12 на отрицательную. Сигнал с тензодатчика можно сместить так что бы он начинался с отрицательного и ухрдил в положительное напряжение, но это нужно перед ним ставить инструментальный усилитель и подстраивать у него смещение.

На вопрос не отвечу, сам достаточно поверхностно знаю С по этому в чужом коде не разберусь.

ADC1232 24bit

Добавлено: 27 окт 2019, 00:11
Sancho
gmz_001 писал(а): 26 окт 2019, 23:14 Сигнал с тензодатчика можно сместить так что бы он начинался с отрицательного и ухрдил в положительное напряжение, но это нужно перед ним ставить инструментальный усилитель и подстраивать у него смещение.
По простому - точка отсчёта. У многих данный момент вызывает ступор, несмотря на явную очевидность. Иметь в запасе парочку LSB - отличное решение.

ADC1232 24bit

Добавлено: 27 окт 2019, 14:16
Ingwar
gmz_001 писал(а): 26 окт 2019, 23:14 Странно по тому что цап дифференциальный и 24 бита делятся пополам, 12 на прложительную часть и 12 на отрицательную.
Вопросом не владею настолько, что бы оспаривать. Но я как я понимаю, дифференциальный АЦП - это двухконтактное устройство. В принципе, он берет разницу между напряжениями на двух клеммах и преобразует ее в двоичное число. И почему каналы должны делится на 2 не знаю...
gmz_001 писал(а): 26 окт 2019, 23:14 Сигнал с тензодатчика можно сместить так что бы он начинался с отрицательного и ухрдил в положительное напряжение, но это нужно перед ним ставить инструментальный усилитель и подстраивать у него смещение.
Используемый датчик веса имеет 4 пленочных тензодатчика включенных мостом. Сам АЦП имеет встроенный усилитель. Соответственно сдвигать думаю, ничего не нужно.

ADS1232 24bit

Добавлено: 28 окт 2019, 09:12
Sancho
gmz_001 писал(а): 26 окт 2019, 23:14 1 к 10000 это больше 16 бит.
По порядку.
10 бит - 1024,
12 бит - 4096,
15 бит - 32768 - уже достаточно, чтобы 10000 описать в + и - .
gmz_001 писал(а): 26 окт 2019, 23:14 Странно по тому что цап дифференциальный и 24 бита делятся пополам, 12 на прложительную часть и 12 на отрицательную.
Вы немного заблуждаетесь - за то, какое число integer, положительное или отрицательное, отвечает всего один бит, старший.
Соответственно, для 24-х, 1 бит на знак и 23 бита на данные :)