Mündəricat:

Ucuz 433MHz RF Modullarından və Pic Mikrokontrolörlərindən istifadə edərək Simsiz Rabitə. 2 -ci hissə: 4 addım (şəkillərlə)
Ucuz 433MHz RF Modullarından və Pic Mikrokontrolörlərindən istifadə edərək Simsiz Rabitə. 2 -ci hissə: 4 addım (şəkillərlə)

Video: Ucuz 433MHz RF Modullarından və Pic Mikrokontrolörlərindən istifadə edərək Simsiz Rabitə. 2 -ci hissə: 4 addım (şəkillərlə)

Video: Ucuz 433MHz RF Modullarından və Pic Mikrokontrolörlərindən istifadə edərək Simsiz Rabitə. 2 -ci hissə: 4 addım (şəkillərlə)
Video: SONOFF "ZigBee" Ev Otomasyon Sistemi İncelemesi ( kanala özel %15 Sonoff indirimi ) 2024, Noyabr
Anonim
Ucuz 433MHz RF Modullarından və Pic Mikrokontrolörlərindən istifadə edərək Simsiz Rabitə. 2 -ci hissə
Ucuz 433MHz RF Modullarından və Pic Mikrokontrolörlərindən istifadə edərək Simsiz Rabitə. 2 -ci hissə

Bu təlimatın birinci hissəsində, ucuz TX/RX 433MHz modullarından istifadə edərək sadə bir simli simsiz göndərmək üçün MPLAB IDE və XC8 kompilyatorundan istifadə edərək PIC12F1822 -ni necə proqramlaşdırmağı nümayiş etdirdim.

Alıcı modulu USB vasitəsilə UART TTL kabel adapterinə bir PC ilə bağlandı və alınan məlumatlar RealTerm -də göstərildi. Rabitə 1200 baudda həyata keçirildi və əldə edilən maksimum məsafə divarlar arasından təxminən 20 metr idi. Testlərim göstərdi ki, yüksək məlumat sürətinə və uzun məsafəyə ehtiyac duyulmayan tətbiqlər üçün və davamlı ötürmə üçün bu modullar olduqca yaxşı işləyir.

Bu layihənin ikinci hissəsi alıcıya bir PIC16F887 mikrokontrolörünün və 16 × 2 xarakterli LCD modulunun necə əlavə olunacağını göstərir. Üstəlik, ötürücüdə bir neçə preample bayt əlavə etməklə sadə bir protokol izlənilir. Bu baytlar, RX modulunun həqiqi yükü almadan əvvəl qazancını tənzimləməsi üçün lazımdır. Alıcı tərəfdə, PIC, LCD ekranda göstərilən məlumatları əldə etmək və təsdiqləməkdən məsuldur.

Addım 1: Verici Modifikasiyası

Verici Dəyişiklikləri
Verici Dəyişiklikləri
Verici Dəyişiklikləri
Verici Dəyişiklikləri
Verici Dəyişiklikləri
Verici Dəyişiklikləri

Birinci hissədə, ötürücü hər bir neçə saniyədə bir səkkiz məlumat biti, başlanğıc və saniyədə 1200 bit sürətlə bit bit istifadə edərək sadə bir sətir göndərirdi. Göndərmə demək olar ki, fasiləsiz olduğu üçün alıcı qazancını alınan məlumatlara uyğunlaşdırmaqda çətinlik çəkmədi. İkinci hissədə, proqram təminatı dəyişdirilir ki, ötürmə hər 2.3 saniyədə bir həyata keçirilsin. Bu, hər ötürmə arasında yuxu rejiminə qoyulan mikro nəzarətçini oyatmaq üçün gözətçi taymeri fasiləsi (2,3 saniyə) istifadə etməklə əldə edilir.

Alıcının qazancını dəqiq tənzimləmək üçün vaxt tapması üçün, qısa LO vaxtları olan bir neçə preambul bayt "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)" faktiki məlumatlardan əvvəl göndərilir. Yük daha sonra başlanğıc '&' və dayanma '*' baytı ilə göstərilir.

Beləliklə, sadə protokol aşağıdakı kimi təsvir olunur:

(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) və Salam InstWorld!*

Bundan əlavə, dc-dc artım modulunun səbəb olduğu dalğalanmadan xilas olmaq üçün RF modulunun V+ və GND arasına 10 uF ayıran tantal kondansatörü əlavə olunur.

Baud dərəcəsi eyni qaldı, amma testlərim 2400 baudda da ötürmənin səmərəli olduğunu göstərdi.

Addım 2: Alıcı Modifikasiyası: PIC16F887 və HD44780 LCD əlavə etmək

