Всем привет!
Точные весы в хозяйстве – вещь полезная, особенно на кухне.
Делаем весы для взвешивания грузов до 1 кг на основе тензодатчика HX711 .
Описание самоделки
Весы представляют собой прямоугольную конструкцию. Верхняя площадка предназначена для взвешивания. На крышке расположены следующие элементы:
- семисегментный 4-х разрядный дисплей – для отображения информации о готовности прибора и величины веса;
- кнопка включения весов;
- кнопка сброса – для установки значения весов в 0;
- разъем для подключения зарядного устройства;
- светодиод включенного питания;
- светодиоды заряда аккумуляторной батареи.
Порядок работы с весами:
- зарядить аккумулятор;
- включить питание и дождаться загрузки МК: после приветствия появится надпись –OUTF (переполнение) или какое-то числовое значение.
- нажать кнопку сброса – индикатор должен показать 0.0.
- установить на площадку взвешиваемый предмет – дисплей покажет его вес в граммах.
Итак, приступим:
Материалы и инструменты:
Для работы нам понадобятся:
- 3D-принтер с пластиком любого цвета;
- паяльник с припоем;
- соединительные провода для пайки;
- надфили, наждачная бумага для обработки пластика - опционально;
- термоусадочная трубка – опционально;
- винты М5 15-20мм - 2 шт;
- винты М4 15-20мм - 2 шт;
- винты М4 35мм - 4 шт;
- саморезы M2 x 10 - 4 шт;
- электронные компоненты (ссылки приведены исключительно для получения информации о внешнем виде и параметрах компонентов):
- датчик весового давления из алюминиевого сплава с модулем HX711; здесь приведено описание и принцип работы датчика;
- микроконтроллер MH-Tiny ATTINY88 micro development board 16Mhz (или аналогичный) – у меня под рукой был этот. Поэтому скетч настроен на этот микроконтроллер.
- аккумулятор литий-ионный 18650;
- зарядная плата TP4056 для литиевых батарей;
- семисегментный дисплей на ТМ1637;
- двухсторонний прототип, 20x90 мм, универсальная печатная плата для Arduino (или аналогичный материал для монтажа электронных компонентов – 1 шт.
- однорядный штекер и гнездо 2,54 ломаемый штыревой разъем PCB – опционально;
- кнопочный переключатель ( https://aliexpress.ru/item/4001165826718.html ) - 1 шт.
- светодиод 3 мм 2,9В 20мА (или аналогичный)– 1 шт;
- резистор 110 ом (приведен для диода 2,9В 20мА – для другого номинала диода необходимо рассчитать сопротивление)– 1 шт;
- пружинный контакт для батареек - можно сделать самостоятельно из жести - 1 пара.
Шаг первый: печать корпуса
Для печати корпуса тестера необходимо скачать архив с stl-файлами . В слайсере выбрать стандартное или высокое качество печати. Распечатать детали корпуса:
- основание корпуса;
- крышка;
- площадка для взвешивания.
Основная часть компонентов крепится к основанию. На крышке устанавливаются: кнопка сброса, выключатель и разъем зарядки.
Детали печатаются без поддержек. Но в зависимости от пластика может понадобиться использование режима «брим».
Верхняя панель и площадка печатаются «лицом» на стол, а основание корпуса - дном на столе.
Тензодатчик винтами М5 закрепить на основании корпуса.
При необходимости обработать края и отверстия деталей надфилем или наждачной бумагой.
Пружинные контакты устанавливаются в держатель аккумуляторной батареи. «Ушки» контактов должны быть выведены в соответствующие отверстия держателя. К ним снаружи припаиваются соединительные провода в соответствии со схемой.
Шаг второй: заливка скетча
Скопируйте архив со скетчем . Разархивируйте его в рабочую папку на ПК, где развернут Arduino IDE. Установите указанные в скетче библиотеки. Подключите микроконтроллер к USB-порту и загрузите в него скомпилированный скетч. Более детальную информацию о работе с Arduino IDE Вы можете найти на соответствующих ресурсах.
Вы можете использовать совместимый микроконтроллер. Но для этого может понадобиться внесение правок в скетч. Или на основе предложенного скетча можно написать свой вариант.
В архиве со скетчем Вы найдете ссылки на библиотеки и пояснения к параметрам.
Шаг третий: подготовка электронных компонентов
Сначала нужно подготовить основную плату, на которой разместить микроконтроллер, резистор ограничения тока светодиода и контактные колодки для подключения дисплея, платы датчика веса, светодиода индикации питания, кнопки сброса показаний датчика, подключение питания и кнопки выключения.
Все соединения необходимо выполнить в соответствии с приведенной электрической схемой.
В модуле семисегментного дисплея необходимо выпаять «гребенку» и вместо нее припаять соединительные провода.
К плате датчика HX711 в соответствии со схемой необходимо припаять провода от тензодатчика (Е+,Е-,А-,А+). К контактам GNG, DT, SCK, VСС припаиваются соединительные провода, идущие к основной плате с микроконтроллером.
Далее дисплей саморезами М2 х 10 закрепляется в посадочных отверстиях основания корпуса.
К светодиоду припаиваются провода, и он устанавливается в соответствующее отверстие в крышке корпуса. Светодиод для надежности приклеивается изнутри клеевым пистолетом.
В отверстие, через которое видно диоды модуля зарядки, изнутри можно также выдавить каплю прозрачного клея.
На крышке корпуса устанавливаются выключатель, кнопка сброса и разъем питания.
Далее распаиваются соединения аккумуляторной батареи, зарядной платы, выключателя и разъема питания.
Плата с микроконтроллером устанавливается в соответствующие крепления основания корпуса. К ней подключаются элементы в соответствии со схемой.
Плата зарядки закрепляется двухсторонним скотчем в свое посадочное место так, чтобы светодиоды совпали с соответствующим отверстием в крышке.
Шаг четвертый: включение, зарядка и калибровка
Перед калибровкой необходимо проверить работу схемы зарядки. Для этого подключите внешний источник питания к разъему и убедитесь, что модуль зарядки работает: в режиме зарядки на модуле должен светиться красный диод, а если зарядка выполнена – то светится зеленый или синий диод (зависит от модуля).
Не накрывая корпус верхней крышкой, установите площадку для взвешивания на датчик веса и проведите калибровку.
Включить весы. Если все компоненты исправны и схема собрана корректно, то при включении весов должен загореться диод питания, а на дисплее высветится надпись HELLO. Затем появится надпись –OUF или какое-нибудь числовое значение.
Перед тем, как использовать весы, их нужно откалибровать. Для этого в скетче есть параметр – scaleFactor - коэффициент пересчета показаний датчика в граммы.
Порядок калибровки:
- Взять эталонный предмет, вес которого известен точно (300-500 гр, но не более 1 кг).
- Включить весы и кнопкой сбросить значение веса в 0.
- На площадку для взвешивания положить эталонный предмет.
- Запомнить значение веса на дисплее.
- Рассчитать поправочный коэффициент: k=(вес эталона)/(показания дисплея).
- Открыть скетч и скорректировать на данный коэффициент параметр scaleFactor, который является отношением эталонного веса к показанию.
- Загрузить скетч с новым значение scaleFactor в микроконтроллер.
- Повторить п.п.1-7 пока весы на дисплее не будут показывать точный вес эталона.
Шаг пятый: сборка корпуса
Далее снимается площадка для взвешивания, устанавливается верхняя крышка и винтами М4 стягивается с корпусом. Винтами М4 площадка для взвешивания прикручивается к датчику веса.
Весы готовы к работе.
Заключение
Для устойчивости на дно корпуса можно наклеить карпет или маленькие войлочные протекторы для стульев.
Скетч можно доработать, чтобы калибровку проводить без правки кода программы, а вычислять и хранить в энергонезависимой памяти по, например, двойному нажатию кнопки сброса.
Успехов в реализации и новых идей!