MPS20N0040D (датчик давления) работает в 1/5 диапазона
- Войдите на сайт для отправки комментариев
Втр, 08/12/2020 - 22:19
В продолжение темы: http://arduino.ru/forum/obshchii/laboratornyi-stend-dlya-izmereniya-davleniya
Подключил такой датчик,
по такой схеме:
Датчик - Nano
VCC - 5V
OUT - D2
SCK - D3
GND - GND
и через плоттер получил такой график:
Код:
/* Pressure Measurements with the MPS20N0040D Breakout Board with the HX710B/HX711 ADC 5V Supply Voltage */ #include <Q2HX711.h> const byte MPS_OUT_pin = 2; // OUT data pin const byte MPS_SCK_pin = 3; // clock data pin int avg_size = 10; // #pts to average over Q2HX711 MPS20N0040D(MPS_OUT_pin, MPS_SCK_pin); // start comm with the HX710B void setup() { Serial.begin(9600); // start the serial port } void loop() { float avg_val = MPS20N0040D.read(); delay(10); Serial.println(avg_val,0); // print out the average }
Датчик на 40кПа, что соответствует 300 мм рт.ст., но начинает зашкаливать уже при 65 мм рт.ст. (показания тонометра)
Возможно ли как-то решить данную проблему? Где-то слышал, что проблема в библиотеке, якобы она не подходит к данному операционному усилителю, но ничего подходящего найти не смог.
MPS20N0040D.
setGain(1);
1. Форум ужимает картинки, если их размеры превышают примерно 780 пикселей. Поэтому картинки бОльшей ширины размещать на форуме не рекомендуется - на них ничего не видно.
2. Совершенно непонятно, что Вы измеряли, как это делали, что изображено на графике и что получается в коде. Поясните, пожалуйста.
1. Учту
2. Как вы и советовали, врезался датчиком в магистраль тонометра и снял с него показания. На графике изображена зависимость давления в магистрали тонометра от времени, во время измерения пульса на руке. В коде берутся значения в датчика и выводится в серийный порт
Думаю неверно применил ваш совет, диапазон не изменился. Можете подробнее объяснить?
поставьте настройку усиления к примеру в setup -
MPS20N0040D.
setGain(1);
Так?
1. Учту
2. Как вы и советовали, врезался датчиком в магистраль тонометра и снял с него показания. На графике изображена зависимость давления в магистрали тонометра от времени, во время измерения пульса на руке. В коде берутся значения в датчика и выводится в серийный порт
1. Это надо не учитывать, а переделывать - не видно же ничего!
2. Так а что именно выдает датчик и в каких единицах?
Так?
А теперь объясните, что именно Вы сделали и с какой целью.
Так?
да, библиотеку не смотрел, потом можно усиление попытаться подобрать 1,2,4,8,16 и тд
Никаких изменений, упорно измеряет до 70 мм рт.ст.
MPS20N0040D.
setGain(1);
Там библиотека то три строчки.
Gain может быть 128(default), 64 и 32. Если мы хотим растянуть шкалу, то наверное, мне так кажется, имеет смысл растянуть шкалу, установив усиление на 32.
Насколько я понял из вывода в статье, ссылка на которую приведена в предыдущем посте - 40 кПа товарищ тоже не получил. Типа сам датчик на 40, а обвязка лажает.
Ничего не меняется, ощущение что 70мм рт.ст. предел для данного датчика, хотя везде пишется о 40кПа, что примерно 300мм рт.сб.
А при установке
вообще белибирду выдаёт, которая с
она никак с давлением не связана. На значения 128, на 16 выдаёт, но так же до 70 мм рт.ст.
В общем хелп, как можно расширить диапазон с 9,3 хотя бы до 18кПа? Так можно будет замерить хотя бы какие-то импульсы во время измерения систолического давления
Есть ли шанс решить данную проблему?
Есть ли шанс решить данную проблему?
а если создать давление и зафиксировать, какую картинку рисует при усилении 32?
Зафиксировать давление? Или что показывает? Показания не отличаются ни при каком усилении.
Здесь в конце вроде бы нашли решение: http://arduino.ru/forum/obshchii/datchik-davleniya-s-atsp-hx710b-podklyuchenie-k-arduino
Можно ЗАКРЫВАТЬ тему, в скетче ничего менять не нужно, всё решилось подпайкой резистора 14кОм между 2-й ногой на "mps20n0040d" и VCC на плате (по совету нужно было 15кОм, но не хватило резистора. Диапазон видимо расширился не полностью, но в моём случае и этого с головой, в общем ставьте 15кОм)

