Sadržaj:

8 -kanalni programabilni mjerač vremena: 13 koraka
8 -kanalni programabilni mjerač vremena: 13 koraka

Video: 8 -kanalni programabilni mjerač vremena: 13 koraka

Video: 8 -kanalni programabilni mjerač vremena: 13 koraka
Video: Как придать Объём волосам Пошагово дома | 4 способа Укладки волос! Как научиться укладывать волосы! 2024, Srpanj
Anonim
8 -kanalni programabilni mjerač vremena
8 -kanalni programabilni mjerač vremena
8 -kanalni programabilni mjerač vremena
8 -kanalni programabilni mjerač vremena
8 -kanalni programabilni mjerač vremena
8 -kanalni programabilni mjerač vremena

Uvod

Koristim Microchip -ov PIC asortiman mikrokontrolera za svoje projekte od 1993. godine, a sve svoje programiranje obavio sam na asemblerskom jeziku, koristeći Microchip MPLab IDE. Moji projekti su se kretali od jednostavnih semafora i trepćućih LED dioda, preko USB sučelja upravljačke palice za R/C modele i analizatora rasklopnih uređaja koji se koriste u industriji. Razvoj je trajao mnogo dana, a ponekad i tisuće redaka asemblerskog koda.

Nakon što sam primio Matrix Multimedia Flowcode 4 Professional, bio sam prilično skeptičan prema softveru. Izgledalo je previše lako za povjerovati. Odlučio sam isprobati i testirao sve različite makroe komponenti, sve s velikim uspjehom. Najbolji dio korištenja Flowcodea bio je taj što su jednostavni projekti mogli biti kodirani u jednoj noći. Nakon što sam se poigrao s I²C i satom za realno vrijeme DS1307, odlučio sam dizajnirati 8 -kanalni mjerač vremena pomoću protokola. Budući da nije bio mali i lagan projekt, vjerovao sam da bi ovo bio izvrstan projekt da se naučim Flowcode.

Odabir mikroprocesora i drugih komponenti

Zbog potrebnog broja I/O pinova bilo je jasno da će biti potreban 40 -pinski uređaj. Odabran je PIC 18F4520, uglavnom zbog njegove 32K programske memorije i 1536 bajtova podatkovne memorije. Sve korištene komponente standardni su uređaji s otvorima, što omogućuje izradu kruga na Vero ploči ako je potrebno. To je također pomoglo razvoju na ploči.

Korak 1: Ciljevi projekta

Ciljevi projekta
Ciljevi projekta

Ciljevi

- Točno mjerenje vremena, s rezervnom baterijom.

- Svi programi i podaci moraju se zadržati, čak i nakon gubitka napajanja.

- Jednostavno korisničko sučelje.

- Fleksibilnost programiranja.

Čuvanje vremena

Živeći u području sklonom nestanku struje, standardnih 50/60Hz iz dalekovoda neće biti dovoljno za točno mjerenje vremena. Sat u stvarnom vremenu bio je bitan, a nakon testiranja nekoliko RTC čipova, odlučio sam se za DS1307 zbog jednostavne konfiguracije oscilatora i rezervne baterije. Sasvim točno mjerenje vremena dobiveno je korištenjem samo 32.768 kHz kristala spojenog na DS1307. Točnost je bila unutar 2 sekunde tijekom 2 mjeseca probnog razdoblja koristeći 4 različite vrste kristala.

Zadržavanje podataka

Svi podaci programa tajmera moraju se zadržati, čak i za vrijeme nestanka struje. S do 100 različitih programa i različitim konfiguracijskim podacima postalo je jasno da 256 bajtova ugrađenog EEPROM-a PIC-a neće biti dovoljno veliko. 24LC256 I²C EEPROM koristi se za spremanje svih programskih podataka.

Jednostavno korisničko sučelje

Korisničko sučelje sastoji se od samo 2 stavke, LCD zaslona 16 x 4 reda s LED pozadinskim osvjetljenjem i 4 x 3 tipkovnice. Sve programiranje može se obaviti pritiskom na samo nekoliko tipki. Dodaci sučelju su zvučni piezo zujalica i vizualno trepćuće pozadinsko osvjetljenje LCD -a.

Korak 2: Fleksibilnost programiranja

Fleksibilnost programiranja
Fleksibilnost programiranja

Kako bi se osigurala dovoljna fleksibilnost programa, mjerač vremena ima 100 programa koji se mogu postaviti pojedinačno. Za svaki program možete postaviti vrijeme uključivanja, vrijeme isključenja, izlazne kanale i dan u tjednu. Svaki program ima tri načina rada:

- Automatski: Postavljeno je vrijeme uključivanja, vrijeme isključenja, izlazni kanal i dan u tjednu.

- Isključeno: Pojedinačni program može se onemogućiti, bez brisanja postavki. Da biste ponovo omogućili program, jednostavno odaberite drugi način rada.

- Dan/noć: Uključeno je vrijeme, Isključeno vrijeme, Izlazni kanal i Dan u tjednu. Radi isto kao i Automatski način rada, ali hoće

uključite izlaze samo između vremena uključivanja i isključivanja kada je mrak. To omogućuje i potpunu kontrolu dan/noć

kao dodatna fleksibilnost za paljenje svjetla pri zalasku sunca i gašenje pri izlasku sunca.

Primjer 1: Svjetlo će se upaliti nakon 20:00 sati, a svjetlo će se ugasiti pri izlasku sunca.:

U: 20:00, Isključeno: 12: 00, Primjer 2: Svjetlo će se upaliti pri zalasku sunca, a svjetlo će se ugasiti u 23:00.

Uključeno: 12:00

Isključeno: 23:00

Primjer 3: Uključit će svjetlo pri zalasku sunca, a ugasiti svjetlo pri izlasku sunca.

Uključeno: 12:01

Isključeno: 12:00

Dostupne su dodatne opcije, a sve rade neovisno o 100 programa za uključivanje/isključivanje.

Aktivni programski kanali: Umjesto isključivanja nekoliko programa, pojedinačni izlazni kanali mogu se onemogućiti bez potrebe za promjenom programa.

Pomoćni ulazi: Dostupna su dva digitalna ulaza koji omogućuju uključivanje određenih izlaznih kanala na određeno vrijeme. Može se, na primjer, upotrijebiti za uključivanje određenih svjetala pri dolasku kući kasno u noć, kada se pritisne tipka na daljinskom upravljaču, ili za uključivanje drugog svjetla pri aktiviranju kućnog alarma.

Pomoćni izlazi: Na raspolaganju su dva dodatna izlaza (osim 8 izlaznih kanala). Mogu se programirati za uključivanje s određenim izlaznim kanalima ili s digitalnim ulazima. U svojoj instalaciji imam izlaze 6-8 koji kontroliraju moje navodnjavanje, a koji rade na 24V. Koristim kanale 6-8 za uključivanje jednog od pomoćnih izlaza, za uključivanje napajanja od 24 V za sustav za navodnjavanje.

Ručno uključeno: Na glavnom zaslonu tipke 1-8 mogu se koristiti za ručno uključivanje ili isključivanje kanala.

Korak 3: Hardver

Hardver
Hardver

Napajanje: Napajanje se sastoji od ispravljača, glatkog kondenzatora i osigurača od 1 Amp za zaštitu od preopterećenja. Opskrbu tada regulira regulator 7812 i 7805. Napajanje od 12 V koristi se za pogon izlaznih releja, a svi ostali krugovi se napajaju iz napajanja 5V. Kako je regulator 7805 spojen na izlaz regulatora 7812, ukupna struja mora biti ograničena na 1 amper kroz regulator 7812. Poželjno je ove regulatore montirati na odgovarajući hladnjak.

I²C sabirnica: Iako Flowcode dopušta hardversku kontrolu I²C, odlučio sam se koristiti softverskom konfiguracijom I²C. To omogućuje veću fleksibilnost dodjele pinova. Iako sporiji (50 kHz), ipak radi izvrsno u usporedbi s hardverskom I²C sabirnicom. I DS1307 i 24LC256 spojeni su na ovu I²C sabirnicu.

Sat u stvarnom vremenu (DS1307): Tijekom pokretanja, RTC registar 0 i 7 se čita kako bi se utvrdilo sadrži li valjano vrijeme i konfiguracijske podatke. Nakon ispravnog postavljanja očitava se vrijeme RTC -a i vrijeme učitava u PIC. Ovo je jedini put da se vrijeme čita s RTC -a. Nakon pokretanja, impuls od 1Hz bit će prisutan na pin 7 RTC -a. Ovaj signal od 1Hz spojen je na RB0/INT0, a putem rutine usluge prekida vrijeme PIC se ažurira svake sekunde.

Vanjski EEPROM: Svi programski podaci i opcije pohranjeni su na vanjskom EEPROM -u. Podaci EEPROM-a učitavaju se pri pokretanju, a kopija podataka pohranjuje se u PIC memoriju. Podaci EEPROM -a ažuriraju se samo kada se promijene postavke programa.

Senzor dan/noć: Kao osjetnik dan/noć koristi se standardni otpornik ovisan o svjetlu (LDR). Kako LDR -ovi dolaze u mnogim oblicima i varijantama, svi s različitim vrijednostima otpora pod istim svjetlosnim uvjetima, koristio sam analogni ulazni kanal za očitavanje razine svjetlosti. Dnevne i noćne razine su podesive i omogućuju određenu fleksibilnost za različite senzore. Za postavljanje neke histereze mogu se postaviti pojedinačne vrijednosti za Dan i Noć. Stanje će se promijeniti samo ako je razina svjetla ispod dana ili iznad zadanih vrijednosti noći duže od 60 sekundi.

LCD zaslon: Koristi se zaslon s 4 retka i 16 znakova jer se svi podaci ne mogu prikazati na zaslonu u 2 retka. Projekt uključuje neke prilagođene znakove koji su definirani u makronaredbi LCD_Custom_Char.

Pomoćni ulazi: Oba ulaza su međuspremnika opremljena NPN tranzistorima. +12v i 0V također su dostupni na konektoru, što omogućuje fleksibilnije povezivanje s vanjskim priključcima. Na primjer, prijemnik daljinskog upravljača može se spojiti na napajanje.

Izlazi: Svi izlazi električno su izolirani od kruga pomoću 12V releja. Korišteni releji, nazivni su za 250V AC, pri 10 ampera. Normalno otvoreni i normalno zatvoreni kontakti izlaze na stezaljke.

Tipkovnica: Tipkovnica koja se koristi je 3 x 4 matrična tipkovnica i spojena je PORTB: 2..7.

Korak 4: Prekidi tipkovnice

Prekidi tipkovnice
Prekidi tipkovnice
Prekidi tipkovnice
Prekidi tipkovnice
Prekidi tipkovnice
Prekidi tipkovnice

Htio sam iskoristiti PORTB prekid pri promjeni pri bilo kojem pritisku tipke. Za to je trebalo stvoriti prilagođeni prekid u protokolu, kako bi se osiguralo da su smjer i podaci PORTB ispravno postavljeni prije i nakon svakog prekida tipkovnice. Prekid se generira svaki put kad pritisnete ili otpustite tipku. Rutinska rutina prekida reagira samo kada se pritisne tipka.

PRILAGOĐENI PREKID

Omogući kôd

portb = 0b00001110; trisb = 0b11110001;

intcon. RBIE = 1;

intcon2. RBIP = 1;

intcon2. RBPU = 1;

rcon. IPEN = 0;

Kôd rukovatelja

if (intcon & (1 << RBIF))

{FCM_%n ();

portb = 0b00001110;

trisb = 0b11110001;

wreg = portb;

clear_bit (intcon, RBIF);

}

Pronađeni problemi

Tijekom prekida rutina usluge prekida mora pod NO uvjetima pozvati bilo koju drugu makronaredbu koja bi se mogla koristiti negdje u ostatku programa. To će na kraju dovesti do problema s prelijevanjem stoga jer se prekid može dogoditi u isto vrijeme kada je i glavni program u istoj potprogrami. To se također identificira kao OZBILJNA GREŠKA prema kodu protoka prilikom sastavljanja koda.

U prilagođenom kodu tipkovnice pod GetKeyPadNumber postoji takav poziv makronaredbe Delay_us, što će uzrokovati preljev steka. Kako bih to prevladao, uklonio sam naredbu Delay_us (10) i zamijenio je s 25 redaka "wreg = porta;" naredbe. Ova naredba čita PORTA i stavlja njenu vrijednost u W registar, samo da bi došlo do kašnjenja. Ova će naredba biti sastavljena u jednu instrukciju sličnu asembleru movf porta, 0. Za sat od 10MHz koji se koristi u projektu, svaka će instrukcija biti 400ns, a da bih dobio kašnjenje od 10us, trebalo mi je 25 ovih uputa.

Napomena u drugom retku slike 3: GetKeypadNumber prilagođeni kôd, da je izvorna naredba delay_us (10) onemogućena s “//”. Ispod ovoga dodao sam svojih 25 "wreg = porta;" naredbe za dobivanje novog kašnjenja od 10us. Bez poziva na makronaredbe unutar prilagođenog koda Keypad_ReadKeypadNumber, makronaredba tipkovnice sada se može koristiti unutar rutine usluge prekida.

Valja napomenuti da komponente Flowcode Keypad i eBlocks ne koriste standardne pull-up otpornike na ulaznim linijama. Umjesto toga, koristi 100K pull-down otpornike. Zbog nekih smetnji na tipkovnici tijekom razvoja, svi 100K otpornici zamijenjeni su 10K, a svi 10K otpornici zamijenjeni 1K5. Tastatura je testirana na ispravan rad s vodovima od 200 mm.

Korak 5: Korištenje mjerača vremena

Korištenje mjerača vremena
Korištenje mjerača vremena
Korištenje mjerača vremena
Korištenje mjerača vremena
Korištenje mjerača vremena
Korištenje mjerača vremena

Svi su zasloni postavljeni tako da ukazuju na sve potrebne informacije za korisnika kako bi brzo promijenio postavke. Linija 4 koristi se za pomoć pri navigaciji kroz izbornike i opcije programa. Tijekom normalnog rada dostupna su ukupno 22 zaslona.

LINIJA 1: Vrijeme i status

Prikazuje trenutni dan i vrijeme, nakon čega slijede ikone statusa:

A - Označava da je Aux ulaz A aktiviran, a mjerač Aux ulaza A radi.

B - Pokazuje da je aktiviran pomoćni ulaz B i da je uključen mjerač pomoćnog ulaza B.

C - Označava da je Aux izlaz C uključen.

D - Označava da je Aux izlaz D uključen.

} - Status senzora dan/noć. Ako je prisutno, označava da je noć.

LINIJA 2: Izlazi programa

Prikazuje kanale koje su uključili različiti programi. Kanali su prikazani u izlaznim brojevima, a "-" označava da određeni izlaz nije uključen. Kanali koji su onemogućeni u "Aktivni programski izlazi" i dalje će biti označeni ovdje, ali stvarni izlazi neće biti postavljeni.

LINIJA 3: Pravi izlazi

Pokazuje koje su kanale uključili različiti programi, pomoćni ulazi A i B ili ručni izlazi koje je postavio korisnik. Pritiskom na 0 vratit će se svi ručno aktivirani izlazi na isključene i resetirat će se pomoćni i izlazni mjerači A & B.

LINIJA 4: Opcije izbornika i tipki (na svim izbornicima)

Označava funkciju tipki “*” i “#”.

Središnji dio označava koje su numeričke tipke (0-9) aktivne za odabrani zaslon.

Status ulaza pomoćnog ulaza A & B također se prikazuje pomoću ikone prekidača Otvoreno ili Zatvoreno.

Izlazi se mogu ručno uključiti/isključiti pritiskom na odgovarajuću tipku na tipkovnici.

U izbornicima se za kretanje kroz različite programske opcije koriste tipke Zvijezda i Raspršivač. Za postavljanje opcija koriste se tipke 0-9. Tamo gdje je na jednom zaslonu ili izborniku za programiranje dostupno više opcija, tipka Hash koristi se za prolazak kroz različite opcije. Trenutačno odabrana opcija uvijek će biti označena znakom “>” na lijevoj strani ekrana.

0-9 Unesite vrijednosti vremena

1-8 Promijenite odabir kanala

14 36 Koračni programi, 1 korak natrag, 4 koraka natrag 10 programa, 3 koraka naprijed, 6 koraka naprijed 10

programa

1-7 Postavite dane u tjednu. 1 = nedjelja, 2 = ponedjeljak, 3 = utorak, 4 = srijeda, 5 = četvrtak, 6 = petak, 7 = subota

0 Na glavnom zaslonu izbrišite sve ručne zamene i mjerače za ulaz A i ulaz B. U drugim se izbornicima mijenjaju

odabrane opcije

# Na glavnom zaslonu onemogućit će se sva ručna nadjačavanja, mjerači ulaza A i ulaza B i programski izlazi, sve dok

sljedeći događaj.

* i 1 Ponovo pokrenite mjerač vremena

* i 2 Izbrišite sve programe i opcije, vratite postavke na zadane.

* i 3 Stavite mjerač vremena u stanje pripravnosti. Za ponovno uključivanje mjerača vremena, pritisnite bilo koju tipku.

Tijekom pogrešnih unosa bilo koje vrijednosti, pozadinsko osvjetljenje LCD -a će treptati 5 puta kako bi označilo pogrešku. U isto vrijeme oglasit će se zvučni signal. Naredbe Izlaz i Sljedeće radit će samo ako je trenutni unos točan.

LCD pozadinsko osvjetljenje

Prilikom prvog pokretanja, pozadinsko osvjetljenje LCD-a će se uključiti na 3 minute, osim ako:

- Došlo je do kvara na hardveru (EEPROM ili RTC nisu pronađeni)

- Vrijeme nije postavljeno u RTC -u

Pozadinsko osvjetljenje LCD zaslona ponovno će se uključiti na 3 minute pri svakom korisničkom unosu na tipkovnici. Ako je pozadinsko osvjetljenje LCD -a isključeno, bilo koja naredba tipkovnice prvo će uključiti pozadinsko osvjetljenje LCD -a i zanemariti tipku koja je pritisnuta. To osigurava da će korisnik moći čitati LCD zaslon prije korištenja tipkovnice. Pozadinsko osvjetljenje LCD -a također će se uključiti na 5 sekundi ako je aktiviran Aux ulaz A ili Aux ulaz B.

Korak 6: Snimke zaslona izbornika

Snimke zaslona izbornika
Snimke zaslona izbornika
Snimke zaslona izbornika
Snimke zaslona izbornika
Snimke zaslona izbornika
Snimke zaslona izbornika

Pomoću tipkovnice možete jednostavno programirati svaku od opcija. Slike daju neke informacije o tome što svaki zaslon radi.

Korak 7: Dizajn sustava

Dizajn sustava
Dizajn sustava

Sav razvoj i testiranje obavljeno je na ploči. Gledajući sve dijelove sustava, razbio sam sustav na tri modula. Ova je odluka uglavnom posljedica ograničenja veličine PCB -a (80 x 100 mm) besplatne verzije Eagle -a.

Modul 1 - Napajanje

Modul 2 - CPU ploča

Modul 3 - Relejna ploča

Odlučio sam da se sve komponente moraju lako nabaviti i da ne želim koristiti komponente za površinsko montiranje.

Prođimo kroz svaku od njih.

Korak 8: Napajanje

Napajanje
Napajanje
Napajanje
Napajanje
Napajanje
Napajanje
Napajanje
Napajanje

Napajanje je ravno, a napaja CPU i relejne ploče s 12V i 5V.

Regulatore napona montirao sam na pristojne hladnjake, a za napajanje sam koristio i precijenjene kondenzatore.

Korak 9: CPU ploča

CPU ploča
CPU ploča
CPU ploča
CPU ploča
CPU ploča
CPU ploča
CPU ploča
CPU ploča

Sve komponente, osim LCD zaslona, tipkovnice i releja montirane su na ploču CPU -a.

Dodani su priključni blokovi kako bi se pojednostavile veze između napajanja, dva digitalna ulaza i senzora svjetla.

Igle/utičnice zaglavlja omogućuju jednostavno povezivanje s LCD zaslonom i tipkovnicom.

Za izlaze na relejima koristio sam ULN2803. Već sadrži sve potrebne pogonske otpornike i povratne diode. Time je osigurano da se CPU ploča i dalje može napraviti pomoću besplatne verzije Eagle -a. Releji su spojeni na dva ULN2803. Donji ULN2803 koristi se za 8 izlaza, a gornji ULN2803 za dva pomoćna izlaza. Svaki pomoćni izlaz ima četiri tranzistora. Priključci na releje također se izvode putem igle/utičnice zaglavlja.

PIC 18F4520 je opremljen utičnicom za programiranje kako bi se omogućilo jednostavno programiranje putem programatora PicKit 3.

BILJEŠKA:

Primijetit ćete da ploča sadrži dodatni 8 -polni IC. Gornji IC je PIC 12F675 i spojen je na digitalni ulaz. To je dodano tijekom projektiranja PCB -a. To olakšava prethodnu obradu digitalnog ulaza. U mojoj aplikaciji, jedan od digitalnih ulaza spojen je na moj alarmni sustav. Ako se oglasi alarm, u mojoj su kući upaljena određena svjetla. Aktiviranje i deaktiviranje mog alarmnog sustava daje različite zvučne signale na sireni. Korištenjem PIC 12F675 sada mogu razlikovati aktiviranje/deaktiviranje i pravi alarm. 12F675 također ima programsku utičnicu.

Također sam osigurao I2C port preko zaglavlja igle/utičnice. To će vam kasnije dobro doći s relejnim pločama.

Ploča sadrži nekoliko kratkospojnika koje treba lemiti prije postavljanja IC utičnica.

Korak 10: Zaključak protokola

Zaključak protokola
Zaključak protokola
Zaključak protokola
Zaključak protokola
Zaključak protokola
Zaključak protokola

Kako sam navikao raditi na razini registra u montaži, ponekad je bilo teško i frustrirajuće koristiti komponente makronaredbe. To je uglavnom bilo zbog mog nedostatka znanja o programskoj strukturi Flowcodea. Jedino gdje sam koristio C ili ASM blokove bilo je uključivanje izlaza unutar rutine prekida, a u rutini Do_KeyPressed onemogućivanje/omogućavanje prekida tipkovnice. PIC se također stavlja u SLEEP pomoću ASM bloka, kada se ne pronađe EEPROM ili RTC.

Pomoć oko korištenja različitih naredbi I²C dobivena je iz datoteka pomoći za Flowcode. Prije uspješnog korištenja naredbi potrebno je točno znati kako različiti I²C uređaji rade. Za projektiranje sklopa nije potrebno da dizajner ima na raspolaganju sve relevantne podatkovne tablice. Ovo nije nedostatak protokola.

Flowcode je doista izdržao test i toplo se preporučuje osobama koje žele započeti rad s nizom mikroprocesora Microchip.

Programiranje protokola i konfiguracija za PIC postavljeni su prema slikama

Korak 11: Opcijska I2C relejna ploča

Opcijska I2C relejna ploča
Opcijska I2C relejna ploča
Opcijska I2C relejna ploča
Opcijska I2C relejna ploča
Opcijska I2C relejna ploča
Opcijska I2C relejna ploča

CPU ploča već ima priključke zaglavlja za 16 releja. Ovi izlazi su tranzistori otvorenog kolektora putem dva čipa ULN2803. Ovo se može koristiti za izravno napajanje releja.

Nakon prvih testova sustava nisu mi se svidjele sve žice između CPU ploče i releja. Kako sam uključio I2C port na ploču CPU -a, odlučio sam dizajnirati relejnu ploču za spajanje na I2C port. Koristeći 16 -kanalni MCP23017 I/O Port Expander čip i ULN2803 tranzistorski niz, smanjio sam veze između CPU -a i releja na 4 žice.

Kako nisam mogao postaviti 16 releja na PCB 80 x 100 mm, odlučio sam napraviti dvije ploče. Svaki MCP23017 koristi samo 8 od svojih 16 portova. Ploča 1 upravlja s 8 izlaza, a ploča 2 s dva pomoćna izlaza. Jedina razlika na pločama su adrese svake ploče. To se lako postavlja pomoću mini džampera. Svaka ploča ima priključke za napajanje i I2C podatke na drugoj ploči.

BILJEŠKA:

Ako je potrebno, softver predviđa samo jednu ploču koja može koristiti svih 16 priključaka. Svi podaci izlaznog releja dostupni su na prvoj ploči.

Budući da je sklop opcijski i vrlo jednostavan, nisam stvorio shemu. Ako bude dovoljno potražnje, mogu je dodati kasnije.

Korak 12: Izborna RF veza

Opcijska RF veza
Opcijska RF veza
Opcijska RF veza
Opcijska RF veza
Opcijska RF veza
Opcijska RF veza

Nakon završetka projekta, ubrzo sam shvatio da moram povući puno 220V AC ožičenja na tajmer. Razvio sam RF vezu koristeći standardne module od 315 MHz koji su omogućili da se mjerač vremena stavi unutar ormara, a relejne ploče unutar krova, blizu svih ožičenja od 220 V.

Veza koristi AtMega328P koji radi na 16MHz. Softver i za odašiljač i za prijamnik je isti, a način rada odabire mini kratkospojnik.

Odašiljač

Odašiljač je jednostavno priključen na CPU I2C port. Nije potrebno dodatno postavljanje jer AtMega328P sluša iste podatke kao i relejne ploče I2C.

Podaci se ažuriraju jednom u sekundi na I2C priključku, a odašiljač šalje te podatke putem RF veze. Ako odašiljač ne prima I2C podatke oko 30 sekundi, odašiljač će kontinuirano prenositi podatke kako bi isključio sve releje na prijemnu jedinicu.

Napajanje modula odašiljača može se odabrati između 12V i 5V pomoću mini kratkospojnika na ploči PC -a. Napajam svoj odašiljač pomoću 12V.

Prijamnik

Prijemnik sluša kodirane podatke s odašiljača i postavlja podatke na I2C port. Relejna ploča jednostavno se priključuje na ovaj priključak i radi isto kao što je priključena na ploču CPU -a.

Ako prijemnik ne primi valjane podatke 30 sekundi, prijemnik će kontinuirano slati podatke na I2C priključak kako bi isključio sve releje na relejnim pločama.

Sheme

Jednog dana, ako za njim postoji potražnja. Arduino skica sadrži sve potrebne podatke za izgradnju sklopa bez dijagrama kruga.

Domet

U mojoj instalaciji, odašiljač i prijemnik su udaljeni oko 10 metara. Mjerač vremena nalazi se unutar ormara, a relejna jedinica na vrhu stropa.

Korak 13: Završni proizvod

Finalni proizvod
Finalni proizvod
Finalni proizvod
Finalni proizvod
Finalni proizvod
Finalni proizvod

Glavna jedinica bila je ugrađena u staru projektnu kutiju. Sadrži sljedeće:

- 220V/12V transformator

- ploča za napajanje

- CPU ploča

- LCD zaslon

- Tipkovnica

- Odašiljač RF veze

- Dodatna kućna daljinska prijemna jedinica koja mi omogućuje uključivanje/isključivanje svjetla putem daljinskog upravljača

Relejna jedinica sastoji se od sljedećeg:

- 220V/12V transformator

- ploča za napajanje

- RF Link prijemnik

- 2 x I2C relejne ploče

Sve su ploče dizajnirane iste dimenzije, što ih čini lakim za slaganje jedna na drugu s razmaknicama od 3 mm.

Preporučeni: