Reading the HX711 using SPI

Einleitung

Es existieren alternative Möglichkeiten, das serielle Interface des HX711 anzusprechen, statt mit regulären Pins (GPIOs) bitbanging zu spielen, was grundsätzlich timing-kritisch ist und aufgrund unterschiedlicher Prozessortaktraten gern mal aus dem Takt gerät. Das hat zur Folge, dass der Treiber beim Auslesen im Bitstrom verrutscht, was unweigerlich zur Folge hat, dass seltsame unplausible Werte reinkommen.

SPI FTW?

Hier wird es vorgemacht:

Hier spricht @zmaier / Martin davon:

Bei [SOLVED/WORKEDAROUND] Having problems with HX711 load cell sensor - Page 2 - MicroPython Forum hat es @robert-hh bereits für MicroPython vorbereitet.

Die Ergebnisse daraus sind bei hx711-lopy/hx711_spi.py at master · robert-hh/hx711-lopy · GitHub zu finden. Danke, Robert!

Hat jemand schon mal die o.g. SPI-Variante hx711_spi.py für MicroPython ausprobiert? Den einen zusätzlichen verbrauchten Pin kann ich verschmerzen. Implmentationen in Hardware finde ich gut. :slight_smile:

1 Like

Noch nicht, tob Dich ruhig aus. Wir freuen uns über entsprechende Berichte. Die Firmware sieht an der Stelle des HX711 bereits out-of-the-box verschiedene Treiber vor, zwischen denen gewechselt werden kann.

Von @robert-hh habe ich erfahren, dass das leider keine signifikanten Verbesserungen beim Timing bzw. generell bringt. Tut mir leid!

So ein Protokoll wie für den HX ist eigentlich etwas, um den RMT im ESP32 damit zu beschäftigen, ähnlich, wie loboris es für DHTxx und 1wire gemacht hat.