středa 10. června 2015

Včelařská digitální váha. Díl 1.

Vzhledem k cenám včelařských vah a nedostatkům ostatních kloudných řešení jsem začal pracovat na vlastním řešení.

Výchozí požadavky:
  • Minimální cena
  • Co nejméně mechaniky vzhledem k náročnosti zpracování
Požadované funkce (podle priorit):
  • Vážení při přesnosti alespoň  +-0,5kg
  • Průběžné vážení se záznamem získaných hodnot
  • Dálkový odečet (BT, GSM, WiFi?) 
  • Detekce vyrojení
Problémy k řešení:
  • Využití levných snímačů z ebay: drift při trvalém zatížení, kompenzace teplotních vlivů
  • Ostrovní napájení (solar?)
  • Zjistit, jak vypadá rojení.


Zvolené řešení:

Celá váha je postavena na nejlevnějších tenzometrickych snímačích, které jsem sehnal. Snímače se vloží pod úl do rohů. Signál ze snímačů je zesilován AD převodníkem HX711 a zpracováván mikropočítačem Arduino Nano. Výsledná data seukládájí na SD kartu případně historie za posledních 24 hodin je zobrazitelná na čtyřmístném displayi. Informaci o čase obstarává modul reálného času Maxim DS3231, který je teplotně kompenzován a lze z něj získat údaj o aktuální teplotě.
Prototyp obsluhuje dvě vážící jednotky. Jenda bude vážit skutečný úl a druhá (kalibrační) konstantní zátěž. Kalibrační jednotka by mi měla dát odpověď na otázku jaké problémy mohu očekávat od nejlevnějších dostupný tenzometrických snímačů:

  • Přesnost: Nedělám si iluze, ale zatím to vypadá dobře. Změřené hodnoty se pohybují v rozmezí 300g. Zatím při zátěži 5kg. Uvidím, co s nimi udělá 50kg.
  • Drift: snímače nejsou stavěny na trvalou zátěž. Postupně se deformují a tím vzniká pomalý posun naměřené hodnoty.
  • Teplotní závislost: Snímače jsou kovové, takže změna teploty automaticky vyvolů změnu v materiálu, která se musí projevit v naměřené hodnotě.

Software:
S celým programováním je kříž. Nejsem žádný C++ guru, takže narážím neustále na docela zvláštní chování mého software. Nicméně kód jsem nějak dobastlil a zdá se že to fachá dobře. Takže prozatím to umí:

  • Kalibraci váhy, nastavení tara
  • Vážení každou minutu, plus každých deset minut uložení na SD kartu.
  • Procházení historie za posledních 24 hodin (po hodinách)
  • Uspávání celého zařízení (to bude potřebovat doladit, páč spotřeba je pořád cca 30mA)
  • Dočasné odstavení pro případ manipulace s úlem.

Stav:
Prototyp je hotov. A co víc, funguje! :) O víkendu příjde (snad) instalace v reálném prostředí. Momentálně probíhá test výdrže na baterii. Našel jsem starou a poněkud odvařenou powerbanku (4000mAh). Při průměrné spotřebě 40mA by mohla váha vydržet 100 hodin. Posléze se uvidí, zda můj starý a opět opelichaný, solární panel dokáže přes den baterii dostatečně dobít.

Problémy k řešení:

  • Z neznámého důvodu se po probuzení procesoru smažou veškerá data z instancí tříd. Nemůžu tedy využít OOP a musím zůstat u klasického procedurálního programování. Zatím žádný problém, ale štve mě to :(
  • Čtečka SD karet se občas zakousne - zkusit vymyslet automatický restart


Kolik to zatím stálo?

Materiál.

Pomalu všechen materiál jsem nakoupil na ebay:

  • 1x Řídící počítač Arduino Nano = 150Kč
  • 1x Modul reálného času RTC DS3231  = 39Kč
  • 2x Zasilovač signálu ze senzorů HX711 = 62Kč
  • 8x Tenzometrický snímač 50Kg = 318Kč
  • 1x Modul čtečky SD karet = 25Kč
  • 1x Klávesnice 4 tlačítka = 60Kč


Další kravinky jako displaye, konektory, krabička jsou z Čech, t.j. nepoměrně dražšší. cca 500kč

Dohromady jsme na ceně okolo 1100Kč. Nicméně váha dokáže vážit dva úly. Při použití výkonějšího procesoru Atmel ATmega1280 a mírné úpravě software bude možné přípojít až 20 dalších vah. Každá znich pak předtavuje 4 tenzometrické snímače a jeden zesilovač HX711 plus nějaké ty kabely a konektory (t.j. cca 200Kč).






4 komentáře:

  1. Dobrý den,
    chtěl bych se zeptat, jestli se při dlouhodobém používání váhy začalo projevovat, že senzory nejsou vhodné pro trvalé zatížení?

    Díky,
    R. Penizek

    OdpovědětVymazat
    Odpovědi
    1. Otázka je, co je to "dlouhodobé". Za těch pár měsíců, co jsem váhu provozoval jsem nezaznamenal žádne problémy. Nicméně opravdové testování senzorů spustím až toto léto (pracuji na mechanice vah, což mi dává zabrat ... udržet rozumnou cenu je poměrně nákladné :)
      Teď jsem poněkud přetížen, ale až bude něco nového, tak to sem přilípnu. Asi o vánocích, jak to tak vypadá.

      Vymazat
  2. Právě také přemýšlým jak udělat mechaniku vah. Jestli tak, aby úl stál na váze pouze v době vážení, nebo aby stál na váze trvale a zatěžoval tak trvale tenzometry. Neplánuji průběžné měření - pouze mít na úlu displej a občas se podívat jaká je hmotnost úlu.
    Vzhledem k ceně tenzometrů to asi udělám tak, aby byly tenzometry trvale zatížené a při nejhorším je po několika měsících/letech vyměním.

    OdpovědětVymazat
  3. Tento komentář byl odstraněn autorem.

    OdpovědětVymazat