Arduino Polska Forum

Pełna wersja: Waga na tensometrach i hx711 - kanał A i B
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam,
pracuję nad wagą opartą na tensometrach połączonych w mostek podłączonych do wzmacniacza HX711. Monitorowana ma być waga kilku uli 4-ry razy dziennie i wysyłana przy pomocy GPRS na stronę. Proszę szanowne grono o pomoc w rozwiązaniu dwóch problemów.
1. waga ma działać na zasilaniu bateryjnym więc w celu oszczędzania energii będzie usypiana. Chodzi o to aby po każdym wybudzeniu waga się nie zerowała tylko podawała wartość bezwzględną od momentu skalibrowania. Ja do tej pory waga się resetuje.
2. używam HX711, który rzekomo ma możliwość pomiaru z dwóch mostków tensometrycznych A i B. Pytanie w jaki sposób mogę dokonać tych pomiarów. Domyślnie pomiaru dokonuje dla kanału A. 

podaję fragment kodu odpowiadającego za pomiar:
Kod:
HX711 waga(DOUT, CLK);
float kal = 43600;
float tab_pom[5];
  waga.set_scale();
  waga.tare();
void loop() {
   waga.set_scale(kal);
  if(digitalRead(pomiar)==HIGH ) {
    Mierz();
    delay(1000);
  } 
if (nr_pom == 4) {
  tab_pom[4]=((tab_pom[0]+tab_pom[1]+tab_pom[2]+tab_pom[3])/4);
Serial.println("Wysyłam wiadomość");
    delay(2000);
   
   SendMessage();
   delay(1000); 
  }
void Mierz()
{
  tab_pom[nr_pom]=waga.get_units();
       Serial.print(tab_pom[nr_pom]);
       Serial.println(" kg");
      nr_pom ++;
}
Ad.1: W jaki tryb uśpienia wprowadzasz uC? A może się nie resetuje, tylko taruje?
Ad.2:Z tego co wyczytałem w pdf'ie, to wejście wybiera się jednocześnie ze wzmocnieniem.
Przy wzmocnieniu 64 i 128 obsługiwane jest wejście A, a dla wzmocnienia 32 wejście B.
ad,1 jeżeli chodzi o usypianie, to myślę nad dwoma sposobami. Albo usypianie przez uC i wybudzanie przy pomocy przerwania przez zegar RTC lub przez wewnętrzne komendy uC. Jeszcze nad tym pracuję. Nie zależy mi na dużej dokładności co do czasu wykonania pomiaru, ogólnie ma dokonać 4 pomiary w ciągu dnia i raz dziennie wysłać średnią na serwer. Głównie zależy mi na prostocie programu.
ad2. raczej jest niemożliwe korzystanie z obu kanałów jednocześnie ?