Obsah:
- Krok 1: Zařízení
- Krok 2: Nastavení mikrokontroléru
- Krok 3: Nastavení MATLABu
- Krok 4: Funkce
- Krok 5: Testování
- Krok 6: Závěr
Video: Model klimatizace Arduino: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Jako součást demonstrace schopnosti našeho týmu vytvořit model inteligentního vlakového zařízení pro marketingové účely bylo cílem vytvořit systém, ve kterém snímač teploty čte data z okruhu a převádí informace na hodnotu teploty, která je zobrazeno na osvětlené obrazovce a zaměřeno na to, zda se ventilátor zapne nebo vypne. Účelem je pomoci přizpůsobit se jízdním podmínkám cestujících pomocí automatizovaného systému, který také zobrazuje teplotu v bezprostřední blízkosti.
Pomocí sady mikrokontrolérů Arduino a verzí MATLAB verze 2016b a 2017b jsme dokázali tyto výsledky s relativním úspěchem demonstrovat.
Krok 1: Zařízení
Sada mikrokontroléru s následujícími prvky:
-Sparkfun Red Board
-Sparkfun Breadboard
-LCD deska
-Potenciometr
-Senzor teploty
-Servo
-USB/Arduino adaptér
-propojovací vodiče (minimálně 25)
Notebook (Windows 10) se vstupem USB
3D vytištěný objekt (volitelně)
Krok 2: Nastavení mikrokontroléru
Zvažte toto: celý systém se skládá z jednotlivých jednotek, z nichž každá uplatňuje významný faktor na konečný výsledek. Z tohoto důvodu se důrazně doporučuje nastavit obraz obvodu před připojením vodičů ve spletitém nepořádku.
Obrázky každého jednotlivého modelu lze nalézt v příručce k sadě nástrojů k mikrokontroléru nebo na jeho webových stránkách
Začněte připojením teplotního čidla, potenciometru, servo konektorů a LCD k desce. Doporučuje se, aby vzhledem k velikosti LCD a požadavku na počet vodičů pro něj byl umístěn na vlastní polovinu prkénka s ostatními kousky na druhé polovině a aby byl potenciometr v oblasti, kde někdo může snadno otočte knoflíkem.
Pro referenci:
LCD: c1-16
Servo: i1-3 (GND + -)
Teplotní senzor: i13-15 (- GND +)
Potenciometr: g24-26 (- GND +)
Dále začněte připojovat propojovací vodiče ke každému kolíku jednotek mikrokontroléru; i když v celkovém velkém schématu byl libovolný, design byl vytvořen s těmito důležitými spojeními:
Připojení potenciometru k LCD: f25 - e3
Servo GND vodič: j1 - digitální vstup 9
Snímač teploty GND: j14 - analogový vstup 0
LCD vstupy: e11-e15-digitální vstup 2-5
e4 - digitální vstup 7
e6 - digitální vstup 6
(Poznámka: Pokud je úspěšná, obě světla na okraji LCD by měla blikat a potenciometr může pomoci upravit jeho jas, jakmile je napájen z adaptéru.)
Volitelné: Jako součást požadavku byl použit 3D vytištěný objekt. Aby se předešlo případnému poškození křehčích částí, bylo kolem LCD umístěno jako pouzdro prodloužené pouzdro. Rozměry obrazovky LCD se ukázaly být přibližně 2-13/16 "x 1-1/16" x 1/4 ", a proto se výrazně změnila pouze výška. Pokud je 3D tiskárna snadno dostupná, zvažte přidání osobního objektu i když zbytečné. Mějte také na paměti, že měření se mohou lišit.
Krok 3: Nastavení MATLABu
Nainstalujte si aktualizovanější verzi MATLABu (2016a a novější), dostupnou na webu MathWorks https://www.mathworks.com/products/matlab.html?s_tid=srchtitle. Po otevření přejděte na Doplňky na kartě Domů a stáhněte si „Balíček podpory MATLAB pro hardware Arduino“, aby byly příkazy mikrokontroléru přístupné.
Po dokončení lze provést test s cílem zjistit připojení mikrokontroléru k jednomu počítači/notebooku. Po připojení pomocí adaptéru USB ze sady nástrojů vložte příkaz „fopen (serial ('nada'))."
Zobrazí se chybové hlášení s uvedením konektoru jako „COM#“, které bude potřeba k vytvoření objektu arduino, pokud je to vždy stejný vstup.
Vzhledem k tomu, že LCD nemá přímé připojení ke knihovně Arduino, musí být pro zobrazování zpráv vytvořena nová knihovna. Doporučujeme vytvořit soubor LCDAddon.m z příkladu LCD, který najdete v okně nápovědy MATLAB, po vyhledání „Arduino LCD“a umístění do složky +arduinoioaddons, nebo použijte připojenou komprimovanou složku a zkopírujte veškerý její obsah do výše uvedeného složku.
Pokud je úspěšný, pak kód pro vytvoření objektu Arduino v MATLABu je uveden níže.
a = arduino ('com#', 'uno', 'Libraries', 'ExampleLCD/LCDAddon');
Krok 4: Funkce
Vytvořte funkci MATLAB. Pro vstupy používáme proměnné „eff“a „T_min“; pro výstupy, i když v celkovém návrhu zbytečné, jsme použili proměnnou „B“jako způsob, jak obsahovat data z výsledků. Vstup "eff" umožňuje řídit maximální rychlost serva a vstup "T_min" ovládá požadovanou minimální teplotu. Hodnota „B“by tedy měla vytvořit matici, která obsahuje tři sloupce pro čas, teplotu a účinnost ventilátoru. Jako bonus k detailům má níže uvedený kód také prohlášení if, že rychlost ventilátoru se sníží o padesát procent, když se přiblíží požadované minimální teplotě.
Pokud jsou všechny vstupy a propojovací vodiče umístěny přesně a za předpokladu, že port připojení arduino je COM4 a název funkce je „fanread“, měl by stačit následující kód:
funkce [B] = fanread (Tmin, eff)
vymazat a; clear lcd; a = arduino ('com4', 'uno', 'Libraries', 'ExampleLCD/LCDAddon');
t = 0; t_max = 15; % času v sekundách
lcd = addon (a, 'ExampleLCD/LCDAddon', {'D7', 'D6', 'D5', 'D4', 'D3', 'D2'});
initializeLCD (lcd, 'Rows', 2, 'Columns', 2);
pokud eff> = 1 || e <0
chyba ('Ventilátor se neaktivuje, pokud není nastaven efekt mezi 0 a 1.')
konec
pro t = 1: 10 % počet smyček/intervalů
jasné c; % zabránit chybě opakování
v = readVoltage (a, 'A0');
TempC = (v-0,5)*100; % odhad pro rozsahy napětí 2,7-5,5 V
pokud TempC> Tmin, pokud TempC
c = ['Temp', num2str (TempC, 3), 'C On'];
writePWMDutyCycle (a, 'D9', eff/2); % zapněte servo na poloviční rychlost
spd = 50;
jiný
c = ['Temp', num2str (TempC, 3), 'C On'];
writePWMDutyCycle (a, 'D9', eff); % zapněte servo při dané rychlosti
spd = 100;
konec
jiný
c = ['Teplota', num2str (TempC, 3), 'C vypnuto'];
writePWMDutyCycle (a, 'D9', 0); % vypněte, pokud je již zapnuto
spd = 0;
konec
printLCD (lcd, c);
pauza (3); Uplyne % tři sekundy na smyčku
čas (t) = t.*3;
tempplot (t) = TempC;
jednat (t) = spd;
podkres (2, 1, 1)
plot (čas, tempplot, 'b-o') % spojnicový graf
osa ([0 33 0 40])
xlabel ('Čas (sekundy)')
ylabel ('Teplota (C)')
vydrž
děj ([0 33], [Tmin Tmin], 'r-')
vydrž
graf ([0 33], [Tmin+2 Tmin+2], 'g-')
podkres (2, 1, 2)
sloupec (čas, akt) % sloupcový graf
xlabel ('Čas (sekundy)')
ylabel ('Účinnost (%)')
konec
B = transponovat ([čas; tempplot; jednat]);
konec
Nyní, když je funkce kompletní, je čas na testování.
Krok 5: Testování
Nyní otestujte funkci v příkazovém okně vložením „název_funkce (hodnota_vstupu_1, hodnota_vstupu_2)“a sledujte. Ujistěte se, že již neexistuje žádný objekt Arduino; pokud ano, odeberte jej příkazem „clear a“. Pokud dojde k chybám, zkontrolujte a zkontrolujte, zda nejsou konektory na špatném místě nebo zda jsou použity nesprávné digitální nebo analogové vstupy. Očekává se, že výsledky se budou lišit, i když to může být způsobeno umístěním určitých propojovacích vodičů a teplotního čidla.
Očekávání výsledků by měla vést ke změnám ve výkonu serva a dat na LCD. S každým třísekundovým intervalem by měl řádek textu zobrazovat teplotu ve stupních Celsia a to, zda je ventilátor aktivní, když ventilátor běží na plné otáčky, poloviční nebo žádné otáčky. Data by s největší pravděpodobností neměla být konzistentní, ale pokud toužíte po více různých výsledcích, umístěte hodnotu „Tmin“blízko průměrné teploty vytvářené obvodem.
Krok 6: Závěr
I když náročný úkol byl proveden metodou pokusu a omylu, konečné výsledky se ukázaly být docela zajímavé a uspokojivé. Systém jako takový pomáhá ilustrovat, kolik komplikovaných strojů nebo dokonce některých jejich částí lze považovat za soubor nezávislých částí umístěných společně za účelem dosažení konkrétního cíle.
Vzhledem k poměrně zjednodušenému designu konečného projektu mohou ti, kteří mají zájem zlepšit jeho výkon, provést v konečném produktu vylepšení a úpravy, díky nimž bude projekt lepší a propracovanější. Odhaluje však slabiny v obvodu, jako je aktivace serva, což má za následek sporadické výkyvy ve čtení napětí v obvodu, což může způsobit, že systém nikdy nedosáhne stejných výsledků. Také došlo k problémům se změnou rychlosti serva, když je "eff" nastaveno na 0,4 a vyšší. Pokud by byl použit snímač teploty a vlhkosti, konečný model by byl komplikovanější, ale představoval by konzistentnější hodnoty. Přesto je to zkušenost, která ukazuje, že složitý stroj může fungovat jako kombinace jeho jednoduchých částí.
Doporučuje:
Přepínač automatické klimatizace: 5 kroků
Automatický přepínač klimatizace: Jelikož existují různé věci, které musí lidé během svého každodenního života dělat, často zapomínáme na drobné detaily, které někdy způsobují vážné důsledky, jednou z nich je zapomenout vypnout klimatizaci. Zatímco lidé omylem
Automatický systém ventilátoru/klimatizace: 6 kroků
Automatický systém ventilátoru/klimatizace: Vítejte! V tomto Instructable vás provedu, jak vybudovat svůj vlastní automatický systém ventilátoru/klimatizace. Tento Instructable se zabývá okenním ventilátorem, který slouží k ochlazování místností v horkém létě. Cílem tohoto projektu je
Výukový program PCB klimatizace s fungováním a opravou: 6 kroků
Výukový program PCB klimatizace s fungováním a opravou: Hej, co se děje, lidi! Akarsh zde z CETech. Přemýšleli jste někdy o tom, co se děje na vnitřní straně vašich klimatizací? Pokud ano, měli byste si projít tento článek, protože dnes vám poskytnu náhled na souvislosti a komp
Automatické zapínání klimatizace: 5 kroků
Zařízení s automatickým zapnutím klimatizace: Toto zařízení se nazývá zařízení s automatickým zapnutím klimatizace. Když jste ve své horké místnosti a právě jste dokončili školu, jste příliš unavení zapnout klimatizaci, pak je toto zařízení pro vás ideální. Mechanismus tohoto zařízení je velmi jednoduchý. W
Mobilní telefon Infračervená klimatizace Dálkové ovládání Výroba vlastní výroby: 7 kroků
Mobilní telefon Infračervená klimatizace Dálkové ovládání Výroba pro kutily: V horkém létě, když jdete domů nebo do kanceláře, chcete zapnout klimatizaci, ale chvíli nemůžete najít dálkové ovládání. Je to velmi nepříjemná věc. V době, kdy tento mobilní telefon neopouští, můžete použít mobilní telefon jako