Ничего не найдено :(
    В гостях у Самоделкина! » Электроника » Arduino » Весы для кухни на основе тензодатчика HX711

    Весы для кухни на основе тензодатчика HX711


    Всем привет! 

    Точные весы в хозяйстве – вещь полезная, особенно на кухне.

    Делаем весы для взвешивания грузов до 1 кг на основе тензодатчика HX711 .


    Описание самоделки

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

    • семисегментный 4-х разрядный дисплей – для отображения информации о готовности прибора и величины веса;
    • кнопка включения весов;
    • кнопка сброса – для установки значения весов в 0;
    • разъем для подключения зарядного устройства;
    • светодиод включенного питания;
    • светодиоды заряда аккумуляторной батареи.

    Порядок работы с весами:

    • зарядить аккумулятор;
    • включить питание и дождаться загрузки МК: после приветствия появится надпись –OUTF (переполнение) или какое-то числовое значение.
    • нажать кнопку сброса – индикатор должен показать 0.0.
    • установить на площадку взвешиваемый предмет – дисплей покажет его вес в граммах.

    Итак, приступим:


    Материалы и инструменты:

    Для работы нам понадобятся:


    Шаг первый: печать корпуса 

    Для печати корпуса тестера необходимо скачать архив с stl-файлами stl_files.rar [272.51 Kb] (скачиваний: 58) . В слайсере выбрать стандартное или высокое качество печати. Распечатать детали корпуса:

    • основание корпуса;
    • крышка;
    • площадка для взвешивания.


    Основная часть компонентов крепится к основанию. На крышке устанавливаются: кнопка сброса, выключатель и разъем зарядки.



    Детали печатаются без поддержек. Но в зависимости от пластика может понадобиться использование режима «брим».

    Верхняя панель и площадка печатаются «лицом» на стол, а основание корпуса - дном на столе.


    Тензодатчик винтами М5 закрепить на основании корпуса.


    При необходимости обработать края и отверстия деталей надфилем или наждачной бумагой.

    Пружинные контакты устанавливаются в держатель аккумуляторной батареи. «Ушки» контактов должны быть выведены в соответствующие отверстия держателя. К ним снаружи припаиваются соединительные провода в соответствии со схемой.



    Шаг второй: заливка скетча

    Скопируйте архив со скетчем sketch.zip [1.71 Kb] (скачиваний: 151) . Разархивируйте его в рабочую папку на ПК, где развернут Arduino IDE. Установите указанные в скетче библиотеки. Подключите микроконтроллер к USB-порту и загрузите в него скомпилированный скетч. Более детальную информацию о работе с Arduino IDE Вы можете найти на соответствующих ресурсах.

    Вы можете использовать совместимый микроконтроллер. Но для этого может понадобиться внесение правок в скетч. Или на основе предложенного скетча можно написать свой вариант.

    В архиве со скетчем Вы найдете ссылки на библиотеки и пояснения к параметрам.


    Шаг третий: подготовка электронных компонентов

    Сначала нужно подготовить основную плату, на которой разместить микроконтроллер, резистор ограничения тока светодиода и контактные колодки для подключения дисплея, платы датчика веса, светодиода индикации питания, кнопки сброса показаний датчика, подключение питания и кнопки выключения.

    Все соединения необходимо выполнить в соответствии с приведенной электрической схемой.


    В модуле семисегментного дисплея необходимо выпаять «гребенку» и вместо нее припаять соединительные провода.


    К плате датчика HX711 в соответствии со схемой необходимо припаять провода от тензодатчика (Е+,Е-,А-,А+). К контактам GNG, DT, SCK, VСС припаиваются соединительные провода, идущие к основной плате с микроконтроллером.

    Далее дисплей саморезами М2 х 10 закрепляется в посадочных отверстиях основания корпуса.


    К светодиоду припаиваются провода, и он устанавливается в соответствующее отверстие в крышке корпуса. Светодиод для надежности приклеивается изнутри клеевым пистолетом.

    В отверстие, через которое видно диоды модуля зарядки, изнутри можно также выдавить каплю прозрачного клея.

    На крышке корпуса устанавливаются выключатель, кнопка сброса и разъем питания.


    Далее распаиваются соединения аккумуляторной батареи, зарядной платы, выключателя и разъема питания.

    Плата с микроконтроллером устанавливается в соответствующие крепления основания корпуса. К ней подключаются элементы в соответствии со схемой.


    Плата зарядки закрепляется двухсторонним скотчем в свое посадочное место так, чтобы светодиоды совпали с соответствующим отверстием в крышке.


    Шаг четвертый: включение, зарядка и калибровка

    Перед калибровкой необходимо проверить работу схемы зарядки. Для этого подключите внешний источник питания к разъему и убедитесь, что модуль зарядки работает: в режиме зарядки на модуле должен светиться красный диод, а если зарядка выполнена – то светится зеленый или синий диод (зависит от модуля).

    Не накрывая корпус верхней крышкой, установите площадку для взвешивания на датчик веса и проведите калибровку.


    Включить весы. Если все компоненты исправны и схема собрана корректно, то при включении весов должен загореться диод питания, а на дисплее высветится надпись HELLO. Затем появится надпись –OUF или какое-нибудь числовое значение.

    Перед тем, как использовать весы, их нужно откалибровать. Для этого в скетче есть параметр – scaleFactor  - коэффициент пересчета показаний датчика в граммы.


    Порядок калибровки:

    1. Взять эталонный предмет, вес которого известен точно (300-500 гр, но не более 1 кг).
    2. Включить весы и кнопкой сбросить значение веса в 0.
    3. На площадку для взвешивания положить эталонный предмет.
    4. Запомнить значение веса на дисплее.
    5. Рассчитать поправочный коэффициент: k=(вес эталона)/(показания дисплея).
    6. Открыть скетч и скорректировать на данный коэффициент параметр scaleFactor, который является отношением эталонного веса к показанию.
    7. Загрузить скетч с новым значение scaleFactor в микроконтроллер.
    8. Повторить п.п.1-7 пока весы на дисплее не будут показывать точный вес эталона.


    Шаг пятый: сборка корпуса

    Далее снимается площадка для взвешивания, устанавливается верхняя крышка и винтами М4 стягивается с корпусом. Винтами М4 площадка для взвешивания прикручивается к датчику веса.

    Весы готовы к работе.


    Заключение
    Для устойчивости на дно корпуса можно наклеить карпет или маленькие войлочные протекторы для стульев.

    Скетч можно доработать, чтобы калибровку проводить без правки кода программы, а вычислять и хранить в энергонезависимой памяти по, например, двойному нажатию кнопки сброса.

    Успехов в реализации и новых идей!

    Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

    Счетчик подписчиков соцсетей из фоторамки (на примере YouTube)

    10
    Идея
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Описание
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    10
    Исполнение
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    Итоговая оценка: 10 из 10 (голосов: 3 / История оценок)

    Добавить комментарий

    27 комментариев
    AntiviRus #92578 Автор
    Цитата: puteec_80
    Такое возможно в вашем скетче сотворить? 

    Конечно можно!!!   yes   Для калибровки задействовать долгое нажатие (или двойной клик): нажатие- перевод в режим калибровки - на дисплее: "000". убираем всякий груз - подтверждаем однократным кликом - на дисплее "111" - ставим груз 1 кг (зависит от параметров датчика давления) - опять однократный клик. Считаем коэффициент и записываем в память. При взвешивании считываем коэффициент из памяти и корректируем показания датчика.
    В принципе в Заключении об этом и написано... Вопрос в наличии эталонного веса 1 кг...  smiles  Если эталона нет, то калибровка, наверное, не имеет смысла.  scratch  
    Правильнее было бы иметь возможность задавать нужный эталонный вес (у кого что есть дома: 500г, 330г и т.д.). Для этого удобней вместо кнопки использовать энкодер (кнопка + вращение (уменьшение/увеличение значения эталона)). Ну и скетч под энкодер дописать соответственно  derisive


    puteec_80 #92573

    Высший класс! Но без меню калибровки устройство не закончено и привязано к пк. Хотя бы по двум точкам, нулевому весу и НПВ с занесением в ЕЕРROM. Типовым способом входа в меню является удержание какой либо кнопки при включении. На дисплее какой нибудь значок, например "000", разгружаем весы и снова жмакаем кнопку, записывая значения нуля в энергонезависимую память. На дисплее "111"-устанавливаем гирю в 1 кг и снова жмакаем кнопку с занесением в память. Такое возможно в вашем скетче сотворить? 

    Korolev #87326
    Валерий,
    Деньги это такая вещь, которая совершенно теряет ценность, если её достаточно

    Деньги - восполнимый ресурс, в отличие от времени.  yes 

    Korolev #87325
    AntiviRus,
    Ученье - свет - хотел разобраться с тензодатчиком - как с ним работать? Разобрался, попробовал - сделал конкретный рабочий экземпляр. Увидел много особенностей, чего в теории даже не заметишь... Разве нет? Думаю, что этот опыт обязательно пригодится...

    Двумя руками - за! Но ведь можно же полезное (опыт) совмещать с приятным, с творческим подходом, ну навскидку: заставить датчик фиксировать силу моих ударов по боксёрской груше, а ардуину - считать интенсивность - количество за минуту, суммарно за всё время тренировки, общий балл, от тренировки к тренировке. Ведь тензодатчик реагирует не только на вес, он же ж может отслеживать изменение давления во времени. Да мало ли каких ещё нетривиальных применений можно напридумывать ардуине! А если дооснастить ардуину ещё парочкой датчиков, измеряющих другие параметры, скомбинировать? Нет предела фантазии и творческому подходу.  scratch 

    Korolev #87324
    ino53,

    Самый старый мой кружковец - Сашка, ему счас 55. Самый мелкий был - Пашка

    Ну так это же были пацаны! Им действительно было интересно, и мы были пацанами, и мы тоже занимались всякой фигнёй, да и слова-то такого не знали: целесообразность. Но всему своё время. И, кстати, тогда наши поделки действительно были творчеством, начиная с разводки и изготовления печаток ...  yes 

    Валерий #87323

    Вот деньги я уж точно не ставил в приоритет... 

    Деньги это такая вещь, которая совершенно теряет ценность, если её достаточно.)))

    Але нови ностра алис!
    AntiviRus #87316 Автор
    Цитата: Jerry
    А давайте спросим Автора, зачем он занимался ненужной некоторым работой

    Вопрос короткий, но вот почитал комменты и для себя кратко ответить не могу. Считаю, что нельзя сужать тему только до траты времени и стоимости. Уж очень много сторон получается даже у этой "не нужной" самоделки:
    1. Хобби - мы же спрашиваем: зачем рыбак прется за тридевять земель, чтобы сидеть сутки и привезти домой пару лещей? - видимо это того стоит. Разве каждый, кто рисует - Айвазовский?... А болельщик? - не проще по телеку бесплатно посмотреть?
    2. Пример детям: у нас выросло поколение, которое знает (и реклама тому сильно помогает), что ВСЕ можно купить - даже из дома выходить не нужно... А вот - можно и нужно делать руками. В школе даже труды отменили... Мы в свое время и табуретки делали и на станках работали. А сейчас? :-(
    3. Ученье - свет - хотел разобраться с тензодатчиком - как с ним работать? Разобрался, попробовал - сделал конкретный рабочий экземпляр. Увидел много особенностей, чего в теории даже не заметишь... Разве нет? Думаю, что этот опыт обязательно пригодится... В данных весах основная работа была в проектировании корпуса: рисование модели корпуса, печать, подгонка, опять печать... И в SolidWorks что-то новое узнал, и при печати с настройками слайсера что-то оптимизировал...
    4. Процесс изготовления: да - это конструктор - но разве это плохо, что есть разнообразная элементная база? (Кстати, проект Ардуино для этого и разрабатывался, чтобы высокотехнологичные вещи были просты в использовании). Когда работаешь, видишь цель и получается, как задумал - разве это можно (нужно) монетизировать?  
    5. Полный цикл. Делая эту работу, прошел полный цикл производства: от проекта - до готового изделия: чертеж, модель, сборка, программирование, отладка.... Кроме того, получился готовый прототип, который можно совершенствовать, как минимум, программно: например, в умный дом интегрировать...
    6 ......... думаю можно еще добавлять стороны...
    А деньги... - все-равно все не заработаешь...   :-)
    В крайнем случае - всегда можно разобрать на детали... :-))


    ino53 #87315
    Цитата: Jerry
    давайте спросим Автора, зачем он занимался ненужной некоторым работой, п

    Пацаны, а если я вставлю свои 5 копеек...

    Самый старый мой кружковец - Сашка, ему счас 55.

    Самый мелкий был - Пашка, погиб около NN.

    Парни, им всем было просто интересно этой херней заниматься,  не обязательно что то зрабить, да исчо на этом заработать - не без того - просто интересно...   pardon 

    Jerry #87314
    Цитата: Korolev
    А если не заниматься всякой хер, пардон ненужной работой, то, может и на творчество времени хватит.  


    А давайте спросим Автора, зачем он занимался ненужной некоторым работой, по мнению некоторых, а не творчеством, исходя из той точки зрения, что его самоделку действительно проще и дешевле купить в готовом виде? Может ответ более очевиден, чем думают некоторые комментаторы? 

    Korolev #87313
    Jerry,
    Если шопоголизматичность приравнять к творчеству, то чёб и нет

    А если не заниматься всякой хер, пардон ненужной работой, то, может и на творчество времени хватит.  smile 

    Jerry #87312
    Цитата: Korolev
    Поиск новых идей, воплощение давней мечты! Творчество! Шедевр!  


    Если шопоголизматичность приравнять к творчеству, то чёб и нет smile 

    Korolev #87310
    Jerry,
    Творчество это не только изготовление уникального устройства, это ещё и обучение, преодоления себя и стереотипов, оценка возможностей, поиск новых идей, воплощение давней мечты.

    А я о чём? ПОИСК! НОВЫХ! ИДЕЙ! ВОПЛОЩЁНИЕ ДАВНЕЙ МЕЧТЫ! Двумя руками - за! Вот навскидку, первое, что попалось:

    Весы кухонные, весы кухонные электронные, весы для взвешивания продуктов, настольные весы ... 275 руб.


    Поиск новых идей, воплощение давней мечты! Творчество! Шедевр! smile 

    Jerry #87308
    Korolev,

    Валерий,


    Творчество это не только изготовление уникального устройства, это ещё и обучение, преодоления себя и стереотипов, оценка возможностей, поиск новых идей, воплощение давней мечты. У подавляющего большинства свободного времени достаточно много, которое они тратят на диван, просмотр зомбоящика, развлекательного контента в интернете, да и просто ленятся что-то полезное сделать. У меня был зимой период, я не мог себя заставить включить паяльник, проверить как работает схемка, которую нарисовал. Набрал кучку деталей, а паять вот просто не хочется... Преодолел лень, спаял, схема не заработала так, как надо, зато заработал мозг, хоть и не сразу, захотелось ему найти правильное решение. 

    Korolev #87304
    Валерий,
    не согласен продавать своё время, в количестве, которое затратил - НЕ ЦЕЛЕСООБРАЗНО!!!!

    Можешь поверить мне наслово, но довольно скоро ты и сам поймёшь, что твоё время - невосполнимый ресурс, и транжирить его надо очень вдумчиво.  yes 

    Валерий #87302
    Цитата: Jerry
    Но ведь цель творчества не только целесообразность. Да или нет? 


    Нет! Именно - целесообразность! Целесообразно "пристроить хлам", который уже есть и лежит без дела. Целесообразно сделать что-то,сэкономив на этом деньги, или (чаще) время! Целесообразно что-то собрать, наделив его функцией, которой не хватает в готовом, или вписав его размеры в необходимые тебе, или придав ему требуемый внешний вид ....

    А купить детали, и сварганить изделие, которое по функциям ничем не отличается от готового, да ещё и сэкономив на этом такую смехотворную сумму, за которую сам, обычно, не согласен продавать своё время, в количестве, которое затратил - НЕ ЦЕЛЕСООБРАЗНО!!!!

    Але нови ностра алис!
    Korolev #87300
    Jerry,
    Но ведь цель творчества не только целесообразность. Да или нет?

    Как любил говаривать один мой препод в институте: "Ребята! Сначала давайте договоримся о терминах!". Что мы будем понимать под словом "творчество"? Соединение проводочками стандартных китайских блоков, ради создания стандартного изделия, по стандартным решениям? Причём затраты заведомо превысят стоимость приобретения готового изделия. Или всё же пусть и из стандартных блоков, но необычное, уникальное изделие, которое нельзя (или дорого) купить? Так да, или нет? dontknow 

    Korolev #87297
    Валерий,
    Не думаю, что целесообразно делать самому кухонные весы... Не буду искать предложения, но стоят они ерунду и есть везде...

    Если честно, то просто поленился в очередной раз об этом писать.  smile 

    Jerry #87296
    Цитата: Валерий
    Не думаю, что целесообразно делать самому кухонные весы... Не буду искать предложения, но стоят они ерунду и есть везде...


    Большинство самоделок не целесообразны, если есть достаточное количество денежки и времени. Но ведь цель творчества не только целесообразность. Да или нет? 

    AntiviRus #87294 Автор
    Цитата: Korolev
    необходим, например для вычитания веса пустой тары

    "Автосброс" - имеется в виду, что весы при включении тарируются скетчем сразу на ноль автоматически (это обязательная процедура - она инициирует преобразователь). Первый вызов этой функции требует больше времени, чем последующие (при нажатии кнопки). В скетче функция при первом автоматическом вызове за установленный таймаут (2,5 сек) не успевает отработать (но по идее должна и за 0,5 сек успевать) - поэтому дисплей может показать 0 или какое-то случайное значение. Нужно исследовать данную проблему - возможно это особенность данного экземпляра преобразователя или нужно подобрать параметры настройки, или - "танцы с бубном".
    Но я склонен к особенностям МК - т.к. полноценно библиотека семисегментного дисплея на этом МК не заработала - оказались несовместимы библиотеки таймеров. Но заработала в "упрощенном" режиме (с использованием встроенного таймера) - возможно такой режим как-то конфликтует с библиотекой датчика...
    В общем вариантов решения много - если это критично для пользователя.
    А кнопка остается кнопкой для установки веса тары в 0.

    Валерий #87292
    Korolev,


    Согласен полностью. Сброс на ноль должен быть не автоматическим, а именно "тогда, когда надо".

    Только вот....

    Не думаю, что целесообразно делать самому кухонные весы... Не буду искать предложения, но стоят они ерунду и есть везде...

    Але нови ностра алис!
    Korolev #87290
    Jerry,
    Я бы чуть изменил алгоритм включения и добавил автосброс на ноль, так работает большинство весов и это удобно. Зачем лишнее движение с кнопкой?

    Может я влезаю куда не следует, но КМК, сброс на "0" необходим, например для вычитания веса пустой тары.  scratch 

    AntiviRus #87283 Автор
    Jerry,

    Спасибо, понятно. Буду иметь в виду. Проблема вроде не критичная - поэтому глубоко про "танцы с бубном" преобразователя не копал. Взял типовой пример из библиотеки. Больше времени ушло на "особенности" МК - то прошивается по особому, то не совместим с библиотекой, то Serial нет...

    Jerry #87282
    Цитата: AntiviRus
    Да, вероятно. Я на этом МК первый раз попробовал - он по характеристикам был заявлен вроде как "замена Nano".


    Вы меня не поняли, я имел ввиду АЦП преобразователя тензодатчика, он может долго выходить на режим, из-за этого и нестабильность показаний в начальный момент. Замена МК на "оригинал" ничего не даст. 

    AntiviRus #87280 Автор
    Цитата: Jerry
    Скорее проблема в АЦП, о нем кстати много статей про танцы с бубном

    Да, вероятно. Я на этом МК первый раз попробовал - он по характеристикам был заявлен вроде как "замена Nano". Брал парочку для пробы. Попробовал - не понравился - много танцев и ограничений :-) . В общем особо не хочется разбираться с этими "особенностями". Думаю, что на Nano или esp8266 все будет работать четко.

    Jerry #87279
    Цитата: AntiviRus
    Возможно эта проблема связана с микроконтроллером - на других МК я не проверял. 


    Скорее проблема в АЦП, о нем кстати много статей про танцы с бубном. 

    AntiviRus #87276 Автор
    Jerry,

    да, конечно, согласен, что так удобнее, но в скетче в setup() есть уже такая команда сброса на 0 

    sensor.tare();    // калибровка нуля - она же потом вызывается при нажатии на кнопку.

    Но она не всегда отрабатывает - вероятно нужно ставить еще больше задержку после нее. Сейчас стоит 2,5 сек - это ощутимо - большая пауза после включения. Возможно эта проблема связана с микроконтроллером - на других МК я не проверял. 

    Jerry #87270

    Я бы чуть изменил алгоритм включения и добавил автосброс на ноль, так работает большинство весов и это удобно. Зачем лишнее движение с кнопкой? 

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии