Как получить данные о весе с датчиков стеклянных электронных весов для ванной?
Я делаю небольшой проект с весами для ванной, но столкнулся с некоторыми проблемами. Я использую Arduino Uno V3, усилитель модуля HX711 и весы.
Масштаб:
Усилитель HX711:
Я разобрал весы, чтобы добраться до проводов датчиков, и я немного запутался. У этих датчиков по три провода каждый. Так что это датчики полумоста. Весы используют 4 датчика, поэтому, когда весы измеряют, они измеряют с помощью полного моста. И эти 3 провода — КРАСНЫЙ, ЧЕРНЫЙ, СИНИЙ. Я не знаю, что такое черный (GND или положительный) и синий (такая же догадка). Четыре красных провода имеют названия E+, E-, S+ и S-. Я предоставлю фотографию разобранных весов.
Два синих провода спаяны вместе с каждой стороны. Я думаю, красные провода — это сигнал (S+, S-, E+ и E-), но что такое синий и черный? Затем я припаял провода к этим проводам, чтобы получить показания датчика, но я не знаю, что есть что.
Датчик выглядит так:
Я попробовал:
- Две разные библиотеки для этого проекта, обе называются HX711 (для этого модуля)
- Изменение A+ на A- на модуле
// Hx711.DOUT - pin #A1 // Hx711.SCK - pin #A0 #include "hx711.h" Hx711 scale(A1, A0); void setup() { Serial.begin(9600); } void loop() { Serial.print(scale.getGram(), 1); Serial.println(" g"); delay(200); }
безуспешно. Я получаю 0.0g на последовательном мониторе в спокойном состоянии и то же самое при нагрузке.
Мои вопросы: Как узнать, какой провод GND, +5V, а какой сигнальный? Как подключить 4 таких датчика для считывания данных? Как использовать доступные библиотеки HX711 и модуль HX711? И, самое главное, как считывать данные с этих весов по последовательному порту?
@silent_bob, 👍18
Обсуждение4 ответа
Лучший ответ:
Ваши четыре полумостовых датчика нагрузки могут быть соединены в полный мост Уитстона, как в https://electronics.stackexchange.com/a/199470/30711
Если ваши датчики похожи на этот 50-килограммовый тензодатчик от SparkFun https://www.sparkfun.com/products/10245 или http://www.ebay.com/itm/4pcs-Body-Load-Scale-Weighing-Sensor-Resistance-Strain-Half-bridge-Sensors-50kg-/251873576571 от Ebay, то они могут иметь датчик сжатия и датчик растяжения на верхней поверхности. На сайте Ebay есть такая диаграмма:
... что указывает на положительный тензодатчик на красно-белом и отрицательный на красно-черном. (обратите внимание, что порядок окраски на этой диаграмме не соответствует порядку окраски на этой картинке. У меня есть похожий датчик с сине-красно-черными цветами, и положительный тензодатчик - это правая пара, отрицательный - слева.) Измеренная поверхность на центральном стержне между соединенными лицом к лицу «E» в датчике должна действовать как параллельный стержень и иметь части под сжатием и под растяжением, а не просто под растяжением. В поперечном сечении измерительный стержень в центре - это своего рода поперечина в Z-образной пружине. В этом случае деформации противостоят друг другу, и, если изготовлено хорошо, уменьшение сопротивления в отрицательной части деформации компенсирует увеличение сопротивления в положительной части деформации, а общее сопротивление бело-черное должно быть постоянным. Еще нужно настроить мост так, чтобы делители напряжения двигались в противоположных направлениях с добавленной нагрузкой, и 4 устройства, соединенные в петлю «белый-белый» и «черный-черный», должны работать, как указано выше.
Если вы аккуратно подключите четыре из них, перевернув их так, чтобы чувствительные к напряжению части конструктивно разбалансировали мост, вы сможете использовать все четыре датчика без дополнительных резисторов.
В принципе, две диагонально-противоположные стороны моста Уитстона образованы компрессионными элементами двух датчиков, соединенных последовательно, в то время как оставшиеся две стороны моста образованы двумя натяжными элементами из двух ячеек. При нагрузке на все датчики сопротивления сжатию уменьшаются, а сопротивления растяжению увеличиваются, и это выводит мост из равновесия.
Чтобы получить это, соедините все четыре датчика в большое кольцо с максимальным сопротивлением, сопоставьте цвета и изначально игнорируйте красные провода центрального отвода. (Это функция спаянных вместе синих и черных проводов в вашей шкале.) Выберите два противоположных (красных) центральных отвода как E+ и E-, а оставшиеся два (красных) центральных отвода как S+,S-. Подайте напряжение возбуждения на E+/E- из схемы выше и считайте силовую разность напряжений через S+/S-, и это то, что вы подаете в свой HX711 как A+ и A- (игнорируйте B+/B- как второй, неиспользуемый канал.)
Вот схема с датчиками 1-4 как G1 G2, G3, G4 согласно указанным выше спецификациям, с применением возбуждения на красных G1 и G3 и считыванием сигналов с красных G2 и G4. Датчик G4 немного нагружен некоторым положительным напряжением, увеличивающим сопротивление G4+, и некоторым отрицательным напряжением, уменьшающим сопротивление G4-. В идеале, нагрузка на G4 25 кг даст 0,5 мВ/В, умноженное на его напряжение возбуждения 2,5 В, создавая 1,250 мВ через Sig+/Sig-, и растягивая R8 до 1001 Ом и сжимая R7 до 999 Ом, как показано. (Схема/симулятор на electronics.stackexchange.com довольно крутой.)
Вместо «белых» проводов на схеме и на моих датчиках считайте это «синими» проводами от датчиков ваших весов.
С двумя из этих полумостовых датчиков не следует подбирать цвета концов и подключать белый к черному (синий к черному) и черный к белому (черный к синему), накладывая напряжение возбуждения между этими двумя соединениями, и считывать разницу по красным, поскольку увеличенная нагрузка тянет одну сторону высоко, а другую низко. Это будет выглядеть как простые мосты Уитстона с 4 резисторами в общих таблицах данных, а не как схема 4-полумост/8 резисторов выше.
- HX711 обеспечивает питание моста и усиливает дифференциальное напряжение моста. Оригинальная печатная плата весов (которая управляет ЖК-дисплеем) также обеспечивает питание моста. Вы вряд ли получите какие-либо полезные показания, пока обе схемы подают питание на мост.
(Вы можете обрезать существующие провода и прикрепить разъемы, чтобы иметь возможность переключаться между исходной платой и вашей схемой Arduino.)
- Некоторые весы, подобные показанным, используют для питания электроники батарею 9 В. Такое напряжение, если оно используется, скорее всего, будет несовместимо с подключением Arduino (обычно питается от 3,3 В или 5 В) или HX711 (питается от VDD в диапазоне от 2,7 В до 5,5 В) одновременно с оригинальной платой.
Текст в основном из моих комментариев с некоторыми дополнениями - с добавленным изображением.
Датчики, вполне вероятно, сконфигурированы так, как показано на рис. 1 в техническом описании.
Если это так, то между двумя точками должно быть напряжение +5 и 0 В, а между двумя другими — сигнал веса.
Используйте цифровой мультиметр для проверки Vdd (вероятно, 5 В, если батарея фотоэлектрическая, ~= 3 В с литиевой батареей). Найдите два вывода для соединения с ~= Vdd. Другие два, вероятно, на Vdd/2 выше земли. Вероятно, эффективно 4 провода, поэтому каждый из красных проводов с одной стороны может быть подключен к одному с другой стороны — омметр вам это покажет. Подключите измеритель на нижнем диапазоне V между двумя другими и посмотрите, меняются ли показания при изменении веса. Сообщите об этом.
Как говорит jwpat7, для получения правильных показаний вам может потребоваться отключить питание датчиков от HX711.
HX711 выглядит хорошо. Менее 1 доллара за модуль в скромном объеме на Alibaba и менее 0,50 доллара США за микросхему в сотнях.
Что за Fig1? Я знаю, где GND и VDD на модуле HX711, и куда идут сигнальные провода (A-,A+,B-,B+). Это ясно. Я не знаю, какие цвета проводов от датчиков GND VDD и сигнальные. Я так и сделаю. Я снова подам питание на весы (3 В от батареи) и попробую измерить провода, чтобы определить, что есть что (я подключу некоторую нагрузку к весам). У меня есть мультимер, поэтому я попробую определить, какие провода сигнальные, а какие GND и VDD. Я сообщу. Спасибо, Рассел. –
См. рисунок <b>Технического паспорта HX711</b> для более крупного просмотра этого изображения.
Датчик, который у вас есть в весах, представляет собой простой делитель напряжения. Каждый состоит из одного резистора и одного экстензиометра, оба соединены последовательно. Один провод (E+) - это VDD, другой (E-) - это GND, а третий - это выход делителя (S). Вы не можете напрямую использовать его с HX711, которому нужны мостовые датчики, а не просто делители. Вы можете попробовать установить 1/2vdd на S- и подключить сигнал от датчика к S+. В случае, если вы получите отрицательный вес, просто поменяйте эти соединения. Ваше предположение, что ваши весы используют полный мост, поскольку у них четыре датчика, совершенно неверно. Вы можете считывать сигналы с датчиков весов, используя аналоговые входы в вашем Arduino (без HX711), но вы должны усилить его перед этим, чтобы получить разумное разрешение. Удачи! Грег
- Как получить ненулевой выход из HX711 и ячейки загрузки?
- Датчик нагрузки и HX711 выводят только нули
- Печатать на serial monitor, когда он обнаруживает изменение значения
- Arduino показывает "avrdude: ser_open(): can't open device ”\\.\COM3" после последней загрузки
- FlySky TH9X с Arduino: невозможно заставить функциюpulsIn() возвращать разумные значения для любого канала
- Код датчика RFID+отпечатков пальцев
- Получить изображение из модуля Fingerprint
- Проблема с подключением датчика сердцебиения и температуры на arduino uno, но работает по отдельности
Датчики, вполне возможно, настроены как на рис. 1 в техническом описании. Если так, то должно быть +5 и 0 В между двумя точками и сигнал веса между двумя другими. Используйте цифровой мультиметр для проверки на 5 В (вероятно, 5 В = E+). Поэтому найдите два провода с Vdd (5 В или аналогичным). Другие два, вероятно, на Vdd/2 выше земли. Подключите измеритель к нижнему диапазону V между двумя другими и посмотрите, меняются ли показания при изменении веса. | Сообщите об этом. || Как говорит jwpat7, вам может потребоваться отключить питание датчиков от источника питания HX711, чтобы получить правильные показания. | HX711 выглядит хорошо., @Russell McMahon
Что за Рис1? Я знаю, где GND и VDD на модуле HX711, и куда идут сигнальные провода (A-,A+,B-,B+). Это понятно. Я не знаю, какие цвета проводов от датчиков GND VDD и Signal. **Я сделаю это**. Я снова подам питание на весы (3 В от батареи) и попробую измерить провода, чтобы определить, что есть что (я добавлю некоторую нагрузку на весы). У меня есть мультимер, поэтому я попробую определить, какие провода сигнальные, а какие — GND и VDD. Я сообщу позже. Спасибо, Рассел., @silent_bob
Извините - Рис. 1 здесь в [**Техническом описании HX711**](http://www.aviaic.com/uploadfile/hx711_brief_en.pdf), @Russell McMahon
Пожалуйста, я сделал именно так, как описано. У меня странные показания, но когда я нажимаю на датчик, значение уменьшается, а не увеличивается! Можете ли вы помочь, пожалуйста??, @Ruben Bisso Tjade