Elektroda.pl
Elektroda.pl
X
Mitronik
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Dostanie się do danych wyświetlacza LCD wagi kieszonkowej

Winski 27 Sty 2014 21:03 2505 11
  • #1 27 Sty 2014 21:03
    Winski
    Poziom 7  

    Witam,
    Mam taki problem, że potrzebuję wykonać dokładne pomiary wagi (+- 0.02g) za pomocą Raspberry Pi. Jednak potrzeba do tego specjalnych elementów, tzw. load cells, które zwiększają opór, kiedy działa na nie siła. Następnie trzeba amplifikować napięcie, bo tak małe wartości są niewyczuwalne przez większość modułów analogowych do Pi.
    To podejście ma 2 wady: Kosztuje i nie pozwala na uzyskanie odpowiedniej dokładności (przynajmniej nie początkującym, takim jak ja :))

    Stąd mój pomysł użycia tzw. wagi kieszonkowej, takiej, jak np. tu: https://www.elektroda.pl/rtvforum/topic2391738.html

    I tu moje pytanie - chciałem wpiąć się w jakiś tajemniczy sposób w dane wyświetlacza tej wagi i sczytać jego zawartość. Jak takie coś wykonać? Może istnieją wagi z wyświetlaczami łatwiejszymi do zhakowania? Albo wagi (w rozsądnej cenie ~60zł) z wyjściem cyfrowym?

    Z góry dzięki :)

    Edit:
    Pojutrze otrzymam wagę i podeślę, jak wyglądają rozkręcone.

    0 11
  • Mitronik
  • Pomocny post
    #2 27 Sty 2014 23:37
    jarek_lnx
    Poziom 43  

    Cytat:
    Następnie trzeba amplifikować napięcie, bo tak małe wartości są niewyczuwalne przez większość modułów analogowych do Pi.
    Są przetworniki A/C pod które można podłączyć mostek tensometryczny bezpośrednio, coś co ma przetwornik ∑Δ wysokiej rozdzielczości zazwyczaj ma i PGA.
    "amplifikować" fuj co za słowo, nie można po prostu wzmacniać?

    Cytat:
    To podejście ma 2 wady: Kosztuje i nie pozwala na uzyskanie odpowiedniej dokładności (przynajmniej nie początkującym, takim jak ja :))
    Ale to utarta ścieżka, na końcu której jest działające urządzenie, w odróżnieniu od hackingu, gdzie pracy jest też dużo, ale gwarancji że się uda nie ma żadnej, tyle że koszty niskie, więc tak nie szkoda jak coś nie wyjdzie.

    Cytat:
    I tu moje pytanie - chciałem wpiąć się w jakiś tajemniczy sposób w dane wyświetlacza tej wagi i sczytać jego zawartość. Jak takie coś wykonać?

    tylko sekwencje sterujące wyświetlaczem LCD są dosyć skomplikowane, będziesz musiał przeanalizować jaki sposób sterowania zastosowano, ile wyświetlacz ma backplane'ów i z którymi segmentami są połączone, które wyprowadzenia nalezą do których segmentów. Robiłem coś podobnego na wyświetlaczu LED multipleksowanym, czyli miałem łatwiej.

    Hacking jest wtedy gdy człowiek z zamiłowania robi coś, czego inni nie chcieli by robić za pieniądze, więc nie jest to metoda dla każdego, jeśli cie to nie przeraża to rozbieraj, przylutuj przewody, co może wymagać sporych umiejętności, później podłączasz oscyloskop i rejestrujesz przebiegi.

    0
  • #3 28 Sty 2014 11:00
    Winski
    Poziom 7  

    jarek_lnx napisał:
    "amplifikować" fuj co za słowo, nie można po prostu wzmacniać?


    Przepraszam za słownictwo, po prostu czytałem artykuł o tych wagach po angielsku i nie znalazłem lepszego wyrażenia :)

    jarek_lnx napisał:
    Ale to utarta ścieżka, na końcu której jest działające urządzenie


    A czy jestem wtedy w stanie uzyskać dokładność w okolicach 0.02g? Czytałem artykuł, gdzie gość bardzo długo kombinował a na końcu i tak miał dokładność do 2g (niestety nie mogę go teraz znaleźć).

    0
  • Mitronik
  • #4 28 Sty 2014 21:08
    jarek_lnx
    Poziom 43  

    Cytat:
    A czy jestem wtedy w stanie uzyskać dokładność w okolicach 0.02g?
    Nie miałem w rękach sprzętu do pomiaru małych mas więc nie mogę potwierdzić ani zaprzeczyć, przy wyższych masach są dostępne gotowe belki tensometryczne i przetworniki.

    Cytat:
    Czytałem artykuł, gdzie gość bardzo długo kombinował a na końcu i tak miał dokładność do 2g (niestety nie mogę go teraz znaleźć).
    Z powodu niedoskonałości przetwornika czy układu elektronicznego?

    0
  • #5 28 Sty 2014 23:09
    Winski
    Poziom 7  

    jarek_lnx napisał:
    Z powodu niedoskonałości przetwornika czy układu elektronicznego?
    Chodziło o elektronikę, bo zakłócenia powstawały podczas wzamacniania.
    Ogólnie wyglądało to na bardzo ciężkie do zrobienia, żeby było dokładnie, dlatego postanowiłem zainwestować w taką zwykłą gotową wagę i spróbować to użyć. Jutro przyjdą mi 2 sztuki (z zapasem na moje "umiejętności"), także podeślę zdjęcia z wnętrza. Ewentualnie będę sczytywał wartości z wagi po prostu za pomocą kamery, ale to bardzo nieoptymalne będzie...

    0
  • #6 28 Sty 2014 23:37
    krru
    Poziom 32  

    Może spróbuj z jakąś kamerką lub aparatem fotograficznym. Przynajmniej mała szansa na zepsucie czegoś.

    0
  • #7 31 Sty 2014 22:29
    Winski
    Poziom 7  

    Dostanie się do danych wyświetlacza LCD wagi kieszonkowej Dostanie się do danych wyświetlacza LCD wagi kieszonkowej Dostanie się do danych wyświetlacza LCD wagi kieszonkowej

    Tak wygląda układ. Mam teraz parę pytań:
    1. Czy to normalne, że na wyświetlaczu teraz nic nie widać?
    2. Przeglądałem te złote blaszki w sekcji K3 i żadnych różnic potencjału;
    W sekcji U2 z prawej ten sam potencjał, z lewej potencjały mniejsze o 3V, nie licząc 3 od góry, który ma potencjał równy temu z prawej. I to się w ogóle nie zmienia. Co w takim wypadku steruje tym wyświetlaczem? Skąd mogę sczytać dane?

    EDIT: Jak już się dostanę do danych i dostanę je w RaspberryPi to wykrycie jak różne wartości z kontrolera wpływają na ekran nie będzie problemem (zajmuję się głównie programowaniem).

    Dodano po 55 [minuty]:

    Pozwolę sobie na komentarze do swoich pytań w osobnym poście - dla porządku.

    Winski napisał:

    1. Czy to normalne, że na wyświetlaczu teraz nic nie widać?

    Przestudiowałem zasady działania wyświetlaczy LCD, tak to normalne, że nic nie widać, bo płytki (biała i zielona szklana) nie stykają się (nie ma oddziaływania między obwodem w zielonej szklanej, a kryształami w białej).
    Winski napisał:

    2. Przeglądałem te złote blaszki w sekcji K3 i żadnych różnic potencjału;

    Wrzuciłem miernikowi mierzenie mniejszego napięcia i są różnice potencjałów. To stąd pochodzą dane.

    Teraz moje pytanie, czy Pi przyjmie tak małe napięcia? I czy przyjmie ich aż tyle?

    0
  • Pomocny post
    #8 01 Lut 2014 08:45
    jarek_lnx
    Poziom 43  

    Cytat:
    2. Przeglądałem te złote blaszki w sekcji K3 i żadnych różnic potencjału;
    Oscyloskopem sprawdzaj, miernikiem tu nic nie zmierzysz.
    Cytat:
    W sekcji U2 z prawej ten sam potencjał, z lewej potencjały mniejsze o 3V,
    To miejsce po nie wlutowanym układzie nie warto tam mierzyć.
    Cytat:
    Co w takim wypadku steruje tym wyświetlaczem? Skąd mogę sczytać dane?
    Wszystko jest na złączu K3.
    Cytat:
    Jak już się dostanę do danych i dostanę je w RaspberryPi to wykrycie jak różne wartości z kontrolera wpływają na ekran nie będzie problemem (zajmuję się głównie programowaniem).
    16 linii z multipleksowanego LCD na którym stany cały czas się zmieniają, o zaświeceni segmentu decydują sekwencje stanów obserwowanych pomiędzy dwoma liniami, do tego linie backplane które mają więcej niż dwa stany logiczne, chciał bym zobaczyć jak szybko zmienisz zdanie :) proponuje ułatwić sobie pracę i zacząć od analizy wyświetlacza.
    Jeśli ustalimy ile backplane'ów ma wyświetlacz i gdzie są ich wyprowadzenia może da się zbudować układ analizujący bez konieczności podłączania oscyloskopu.
    Cytat:

    Teraz moje pytanie, czy Pi przyjmie tak małe napięcia? I czy przyjmie ich aż tyle?
    Odpowiedź jest oczywista, trzeba zbudować układ pośredniczący, RPI nie ma tylu linii wejściowych i nie wiem czy w ogóle jakieś wejścia ADC/ komparatory analogowe.
    O wyświetlaczu można się wiele dowiedzieć patrząc na niego pod światło pod odpowiednim kątem, zazwyczaj widać ile ma segmentów (wszystkich nie tylko tych używanych podczas pracy, chociaż niektóre urządzenia załączają wszystkie segmenty po resecie) w niektórych wyświetlaczach da się wypatrzeć niektóre linie łączące segmenty z polami kontaktowymi.

    Następną rzeczą jaką można zrobić to próbowanie napięciem, napięcia stałe są szkodliwe dla wyświetlaczy LCD, ale można albo użyć niskiego napięcia (1,5V) i skracać czas testu do minimum, albo wygenerować przebieg przemienny o zerowej składowej stałej z generatora, lub choćby z RPI.
    Przeczytaj o najpierw o multipleksowaniu i budowie LCD żeby wiedzieć czego się spodziewać
    Link
    Link
    Link

    Cytat:
    Chodziło o elektronikę, bo zakłócenia powstawały podczas wzamacniania.
    Dobry wzmacniacz pomiarowy powinien dać radę.

    0
  • #9 02 Lut 2014 22:04
    Winski
    Poziom 7  

    jarek_lnx napisał:
    chciał bym zobaczyć jak szybko zmienisz zdanie :)

    Odpadłem już przy lutowaniu (uszkodziłem jeden pin) :), na szczęście mam zapasową wagę. Ale zostawmy to jako plan awaryjny - rzeczywiście to skomplikowane, a do tego po dokupieniu części, wcale nie tak tanie.
    jarek_lnx napisał:
    Dobry wzmacniacz pomiarowy powinien dać radę.

    Jaki to jest dobry wzmacniacz? Można poprosić o przykładowe modele? Byleby najtaniej :). Później muszę dokupić sobie wejście analogowe do RPi i cacy? :) W sumie pracowanie na gołych danych powinno być efektywniejsze (łatwiej starować itd.)
    A czy ten układ pracuje na takich niskich napięciach, czy sobie to wzmacnia (ta płytka drukowana)? Bo tam, jak się przyjrzymy na połączenia, te ścieżki przechodzą przez jakiś mały moduł.

    Dodano po 5 [minuty]:

    I jeszcze moje pytanie, czy wystarczy wzmacniacz, żeby tej wagi użyć? Czytałem coś o jakichś mostkach, ale nie do końca rozumiem po co to.

    0
  • #10 08 Lut 2014 08:58
    jarek_lnx
    Poziom 43  

    Cytat:
    Odpadłem już przy lutowaniu (uszkodziłem jeden pin) Smile,
    Liczyłem na to że odpadniesz na analizie danych ;) , ciekaw jestem co tam chciałeś przylutować, skoro nie ustaliliśmy jeszcze schematu? poza tym jeśli pad odpad (: to można się przylutować do ścieżki.

    Cytat:
    rzeczywiście to skomplikowane, a do tego po dokupieniu części, wcale nie tak tanie.
    Tu się nie zgodzę interfejs do zbierania danych z wyświetlacza składał by się z samych tanich podzespołów.

    Cytat:
    Jaki to jest dobry wzmacniacz? Można poprosić o przykładowe modele? Byleby najtaniej Smile. Później muszę dokupić sobie wejście analogowe do RPi i cacy?
    Wzmacniacz pomiarowy poradził by sobie z zakłóceniami, ale skoro i tak musisz dokupić "wejście analogowe" to może lepiej wziąć przetwornik Σ-Δ z wbudowanym wzmacniaczem PGA - wyjdzie prościej i taniej, jeśli wzmocnienie PGA będzie za małe, stracimy nieco na rozdzielczości, ale ma być tanio.

    Jaką rozdzielczość i zakres pomiarowy miała waga?
    Czy do RPI są gotowe moduły z przetwornikami Σ-Δ o dużych rozdzielczościach?

    Cytat:
    A czy ten układ pracuje na takich niskich napięciach, czy sobie to wzmacnia (ta płytka drukowana)? Bo tam, jak się przyjrzymy na połączenia, te ścieżki przechodzą przez jakiś mały moduł.
    Mógł byś spróbować pomierzyć napięcia na czujniku, czerwone i czarne to zasilanie białe i zielone to wyjście, na zasilaniu powinno być >1V na wyjściu pojedyncze mV pod obciążeniem.

    Cytat:
    Czytałem coś o jakichś mostkach, ale nie do końca rozumiem po co to.
    Sensor jest mostkiem.

    Jeśli zależy ci na dokładności, dobrze by było zasilać mostek sygnałem zmiennym, trochę się skomplikuje, ale będzie można wyeliminować błędy od napięć termoelektrycznych.

    0
  • #11 08 Lut 2014 23:17
    Winski
    Poziom 7  

    jarek_lnx napisał:
    Tu się nie zgodzę interfejs do zbierania danych z wyświetlacza składał by się z samych tanich podzespołów.

    Wg źródeł, które podesłałeś wyświetlacze LCD używają 3 poziomów napięcia, ja w GPIO mam niski i wysoki. Natomiast wile osób podpina ekrany bezpośrednio pod GPIO, więc sczytać też się musi jakoś dać. Postaram się zrobić schemat tego obwodu na wyświetlaczu, ale strasznie to nagmatwane :)

    Cytat:
    Jaką rozdzielczość i zakres pomiarowy miała waga?

    Rozdzielczość 0.01 w teori w praktyce 0.02 może 0.03.
    Zakres 0-200g

    Cytat:
    Czy do RPI są gotowe moduły z przetwornikami Σ-Δ o dużych rozdzielczościach?

    Znalazłem tylko jeden taki moduł http://www.abelectronics.co.uk/products/3/Ras...igma-Pi-18-bit-Analogue-to-Digital-converter.. Natomiast zestaw wzmacniacz + wejście można złożyć np. z czegoś takiego (można?) https://www.elfaelektronika.pl/elfa3~PL_PL/el...ORTER&sortOrder=asc&filterClause=&pageSize=10 https://www.adafruit.com/products/856

    0
  • #12 09 Lut 2014 08:42
    jarek_lnx
    Poziom 43  

    Cytat:
    Wg źródeł, które podesłałeś wyświetlacze LCD używają 3 poziomów napięcia, ja w GPIO mam niski i wysoki.
    Nie wszystkie mają trzy poziomy napięcia, ile jest to właśnie musimy ustalić, to że trzy jest bardzo prawdopodobne, nie przesądza że jakiś Chińczyk, ze znanych tylko sobie powodów, nie zastosował więcej.
    Cytat:

    Natomiast wile osób podpina ekrany bezpośrednio pod GPIO, więc sczytać też się musi jakoś dać.
    Wytworzenie trzech poziomów napięcia jest łatwe, wykrycie trzech poziomów jednym GPIO nie jest możliwe, trzeba wiedzieć ile tych poziomów jest podłączyć do takiej linii kilka komparatorów (jakbyśmy wcześniej znali sekwencję to jeden by wystarczył może nawet jeden na kilka backplane'ów), później z tych kilku komparatorów podajemy sygnały na kilka wejść cyfrowych, do tego moduł wejść, z rejestrów przesuwających (tani łatwy do rozszerzania), albo coś gotowego, co znajdziesz.
    Cytat:
    Postaram się zrobić schemat tego obwodu na wyświetlaczu, ale strasznie to nagmatwane :)
    Jeśli rozpoznasz że pasuje pod któryś typowy sposób połączeń będzie łatwiej.
    Cytat:
    Rozdzielczość 0.01 w teori w praktyce 0.02 może 0.03.
    Zakres 0-200g
    Czyli minimum 15 bitów, w praktyce warto mieć zapas, jakbyś zmierzył miernikiem napięcie na czujniku przy obciążeniu bliskim pełnej skali można by wywnioskować jakiego wzmocnienia potrzebujemy i czy nie zastosowali napięcia zmiennego.

    Z tego wnioskuję że mamy przynajmniej 5 cyfr na wyświetlaczu (co najmniej 35 segmentów) skoro wyprowadzeń jest 16 to na pewno nie ma tam sterowania statycznego, ani mux 1/2, co najmniej mux 1/3 ( na 16 liniach da się obsłużyć max 36 segmentów) ale jeśli wyświetlacz ma jeszcze jakieś segmenty oprócz cyfr to pewnie będzie mux 1/4 (na 16 liniach max 44).
    Sprawdź czy twój pasuje do typowych połączeń dla mux 1/4 lub mux 1/3.

    Przetwornik MCP3008 za mała rozdzielczość, MCP3424 już się nada, ale wzmacniacz będzie potrzebny bo wbudowany PGA daje tylko 8 wiec stracili byśmy co najmniej 6,5bitu, czyli bez wzmacniacza to i 18 bit przetwornik nie starczy.

    Przydało by się wiedzieć jaki sygnał mamy z czujnika, inaczej będzie trzeba dobierać wzmacniacz "z zapasem" (amerykańska nazwa tego podejścia jest bardziej obrazowa - throw money at it)

    0