Sisukord:

Traadita side, kasutades odavaid 433 MHz RF -mooduleid ja Pic -mikrokontrollereid. Osa 2: 4 sammu (piltidega)
Traadita side, kasutades odavaid 433 MHz RF -mooduleid ja Pic -mikrokontrollereid. Osa 2: 4 sammu (piltidega)

Video: Traadita side, kasutades odavaid 433 MHz RF -mooduleid ja Pic -mikrokontrollereid. Osa 2: 4 sammu (piltidega)

Video: Traadita side, kasutades odavaid 433 MHz RF -mooduleid ja Pic -mikrokontrollereid. Osa 2: 4 sammu (piltidega)
Video: Наушники JLAB Go Work - ОБЗОР НОВИНКИ! 2024, November
Anonim
Traadita side, kasutades odavaid 433 MHz RF -mooduleid ja Pic -mikrokontrollereid. 2. osa
Traadita side, kasutades odavaid 433 MHz RF -mooduleid ja Pic -mikrokontrollereid. 2. osa

Selle juhendi esimeses osas demonstreerisin, kuidas programmeerida PIC12F1822 MPLAB IDE ja XC8 kompilaatori abil, et saata lihtne string juhtmevabalt, kasutades odavaid TX/RX 433MHz mooduleid.

Vastuvõtumoodul ühendati USB kaudu UART TTL kaabliadapteriga arvutiga ja saadud andmed kuvati RealTermis. Side toimus 1200 baudil ja maksimaalne saavutatud ulatus oli umbes 20 meetrit läbi seinte. Minu testid näitasid, et rakenduste puhul, kus pole vaja suurt andmeedastuskiirust ja suurt kaugust ning pidevat edastust, toimisid need moodulid erakordselt hästi.

Selle projekti teine osa näitab, kuidas lisada vastuvõtjale PIC16F887 mikrokontrollerit ja 16 × 2 tähemärgilist LCD -moodulit. Lisaks järgitakse saatjal lihtsat protokolli, millele on lisatud mõned eelproovi baidid. Need baidid on vajalikud, et RX -moodul saaks enne tegeliku koormuse saamist oma võimendust reguleerida. Vastuvõtja poolel vastutab PIC LCD -ekraanil kuvatavate andmete hankimise ja kinnitamise eest.

Samm: saatja modifikatsioonid

Saatja modifikatsioonid
Saatja modifikatsioonid
Saatja modifikatsioonid
Saatja modifikatsioonid
Saatja modifikatsioonid
Saatja modifikatsioonid

Esimeses osas saatis saatja iga paari ms tagant lihtsa stringi, kasutades kaheksat andmebitti, algust ja stopp -bitti kiirusega 1200 bitti sekundis. Kuna edastus oli peaaegu pidev, ei olnud vastuvõtjal probleeme oma võimenduse kohandamisega vastuvõetud andmetele. Teises osas muudetakse püsivara nii, et edastamine toimub iga 2,3 sekundi järel. See saavutatakse, kasutades valvekoera taimeri katkestust (seatud 2,3 s), et äratada mikrokontroller, mis lülitatakse iga edastuse vahel unerežiimi.

Selleks, et vastuvõtjal oleks aega oma võimendust peenhäälestada, saadetakse enne tegelikke andmeid mõni preambula bait lühikese LO ajaga "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)". Kasulikku koormust tähistab algus- ja & bait ning lõpetav bait*.

Seetõttu kirjeldatakse lihtsat protokolli järgmiselt:

(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) ja tere InstWorld!*

Lisaks lisatakse raadiosagedusmooduli V+ ja GND vahele 10uF lahtiühendatav tantaalkondensaator, et vabaneda DC-DC suurendusmooduli põhjustatud lainest.

Baudikiirus jäi samaks, kuid minu testid näitasid, et ka 2400 baudi korral oli edastus tõhus.

2. samm: vastuvõtja muudatused: PIC16F887 ja HD44780 LCD lisamine

Vastuvõtja muudatused: PIC16F887 ja HD44780 LCD lisamine
Vastuvõtja muudatused: PIC16F887 ja HD44780 LCD lisamine
Vastuvõtja muudatused: PIC16F887 ja HD44780 LCD lisamine
Vastuvõtja muudatused: PIC16F887 ja HD44780 LCD lisamine
Vastuvõtja muudatused: PIC16F887 ja HD44780 LCD lisamine
Vastuvõtja muudatused: PIC16F887 ja HD44780 LCD lisamine

Vastuvõtja disain põhines PIC16F887 -l, kuid saate väikeste muudatustega kasutada erinevat PIC -i. Oma projektis kasutasin seda 40 -pin µC, kuna vajan selle disaini põhjal tulevaste projektide jaoks täiendavaid tihvte. RF-mooduli väljund on ühendatud UART rx-tihvtiga, samas kui 16x2 märgi LCD (HD44780) on ühendatud vastuvõetud andmete kuvamiseks PORTB-tihvtide b2-b7 kaudu.

Nagu 1. osas, kuvatakse saadud andmed ka RealTermis. See saavutatakse UART tx -tihvti abil, mis on ühendatud arvutiga USB -UART TTL -kaabli adapteri kaudu.

Püsivara uurides kontrollib programm UART -katkestuse korral, kas saadud bait on algusbait ('&'). Kui jah, alustab see järgmiste baitide salvestamist, kuni peatub bait („*”). Niipea kui kogu lause on saadud ja kui see vastab eelnevalt kirjeldatud lihtsale protokollile, saadetakse see seejärel LCD -ekraanile ja ka UART tx -porti.

Enne algusbaidi vastuvõtmist on vastuvõtja eelmiste preambula baitide abil juba võimendust reguleerinud. Need on vastuvõtja tõrgeteta töö jaoks kriitilised. Kontrollitakse lihtsat ületamist ja kadreerimisviga, kuid see on vaid põhiline UART -i tõrke käsitlemise rakendus.

Riistvara osas on vastuvõtja jaoks vaja mõningaid osi:

1 x PIC16F887

1 x HD44780

1 x RF Rx moodul 433Mhz

1 x 10 μF tantaalkondensaator (lahtiühendamine)

1 x 10 K trimmer (LCD fondi heledus)

1 x 220 Ω 1/4 W takisti (LCD taustvalgus)

1 x 1 KΩ 1/4 W

1 x antenn 433Mhz, 3dbi

Praktikas töötas vastuvõetud erakordselt hästi vahemikus kuni 20 meetrit seintest.

Samm: mõned viited…

Lisaks ametlikule Microschipi veebisaidile on veebis palju ajaveebe, mis annavad näpunäiteid PIC programmeerimise ja tõrkeotsingu kohta. Leidsin järgmist väga kasulikuks:

www.romanblack.com/

0xee.net/

www.ibrahimlabs.com/

picforum.ric323.com/

4. samm: järeldused ja tulevane töö

Loodan, et see juhend aitas teil mõista RF -moodulite ja Pic -mikrokontrollerite kasutamist. Saate oma püsivara oma vajadustele kohandada ning lisada CRC ja krüptimise. Kui soovite oma disaini veelgi keerukamaks muuta, võite kasutada Microschipi Keeloq-tehnoloogiat. Kui teie rakendus vajab kahesuunalisi andmeid, peab teil mõlemas mikrokontrolleris olema paar TX/RX-d või saate kasutada keerukamat transiiverit. moodulid. Selliseid odavaid 433MHz mooduleid kasutades on aga võimalik saavutada vaid pooldupleksne side. Lisaks sellele peaks suhtluse usaldusväärsemaks muutmiseks olema TX ja RX vahel mingisugune käepigistus.

Järgmisel juhendil näitan teile praktilist rakendust, kus saatjale on lisatud temperatuuri, õhurõhu ja niiskusega keskkonnaandur. Siin sisaldavad edastatavad andmed crc ja neil on põhiline krüptimine.

Andur kasutab PIC12F1822 i2c -porti, samas kui nii saatja kui ka vastuvõtja rakendused kuvatakse skeemide ja PCB -failide kaudu. Täname, et lugesite mind!

Soovitan: