Golang интерфейс HX711 - дрейфующие результаты - PullRequest
0 голосов
/ 12 марта 2020

Я использую https://github.com/MichaelS11/go-hx711, который считывает данные из преобразователя AD C с тензодатчиком HX711.

Показания довольно точные, однако я заметил, что продолжаю запрашивать текущий значение веса в течение 15-20 минут - показания начинают значительно дрейфовать (вес не меняется, температура в помещении стабильная). Первоначально он самокалибруется и точность считывания составляет ± 0,3 г. Однако через 5 минут он имеет примерно + 1 г при чтении, а через 20 минут разница составляет 6 грамм и продолжает расти.

Это происходит с весами или ADP? Я пробовал несколько разных чипов, и поведение довольно стабильно, поэтому я пытаюсь понять, связано ли это с кодом?

package main

import (
    "fmt"
    "time"

    "github.com/MichaelS11/go-hx711"
)

func main() {
    err := hx711.HostInit()
    if err != nil {
        fmt.Println("HostInit error:", err)
        return
    }

    hx711, err := hx711.NewHx711("GPIO6", "GPIO5")
    if err != nil {
        fmt.Println("NewHx711 error:", err)
        return
    }

    defer hx711.Shutdown()

    err = hx711.Reset()
    if err != nil {
        fmt.Println("Reset error:", err)
        return
    }

    var data int
    for {
        time.Sleep(1 * time.Second)

        data, err = hx711.ReadDataRaw()
        if err != nil {
            fmt.Println("ReadDataRaw error:", err)
            continue
        }

        fmt.Println(data)
    }

}
...