Ясно, спасибо!
После не совсем удачных поисков работающей (действующей) схемы простых весов, решил создать эту тему. Я - начинающий работать с FLPROG, поэтому уместные комментарии и поправки приветсвуются. Планируется совместное с форумчанами построение весов на модуле от AlexCrane. Весы должны измерять вес 1 или 2 кг (такие тензодатчики есть в наличии), иметь функцию самокалибровки с образцовым весом, звуковое сопровождение нажатия кнопок. Кнопок планируется 3 шт. Значение вверх (+)/ОК/Значение вниз (-). Возможны ещё какие-либо доп. функции, которые добавятся по ходу пьесы.
Это то, что я хотел добавить, но не доделал. Планировалось, что-бы можно было автоматически рассчитывать константу масштаб по указанной и установленной на платформу массе. Как я раньше писал для настройки разных тензодатчиков без перепрошивки контроллера.
Эта плата не доделана.
Давайте доделаем!!!
Давайте добавим кнопку.ValentinK писал(а): ↑02.03.2024{, 16:17}Много кнопок или перемычек для входа в калибровку я делать тогда не хотел. Хотя сейчас я лучше-бы сделал перемычку внутри корпуса - так было-бы удобнее: установил перемычку, поставил груз, нажал кнопку, снял перемычку - весы откалиброваны.
План был следующий: первом включении установить на платформу известный груз; после длительного удержания кнопки (около 10 секунд) нормальная индикация должна была отключаться и включиться режим ручного указания массы на платформе.
После входа в режим калибровки нажимаем кнопку, счётчик считает количество нажатий, умножаем на сто для более быстрого счёта Этим указываем установленную на платформу массу. На дисплее она и отображается в данный момент. Блок деления (HX711_OUT / Set_Weight = Scale), как раз и подсчитывает переменную масштабирования для этой системы весов. Но при этом переменная Scale не должна быть задействована в программе до выхода из меню, т.к. она в следующем цикле работы программы уже повлияет на выход HX711_OUT, и в следующем цикле снова, из-за чего коэффициент Scale не получится зафиксировать. По какому-то событию надо было сделать сохранение в память и выход из этого состояния. Но тут я уже не доделал.
Верно. Это для сложного меню сделано было.
Это для переменной вывода сработавшего режима на LCD дисплей дял отладки, или включения нужной платы.
Если я правильно помню, то с нажатиями и отпусканиями кнопки глюк какой-то был при установке веса, но сейчас не вспомню.
если делать какието проэкты для забавы то не принципиально, но если делаеш чтобы вто то выливалось откуда то или высыпалось, и должно остановится при конкретном весе то хотя бы секунда но не более наверное, и то если подумаем что например что то заливать перестаем кудато, то после паузы тоже еще какое то количество "пордукта" будет в "дороге" падать, и плюсь к этому наши пару секунд пока весы вернее arduino поймет вес нормальный или пока нет.
В промышленных фасовщиках используют ПИД регулятор по времени (работы конвеера подачи, открытия клапана, и т.п.), который обучается на первых нескольких порциях (которые идут в брак).manukc1 писал(а): ↑23.04.2024{, 22:26}если делать какието проэкты для забавы то не принципиально, но если делаеш чтобы вто то выливалось откуда то или высыпалось, и должно остановится при конкретном весе то хотя бы секунда но не более наверное, и то если подумаем что например что то заливать перестаем кудато, то после паузы тоже еще какое то количество "пордукта" будет в "дороге" падать, и плюсь к этому наши пару секунд пока весы вернее arduino поймет вес нормальный или пока нет.
Интересная логика работы,почитать есть сылочка или инструкция к фасовщику ? Важный параметр для любых дозаторов - это время стабилизации весов.Под обучением вероятно подразумевается расчет времени в зависимости от скорости и сыпучести материала, смеси т.д.,измерения проводятся уже на конечной стадии при низкой скорости ,когда соответственно время стабилизации весов будит не большим.ValentinK писал(а): ↑01.05.2024{, 17:47}В промышленных фасовщиках используют ПИД регулятор по времени (работы конвеера подачи, открытия клапана, и т.п.), который обучается на первых нескольких порциях (которые идут в брак).
А масса продукта - только контрольная величина для ПИД, по которой рассчитываются коэффициенты регулятора.
Почитать негде. Просто доводилось ремонтировать старый промышленный фасовочный станок для сыпучих продуктов с тремя комплектами вибролотков и корзинок со створками. Станок производства фирмы Нотис. Вот на нём такой принцип работы. Вибролоток определённое время подают продукт в корзинку. Корзинка подвешена на тензодатчике. Первые несколько доз с ошибкой веса, а упаковки бракуются. Через несколько взвешиваний вычисляются параметры времени и дозы отмеряются очень точно.ViktorPetrov писал(а): ↑02.05.2024{, 17:06}Интересная логика работы,почитать есть сылочка или инструкция к фасовщику ? Важный параметр для любых дозаторов - это время стабилизации весов.Под обучением вероятно подразумевается расчет времени в зависимости от скорости и сыпучести материала, смеси т.д.,измерения проводятся уже на конечной стадии при низкой скорости ,когда соответственно время стабилизации весов будит не большим.
сказать честно, долго думал где и как то может работать, поскольку работаю в этой сфере, сейчас уже давно не такие весы, даже те который примерно с 2007г Российского производства я "чинил" и работал там какраз в те же корзины продукт подается до определенного процента конечного веса сильной вибрацией, а потом уже мелкой вибрацией(начиная с первого пакета погрешность +- 1-2%), делали с друзьями на подобие и в ручную станок с меняющей вибрацией на весовом модуле с несколькими выходами(погрешность такая же). а весы уже посерезнее уже работают по другому принципу, там корзин много и из многих корзин плк своей математикой находит самый близкий вес который тебе нужен,
Так здесь время успокоения зависит от настроек частоты микросхемы преобразователя HX711 (output data rate: Pin RATE = 0 - 10SPS or Pin RATE = DVDD 80SPS ). Скорее всего 10 Герц включено. И в самой библиотеке усреднение результатов чтения включено - вот и задержка. А ещё и микроконтроллер какой используется?