ADS1232 24bit

Создаем свой блок. Вопросы, помощь знатоков.
Ответить
Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

ADS1232 24bit

#1

Сообщение Ingwar » 26.10.2019{, 00:35}

В поисках альтернативы связки 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
(125.88 КБ) 77 скачиваний
Проверил на NANO, MEGA, STM - работает. Поскольку пример был для ESP32, думаю и на ESP8266 будет работать. Только на STM (под IDE) он работает как то не так... я бы сказал тормознуто.
Библиотека в чистом виде тут https://gitlab.com/jousis/ads1232-library

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

З. Ы. На 10 килограммовом тензодатчике получил стабильную дискретность 1 грамм.
Последний раз редактировалось Ingwar 27.10.2019{, 14:17}, всего редактировалось 1 раз.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.

gmz_001
Рядовой
Сообщения: 13
Зарегистрирован: 19.10.2017{, 10:49}
Репутация: 0

ADC1232 24bit

#2

Сообщение gmz_001 » 26.10.2019{, 23:14}

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

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

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

ADC1232 24bit

#3

Сообщение Sancho » 27.10.2019{, 00:11}

gmz_001 писал(а):
26.10.2019{, 23:14}
Сигнал с тензодатчика можно сместить так что бы он начинался с отрицательного и ухрдил в положительное напряжение, но это нужно перед ним ставить инструментальный усилитель и подстраивать у него смещение.
По простому - точка отсчёта. У многих данный момент вызывает ступор, несмотря на явную очевидность. Иметь в запасе парочку LSB - отличное решение.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Ingwar
Полковник
Сообщения: 1929
Зарегистрирован: 28.10.2015{, 22:47}
Репутация: 223
Откуда: Ленобласть
Имя: Игорь

ADC1232 24bit

#4

Сообщение Ingwar » 27.10.2019{, 14:16}

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

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

ADS1232 24bit

#5

Сообщение Sancho » 28.10.2019{, 09:12}

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

Ответить

Вернуться в «Разработка пользовательских блоков»