Ясно, спасибо!
Весы на HX711 в FLPROG
Весы на HX711 в FLPROG
Платы с зелёной стрелочкой компилируются в исполняемый файл, а с красной стрелочкой - нет (они остались, что-бы наработки на будущее не потерять).
Весы на HX711 в FLPROG
Astreet писал(а): 01 мар 2024, 09:53 Плата 9. Масштаб установка.
Что это такое? Для чего? Как работает? Судя по всему, нажимаем кнопочку и счетчик считает от 1 до 1000, а затем умножается на 100.
Это то, что я хотел добавить, но не доделал. Планировалось, что-бы можно было автоматически рассчитывать константу масштаб по указанной и установленной на платформу массе. Как я раньше писал для настройки разных тензодатчиков без перепрошивки контроллера.
Хотел сделать несколько режимов настройки. Самая нижняя плата с большой схемой, как раз сделана, что-бы от разной задержки нажатия кнопки можно было выбрать разные режимы настройки.
-
- Сержант
- Сообщения: 259
- Зарегистрирован: 07 дек 2023, 07:35
- Имя: Александр
- Благодарил (а): 20 раз
- Поблагодарили: 11 раз
Весы на HX711 в FLPROG
Валентин, можно подробнее рассказать, как работает данная плата?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Весы на HX711 в FLPROG
Эта плата не доделана.Astreet писал(а): 02 мар 2024, 09:07 Валентин, можно подробнее рассказать, как работает данная плата?
Много кнопок или перемычек для входа в калибровку я делать тогда не хотел. Хотя сейчас я лучше-бы сделал перемычку внутри корпуса - так было-бы удобнее: установил перемычку, поставил груз, нажал кнопку, снял перемычку - весы откалиброваны.
План был следующий: первом включении установить на платформу известный груз; после длительного удержания кнопки (около 10 секунд) нормальная индикация должна была отключаться и включиться режим ручного указания массы на платформе.
После входа в режим калибровки нажимаем кнопку, счётчик считает количество нажатий, умножаем на сто для более быстрого счёта Этим указываем установленную на платформу массу. На дисплее она и отображается в данный момент. Блок деления (HX711_OUT / Set_Weight = Scale), как раз и подсчитывает переменную масштабирования для этой системы весов. Но при этом переменная Scale не должна быть задействована в программе до выхода из меню, т.к. она в следующем цикле работы программы уже повлияет на выход HX711_OUT, и в следующем цикле снова, из-за чего коэффициент Scale не получится зафиксировать. По какому-то событию надо было сделать сохранение в память и выход из этого состояния. Но тут я уже не доделал.
Весы на HX711 в FLPROG
Так, как я экспериментировал с ESP32, то решил попробовать делать средствами FLPorg Вэб интерфейс через Вай-Фай, куда и вывел нужные для первичной настройки параметры. Да и дальнейшее развитие с сетью этих весов требовало создания главного устройства для удалённого считывания данных и настройки по сети.
Весы на HX711 в FLPROG
А в автономном использовании, функцию калибровки лучше активировать с помощью перемычки или дополнительной кнопки, которая будет спрятана внутри корпуса. Переменная Scale должна записываться во временную переменную (ScaleTemp). А после выхода из режима калибровки присвоить значение ScaleTemp переменной Scale и сохранить её в память.
-
- Сержант
- Сообщения: 259
- Зарегистрирован: 07 дек 2023, 07:35
- Имя: Александр
- Благодарил (а): 20 раз
- Поблагодарили: 11 раз
Весы на HX711 в FLPROG
Давайте доделаем!!!

Давайте добавим кнопку.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
Для нужен блок, обведённый синим?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Весы на HX711 в FLPROG
Верно. Это для сложного меню сделано было.Astreet писал(а): 04 мар 2024, 10:22 Алгоритм управления заключается во времени удерживания кнопок (насколько я понял).
Это для переменной вывода сработавшего режима на LCD дисплей дял отладки, или включения нужной платы.
Весы на HX711 в FLPROG
Если я правильно помню, то с нажатиями и отпусканиями кнопки глюк какой-то был при установке веса, но сейчас не вспомню.
Надо решить будет калибровка по фиксированному грузу, например 100 или 500 или 1000 единиц взвешивания (грамм, килограмм) так будет сильно проще. Или массу указывать при калибровке, но опять-же целыми ступенями, например прибавляя по 50 или 100 единиц за одно нажатие.
Ещё взрослые весы, бывает, калибруют на несколько точек. Например всю шкалу разбивают на четыре или пять или больше участков последовательно ступенями увеличивая массу, каждый раз записывают новое значение калибровочного коэффициента для определённого диапазона взвешивания. А затем при взвешивании в каждом диапазоне используют свой коэффициент. Но это, наверное, лишнее в данной конструкции.
Для включения режима калибровки не обязательно делать сложное меню, хотя оно уже есть. Но к нему надо продумать селектор плат для выбора режима работы. Что-бы платы нормального режима отключались и не мешали работать калибровке и наоборот. Может-быть, использовать для этого переменную с выхода последнего Switch из обведённых синей рамкой.
Можно пойти другим путём: К существующей кнопке добавить одну перемычку. Снятая перемычка - нормальный режим работы. Установленная перемычка - режим калибровки.
Весы на HX711 в FLPROG
доброго дня всем
блок отличный и функции хорошие, но есть вопрос, тему вроде пересмотрел но нигде не упаминается про скорость взвешивания?
да есть время стабилизации, но я его менял и особой разницы не видел? может ли быть это из за ARDUINO NANO и например на NODE MCU будет шустрее?
блок отличный и функции хорошие, но есть вопрос, тему вроде пересмотрел но нигде не упаминается про скорость взвешивания?
да есть время стабилизации, но я его менял и особой разницы не видел? может ли быть это из за ARDUINO NANO и например на NODE MCU будет шустрее?
- fefar51702
- Сержант
- Сообщения: 248
- Зарегистрирован: 26 июн 2022, 07:35
- Имя: Валера
- Благодарил (а): 1 раз
- Поблагодарили: 5 раз
Весы на HX711 в FLPROG
на стм 1,5сек это с фильтрами рс и оконик с передачей в уарт на есп32 с выводом в ремонтикс
-
- Сержант
- Сообщения: 259
- Зарегистрирован: 07 дек 2023, 07:35
- Имя: Александр
- Благодарил (а): 20 раз
- Поблагодарили: 11 раз
Весы на HX711 в FLPROG
Это принципиально? Влияет на какой-то процесс?manukc1 писал(а): 21 апр 2024, 22:55 доброго дня всем
блок отличный и функции хорошие, но есть вопрос, тему вроде пересмотрел но нигде не упаминается про скорость взвешивания?
Весы на HX711 в FLPROG
если делать какието проэкты для забавы то не принципиально, но если делаеш чтобы вто то выливалось откуда то или высыпалось, и должно остановится при конкретном весе то хотя бы секунда но не более наверное, и то если подумаем что например что то заливать перестаем кудато, то после паузы тоже еще какое то количество "пордукта" будет в "дороге" падать, и плюсь к этому наши пару секунд пока весы вернее arduino поймет вес нормальный или пока нет.
как появится время попробую еще таймер поставить на "Вес измерен" позицию, чтобы понять на сколько разнится время измерения.....
Весы на HX711 в FLPROG
В промышленных фасовщиках используют ПИД регулятор по времени (работы конвеера подачи, открытия клапана, и т.п.), который обучается на первых нескольких порциях (которые идут в брак).manukc1 писал(а): 23 апр 2024, 22:26 если делать какието проэкты для забавы то не принципиально, но если делаеш чтобы вто то выливалось откуда то или высыпалось, и должно остановится при конкретном весе то хотя бы секунда но не более наверное, и то если подумаем что например что то заливать перестаем кудато, то после паузы тоже еще какое то количество "пордукта" будет в "дороге" падать, и плюсь к этому наши пару секунд пока весы вернее arduino поймет вес нормальный или пока нет.
А масса продукта - только контрольная величина для ПИД, по которой рассчитываются коэффициенты регулятора.
- ViktorPetrov
- Капитан
- Сообщения: 807
- Зарегистрирован: 09 апр 2018, 23:56
- Имя: Виктор
- Благодарил (а): 4 раза
- Поблагодарили: 1 раз
Весы на HX711 в FLPROG
Интересная логика работы,почитать есть сылочка или инструкция к фасовщику ? Важный параметр для любых дозаторов - это время стабилизации весов.Под обучением вероятно подразумевается расчет времени в зависимости от скорости и сыпучести материала, смеси т.д.,измерения проводятся уже на конечной стадии при низкой скорости ,когда соответственно время стабилизации весов будит не большим.ValentinK писал(а): 01 май 2024, 17:47 В промышленных фасовщиках используют ПИД регулятор по времени (работы конвеера подачи, открытия клапана, и т.п.), который обучается на первых нескольких порциях (которые идут в брак).
А масса продукта - только контрольная величина для ПИД, по которой рассчитываются коэффициенты регулятора.
Весы на HX711 в FLPROG
Почитать негде. Просто доводилось ремонтировать старый промышленный фасовочный станок для сыпучих продуктов с тремя комплектами вибролотков и корзинок со створками. Станок производства фирмы Нотис. Вот на нём такой принцип работы. Вибролоток определённое время подают продукт в корзинку. Корзинка подвешена на тензодатчике. Первые несколько доз с ошибкой веса, а упаковки бракуются. Через несколько взвешиваний вычисляются параметры времени и дозы отмеряются очень точно.ViktorPetrov писал(а): 02 май 2024, 17:06 Интересная логика работы,почитать есть сылочка или инструкция к фасовщику ? Важный параметр для любых дозаторов - это время стабилизации весов.Под обучением вероятно подразумевается расчет времени в зависимости от скорости и сыпучести материала, смеси т.д.,измерения проводятся уже на конечной стадии при низкой скорости ,когда соответственно время стабилизации весов будит не большим.
Весы на HX711 в FLPROG
сказать честно, долго думал где и как то может работать, поскольку работаю в этой сфере, сейчас уже давно не такие весы, даже те который примерно с 2007г Российского производства я "чинил" и работал там какраз в те же корзины продукт подается до определенного процента конечного веса сильной вибрацией, а потом уже мелкой вибрацией(начиная с первого пакета погрешность +- 1-2%), делали с друзьями на подобие и в ручную станок с меняющей вибрацией на весовом модуле с несколькими выходами(погрешность такая же). а весы уже посерезнее уже работают по другому принципу, там корзин много и из многих корзин плк своей математикой находит самый близкий вес который тебе нужен,
например корзинок 16 и он выбирает из них примерно 4 или 6 корзин и т.д. там получается в секунду 2 пакета(если продукт позваляет этого)
а у них после набора продукта время успакоения примерно 700мс, вот почему я спрашивал почему на ардуино нано время успакоения слушком долгое не смотря на то что система другими расчетами не занят.
но интересный факт заметил я, когда в программе добавляю oled экран и модбас то экран начинает зависать, то одну строку напишет то другую, то просто 000 или черный экран.....
Весы на HX711 в FLPROG
Так здесь время успокоения зависит от настроек частоты микросхемы преобразователя HX711 (output data rate: Pin RATE = 0 - 10SPS or Pin RATE = DVDD 80SPS ). Скорее всего 10 Герц включено. И в самой библиотеке усреднение результатов чтения включено - вот и задержка. А ещё и микроконтроллер какой используется?manukc1 писал(а): 05 май 2024, 18:32 вот почему я спрашивал почему на ардуино нано время успакоения слушком долгое не смотря на то что система другими расчетами не занят.
Для быстрого чтения, мне кажется, лучше другие внешние АЦП с источником опорного напряжения (тока) использовать, или АЦП, встроенные в микроконтроллер (но у них разрядность маленькая). И ещё свою библиотеку писать.
Весы на HX711 в FLPROG
это тут надо поискать???
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя