Talaan ng mga Nilalaman:

Wireless na Komunikasyon Gamit ang Murang 433MHz RF Modules at Pic Microcontrollers. Bahagi 2: 4 Mga Hakbang (na may Mga Larawan)
Wireless na Komunikasyon Gamit ang Murang 433MHz RF Modules at Pic Microcontrollers. Bahagi 2: 4 Mga Hakbang (na may Mga Larawan)

Video: Wireless na Komunikasyon Gamit ang Murang 433MHz RF Modules at Pic Microcontrollers. Bahagi 2: 4 Mga Hakbang (na may Mga Larawan)

Video: Wireless na Komunikasyon Gamit ang Murang 433MHz RF Modules at Pic Microcontrollers. Bahagi 2: 4 Mga Hakbang (na may Mga Larawan)
Video: MGA IBA'T IBANG URI O KULAY NG REGLA NA DAPAT MONG MALAMAN#menstration#mgaiba't-ibangkulayngmens 2024, Hulyo
Anonim
Wireless na Komunikasyon Gamit ang Murang 433MHz RF Modules at Pic Microcontrollers. Bahagi 2
Wireless na Komunikasyon Gamit ang Murang 433MHz RF Modules at Pic Microcontrollers. Bahagi 2

Sa unang bahagi ng itinuturo na ito, ipinakita ko kung paano magprogram ng isang PIC12F1822 gamit ang MPLAB IDE at XC8 compiler, upang magpadala ng isang simpleng string nang wireless gamit ang murang mga module ng TX / RX 433MHz.

Ang module ng tatanggap ay nakakonekta sa pamamagitan ng isang USB sa UART TTL cable adapter sa isang PC, at ang natanggap na data ay ipinakita sa RealTerm. Ang komunikasyon ay ginanap sa 1200 baud at ang maximum na saklaw na nakamit ay tungkol sa 20 metro sa pamamagitan ng mga pader. Ipinakita ng aking mga pagsubok na para sa mga application kung saan hindi na kailangan ang mataas na rate ng data at mahabang saklaw, at para sa tuluy-tuloy na paghahatid, ang mga modyul na ito ay mahusay na gumanap.

Ang ikalawang bahagi ng proyektong ito ay nagpapakita kung paano magdagdag ng isang PIC16F887 microcontroller at isang 16 × 2 character LCD module sa tatanggap. Bukod dito, sa transmiter, isang simpleng protocol ang sinusundan kasama ang pagdaragdag ng ilang mga preample byte. Ang mga byte na ito ay kinakailangan para sa module ng RX upang ayusin ang nakuha nito bago makuha ang aktwal na kargamento. Sa panig ng tatanggap, responsable ang PIC na makuha at patunayan ang data na ipinapakita sa LCD screen.

Hakbang 1: Mga Pagbabago ng Transmitter

Mga Pagbabago ng Transmitter
Mga Pagbabago ng Transmitter
Mga Pagbabago ng Transmitter
Mga Pagbabago ng Transmitter
Mga Pagbabago ng Transmitter
Mga Pagbabago ng Transmitter

Sa unang bahagi, ang nagpapadala ay nagpapadala ng isang simpleng string bawat ilang ms gamit ang walong data bits, isang pagsisimula, at isang stop bit na 1200 bits bawat segundo. Tulad ng paghahatid ay halos tuluy-tuloy, ang tatanggap ay walang problema sa pag-aayos ng nakuha nito sa natanggap na data. Sa pangalawang bahagi, ang firmware ay nabago upang ang paghahatid ay ginaganap tuwing 2.3 segundo. Nakamit ito sa pamamagitan ng paggambala ng timer ng monitor ng relo (nakatakda sa 2.3s) upang gisingin ang microcontroller, na inilalagay sa mode ng pagtulog sa pagitan ng bawat paghahatid.

Upang ang tagatanggap ay magkaroon ng oras upang pag-ayusin ang pagkamit nito, ang ilang paunang paunang byte na may maikling LO beses "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)" ay ipinapadala bago ang aktwal na data. Pagkatapos ang payload ay ipinahiwatig ng isang pagsisimula ng '&' at isang paghinto ng '*' byte.

Samakatuwid, ang simpleng protocol ay inilarawan tulad ng sumusunod:

(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) & Hello InstWorld! *

Bukod dito, isang 10uF decoupling tantalum capacitor ay idinagdag sa pagitan ng RF module ng V + at GND upang mapupuksa ang ripple na dulot ng dc-dc step up module.

Ang rate ng baud ay nanatiling pareho, ngunit ang aking mga pagsubok ay nagpakita na sa 2400 baud din, ang paghahatid ay mahusay.

Hakbang 2: Mga Pagbabago ng Tatanggap: Pagdaragdag ng PIC16F887 at HD44780 LCD

Mga Pagbabago ng Tatanggap: Pagdaragdag ng PIC16F887 at HD44780 LCD
Mga Pagbabago ng Tatanggap: Pagdaragdag ng PIC16F887 at HD44780 LCD
Mga Pagbabago ng Tatanggap: Pagdaragdag ng PIC16F887 at HD44780 LCD
Mga Pagbabago ng Tatanggap: Pagdaragdag ng PIC16F887 at HD44780 LCD
Mga Pagbabago ng Tatanggap: Pagdaragdag ng PIC16F887 at HD44780 LCD
Mga Pagbabago ng Tatanggap: Pagdaragdag ng PIC16F887 at HD44780 LCD

Ang disenyo ng tatanggap ay batay sa PIC16F887, ngunit maaari kang gumamit ng ibang PIC na may kaunting pagbabago. Sa aking proyekto ginamit ko ang 40 pin μC na ito, dahil kakailanganin ko ng dagdag na mga pin para sa mga proyekto sa hinaharap batay sa disenyo na ito. Ang output ng module ng RF ay konektado sa UART rx pin, samantalang ang isang 16x2 character lcd (HD44780) ay konektado sa pamamagitan ng PORTB pin b2-b7 upang maipakita ang natanggap na data.

Tulad ng Bahagi 1, ang natanggap na data ay ipinapakita din sa RealTerm. Nakamit ito gamit ang UART tx pin na konektado sa pamamagitan ng isang USB sa UART TTL cable adapter sa isang PC.

Sa pagtingin sa firmware, kapag naganap ang isang pagkagambala ng UART, susuriin ng programa kung ang natanggap na byte ay isang byte ng pagsisimula ('&'). Kung oo, nagsisimula itong mag-record ng mga kasunod na byte, hanggang sa mahuli ang isang stop byte ('*'). Sa sandaling makuha ang buong pangungusap, at kung sumasang-ayon ito sa simpleng protocol na inilarawan dati, ipinadala ito sa lcd screen, pati na rin sa UART tx port.

Bago matanggap ang byte ng pagsisimula, naayos na ng tatanggap ang nakuha nito gamit ang naunang mga paunang byte. Ito ay kritikal para sa maayos na pagpapatakbo ng tatanggap. Ginagawa ang isang simpleng overrun at framing error check, subalit ito ay isang pangunahing pagpapatupad lamang ng paghawak ng error sa UART.

Sa mga tuntunin ng hardware, ilang bahagi ang kinakailangan para sa tatanggap:

1 x PIC16F887

1 x HD44780

1 x RF Rx module 433Mhz

1 x 10 μF tantalum capacitor (decoupling)

1 x 10 K trimmer (Liwanag ng font ng LCD)

1 x 220 Ω 1/4 W risistor (LCD backlight)

1 x 1 KΩ 1/4 W

1 x Antenna 433Mhz, 3dbi

Sa pagsasagawa, ang natanggap ay nagtrabaho ng iba sa mga saklaw ng hanggang sa 20 metro kahit na ang mga dingding.

Hakbang 3: Ilang mga Sanggunian …

Maraming mga blog sa web ang nagbibigay ng mga tip sa PIC program at pag-troubleshoot bukod sa opisyal na website ng Microschip. Natagpuan ko ang sumusunod na napaka kapaki-pakinabang:

www.romanblack.com/

0xee.net/

www.ibrahimlabs.com/

picforum.ric323.com/

Hakbang 4: Mga Konklusyon at Trabaho sa Hinaharap

Inaasahan kong nakatulong ang itinuturo na ito sa iyo na maunawaan kung paano gamitin ang mga RF module at Pic microcontrollers. Maaari mong ayusin ang iyong firmware sa iyong sariling mga pangangailangan at isama ang CRC at pag-encrypt. Kung nais mong gawing mas sopistikado ang iyong disenyo, maaari mong gamitin ang teknolohiyang Keeloq ng Microschip. Kung sakaling ang iyong aplikasyon ay nangangailangan ng bi-directional data, kakailanganin mong magkaroon ng isang pares ng TX / RX sa parehong mga microcontroller, o maaari kang gumamit ng mas sopistikadong transceiver mga modyul Gayunpaman, gamit ang ganitong uri ng murang mga module ng 433MHz, kalahating duplex na komunikasyon lamang ang maaaring magawa. Dagdag dito, upang mas mapagkakatiwalaan ang komunikasyon kakailanganin mong magkaroon ng ilang uri ng pakikipagkamay sa pagitan ng TX at RX.

Sa susunod na maituturo, ipapakita ko sa iyo ang isang praktikal na application kung saan ang isang sensor ng kapaligiran na may temperatura, presyon ng barometric at halumigmig ay idinagdag sa transmiter. Dito, isasama sa naihatid na data ang crc at magkakaroon ng pangunahing pag-encrypt.

Gagamitin ng sensor ang i2c port ng PIC12F1822, samantalang ang pagpapatupad ng parehong transmitter at receiver ay mailantad sa pamamagitan ng mga eskematiko at pcb file. Salamat sa pagbabasa sa akin!

Inirerekumendang: