Skocz do zawartości

Belka tensometryczna, sterownik HX711 i Raspberry Pi


Pomocna odpowiedź

Napisano (edytowany)

Cześć wszystkim, przychodzę z problemem dotyczącym belki tensometrycznej, ponieważ po podłączeniu całego sprzętu pokazuje  wagę 0. 

 

Posiadam:

-Raspberry Pi 3 Model B

- sterownik HX711 (ten w kolorze zielonym)

- Belka tensometryczna 3kg 

 

Podłączyłam:

- GND do GND

-DT do GPIO5

-SCK do GPIO6

- VCC do 5V

- E+ z czerwonym przewodem od belki tensometrycznej 

- E- z czarnym przewodem od belki tensometrycznej

- A+ z białym przewodem od belki tensometrycznej

- A- z zielonym przewodem od belki tensometrycznej   

Sprawdzałam przepływ prądu  w czarnym i czerwonym kablu od belki tensometrycznej jest ok 4-5V. 

Korzystałam z tego repozytorium git clone  https://github.com/tatobari/hx711py  ale waga pokazuje cały czas 0, niezależnie od tego czy cos jest na wadze czy nie ma.  Wzorowałam się również na tej stronie https://tutorials-raspberrypi.com/digital-raspberry-pi-scale-weight-sensor-hx711/

Oprócz tego korzystałam z innego repozytorium: https://github.com/gandalf15/HX711 ale to wysypuje błędy przy uruchamianiu pliku example.py,   który jest przedstawiony w załączniku. 

 

 

Bardzo proszę o pomoc !  Jeśli ktoś posiada inne repozytorium warte uwagi to byłabym bardzo wdzięczna o podrzucenie. 

 

 

321948480_543938157628138_9012966159997497208_n.jpg

Edytowano przez klaudyna

@klaudyna ale jak masz to podłączone, jeśli belka i sterownik jest na 5 V, a RPi na 3,3 V? Jest tam jakiś konwerter? Podłączanie czegoś na logice 5 V do GPIO 3,3 V często prowadzi do uszkodzenia RPi.

@klaudyna ale Raspberry Pi nie jest na 5 woltów, wejścia RPi działają w standardzie 3,3 V. Tutaj powinien być wstawiony albo konwerter poziomów logicznych, albo całość powinna być zasilana z 3,3 V (najprostsze rozwiązanie). Podanie 5 V napięcia na wejścia może uszkodzić RPi i dzieje się to stosunkowo często. Chyba, że Twój moduł z HX711 posiada odpowiedni konwerter.

  • Lubię! 1
(edytowany)

@Treker z góry dziękuje za odpowiedz. Ale jak podłączę pod 3,3V to tez pokazuje takie same błędy. W taki sposób podłączyłam na początku, tylko że do sterownika zielonego: 

image.thumb.png.8ab159ec0aac5929858c98a109d7d7dd.png

Edytowano przez klaudyna
  • 1 miesiąc później...

Część.

Od niedawna przesiadłem się z programowania w C dla AVR na Micropython dla Raspberry Pi Pico. Próbuję przerabiać moje stare programy z C na Pythona. W nocie katalogowej HX711 (link) jest podany przykład "Reference Driver (C)" który przerobiłem na Micropythona. U mnie program na Raspberry Pi Pico działa. Może zadziała na Raspberry Pi 3.

from machine import Pin
from time import sleep, sleep_us

ADDO = Pin(9, Pin.IN, Pin.PULL_UP) #pin DATA
ADSK = Pin(10, Pin.OUT, Pin.PULL_DOWN) #pin SCK

def ReadWeight(offset):
    Count = 0
    while ADDO.value() == 1:
        continue
    sleep_us(5)
    for i in range(0,24):
        ADSK.high()
        Count = Count << 1
        sleep_us(2)
        ADSK.low()
        if ADDO.value() == 1:
            Count += 1
        sleep_us(1)
    ADSK.high()
    Count = Count ^ 0x800000
    sleep_us(1)
    ADSK.low()
    return (Count//1000 - offset) * 1.15
# number 1000, reduces scale resolution (offset and scale are therefore smaller)
# number offset equalization to zero when there is nothing on the pan,
# number 1.15(scale) the weight scaling factor is calculated when there is e.g.
# an item weighing 300g and the scale shows e.g. 261g, the scale factor (300 / 261 = 1.15)
    

def calibration():
    Count = 0
    while ADDO.value() == 1:
        continue
    sleep_us(5)
    for i in range(0, 24):
        ADSK.high()
        Count = Count << 1
        sleep_us(2)
        ADSK.low()
        if ADDO.value() == 1:
            Count += 1
        sleep_us(1)
    ADSK.high()
    Count = Count ^ 0x800000
    sleep_us(1)
    ADSK.low()
    return (Count//1000)  #offset


offset = calibration()
#print('offset bin:' + str(bin(offset)))
#print('offset:' + str(offset))

while True:
    cmd = ReadWeight(offset)
    print('weight: ' + str(round(cmd)))
    sleep(1)

 

  • Lubię! 2

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...