• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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кОм каждый. Не помогло. К сожалению.
 
Сверху Снизу