Хочу посоветоваться про установку тензодатчика (weight cell 100g и HX711) на дельта-принтер
Имею дельта-принтер со встроенным механизмом автолевела. Радиатор экструдера прикреплён на подпружиненный кронштейн. Когда принтер опускает сопло в стол, кронштейн сдвигается и нажимает на кнопку концевика. Это позволяет принтеру выравниваться по любой точке печатной области в автоматическом режиме.
Захотелось совсем избавиться от механических деталей в пробнике - чтобы радиатор монтировался на эффекторе жёстко. На просторах Алиэкспресс наткнулся на дешёвые тензодатчики и понял, что это то, что надо.
Для тех, кто не в курсе - в основе принципа работы тензодатчика - плёночные резисторы. Если их тянуть, то они меняют сопротивление. Резисторы клеют на бока алюминиевого бруска и закрывают защитным слоем лака. Если один конец бруска держать, а на другой - давить, микроскопический изгиб будет зафиксирован резисторами. Датчики выпускаются на разные веса - на картинке датчик на 5кг, а я купил самый мелкий номинал - на 100 грамм, он в полтора раза мельче:Едем дальше. Ардуиной такие микроскопические изменения тока на резисторах не поймаешь, нужен усилитель.
Китайская промышленность выпускает грошовые 24-битные усилители HX711, которые прекрасно справляются с этим делом.
Главная беда чипов HX711 с Али в том, что они работают со скоростью 0,5 Гц. Это неприемлемо - за две секунды принтер успеет вогнать сопло в стол. Но изучение даташита подсказало, что если соединить pin 'rate' чипа с плюсом питания, то скорость работы поднимается до 8 Гц:Чтобы это сделать, надо загнать иглу под предпоследнюю 'ногу' чипа (острая игла от шприца справилась лучше всего) и отпаять ногу острым жалом паяльника. Затем аккуратно отогнуть её и либо просто присоединить к соседней шариком припоя или соорудить перемычку из провода к VCC.После всех этих манипуляций я собрал 'стенд'. С заделом на будущее я паял провода не к плате, а через 'телефонный' разъём RJ11, чтобы можно было разобрать-собрать. Провода тензодатчика цепляем так:
красный => E+
чёрный => E-
зелёный => A-
белый => A+
Я взял полутораметровый отрезок четырёхжильного 'провода для домофона', через него заработало на ура.
Для тестов пока взял Arduino Nano. Pin 'DT' цепляем к пину 'А1' Ардуино, пин 'SCK' - к пину 'А0'. Для HX711 есть 2 библиотеки, навороченная github.com/bogde/HX711 и простая, как валенок, https://github.com/aguegu/Arduino - на ней и остановился.Набросал простейший код:/*
* Library: https://github.com/aguegu/Arduino
*/
// Hx711.DOUT - pin #A1
// Hx711.SCK - pin #A0
#include 'hx711.h'
Hx711 scale(A1, A0);
float curr = 0;
int normalizedValue = 0;
void setup() {
Serial.begin(115200);
}
void loop() {
curr = scale.getGram();
normalizedValue = map(curr, -9999, 9999, -100, 100); // maps measurements to -100 to 100 range.
Serial.print(curr, 1);
Serial.print(' mg --> ';);
Serial.print(normalizedValue);
Serial.println('';);
delay(0);
}
Загружаем скетч в Ардуину и убеждаемся, что всё ещё работает медленно. Чешем репу и лезем в библиотеку.
Там видим строку:
long averageValue(byte times = 32);
и понимем, что библиотека собирает 32 замера с датчика, округляет их и выдаёт наружу. Заменяем 32 на 1, пересобираем скетч и получаем показания с датчика со скоростью пулемёта.
Следующие шаги:
- прикрутить в цепь оптрон. Цель - полностью имитировать работу концевика, никак не трогая плату принтера.
- написать код, который будет распознавать быстрое увеличение показаний датчика (в момент касания соплом стола)
- взять 3d-модель эффектора и передизайнить под габариты тензодатчика. Габариты известны, единственая засада - насчёт диаметра крепёжных отверстий китайцы наврали, их придётся рассверливать под честный М3:
Load Cell Size - 47 x 12 x 6mm / 1.9' x 0.47' x 0.24' (L*W*T)
Thead Hole Diameter - 3mm /0.12'
Hole Center Distance - 40 x 6 mm / 1.6' x 0.24' (L*Max.W)
Пожалуйста, коллективным разумом покритикуйте меня или ткните носом, если я что-то серьёзно упустил, пока я принтер ещё не раскурочил. Спасибо!
Еще больше интересных статей
Klipper - восстановление прерванной печати
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Внезапно выяснилось что у стокового клиппера есть странная особенно...
Как определить высоту слоя прерванной печати
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Настраиваем прошивку Marlin и заливаем её в 3D принтер
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Комментарии и вопросы
Где реклама?
Реклама, только без упоминания...
В смысле? Скачайте орку и выбе...
Добрый день, подскажите, пожал...
Что делать если я первый раз к...
Добрый день. Приобрёл сопло 1м...
Коллеги, такая проблема, уже н...