Как подключить 2 тензодатчика через одну плату hx711?

Тема в разделе "Arduino & Shields", создана пользователем Fiskars500, 15 дек 2023.

  1. parovoZZ

    parovoZZ Гуру

    ну ели у автора действительно такой датчик, то весы на нём собираются вот так:
    upload_2023-12-20_10-48-17.png
    Второй тензодатчик здесь как собаке пятая нога.
     
  2. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Посмотрел на картинку и представил направление сил. По-моему нарисована лажа лажная. Сверху ОБА резистора - растяжение, снизу ОБА - сжатие.
     
  3. parovoZZ

    parovoZZ Гуру

    Это для случая, когда брусок цельный. Как только появляются такие вырезы, силы перераспределяются так, как показано на рисунке.
     
  4. Fiskars500

    Fiskars500 Нерд

    Действительно такой. Долго объяснять, это не весы. Нужно чтобы платформа не перекашивалась если груз положат не по центру. И если вместо 500 г кто-нибудь положит 2 кг. На одном датчике посередине хлипко. В идеале 4 шт по краям, но всё должно быть компактное, маленькое, лёгкое. Городить какую-то сложную конструкцию с кучей металла, которая не будет давать платформе перекашиваться - не вариант.
     
  5. User248

    User248 Гик

    А если использовать отдельную плату hx711 на каждый датчик?
     
  6. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Вы бы сначала отчитались о результатах с Гайверовской библиотекой. Вам ведь помогают и хотели бы знать результаты на вашем опыте. Заработали два датчика ? По крайней мере, Протеус показывает правильные посылки с изменяющимся числом тактов.
     
    Последнее редактирование: 20 дек 2023
  7. Fiskars500

    Fiskars500 Нерд

    В общем, попробовал, даже не понял работает или нет. Похоже работает, но канал B очень малую чувствительность имеет, и его использовать скороее всего бесполезно. Либо подключать оба датчика параллельно (?) на канал А, либо 2 платы, что неудобно
     
  8. Fiskars500

    Fiskars500 Нерд

    Не знаю можно ли так, сможет ли библиотека 2 разных платы опрашивать в одной программе + тогда больше пайки, больше мороки, неудобно. Если бы было ОДНО изделие, я бы мог потратить кучу времени на его сборку. А изделие хочу делать мелкосерийным, где хочется минимизировать количество модулей, пайки и т д
     
  9. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Радуйтесь что работает - это лучше чем ничего. "Очень малая чувствительность" - это когда раз в 10-100 меньше "нормальной". У вас же разница максимум в 4 раза 32/128. Вам в любом случае придется калибровать датчики, и это скроет разную чувствительность. Но погрешность тупого канала будет в 4 раза больше. Вы говорили, что один канал нужен лишь для оценочного измерения. Как раз тупой канал подойдет. В принципе можете использовать 1 канал и коммутатор на реле, но думаю от щелканья можно свихнуться. Можно попробовать аналоговый коммутатор. Но не уверен что он не будет искажать сигнал.
    ПС. Измерьте напряжение между Е+ Е- и напишите сюды. При подключенных мостах ессно. Интересно.
     
    Последнее редактирование: 21 дек 2023
  10. a1000

    a1000 Гуру

    Ну так я ж мисал о разных коэфициентах усиления.
    Вы хот сами поняли, что написали? Мы меряем НАПРЯЖЕНИЕ на выходе датчика. Что мы, по вашему, получим при паралельном соединении?
     
  11. Ariadna-on-Line

    Ariadna-on-Line Гуру

    А проверить не судьба ? Попробуйте
    #include <GyverHX711.h>

    GyverHX711 sensorA(3, 2, HX_GAIN128_A);
    // GyverHX711 sensorA(5, 4, HX_GAIN128_A); // С отдельными линиями
    GyverHX711 sensorB(4, 2, HX_GAIN128_A); // С общей тактовой линией

    // HX_GAIN128_A - канал А усиление 128
    // HX_GAIN32_B - канал B усиление 32
    // HX_GAIN64_A - канал А усиление 64
    //======================================
    void setup() {

    Serial.begin(9600);
    Serial.println(F("Ariadna-on-Line"));

    // если тарирование при первом запуске -
    // нужно выждать готовность датчика
    delay(500);
    // sensorA.tare(); // калибровка нуля
    // sensorB.tare(); // калибровка нуля

    //sensorA.sleepMode(true); // выключить датчик
    //sensorB.sleepMode(true); // выключить датчик
    sensorA.sleepMode(false); // включить датчик
    sensorB.sleepMode(false); // включить датчик
    }
    //======================================
    void loop() {

    // чтение только по доступности! if available
    if (sensorA.available()) {
    Serial.print(F("Sensor A = "));
    Serial.println(sensorA.read());
    delay(1000);
    }
    // чтение только по доступности! if available
    if (sensorB.available()) {
    Serial.print(F("Sensor B = "));
    Serial.println(sensorB.read());
    delay(1000);
    }
    }
    //======================================
     
    Последнее редактирование: 21 дек 2023
  12. Fiskars500

    Fiskars500 Нерд

    Конечно - будем тоже мерить напряжение. Но оно будет зависеть уже от двух датчиков? Разве нет?
     
  13. Fiskars500

    Fiskars500 Нерд

    Попробую, спасибо. Надо будет переделать проект
     
  14. parovoZZ

    parovoZZ Гуру

    странный вопрос... HX711 - это АЦП с весьма посредственными характеристиками, от того и дешёвое. Для дурино-поделок самое оно, но не для промышленности.
     
  15. parovoZZ

    parovoZZ Гуру

    тогда набирай специалистов. Они всё сделают. Разумеется, не на дурине. Дурина - это для школы и кружков. Для производства она не годится.
     
  16. Fiskars500

    Fiskars500 Нерд

    Тут нет ответа на процитированный вопрос. Если HX711 не нужно чтобы работать с датчиками, а просто их подключать напрямую к ардуино, тогда для чего нужен HX711? Вы отвечаете - для ардуино поделок. Но при этом говорите, что он не нужен, можно подключить напрямую. Вы определитесь :)
     
  17. Fiskars500

    Fiskars500 Нерд

    Набирать специалистов на это изделие не нужно. Смысл именно в том, что оно хенд мейд и мелко серийно штучное. До этого всегда справлялся сам, возможно с какими-то подсказками на форумах, возможно без них. И дальше всё сделаю сам. Значит, буду менять конструкцию и т д. Прототип на выставке очень зашёл людям - все были в восторге.
     
  18. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Не обращай внимания. Это у Паровоза фирменный каприз. Ардуина это AVR процессор на куске картонки. Разницы - ардуинский тот картон или супер-пупер-фирмы - нет никакой.
    ПС. Подключать датчики напрямую к Ардуино нет смысла. При предельном усилии выход датчика не превышает десятка милливольт. А для Ардуинского АЦП нужны 1100мв на всю шкалу. Это при использовании встроенного референса 1.1 вольт. Поэтому нужен предусилитель не менее 50-100 единиц.
     
    Последнее редактирование: 21 дек 2023
  19. parovoZZ

    parovoZZ Гуру

    А зачем мне определяться? Не я ж разрабатываю устройство. Такой же ответ и на первую часть - все решения за разработчиком.
    Я лишь пишу со своей позиции: если нужен весовой триггер, то и разрабатывать его нужно как весовой триггер.
     
  20. a1000

    a1000 Гуру

    Да, трудно вам будет в этой области. Почитайте о паралельном и последовательном соединении. Я ни в коем случае не хочу вас обидеть или унизить. Просто почитайте для себя. Поверьте, вам это ещё не раз пригодится.
     
    Ariadna-on-Line нравится это.