• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь Весы на HX711

Vypra

Member
Перестали работать весы на HX711. Хотя исправно работали долго на этой же плате. Потом я занимался модулем СИМ800 и как-то не обращал внимание на показания весов.
Проблема: Показания постепенно увеличиваются, при каждом измерении приплюсовывает вес.
Для проверки загружаю скетч из примера библиотеки:

Код:
#include "HX711.h"

// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 12;
const int LOADCELL_SCK_PIN = 14;

HX711 scale;

void setup() {
  Serial.begin(9600);
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
}

void loop() {

  if (scale.is_ready()) {
    long reading = scale.read();
    Serial.print("HX711 reading: ");
    Serial.println(reading);
  } else {
    Serial.println("HX711 not found.");
  }

  delay(1000);
 

}
Вот что показывают:

Код:
HX711 reading: 64005

HX711 reading: 139761
HX711 reading: 160900
HX711 reading: 168170
HX711 reading: 170745
HX711 reading: 171133
HX711 reading: 172102
HX711 reading: 172397
HX711 reading: 172359
HX711 reading: 172833
HX711 reading: 173455
HX711 reading: 173758
HX711 reading: 173734
HX711 reading: 173554
HX711 reading: 174443
Это с отключенными от HX711 тензодатчиками. С подключенными та же история, но меньше показания. Все равно плюсует. При резете ESP8266 показания скидываются в начало и увеличивается по новой.

Что может быть? Не хочется верить в то, что сгорел модуль HX711.
 

enjoynering

Well-known member
Что бы понять что происходит надо открыть файл HX711.cpp в папке с библиотекой и изучить функцию read()
 

Vypra

Member
Что бы понять что происходит надо открыть файл HX711.cpp в папке с библиотекой и изучить функцию read()
Вот нашел интересную статью. Допускаю прикол с питанием. Аккумулятор возможно просел. А плата у меня такая. Но посмотреть смогу только дома. Вопрос на паузу ставим.
 

Vypra

Member
как использовать непонятные библиотеки из интернета.
Ну вот так вот и получается, когда ты учишься - берешь непонятные библиотеки, потому как понятную сам явно не напишешь ))) Самое интересное что непонятная работала то.
Кстати, может посоветуете для ESP8266 хорошую библиотеку? Библиотеки для ардуины часто некорректно работают с ESP.
 

enjoynering

Well-known member
Я обычно открываю исходники библиотек и бегло сравниваю с даташитом. Если нравиться использую, если нет, то переписываю. Чаще увы приходится переписывать.

Советую присмотреться к сайту os.mbed.com и их репозиторию os.mbed.com/code. В отличии от ардуино писателей их пишут более-менее грамотные люди. Меньше кривого кода, больше оптимизаций, стороже следуют документации на сенсоры, библиотеки отрабатывают нештантые ситуации (потеря связи с чипом, деление на ноль и тд)
 

Vypra

Member
Итак, я перепаял модуль HX711 на новый и резисторы на делителе R1 R2 модуля на 2 одинаковые 3 кОм. Результата не дало. Показания прыгают.
Питание на входе стабильное 3,3В, возможные скачки гасятся электролитом 330 mf и керамическим конденсатором 100n.
 

nikolz

Well-known member
Перестали работать весы на HX711. Хотя исправно работали долго на этой же плате. Потом я занимался модулем СИМ800 и как-то не обращал внимание на показания весов.
Проблема: Показания постепенно увеличиваются, при каждом измерении приплюсовывает вес.
Для проверки загружаю скетч из примера библиотеки:

Код:
#include "HX711.h"

// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = 12;
const int LOADCELL_SCK_PIN = 14;

HX711 scale;

void setup() {
  Serial.begin(9600);
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
}

void loop() {

  if (scale.is_ready()) {
    long reading = scale.read();
    Serial.print("HX711 reading: ");
    Serial.println(reading);
  } else {
    Serial.println("HX711 not found.");
  }

  delay(1000);
 

}
Вот что показывают:

Код:
HX711 reading: 64005

HX711 reading: 139761
HX711 reading: 160900
HX711 reading: 168170
HX711 reading: 170745
HX711 reading: 171133
HX711 reading: 172102
HX711 reading: 172397
HX711 reading: 172359
HX711 reading: 172833
HX711 reading: 173455
HX711 reading: 173758
HX711 reading: 173734
HX711 reading: 173554
HX711 reading: 174443
Это с отключенными от HX711 тензодатчиками. С подключенными та же история, но меньше показания. Все равно плюсует. При резете ESP8266 показания скидываются в начало и увеличивается по новой.

Что может быть? Не хочется верить в то, что сгорел модуль HX711.
Правильно я понял что Вы на этом же ESP ставили другую прогу?
Если да, то предположу что Вы изменили режим АDC и теперь он измеряет напряжение питания а не напряжение внешнее.
 

Vypra

Member
Правильно я понял что Вы на этом же ESP ставили другую прогу?
Если да, то предположу что Вы изменили режим АDC и теперь он измеряет напряжение питания а не напряжение внешнее.
Ну дело не в железе, плату поменял на абсолютно новую. Больше ничего по железу не менял.
За время, пока мы ковыряли СИМ800, изменилось следующее:
- версия платы с 2.4.2 до 2.5.2.
- выскакивало сообщение обновить библиотеки, обновлял. Обновились HX711.h, Wire.h. Возможно еще что-то.
- Убрал SoftwareSerial.h.
Сколько раз говорил себе оставлять начальные библиотеки, жизнь не учит.....
Что могло повлиять, пока не знаю.
Но с Вами я согласен. Симптомы похожи, что меряем не то напряжение.
Только что отсоединил тензы, просто коснулся пальцем штырей, куда датчики подключаю, так все показатели вообще поплыли. Что-то не то он меряет.
 

nikolz

Well-known member
Ну дело не в железе, плату поменял на абсолютно новую. Больше ничего по железу не менял.
За время, пока мы ковыряли СИМ800, изменилось следующее:
- версия платы с 2.4.2 до 2.5.2.
- выскакивало сообщение обновить библиотеки, обновлял. Обновились HX711.h, Wire.h. Возможно еще что-то.
- Убрал SoftwareSerial.h.
Сколько раз говорил себе оставлять начальные библиотеки, жизнь не учит.....
Что могло повлиять, пока не знаю.
Но с Вами я согласен. Симптомы похожи, что меряем не то напряжение.
Только что отсоединил тензы, просто коснулся пальцем штырей, куда датчики подключаю, так все показатели вообще поплыли. Что-то не то он меряет.
В верней части флеш есть область параметров
с помощью загрузчика от разработчиков ESP ее можно посмотреть и изменить
там есть байт управляющий режимом ацп
посмотрите его
 

Vypra

Member
В верней части флеш есть область параметров
с помощью загрузчика от разработчиков ESP ее можно посмотреть и изменить
там есть байт управляющий режимом ацп
посмотрите его
NodeMCU Flasher ??? Что-то я не нахожу здесь такого.

А по поводу параметров может быть. Я прошил простенький отладочный скетч весов, а WiFi на телефоне находит сеть RemoteXY от старого скетча. Т.е. параметры однозначно остались.
Как очистить все параметры?
 

nikolz

Well-known member
NodeMCU Flasher ??? Что-то я не нахожу здесь такого.

А по поводу параметров может быть. Я прошил простенький отладочный скетч весов, а WiFi на телефоне находит сеть RemoteXY от старого скетча. Т.е. параметры однозначно остались.
Как очистить все параметры?
ESPRESSIF DOWNLOAD TOOLS
 

Vypra

Member
Я понажимал в flash_download_tools кнопки ERASE, WiFi как бы почистился. Но с весами пока то же самое.
Еще дома поковыряю. Задолбался. Пока пауза. Всем спасибо.
 

nikolz

Well-known member

Vypra

Member
))) Третий пост (мой) в этом топике та же статья. Чуть ниже пишу, что уже заменил весь модуль на новый и перепаял делитель на 2 резюка по 3кОм каждый. Не помогло. К сожалению.
 
Сверху Снизу