Alıcı Dəyişiklikləri: PIC16F887 və HD44780 LCD əlavə olunur
Alıcı Dəyişiklikləri: PIC16F887 və HD44780 LCD əlavə olunur
Alıcı dəyişiklikləri: PIC16F887 və HD44780 LCD əlavə olunur
Alıcı dəyişiklikləri: PIC16F887 və HD44780 LCD əlavə olunur
Alıcı dəyişiklikləri: PIC16F887 və HD44780 LCD əlavə olunur
Alıcı dəyişiklikləri: PIC16F887 və HD44780 LCD əlavə olunur

Alıcının dizaynı PIC16F887 üzərində qurulmuşdu, ancaq kiçik dəyişikliklərlə fərqli bir PIC istifadə edə bilərsiniz. Layihəmdə bu 40 pin μC istifadə etdim, çünki bu dizayn əsasında gələcək layihələr üçün əlavə pinlərə ehtiyacım olacaq. RF modulunun çıxışı UART rx pininə, 16x2 xarakterli lcd (HD44780) alınan məlumatları göstərmək üçün b2-b7 PORTB pinləri vasitəsi ilə bağlanır.

1 -ci hissədə olduğu kimi, alınan məlumatlar da RealTerm -də göstərilir. Bu, USB ilə UART TTL kabel adapterinin kompüterə qoşulduğu UART tx pinindən istifadə etməklə əldə edilir.

Firmware proqramına baxdıqda, bir UART kəsilməsi baş verdikdə, proqram alınan baytın bir başlanğıc bayt ('&') olub olmadığını yoxlayır. Əgər belədirsə, dayanma baytı tutulana qədər sonrakı baytları qeyd etməyə başlayır ('*'). Bütün cümlə alındıqdan sonra və əvvəllər təsvir olunan sadə protokola uyğun gəlirsə, daha sonra lcd ekranına və UART tx portuna göndərilir.

Başlanğıc baytını almadan əvvəl, alıcı artıq əvvəlki müqəddimə baytlarından istifadə edərək qazancını tənzimləmişdir. Bunlar alıcının düzgün işləməsi üçün vacibdir. Sadə bir aşma və çərçivə səhv yoxlaması aparılır, lakin bu, yalnız UART səhv işləmə tətbiqidir.

Donanım baxımından alıcı üçün bir neçə hissəyə ehtiyac var:

1 x PIC16F887

1 x HD44780

1 x RF Rx modulu 433Mhz

1 x 10 μF tantal kondansatör (ayırma)

1 x 10 K kəsici (LCD şrift parlaqlığı)

1 x 220 Ω 1/4 W rezistor (LCD arxa işıq)

1 x 1 KΩ 1/4 W

1 x Antena 433Mhz, 3dbi

Təcrübədə, alınan divarlar, 20 metrə qədər olan divarlarda olduqca yaxşı işləyirdi.

Addım 3: Bir neçə İstinad …

İnternetdə rəsmi Microschip veb saytından başqa PIC proqramlaşdırma və problemlərin həlli ilə bağlı məsləhətlər verən bir çox blog var. Aşağıdakıları çox faydalı gördüm:

www.romanblack.com/

0xee.net/

www.ibrahimlabs.com/

picforum.ric323.com/

Addım 4: Nəticələr və Gələcək İş

Ümid edirəm bu təlimat RF modullarının və Pic mikrokontrolörlərinin necə istifadə olunacağını başa düşməyinizə kömək etdi. Firmware proqramınızı öz ehtiyaclarınıza uyğunlaşdıra və CRC və şifrələmə daxil edə bilərsiniz. Dizaynınızı daha da inkişaf etdirmək istəyirsinizsə, Microschip-in Keeloq texnologiyasından istifadə edə bilərsiniz. Tətbiqiniz iki tərəfli məlumatlara ehtiyac duyarsa, hər iki mikrokontrolördə bir cüt TX/RX-ə sahib olmalısınız və ya daha mürəkkəb alıcı-verici istifadə edə bilərsiniz. modullar. Ancaq bu cür 433MHz ucuz modullardan istifadə edərək, yalnız yarı dupleks rabitə əldə edilə bilər. Əlavə olaraq, ünsiyyəti daha etibarlı etmək üçün TX və RX arasında bir növ əl sıxışmanız lazımdır.

Növbəti təlimatda, vericiyə temperatur, barometrik təzyiq və rütubətlə ətraf mühit sensoru əlavə olunduğu praktik bir tətbiq göstərəcəyəm. Burada ötürülən məlumatlara crc daxil olacaq və əsas şifrələmə olacaq.

Sensor PIC12F1822 -nin i2c portundan istifadə edəcək, halbuki həm ötürücü, həm də qəbuledicinin tətbiqi sxemlər və pcb faylları vasitəsilə ifşa olunacaq. Məni oxuduğunuz üçün təşəkkürlər!

Tövsiyə: