Весы на HX711 в FLPROG

После не совсем удачных поисков работающей (действующей) схемы простых весов, решил создать эту тему. Я - начинающий работать с FLPROG, поэтому уместные комментарии и поправки приветсвуются. Планируется совместное с форумчанами построение весов на модуле от AlexCrane. Весы должны измерять вес 1 или 2 кг (такие тензодатчики есть в наличии), иметь функцию самокалибровки с образцовым весом, звуковое сопровождение нажатия кнопок. Кнопок планируется 3 шт. Значение вверх (+)/ОК/Значение вниз (-). Возможны ещё какие-либо доп. функции, которые добавятся по ходу пьесы.

Astreet
Сержант
Сообщения: 119
Зарегистрирован: 07.12.2023{, 07:35}
Репутация: 4
Имя: Александр

Весы на HX711 в FLPROG

#61

Сообщение Astreet » 01.03.2024{, 15:17}

OLGA писал(а):
01.03.2024{, 15:14}
Astreet писал(а):
01.03.2024{, 09:53}
Плата 8 имеет зеленую стрелочку, а плата 9 красную. Что это?
не компилировать плату.
Ясно, спасибо!

ValentinK
Рядовой
Сообщения: 18
Зарегистрирован: 16.02.2024{, 17:13}
Репутация: 1
Имя: Валентин

Весы на HX711 в FLPROG

#62

Сообщение ValentinK » 01.03.2024{, 16:41}

Astreet писал(а):
01.03.2024{, 09:53}
Плата 8 имеет зеленую стрелочку, а плата 9 красную. Что это?
Платы с зелёной стрелочкой компилируются в исполняемый файл, а с красной стрелочкой - нет (они остались, что-бы наработки на будущее не потерять).

ValentinK
Рядовой
Сообщения: 18
Зарегистрирован: 16.02.2024{, 17:13}
Репутация: 1
Имя: Валентин

Весы на HX711 в FLPROG

#63

Сообщение ValentinK » 01.03.2024{, 16:47}

Astreet писал(а):
01.03.2024{, 09:53}
Плата 9. Масштаб установка.
Что это такое? Для чего? Как работает? Судя по всему, нажимаем кнопочку и счетчик считает от 1 до 1000, а затем умножается на 100.
Astreet писал(а):
01.03.2024{, 09:53}
Это, я так понимаю, дешифратор для дисплея.....
Это то, что я хотел добавить, но не доделал. Планировалось, что-бы можно было автоматически рассчитывать константу масштаб по указанной и установленной на платформу массе. Как я раньше писал для настройки разных тензодатчиков без перепрошивки контроллера.
Хотел сделать несколько режимов настройки. Самая нижняя плата с большой схемой, как раз сделана, что-бы от разной задержки нажатия кнопки можно было выбрать разные режимы настройки.

Astreet
Сержант
Сообщения: 119
Зарегистрирован: 07.12.2023{, 07:35}
Репутация: 4
Имя: Александр

Весы на HX711 в FLPROG

#64

Сообщение Astreet » 02.03.2024{, 09:07}

Валентин, можно подробнее рассказать, как работает данная плата?
Снимок экрана 2024-03-02 090622.jpg

ValentinK
Рядовой
Сообщения: 18
Зарегистрирован: 16.02.2024{, 17:13}
Репутация: 1
Имя: Валентин

Весы на HX711 в FLPROG

#65

Сообщение ValentinK » 02.03.2024{, 16:17}

Astreet писал(а):
02.03.2024{, 09:07}
Валентин, можно подробнее рассказать, как работает данная плата?
Эта плата не доделана.
Много кнопок или перемычек для входа в калибровку я делать тогда не хотел. Хотя сейчас я лучше-бы сделал перемычку внутри корпуса - так было-бы удобнее: установил перемычку, поставил груз, нажал кнопку, снял перемычку - весы откалиброваны.
План был следующий: первом включении установить на платформу известный груз; после длительного удержания кнопки (около 10 секунд) нормальная индикация должна была отключаться и включиться режим ручного указания массы на платформе.
После входа в режим калибровки нажимаем кнопку, счётчик считает количество нажатий, умножаем на сто для более быстрого счёта Этим указываем установленную на платформу массу. На дисплее она и отображается в данный момент. Блок деления (HX711_OUT / Set_Weight = Scale), как раз и подсчитывает переменную масштабирования для этой системы весов. Но при этом переменная Scale не должна быть задействована в программе до выхода из меню, т.к. она в следующем цикле работы программы уже повлияет на выход HX711_OUT, и в следующем цикле снова, из-за чего коэффициент Scale не получится зафиксировать. По какому-то событию надо было сделать сохранение в память и выход из этого состояния. Но тут я уже не доделал.

ValentinK
Рядовой
Сообщения: 18
Зарегистрирован: 16.02.2024{, 17:13}
Репутация: 1
Имя: Валентин

Весы на HX711 в FLPROG

#66

Сообщение ValentinK » 02.03.2024{, 16:22}

Так, как я экспериментировал с ESP32, то решил попробовать делать средствами FLPorg Вэб интерфейс через Вай-Фай, куда и вывел нужные для первичной настройки параметры. Да и дальнейшее развитие с сетью этих весов требовало создания главного устройства для удалённого считывания данных и настройки по сети.

ValentinK
Рядовой
Сообщения: 18
Зарегистрирован: 16.02.2024{, 17:13}
Репутация: 1
Имя: Валентин

Весы на HX711 в FLPROG

#67

Сообщение ValentinK » 02.03.2024{, 16:25}

А в автономном использовании, функцию калибровки лучше активировать с помощью перемычки или дополнительной кнопки, которая будет спрятана внутри корпуса. Переменная Scale должна записываться во временную переменную (ScaleTemp). А после выхода из режима калибровки присвоить значение ScaleTemp переменной Scale и сохранить её в память.

Astreet
Сержант
Сообщения: 119
Зарегистрирован: 07.12.2023{, 07:35}
Репутация: 4
Имя: Александр

Весы на HX711 в FLPROG

#68

Сообщение Astreet » 04.03.2024{, 10:12}

ValentinK писал(а):
02.03.2024{, 16:17}

Эта плата не доделана.
Давайте доделаем!!! :yes:
ValentinK писал(а):
02.03.2024{, 16:17}
Много кнопок или перемычек для входа в калибровку я делать тогда не хотел. Хотя сейчас я лучше-бы сделал перемычку внутри корпуса - так было-бы удобнее: установил перемычку, поставил груз, нажал кнопку, снял перемычку - весы откалиброваны.
План был следующий: первом включении установить на платформу известный груз; после длительного удержания кнопки (около 10 секунд) нормальная индикация должна была отключаться и включиться режим ручного указания массы на платформе.
После входа в режим калибровки нажимаем кнопку, счётчик считает количество нажатий, умножаем на сто для более быстрого счёта Этим указываем установленную на платформу массу. На дисплее она и отображается в данный момент. Блок деления (HX711_OUT / Set_Weight = Scale), как раз и подсчитывает переменную масштабирования для этой системы весов. Но при этом переменная Scale не должна быть задействована в программе до выхода из меню, т.к. она в следующем цикле работы программы уже повлияет на выход HX711_OUT, и в следующем цикле снова, из-за чего коэффициент Scale не получится зафиксировать. По какому-то событию надо было сделать сохранение в память и выход из этого состояния. Но тут я уже не доделал.
Давайте добавим кнопку.
Я также сторонник того, чтобы вводить (вычислять) коэффициент Scale посредством самих весов, без дополнительного подключения к ПК и ввода Scale вручную. .......У меня есть желание повторить ваш проект (с доработками). Комплектующие в наличии.


Заключительная плата. (Поправьте, если неверно).

Алгоритм управления заключается во времени удерживания кнопок (насколько я понял). Для этого используются таймеры TON.
1. 0.5 секунды - переменная Set_05
2. 3 секунды - переменная Set_Zero
3. 6 секунд - переменная Set_Scale
4. 10 секунд - переменная Trig_reset
5. Если ничего не нажато в течении 20 секунд - переменная Trig_reset

Для нужен блок, обведённый синим?
2024-03-04_10-06-24.jpg

ValentinK
Рядовой
Сообщения: 18
Зарегистрирован: 16.02.2024{, 17:13}
Репутация: 1
Имя: Валентин

Весы на HX711 в FLPROG

#69

Сообщение ValentinK » 04.03.2024{, 16:25}

Astreet писал(а):
04.03.2024{, 10:22}
Алгоритм управления заключается во времени удерживания кнопок (насколько я понял).
Верно. Это для сложного меню сделано было.
Astreet писал(а):
04.03.2024{, 10:22}
Для нужен блок, обведённый синим?
Это для переменной вывода сработавшего режима на LCD дисплей дял отладки, или включения нужной платы.

ValentinK
Рядовой
Сообщения: 18
Зарегистрирован: 16.02.2024{, 17:13}
Репутация: 1
Имя: Валентин

Весы на HX711 в FLPROG

#70

Сообщение ValentinK » 04.03.2024{, 17:20}

Astreet писал(а):
04.03.2024{, 10:22}
Давайте доделаем
Astreet писал(а):
04.03.2024{, 10:22}
Давайте добавим кнопку.
Если я правильно помню, то с нажатиями и отпусканиями кнопки глюк какой-то был при установке веса, но сейчас не вспомню.
Надо решить будет калибровка по фиксированному грузу, например 100 или 500 или 1000 единиц взвешивания (грамм, килограмм) так будет сильно проще. Или массу указывать при калибровке, но опять-же целыми ступенями, например прибавляя по 50 или 100 единиц за одно нажатие.
Ещё взрослые весы, бывает, калибруют на несколько точек. Например всю шкалу разбивают на четыре или пять или больше участков последовательно ступенями увеличивая массу, каждый раз записывают новое значение калибровочного коэффициента для определённого диапазона взвешивания. А затем при взвешивании в каждом диапазоне используют свой коэффициент. Но это, наверное, лишнее в данной конструкции.
Для включения режима калибровки не обязательно делать сложное меню, хотя оно уже есть. Но к нему надо продумать селектор плат для выбора режима работы. Что-бы платы нормального режима отключались и не мешали работать калибровке и наоборот. Может-быть, использовать для этого переменную с выхода последнего Switch из обведённых синей рамкой.
Можно пойти другим путём: К существующей кнопке добавить одну перемычку. Снятая перемычка - нормальный режим работы. Установленная перемычка - режим калибровки.

manukc1
Рядовой
Сообщения: 11
Зарегистрирован: 05.04.2020{, 00:55}
Репутация: 0
Имя: Man

Весы на HX711 в FLPROG

#71

Сообщение manukc1 » 21.04.2024{, 22:55}

доброго дня всем

блок отличный и функции хорошие, но есть вопрос, тему вроде пересмотрел но нигде не упаминается про скорость взвешивания?

да есть время стабилизации, но я его менял и особой разницы не видел? может ли быть это из за ARDUINO NANO и например на NODE MCU будет шустрее?

fefar51702
Рядовой
Сообщения: 51
Зарегистрирован: 26.06.2022{, 07:35}
Репутация: 2
Имя: Валера

Весы на HX711 в FLPROG

#72

Сообщение fefar51702 » 22.04.2024{, 07:32}

на стм 1,5сек это с фильтрами рс и оконик с передачей в уарт на есп32 с выводом в ремонтикс

Astreet
Сержант
Сообщения: 119
Зарегистрирован: 07.12.2023{, 07:35}
Репутация: 4
Имя: Александр

Весы на HX711 в FLPROG

#73

Сообщение Astreet » 23.04.2024{, 07:59}

manukc1 писал(а):
21.04.2024{, 22:55}
доброго дня всем

блок отличный и функции хорошие, но есть вопрос, тему вроде пересмотрел но нигде не упаминается про скорость взвешивания?

Это принципиально? Влияет на какой-то процесс?

manukc1
Рядовой
Сообщения: 11
Зарегистрирован: 05.04.2020{, 00:55}
Репутация: 0
Имя: Man

Весы на HX711 в FLPROG

#74

Сообщение manukc1 » 23.04.2024{, 22:26}

Astreet писал(а):
23.04.2024{, 07:59}
manukc1 писал(а):
21.04.2024{, 22:55}
доброго дня всем

блок отличный и функции хорошие, но есть вопрос, тему вроде пересмотрел но нигде не упаминается про скорость взвешивания?

Это принципиально? Влияет на какой-то процесс?
если делать какието проэкты для забавы то не принципиально, но если делаеш чтобы вто то выливалось откуда то или высыпалось, и должно остановится при конкретном весе то хотя бы секунда но не более наверное, и то если подумаем что например что то заливать перестаем кудато, то после паузы тоже еще какое то количество "пордукта" будет в "дороге" падать, и плюсь к этому наши пару секунд пока весы вернее arduino поймет вес нормальный или пока нет.


как появится время попробую еще таймер поставить на "Вес измерен" позицию, чтобы понять на сколько разнится время измерения.....

Ответить

Вернуться в «Помогите, а то я "нимагу"»