SCALEY - Весы для катушек по 1 кг с ESP32
Привет создатели!
вы выбираете нить, которую хотите измерить, с помощью циферблата. Результатом будет точное оставшееся количество нити. Он отображается в граммах и метрах. Вес катушки вычитается автоматически.
Оригинал от @Whity и @KlausKoeln. Спасибо за вашу работу!
Я создал этот ремикс, чтобы вместить больший список нитей. Поэтому я использовал ESP32. Он также работает более плавно, чем на Arduino Nano.
https://www.instructables.com/SCALEY-the-Filament-Scale-for-1kg-Spools-With-ESP3/
Список материалов:
1x HX711 + датчик нагрузки 5 кг (расстояние между отверстиями для винтов 10 мм)
1x 0,96-дюймовый OLED-дисплей
1x модуль поворотного энкодера KY-040
1 кулисный переключатель 10x15 мм ВКЛ/ВЫКЛ
1x ESP32 без припаянных контактов. DEV (с USB-C или Micro-USB)
1x ползунковый переключатель, 3 контакта, 4 мм
1 калибровочный вес 100 г
4 винта с потайной головкой 2,5 мм, длина 8 мм
2 х M4x16 (или x20) панорамная головка
2 х М4х30
3 шестигранника M3x8
Провода
Настройки печати:
3-4 периметра
мин. 20% Заполнение
Брим
Поддерживается только ВЕРХНЯЯ часть.
Инструкции:
Подключите все, как показано на схеме. Используйте горячий клей для крепления ESP32, ползункового переключателя и печатной платы HX711.
После того, как вы все припаяли, все готово. Сначала нам нужно прошить ESP32 с помощью Arduino IDE. Для этого вам понадобится этот драйвер: https://www.silabs.com/developer-tools/usb-to-uart-bridge-vcp-drivers?tab=downloads
Подключите ESP32 через USB к компьютеру.
Загрузите инструкции по прошивке ESP32 на вашем языке здесь. Следуйте инструкциям: https://www.az-delivery.de/collections/kostenlose-e-books/products/esp32-nodemcu-kostenfreies-e-book?variant=8687877685344.
Вы также можете загрузить плату ESP32 непосредственно в диспетчере плат Arduino.
В некоторых случаях вам также необходимо установить Python 2 и 3. https://www.python.org/downloads/
Теперь нам нужно откалибровать весы. Загрузит�� здесь Calibration.ino. Или используйте предварительно настроенный файл здесь, в разделе «Загрузки».
Загрузите и установите следующие библиотеки в Arduino, если они еще не установлены:
HX711_АЦП
Адафрут_SSD1306
NewEncoder (необходимо установить вручную из gfvalvo/NewEncoder)
Теперь откройте Calibration.ion в Arduino IDE. Измените контакты на:
const int HX711_dout = 5; //mcu > выходной контакт HX711
const int HX711_sck = 18; //mcu > контакт HX711 sck
Теперь перейдите в Arduino в «Инструменты». Установите там эти настройки:
Перед загрузкой и прошивкой вам необходимо установить шкалу нити в положение ВЫКЛ (кулисный переключатель), а ползунковый переключатель в положение ВЫКЛ (P). В противном случае программирование не удастся.
Теперь начните загрузку. Если загрузка не начинается автоматически, нажмите кнопку «Загрузка» на ESP32, пока отображается «соединение».
После завершения отсоедините USB-кабель. Теперь включите кулисный переключатель. Ползунковый переключатель должен оставаться в положении ВЫКЛ (P).
Снова подключите ESP32 к USB. Теперь вернитесь в Arduino IDE и откройте последовательный монитор.
Установите скорость передачи данных на 57600. (Здесь вы можете увидеть, как это выглядит: https://youtu.be/sxzoAGf1kOo?si=YfpNkIc4tdpsjhBT&t=462)
Теперь следуйте инструкциям последовательного монитора. Отправьте «т». Теперь поместите калибровочную гирю на весы. Введите вес вашей калибровочной гири (это может быть, например, 100,0).
Теперь отобразится ваше калибровочное значение. Запишите это. Если значение отрицательное, просто удалите отрицательный знак.
Небольшие колебания шкалы — это нормально. Если весы колеблются на несколько грамм +-5 г при весе, скажем, 100 г, используйте значение меньше фактического веса. Лучше иметь слишком много нити, чем слишком мало;)
Однако если колебания слишком велики, попробуйте экранировать провода тензодатчика и HX711. Смотрите изображение. Вы также можете подключить экраны к земле. Не используйте конденсатор.
Вы также можете ввести серийный монитор «r» для повторной калибровки. Или введите «c», чтобы ввести собственное значение.
Теперь калибровка завершена. Откройте файл Filament-Scale-ESP32.ino в Arduino.
Установите здесь значение калибровки: #define CALIBRATION_FACTOR
Если значение отрицательное, просто





























