Close

Logování 4 termočlánků typu K pomocí arduina

Úvodní stránka Fórum Vaše projekty Arduino Logování 4 termočlánků typu K pomocí arduina

Označeno štítky: ,

  • Toto téma obsahuje celkem 10 odpovědí. Do diskuze (4 diskutující) se naposledy zapojil uživatel migo a poslední změna proběhla před 7 roky a 5 měsíci.
Aktuálně je na stránce zobrazeno 11 příspěvků - 1. až 11. (celkem z 11)
  • Autor
    Příspěvky
  • #6226
    Simakai
    Účastník

    Zdravím vás,

    s Arduinem nemám žádné praktické zkušenosti, jen trochu teorie. Programovat umím, s mikroelektronikou je to horší, ale „mechanicky“ to snad nějak zvládnu :-). Najdou-li se zde nadšenci, kteří by mě nakopli správným směrem, byl bych moc rád.

    Cíl projektu:
    Měřicí a logovací jednotka pro 4 termočlánky typu K pomocí Arduina
    – měření teploty spalin v akumulačních kamnech
    – 4 nezávislé sondy typu termočlánek typu K pro měření teplot až 1000°C
    – LCD display pro zobrazení aktuálních teplot ze 4 termočlánků (LCD 2×16 znaků bude stačit)
    – SD nebo MicroSD modul pro zápis aktuálních hodnot v cyklu
    – cyklus zapisování 10s
    – v zápisu buď reálný timestamp nebo inkrementální počitadlo od začátku měření
    – zahájení logování stiskem tlačítka, (indikace diodou)
    – ukončení logování stiskem tlačítka jiného (logovací dioda zhasne)
    – logování do ASCII formátu txt souboru
    – pro každé spuštění logování vytvoření nového souboru (neexistuje-li žádný, tak 1.txt, pokud existuje, tak 2.txt 3.txt n+1.txt….
    – napájení zařízení buď z elektrické sítě, nebo z baterií
    – délka jednoho logovacího cyklu max 8 hodin
    – po ukončení logování si SD kartu dám do počítače, načtu TXT do excelu a udělám 4 grafy průběhu teplot

    Potřebné komponenty:
    – zatím jsem si vyhledal, že by se mohlo hodit http://arduino-shop.cz/arduino/927-arduino-termoclanek-driver-1421253544.html
    – nicméně potřeboval bych zapojit termočlánek třebas tento: http://www.e-pristroje.cz/teplotni-cidla.html a tam T519

    Co je nutno určit:
    – vhodnou arduino desku plus případné rozširující shieldy, které dokáží popřipojovat požadované (4 drivery od termočlánků, lcd display, diodku indikující logování, microsd zapisovačku, 2 tlačítka pro start a stop logování)
    – zda je možné vyměnit termočlánek z odkazu jedna za jakýkoliv jiný termočlánek, například z odkazu dva

    Žádost na komunitu
    Výše jsem popsal cíl a smysl projektu, který bych rád vyřešil pomocí arduina, protože intuitivně cítím, že to půjde. Potřeboval bych jen postrčit style: jo, to půjde, budeš potřebovat nejméně takovýto typ desky, plus tyto další prvky, tady a tady najdeš jak je řešené tamto, případně tohle řeš takto…

    Zkusíme to? 🙂

    Díky,
    Simakai alias Martin

    #6229
    posjirka
    Účastník

    4 ten driver pro termočlánky využívá SPI rozhraní.
    Otázka zní jak přpeínat termočlánky.
    Kdyby s epoužilo 4x tento driver, tak je to vcelku finanční zátěž ale elekgantní přepínání měření.
    Při přepínání pomocí relé, nebo cmos obvodů je to finanční méně náročné ale rozhodně to bude přesnější. Doba na zotavení po přepnutí, atd…
    Na tom samé SPI portu bude i čteška SD karet.
    Nevím ale tuší, že na spi rozhraní je možno navěsit max. 4 zařízení. Je třeba se podívat na možnosti zda exituje „virtuální SPI“.
    Lepší by bylo I2C rozhraní pro termočlánky.
    LCD 2×16 je v pohodě.
    počty pinů:
    LCD 6 pinů
    SD 4 piny
    termočlánky 4 piny (přepínání)
    tlačítka 2 piny
    LED diody 2 piny (šlo by součit s tlačítky).
    RTC modul (I2c) 2 piny – neví jestli bude potřeba
    Celkem mi to vychází na 18-20 pinů.

    Pamě´t na tento program by mohla stačit 23kb.

    Takže podle I/O a paměti by ti mohlo stačit Arduino UNO.
    Když si nejsi jistý kup Arduino MEGA, tam je všeho dost.
    Na Ebay stojí cca 350 kč, u nás 500-1000 kč,
    http://aukro.cz/funduino-mega-2560-r3-kabel-avr-arduino-i6015916346.html
    k tomu rovnou koupit universální PCB:
    http://aukro.cz/prototyp-shield-dps-arduino-mega2560-plosny-spoj-i6020062810.html
    Na něj dáš jak LCD tak tlačítka, led a nejspíš i Drivery.
    256kb paměti bude aboslutně dostačující a nelimitující.
    Kompatk ti už předurčuje i mechanické řešneí , můžeš to napájet čím chceš 7-12V (7-9V doporučeno) nebo přes USB. Přes něj to inaprogrmauješ amůžeš postupně oživovat.

    Jinak termočlánek typu „k“ je vlastně označení charakteristiky anemyslím si, že by se měnil podle výrobců.

    #6231
    Simakai
    Účastník

    Ahoj

    objednal jsem si funduino mega plus hromadu komponent a už se těším, až to budu dávat dohromady. Některé komponenty mi půjdou bůhví odkud, protože jsem objednával z http://www.dx.com což je nějaký zahraniční obchod.

    Nastudoval jsem si příslušnou problematiku, tak snad mě nic nezaskočí.

    Pokud bych chtěl projekt do budoucna rozšířit, určitě by se mi hodilo vyřešit bezdrátový přenos z čidel, protože občas by se hodilo měřit povrchovou teplotu na kamnech a uvnitř kamen, které mohou být rozlezlé přes několik místností (i do patra) a pak je problematické použít od teplotních čidel kabely až k duinu. Nevíte o nějakém řešeném případu, že by k jednomu duinu bylo připojeno bezdrátově několik čidel? Samotné čidlo by sestávalo ze senzoru, driveru, vysílače a baterie. A tedy na duinu by byl buď 1 přijímač nebo několik přijímačů (nevím, jak se toto řeší).

    #6262
    posjirka
    Účastník

    asi bych šel cestou mít 4 drátové připojení přímo v měřícím přístroji + 1 kanál si vyčlenit na bezdrátové čidlo s možností jej přiřadit ke kanálu č.1 (např.).
    Když máš LCD 2×16 zn tak by to mohlo mít přibližně tyto stavy:

    0123456789012345
    1:1000C 2:1000C
    3:1000C 4:1000C

    V:1000C 2:1000C
    3:1000C 4:1000C

    V:ERROR 2:ERROR
    3:ERROR 4:ERROR

    Obávám se, že při použití 4 bezdrátových čidel budeš mít rozdílené výsledky (napětí baterie) nebo vůbec žádné (jedno čidlo zaruší druhé).
    Máš na výber bud bluetooth (seriová linka), NRF24l01 (SPI na 2,4Ghz), 433MHz (pouze vysílač/přijímač seriové linky)- WIFI ti nabízet nebudu, protože předpokládám, že né vždy budeš mít k dispozici WIFI sí´t, a k ní hesla.
    433MHz není na přesné logované měření, občas se ti zaruší a tím paralela více čidel není ideální. Na meteostanici nevadí, když minutu nedostane správnou teplotu, tady by ti to asi vadilo.
    Bluetooth je super, seriová linka jen ten dosah dost hapruje. 1 zařízení není problém, ale víc jsem nikdy nezkoušel.
    nrF24L01 je bluetooth v jiném kabáťě s vlastní modulací.

    Asi bych ti doporučil 433MHz. To není tak složité, dá se ověřit správnost dat a vše je levné a dostupné. Dosah je závislý na napájení vysílače.

    #6369
    Simakai
    Účastník

    Ahoj všem,

    zatím na projektu pracuju a hotový ještě není. Tento příspěvek píšu jednak proto, abych vykázal nějakou aktivitu, jednak proto, aby posjirka věděl, že tohle vlákno nepošlo : a jednak proto, že zrovna mám čas hodit sem pár postřehů.

    1) Peklo s diodou: Koupil jsem si několik diod, k nim dle rad na internetu dopočítal rezistory, zapojil do kontaktního nepájivého pole a nic. Zkoušel jsem s rezistorem, bez, tak či onak, otočit atd a nesvítila. Jen se mi podařilo pár diod rozsvítit na jejich poslední cestu do křemíkového nebe (red dwarf spoiler 😉 při jejich odvaření. Řešení se nakonec ukázalo samo – já pakoš jsem zapojoval kaskádu rezistor + dioda do jedné řady v breadboardu a tedy jsem všechny nožičky napojoval do jednoho uzlu obvodu :-D. Po elementárním uvědomění jak vlastně pozapojovat obvod na breadboardu to již fičí.

    2) Peklo s SD kartou 1: občas to kartu detekovalo, občas ne. V celém cyklu dělám totiž několik testů, zda je SD karta dostupná, abych buď diodou signalizoval že je či není, nebo před samotným zápisem dat. Nakonec jsem vygooglil, že SD knihovna má v sobě elementární chybu a musel jsem upravit SDClass::begin proceduru a přidat tam něco jako if(root.isOpen()) root.close(). Pak to začlo fungovat dobře a test přítomnosti SD karty je možno volat opakovaně.

    3) Peklo s SD kartou 2: při zahájení měření se prohledá SD karta, zda tam existuje soubor typu mer00001.csv a pokud ne, tak ho založí, pokud jo, tak se zjistí nejvyšší číslo v souborech a vytvoří se nový soubor s číslem o jedna vyšším, tedy například při existenci mer000001.csv se vytvoří mer000002.csv. Nu a občas to správně našlo všechny soubory a propočítalo z jejich názvů jméno nového souboru a někdy to nenašlo nic a tedy mi to otevřelo základní mer000001.csv. Po několika probrečených večerech jsem přišel na to, že v proceduře pro procházení souborů musím za root = SD.open(„/“); přidat příkaz root.rewindDirectory(); a pak prohledávat soubory, neboť SD knihovna si bez rewindu pamatovala konec řady prohledávaných souborů a tedy nic neobjevila. Rewindem se to vyřešilo.

    4) Peklo s časem: po startu logování se mi na LCD display ukazuje čas ve formátu hh:ii:ss a i se to zapisuje na SD kartu. K mému údivu při testu mi to po cca 5 hodinách a 47 minutách začlo čas počítat opět od začátku. Čas odvozuju od millis a ty se mi logovaly správně (stále narůstaly). Po deseti hrstích vytrhaných vlasů jsem zjistil, že v proceduře pro formát času z hodnoty millis (kterou jsem převzal z internetu), musím nahradit řádek days = inttime / (24 * 3600); jiným zápisem a sice days = inttime / 86400; a pak to funguje dobře. To mě, věru, překvapilo nejvíc. Nakonec jsem zjistil, že tam vlastně dny ani nepotřebuju a rovnou tam hledám hodiny pomocí řáku hours = inttime / 3600; a to funguje bezpečně dobře. Krásně mi to loguje i 31:25:13 atd, tedy vím, že od startu logování uběhlo 31 hodin.

    Jiné 1): LCD display se mi podařilo připojit napoprvé, resp. velmi rychle, dokonce jsem tam zapojil i potenciometr na nastavení kontrastu a taktéž to funguje dobře.

    Jiné 2): Malý senzor s na teplotu se mi taktéž podařilo zprovoznit rychle, za využití knihoven OneWire.h a DallasTemperature.h

    Co mě čeká: stále mi nedorazily termočlánky a k nim objednané převodníkové moduly, takže se těším, co mě překvapí. Už teď vím, že budu muset vyřešit více zařízení na SPI sběrnici, ale teoreticky to zmáknuté mám, SD čtečku už na SPI vlastně taky mám a funguje, takže jsem skoro v závěru.

    Snad mé postřehy uvedené výše pomůžou i dalším při řešení problémů s arduinem.

    Martin

    #6371
    posjirka
    Účastník

    děkuji ti za sdílení informací a zkušeností. To je důvod, proč jsou tyto fóra oblíbená a využitelná i pro laiky. Máš problém, vyřešil si jej a dáváš nám řešení do placu. Držím palce a kdybys něco potřeboval ozvi se …

    #6477
    Simakai
    Účastník

    Projekt mám víceméně hotový. Nepodařilo se mi rozběhnout MicroSD modul na klasickém SPI rozhraní spolu s termočlánky (MAX6675), tak jsem na to musel od lesa. Stáhl jsem si SDfat knihovnu a použil tam SoftwareSPI definici pro objekt SD a drátově jsem zapojil MicroSD modul na jiné piny než mám termočlánky. Pak zbývalo jen poladit správné příkazy pro SDfat a fičí to. Po hardwarových SPI pinech 50, 51, 52 mi jedou termočlánky a po softwarových SPI pinech 10, 11, 12 mi jede SD karta.

    #6569
    Simakai
    Účastník

    Ahoj všem,

    narazil jsem na problém s napájením. Natočil jsem krátké video, kde je to ukázané

    https://youtu.be/pK4rGK4NWjo

    Jde o to, že když zahýbu s napájecím kabelem, tak se megaduino resetne, vypne, protože mu vypadne „šťáva“. Koncovka adaptéru se v „zástrčce“ trochu hýbe.

    Jak se to dá řešit?

    Problém je, že deska je součástí krabice, ke které je připojených několik termočlánků, a loguje z nich teploty. Krabice by právě měla být napájená z adaptéru. Ale pokud do ní někdo drbne, což se „v provozu“ může stát, tak se megaduino resetne a je to v čudu.

    #6570
    posjirka
    Účastník

    máš 5 variant:
    1, použij jiný připojovací bod napíjení. Na Arduinu máš vstup Vin a to je to samé jako napájecí konektor.
    2, jdi cestou vlastního zdroje : stabilizátor 7805 + pořádné kondenzátory na vstupu.
    Pak to přivedeš na +5V a je hotov.
    3, Použij napájení přes USB. Prost2 nabije4ku na mobil p5es redukci na velke USB.
    4, Bateriové napájení
    5, na vstup připájej superkondenzátor o kapacitě třeba 1 až 10F. Ten je malý a je schopný ti překlenout tuto kolizní dobu. Pozor na velikost napětí ! Nejspíš budeš muset dát 2 do serie.

    #7458
    vladik
    Účastník

    potřeboval bych vyřešit podobný problém, sledovat 4 teploty termočlánek K + otáčky a zaznamenávat. Hledám někoho kdo mi to vyrobí. napište mi hejna@ausys.cz. Díky.

    #9216
    migo
    Účastník

    Ahoj, ak sa mozem spytat, podarilo sa projekt uspesne dokoncit? Mas aj nejake postrehy z grafov priebehu horenia, resp. nejake zavery ohladom regulacie horenia? Mam nainstalovany termoclanok priamo v spalovacej komore KV a meram nim teplotu horenia a chcel by som skusit regulovat privod vzduchu a optimalizovat/zautomatizovat priebeh horenia.

    Dakujem za info,

    Milan

Aktuálně je na stránce zobrazeno 11 příspěvků - 1. až 11. (celkem z 11)
  • Pro reakci na toto téma se musíte přihlásit.