Përmbajtje:

Komunikimi pa tel duke përdorur module të lira 433MHz RF dhe mikrokontrollues Pic. Pjesa 2: 4 hapa (me fotografi)
Komunikimi pa tel duke përdorur module të lira 433MHz RF dhe mikrokontrollues Pic. Pjesa 2: 4 hapa (me fotografi)

Video: Komunikimi pa tel duke përdorur module të lira 433MHz RF dhe mikrokontrollues Pic. Pjesa 2: 4 hapa (me fotografi)

Video: Komunikimi pa tel duke përdorur module të lira 433MHz RF dhe mikrokontrollues Pic. Pjesa 2: 4 hapa (me fotografi)
Video: Как передать электричество по беспроводной сети с помощью реле? 2024, Nëntor
Anonim
Komunikimi pa tel duke përdorur module të lira 433MHz RF dhe mikrokontrollues Pic. Pjesa 2
Komunikimi pa tel duke përdorur module të lira 433MHz RF dhe mikrokontrollues Pic. Pjesa 2

Në pjesën e parë të këtij udhëzimi, unë demonstrova se si të programoj një PIC12F1822 duke përdorur përpiluesin MPLAB IDE dhe XC8, për të dërguar një varg të thjeshtë pa tel duke përdorur module të lira TX/RX 433MHz.

Moduli i marrësit ishte i lidhur me një përshtatës kabllor USB në UART TTL në një kompjuter, dhe të dhënat e marra u shfaqën në RealTerm. Komunikimi u krye në 1200 baud dhe diapazoni maksimal i arritur ishte rreth 20 metra përmes mureve. Testet e mia treguan se për aplikimet ku nuk ka nevojë për shpejtësi të lartë të të dhënave dhe rreze të gjatë, dhe për transmetim të vazhdueshëm, këto module performuan jashtëzakonisht mirë.

Pjesa e dytë e këtij projekti demonstron se si të shtoni një mikrokontrollues PIC16F887 dhe një modul LCD me karakter 16 × 2 në marrës. Për më tepër, në transmetuesin, ndiqet një protokoll i thjeshtë me shtimin e disa bajtëve para -shembullorë. Këto bajt janë të nevojshme që moduli RX të rregullojë fitimin e tij para marrjes së ngarkesës aktuale. Nga ana e marrësit, PIC është përgjegjës për marrjen dhe vërtetimin e të dhënave të cilat shfaqen në ekranin LCD.

Hapi 1: Ndryshimet e transmetuesit

Modifikimet e Transmetuesit
Modifikimet e Transmetuesit
Modifikimet e Transmetuesit
Modifikimet e Transmetuesit
Modifikimet e Transmetuesit
Modifikimet e Transmetuesit

Në pjesën e parë, transmetuesi po dërgonte një varg të thjeshtë çdo disa ms duke përdorur tetë bit të dhënash, një fillim dhe një bit ndalues në 1200 bit në sekondë. Meqenëse transmetimi ishte pothuajse i vazhdueshëm, marrësi nuk kishte probleme të rregullonte fitimin e tij në të dhënat e marra. Në pjesën e dytë, firmware modifikohet në mënyrë që transmetimi të kryhet çdo 2.3 sekonda. Kjo arrihet duke përdorur ndërprerjen e kohëmatësit të vëzhguesit (e vendosur në 2.3s) për të zgjuar mikrokontrolluesin, i cili vihet në modalitetin e gjumit në mes çdo transmetimi.

Në mënyrë që marrësi të ketë kohë për të rregulluar mirë fitimin e tij, disa bajt preambulë me kohë të shkurtër LO "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)" dërgohen para të dhënave aktuale. Ngarkesa e ngarkesës tregohet më pas me një bajt fillestar '&' dhe një ndalesë '*'.

Prandaj, protokolli i thjeshtë përshkruhet si më poshtë:

(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) & Përshëndetje InstWorld!*

Për më tepër, një kondensator tantal shkëputës 10uF shtohet midis V+ dhe GND të modulit RF për të hequr qafe valën e shkaktuar nga moduli i rritjes së dc-dc.

Shkalla e Baud mbeti e njëjtë, megjithatë testet e mia treguan se në 2400 baud gjithashtu, transmetimi ishte efikas.

Hapi 2: Ndryshimet e Marrësit: Shtimi i LCD -ve PIC16F887 dhe HD44780

Modifikimet e Marrësit: Shtimi i PIC16F887 dhe HD44780 LCD
Modifikimet e Marrësit: Shtimi i PIC16F887 dhe HD44780 LCD
Modifikimet e Marrësit: Shtimi i PIC16F887 dhe HD44780 LCD
Modifikimet e Marrësit: Shtimi i PIC16F887 dhe HD44780 LCD
Modifikimet e Marrësit: Shtimi i PIC16F887 dhe HD44780 LCD
Modifikimet e Marrësit: Shtimi i PIC16F887 dhe HD44780 LCD

Dizajni i marrësit u bazua në PIC16F887, por ju mund të përdorni një PIC të ndryshme me pak modifikime. Në projektin tim kam përdorur këtë 40 pin μC, pasi do të më duhen kunja shtesë për projektet e ardhshme bazuar në këtë dizajn. Dalja e modulit RF lidhet me pinin UART rx, ndërsa një LCD 16x2 me karakter (HD44780) lidhet përmes kunjave PORTB b2-b7 për të shfaqur të dhënat e marra.

Ashtu si me Pjesën 1, të dhënat e marra shfaqen gjithashtu në RealTerm. Kjo arrihet duke përdorur pinin UART tx i cili lidhet nëpërmjet një përshtatësi kabllo USB në UART TTL në një PC.

Duke parë firmware -in, kur ndodh një ndërprerje UART, programi kontrollon nëse bajti i marrë është një bajt fillestar ('&'). Nëse po, fillon regjistrimin e bajtëve pasues, derisa kapet një bajt ndalues ('*'). Sapo të merret e gjithë fjalia, dhe nëse përputhet me protokollin e thjeshtë të përshkruar më parë, atëherë dërgohet në ekranin LCD, si dhe në portën UART tx.

Përpara marrjes së bajtit fillestar, marrësi tashmë ka rregulluar fitimin e tij duke përdorur bajtët e mëparshëm të parathënies. Këto janë kritike për funksionimin e qetë të marrësit. Kryhet një kontroll i thjeshtë i tejkalimit dhe gabimit të kornizës, megjithatë ky është vetëm një zbatim themelor i trajtimit të gabimeve UART.

Për sa i përket harduerit, disa pjesë janë të nevojshme për marrësin:

1 x PIC16F887

1 x HD44780

1 x modul RF Rx 433Mhz

Kondensator tantali 1 x 10 μF (shkëputje)

Prerës 1 x 10 K (shkëlqimi i shkronjave LCD)

1 x 220 Ω 1/4 W rezistencë (dritë e pasme LCD)

1 x 1 KΩ 1/4 W

1 x Antenë 433Mhz, 3dbi

Në praktikë, pajisjet e marra punuan jashtëzakonisht mirë në distanca deri në 20 metra përmes mureve.

Hapi 3: Disa referenca…

Ka shumë bloge në internet që japin këshilla për programimin dhe zgjidhjen e problemeve PIC përveç faqes zyrtare të Microschip. Më duken shumë të dobishme sa vijon:

www.romanblack.com/

0xee.net/

www.ibrahimlabs.com/

picforum.ric323.com/

Hapi 4: Përfundimet dhe Puna në të ardhmen

Shpresoj se ky udhëzues ju ndihmoi të kuptoni se si të përdorni modulet RF dhe mikrokontrolluesit Pic. Ju mund ta rregulloni firmware -in tuaj sipas nevojave tuaja dhe të përfshini CRC dhe kriptim. Nëse dëshironi ta bëni dizajnin tuaj edhe më të sofistikuar, mund të përdorni teknologjinë Keeloq të Microschip. Në rast se aplikacioni juaj ka nevojë për të dhëna dydrejtimëshe, do t'ju duhet të keni një palë TX/RX në të dy mikrokontrolluesit, ose mund të përdorni transmetues më të sofistikuar modulet. Sidoqoftë, duke përdorur këtë lloj module të lirë 433MHz, vetëm gjysma e komunikimit dupleks mund të arrihet. Për më tepër, për ta bërë komunikimin më të besueshëm, do t'ju duhet të keni një formë shtrëngimi duarsh midis TX dhe RX.

Në udhëzuesin tjetër, unë do t'ju tregoj një aplikim praktik ku në transmetues shtohet një sensor mjedisor me temperaturë, presion barometrik dhe lagështi. Këtu, të dhënat e transmetuara do të përfshijnë crc dhe do të kenë një kriptim bazë.

Sensori do të përdorë portën i2c të PIC12F1822, ndërsa zbatimi i transmetuesit dhe marrësit do të ekspozohet përmes skemave dhe skedarëve pcb. Faleminderit që më lexuat!

Recommended: