Весы на HX711 в FLPROG

Astreet
Сержант
Сообщения: 259
Зарегистрирован: 07 дек 2023, 07:35
Имя: Александр
Благодарил (а): 20 раз
Поблагодарили: 11 раз

Весы на HX711 в FLPROG

Сообщение Astreet »

OLGA писал(а): 01 мар 2024, 15:14
Astreet писал(а): 01 мар 2024, 09:53 Плата 8 имеет зеленую стрелочку, а плата 9 красную. Что это?
не компилировать плату.
Ясно, спасибо!
ValentinK
Рядовой
Сообщения: 22
Зарегистрирован: 16 фев 2024, 17:13
Имя: Валентин

Весы на HX711 в FLPROG

Сообщение ValentinK »

Astreet писал(а): 01 мар 2024, 09:53 Плата 8 имеет зеленую стрелочку, а плата 9 красную. Что это?
Платы с зелёной стрелочкой компилируются в исполняемый файл, а с красной стрелочкой - нет (они остались, что-бы наработки на будущее не потерять).
ValentinK
Рядовой
Сообщения: 22
Зарегистрирован: 16 фев 2024, 17:13
Имя: Валентин

Весы на HX711 в FLPROG

Сообщение ValentinK »

Astreet писал(а): 01 мар 2024, 09:53 Плата 9. Масштаб установка.
Что это такое? Для чего? Как работает? Судя по всему, нажимаем кнопочку и счетчик считает от 1 до 1000, а затем умножается на 100.
Astreet писал(а): 01 мар 2024, 09:53 Это, я так понимаю, дешифратор для дисплея.....
Это то, что я хотел добавить, но не доделал. Планировалось, что-бы можно было автоматически рассчитывать константу масштаб по указанной и установленной на платформу массе. Как я раньше писал для настройки разных тензодатчиков без перепрошивки контроллера.
Хотел сделать несколько режимов настройки. Самая нижняя плата с большой схемой, как раз сделана, что-бы от разной задержки нажатия кнопки можно было выбрать разные режимы настройки.
Astreet
Сержант
Сообщения: 259
Зарегистрирован: 07 дек 2023, 07:35
Имя: Александр
Благодарил (а): 20 раз
Поблагодарили: 11 раз

Весы на HX711 в FLPROG

Сообщение Astreet »

Валентин, можно подробнее рассказать, как работает данная плата?
Снимок экрана 2024-03-02 090622.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ValentinK
Рядовой
Сообщения: 22
Зарегистрирован: 16 фев 2024, 17:13
Имя: Валентин

Весы на HX711 в FLPROG

Сообщение ValentinK »

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

Весы на HX711 в FLPROG

Сообщение ValentinK »

Так, как я экспериментировал с ESP32, то решил попробовать делать средствами FLPorg Вэб интерфейс через Вай-Фай, куда и вывел нужные для первичной настройки параметры. Да и дальнейшее развитие с сетью этих весов требовало создания главного устройства для удалённого считывания данных и настройки по сети.
ValentinK
Рядовой
Сообщения: 22
Зарегистрирован: 16 фев 2024, 17:13
Имя: Валентин

Весы на HX711 в FLPROG

Сообщение ValentinK »

А в автономном использовании, функцию калибровки лучше активировать с помощью перемычки или дополнительной кнопки, которая будет спрятана внутри корпуса. Переменная Scale должна записываться во временную переменную (ScaleTemp). А после выхода из режима калибровки присвоить значение ScaleTemp переменной Scale и сохранить её в память.
Astreet
Сержант
Сообщения: 259
Зарегистрирован: 07 дек 2023, 07:35
Имя: Александр
Благодарил (а): 20 раз
Поблагодарили: 11 раз

Весы на HX711 в FLPROG

Сообщение Astreet »

ValentinK писал(а): 02 мар 2024, 16:17
Эта плата не доделана.
Давайте доделаем!!! :yes:
ValentinK писал(а): 02 мар 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
Рядовой
Сообщения: 22
Зарегистрирован: 16 фев 2024, 17:13
Имя: Валентин

Весы на HX711 в FLPROG

Сообщение ValentinK »

Astreet писал(а): 04 мар 2024, 10:22 Алгоритм управления заключается во времени удерживания кнопок (насколько я понял).
Верно. Это для сложного меню сделано было.
Astreet писал(а): 04 мар 2024, 10:22 Для нужен блок, обведённый синим?
Это для переменной вывода сработавшего режима на LCD дисплей дял отладки, или включения нужной платы.
ValentinK
Рядовой
Сообщения: 22
Зарегистрирован: 16 фев 2024, 17:13
Имя: Валентин

Весы на HX711 в FLPROG

Сообщение ValentinK »

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

Весы на HX711 в FLPROG

Сообщение manukc1 »

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

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

да есть время стабилизации, но я его менял и особой разницы не видел? может ли быть это из за ARDUINO NANO и например на NODE MCU будет шустрее?
Аватара пользователя
fefar51702
Сержант
Сообщения: 248
Зарегистрирован: 26 июн 2022, 07:35
Имя: Валера
Благодарил (а): 1 раз
Поблагодарили: 5 раз

Весы на HX711 в FLPROG

Сообщение fefar51702 »

на стм 1,5сек это с фильтрами рс и оконик с передачей в уарт на есп32 с выводом в ремонтикс
Astreet
Сержант
Сообщения: 259
Зарегистрирован: 07 дек 2023, 07:35
Имя: Александр
Благодарил (а): 20 раз
Поблагодарили: 11 раз

Весы на HX711 в FLPROG

Сообщение Astreet »

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

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

Это принципиально? Влияет на какой-то процесс?
manukc1
Рядовой
Сообщения: 18
Зарегистрирован: 05 апр 2020, 00:55
Имя: Man

Весы на HX711 в FLPROG

Сообщение manukc1 »

Astreet писал(а): 23 апр 2024, 07:59
manukc1 писал(а): 21 апр 2024, 22:55 доброго дня всем

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

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


как появится время попробую еще таймер поставить на "Вес измерен" позицию, чтобы понять на сколько разнится время измерения.....
ValentinK
Рядовой
Сообщения: 22
Зарегистрирован: 16 фев 2024, 17:13
Имя: Валентин

Весы на HX711 в FLPROG

Сообщение ValentinK »

manukc1 писал(а): 23 апр 2024, 22:26 если делать какието проэкты для забавы то не принципиально, но если делаеш чтобы вто то выливалось откуда то или высыпалось, и должно остановится при конкретном весе то хотя бы секунда но не более наверное, и то если подумаем что например что то заливать перестаем кудато, то после паузы тоже еще какое то количество "пордукта" будет в "дороге" падать, и плюсь к этому наши пару секунд пока весы вернее arduino поймет вес нормальный или пока нет.
В промышленных фасовщиках используют ПИД регулятор по времени (работы конвеера подачи, открытия клапана, и т.п.), который обучается на первых нескольких порциях (которые идут в брак).
А масса продукта - только контрольная величина для ПИД, по которой рассчитываются коэффициенты регулятора.
Аватара пользователя
ViktorPetrov
Капитан
Сообщения: 807
Зарегистрирован: 09 апр 2018, 23:56
Имя: Виктор
Благодарил (а): 4 раза
Поблагодарили: 1 раз

Весы на HX711 в FLPROG

Сообщение ViktorPetrov »

ValentinK писал(а): 01 май 2024, 17:47 В промышленных фасовщиках используют ПИД регулятор по времени (работы конвеера подачи, открытия клапана, и т.п.), который обучается на первых нескольких порциях (которые идут в брак).
А масса продукта - только контрольная величина для ПИД, по которой рассчитываются коэффициенты регулятора.
Интересная логика работы,почитать есть сылочка или инструкция к фасовщику ? Важный параметр для любых дозаторов - это время стабилизации весов.Под обучением вероятно подразумевается расчет времени в зависимости от скорости и сыпучести материала, смеси т.д.,измерения проводятся уже на конечной стадии при низкой скорости ,когда соответственно время стабилизации весов будит не большим.
ValentinK
Рядовой
Сообщения: 22
Зарегистрирован: 16 фев 2024, 17:13
Имя: Валентин

Весы на HX711 в FLPROG

Сообщение ValentinK »

ViktorPetrov писал(а): 02 май 2024, 17:06 Интересная логика работы,почитать есть сылочка или инструкция к фасовщику ? Важный параметр для любых дозаторов - это время стабилизации весов.Под обучением вероятно подразумевается расчет времени в зависимости от скорости и сыпучести материала, смеси т.д.,измерения проводятся уже на конечной стадии при низкой скорости ,когда соответственно время стабилизации весов будит не большим.
Почитать негде. Просто доводилось ремонтировать старый промышленный фасовочный станок для сыпучих продуктов с тремя комплектами вибролотков и корзинок со створками. Станок производства фирмы Нотис. Вот на нём такой принцип работы. Вибролоток определённое время подают продукт в корзинку. Корзинка подвешена на тензодатчике. Первые несколько доз с ошибкой веса, а упаковки бракуются. Через несколько взвешиваний вычисляются параметры времени и дозы отмеряются очень точно.
manukc1
Рядовой
Сообщения: 18
Зарегистрирован: 05 апр 2020, 00:55
Имя: Man

Весы на HX711 в FLPROG

Сообщение manukc1 »

ValentinK писал(а): 05 май 2024, 15:02 старый промышленный фасовочный станок
сказать честно, долго думал где и как то может работать, поскольку работаю в этой сфере, сейчас уже давно не такие весы, даже те который примерно с 2007г Российского производства я "чинил" и работал там какраз в те же корзины продукт подается до определенного процента конечного веса сильной вибрацией, а потом уже мелкой вибрацией(начиная с первого пакета погрешность +- 1-2%), делали с друзьями на подобие и в ручную станок с меняющей вибрацией на весовом модуле с несколькими выходами(погрешность такая же). а весы уже посерезнее уже работают по другому принципу, там корзин много и из многих корзин плк своей математикой находит самый близкий вес который тебе нужен,
например корзинок 16 и он выбирает из них примерно 4 или 6 корзин и т.д. там получается в секунду 2 пакета(если продукт позваляет этого)

а у них после набора продукта время успакоения примерно 700мс, вот почему я спрашивал почему на ардуино нано время успакоения слушком долгое не смотря на то что система другими расчетами не занят.

но интересный факт заметил я, когда в программе добавляю oled экран и модбас то экран начинает зависать, то одну строку напишет то другую, то просто 000 или черный экран.....
ValentinK
Рядовой
Сообщения: 22
Зарегистрирован: 16 фев 2024, 17:13
Имя: Валентин

Весы на HX711 в FLPROG

Сообщение ValentinK »

manukc1 писал(а): 05 май 2024, 18:32 вот почему я спрашивал почему на ардуино нано время успакоения слушком долгое не смотря на то что система другими расчетами не занят.
Так здесь время успокоения зависит от настроек частоты микросхемы преобразователя HX711 (output data rate: Pin RATE = 0 - 10SPS or Pin RATE = DVDD 80SPS ). Скорее всего 10 Герц включено. И в самой библиотеке усреднение результатов чтения включено - вот и задержка. А ещё и микроконтроллер какой используется?
Для быстрого чтения, мне кажется, лучше другие внешние АЦП с источником опорного напряжения (тока) использовать, или АЦП, встроенные в микроконтроллер (но у них разрядность маленькая). И ещё свою библиотеку писать.
manukc1
Рядовой
Сообщения: 18
Зарегистрирован: 05 апр 2020, 00:55
Имя: Man

Весы на HX711 в FLPROG

Сообщение manukc1 »

ValentinK писал(а): 06 май 2024, 16:03 Скорее всего 10 Герц включено

это тут надо поискать???
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя