/

Bf350 3aa подключение к arduino

Через пару дней добавлю демонстративное видео !

Плата усилитель HX711 имеет 5 пинов для подключения . Эти штыри обозначены цветами; RED, BLK, WHT, GRN и YLW. Эти цвета соответствуют традиционному цветовому кодированию весоизмерительных датчиков , где из тензодатчика выходят провода — красные, черные, зеленые и белые провода, а желтый — это дополнительный заземляющий провод, который не подключен к тензодатчику, а служит как дополнительная защита от электромагнитных помех .Иногда вместо желтого провода идет метализированная оплетка или фольга для отражения электромагнитных помех , называемая экран.

Для создания весов на ардуино нам нужно след. Железо :

Плата HX711 http://ali.pub/1s77td
Плата ардуино (нано,мега,уно ) http://ali.pub/1s8uzw
Тензометрический датчик http://ali.pub/1s780k (уже с платой )
Датчик на 1 кг http://ali.pub/1s8v5q
Датчик на 5 кг http://ali.pub/1s8v82

Датчик на 100150 кг http://ali.pub/1s8val

Мостовая схема соединения тензометрических сопротивлений в датчике :

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

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

• Питание + (E +) или VCC красное

• Питание — (Е) или земля черное.

• Выход + (O +), Сигнал + (S +) + или Усилитель + (A +) белый

• O-, S- или A- зеленый или синий

Некоторые датчики могут иметь небольшие различия в цветовом кодировании (особенно китайцы любят такой разнобой) , такие как синий вместо зеленого или желтого вместо черного или белого, если имеется только четыре провода (это означает, что экран не задействован ,или отсутствует вовсе ). Даже если цвета имеют другую маркировку , то всегда можно вызвонить датчик по сопротивлению , установив мультиметр на диапазор 2кОм , прозванивая пару проводов , провода питания будут иметь сопротивление порядка 400 ОМ ,провода сигнала 350 (пара) , питание + сигнал будут иметь сопротивление 300Ом .

Читайте также:  Как отделить детку кактуса

Если показания веса у вас идут со значением «-» просто на плате HX711 поменяйте O + / O-провода местами.

После того как вы подключили датчик к плате 711 , вы можете подключить VCC, DAT, CLK и GND к микроконтроллеру, например к плате Arduino.

В примере кода DAT и CLK подключены к контактам цифровым 3 и 2 на плате Ардуино , но при надобности их можно легко изменить в коде. П итание платы начинается от 3 в , а питание датчика от 5 в, по этому можно смело питать от Ардуины .

Схема подключения создана в программе фритзинг

Подпишитесь на автора

Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых постах.

Отписаться от уведомлений вы всегда сможете в профиле автора.

Статья относится к принтерам:

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

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

Вроде функционально, но.

Но, ничто не должно мешать сделать датчик самостоятельно, это почти легко.

Из нематериального:

  • Скетч Arduino nano: https://github.com/VanMo/HX711_Autolevel
  • Модифицированная прошивка Repetier для платы принтера Micromake D1: https://github.com/VanMo/Repetier
  • Предвкушение победы.

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

Тензорезисторный мост подключается к микросхеме HX711. HX711 запитывается от Arduino и связывается с ней по i2c. Arduino запитывается от платы принтера. Один дискретный сигнал (D13) идет из Arduino в контроллер принтера, имитируя концевик автоуровня. Второй обратный дискретный сигнал тянем из контроллера принтера в Arduino на пин D12. Он необходим для подачи сигнала начала измерения.

Предполагалось, что вывод A3 на AUX1 не зря так обозначен и должен идти напрямую в микроконтроллер ATMega2560 именно как A3. Но на деле пришлось кидать соплю напрямую к микросхеме, иначе не работало:

Читайте также:  Как правильно ставить диод

Возможно, это косяк только моей платы. Хотя, похоже там хитрая схема, болванка, обманка, замануха.

Лёгкая теория. Тензорезистор может изгибаться в обе стороны, соответственно увеличивая, или уменьшая свое сопротивление. Это свойство используется для увеличения чувствительности тензодатчика. Резисторы клеятся к одной и той же пластине с двух сторон, чтобы при изгибе резистор с одной стороны сжимался, а с обратной стороны растягивался.

Здесь основное правило такое: противоположные резисторы моста размещаются с одной стороны пластины.

Обратите внимание на обозначение резисторов разными цветами, так будет проще ориентироваться.

Это могут быть R1 и R3, например. С другой стороны вклеиваем R4 и R2. R1 и R4 должны оказаться с одной стороны пластины, а R2 и R3 с другой.

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

Скачиваем скетч для Arduino nano: https://github.com/VanMo/HX711_Autolevel Еще, понадобится библиотека: https://github.com/bogde/HX711 Для отладки нужно раскомментировать строку:

Загружаем в Arduino.

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

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

#define DETECT 3

При превышении порога, на выводе D13 будет появляться высокий уровень и зажигать светодиод на плате ардуино.

После настройки порога, закомментируем обратно:

В модифицированной прошивке контроллера принтера (https://github.com/VanMo/Repetier) добавлено управление выводом A3. В нужный момент, когда требуется отслеживание касания, на него подается высокий уровень. Это сигнал для Arduino выполнить тарировку показаний датчика и непрерывно сравнивать показания с пороговым значением. Тарировку датчика непосредственно перед касанием необходимо делать потому что на датчик будет влиять много факторов. Например, изменение температуры, или натягивание проводов, подходящих к голове. Тарировка исключает влияние этих факторов.

В настройках принтера нужно задать параметр eeprom Z_PROBE_HEIGH, он определяет разницу между реальным расстоянием от стола до сопла с расстоянием, полученным от датчика калибровки. Это можно сделать в CURA, или любым другим способом. В нашем случае значение должно быть отрицательным, так как срабатывание датчика происходить по сути ниже уровня стола. Значение нужно подобрать экспериментально и оно сильно зависит от алгоритма ‘зондирования’. Сейчас у меня Z_PROBE_HEIGH около -0.06 мм.

Читайте также:  Как быстро высушить опилки

Микросхему HX711 желательно разместить прямо в голове, чтобы минимизировать расстояние до тензорезисторов. Arduino лучше расположить вблизи контроллера принтера.

Так это работает: