• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
program pod budowę wagi, przerwanie
#1
Question 
Cześć!
Wraz z kolegą jesteśmy początkującymi użytkownikami Arduino. Robimy wagę używając tensometrów i wzmacniaczy HX711 oraz płytki Arduino Uno.
Wariant jednego tensometru i wzmacniacza (plus dwóch oporników do uzyskania pełnego mostka) oraz dwóch i czterech tensometrów wciąż podłączonych do jednego wzmacniacza wychodził nam w miarę ok, z błędem rzędu 200gram

Problem mamy z użyciem dwóch i czterech wzmacniaczy. Do tej pory korzystaliśmy z dwóch kodów (załączniki)
chcemy wprowadzić funkcję attachInterrupt i modyfikować program w zależności od ilości wzmacniaczy

Jak na razie bez funkcji przerwania próbowaliśmy tylko przerobić program tak, aby czytać wartości tensometrów i liczyć z nich średnią, jednak wyniki nie są zadowalające (program też załączony). Nie wiemy też jak można osobno kalibrować tensometry.

Czasami też waga bez przerwy rośnie niezależnie od obciążenia, a zazwyczaj jest bardzo zależna od miejsca przyłożenia obciążenia
PS. Wszystko lutowane dobrze, sygnał nigdzie się nie gubi
Czy ktoś może budował wagę na kilku wzmacniaczach i ma dla nas jakieś wskazówki? Będziemy bardzo wdzięczni! Rolleyes Rolleyes


Załączone pliki
.txt   program dla dwoch hx711.txt (Rozmiar: 3.75 KB / Pobrań: 3)
.txt   szkic 1 hx711.txt (Rozmiar: 2.91 KB / Pobrań: 4)
.txt   szkic 2 hx711.txt (Rozmiar: 7.13 KB / Pobrań: 0)
 
Odpowiedź
#2
#include "HX711-multi.h"

tam nie powinno być biblioteki do obsługi multi jeśli w drugim szkicu
masz dwukrotnie hx711 ?


przykłąd :

#include "HX711-multi.h"
#include "HX711.h"
#define DOUT1 2
#define CLK1 7
#define DOUT2 3
#define CLK2 4



HX711 scale1; // <---------- tu 1x
HX711 scale2; // <---------- tu 2x

float calibration_factor1 = -3000; //-7050 worked for my 440lb max scale setup
float calibration_factor2 = -3050; //-7050 worked for my 440lb max scale setup
float suma;
int p;

void setup() {

Serial.begin(9600);

Serial.println("HX711 calibration sketch");
Serial.println("Remove all weight from scale");
..
..
dalszy kod

link do biblioteki : https://github.com/compugician/HX711-multi
(opis : Główną różnicą, jaką wprowadza ta biblioteka, jest możliwość jednoczesnego próbkowania wielu jednostek HX711. Jest zoptymalizowany do wprowadzania minimalnych (efektywnie zerowych) narzutów. )


"Czasami też waga bez przerwy rośnie niezależnie od obciążenia, a zazwyczaj jest bardzo zależna od miejsca przyłożenia obciążenia"

być może będzie potrzebował użyć 4 czujników do pełnego obliczania takiej wagi jeśli czujnik masz jeden może on nie wystarczać
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości