Sisällysluettelo:

Langaton tiedonsiirto käyttämällä halpoja 433 MHz: n RF -moduuleja ja Pic -mikro -ohjaimia. Osa 2: 4 vaihetta (kuvilla)
Langaton tiedonsiirto käyttämällä halpoja 433 MHz: n RF -moduuleja ja Pic -mikro -ohjaimia. Osa 2: 4 vaihetta (kuvilla)

Video: Langaton tiedonsiirto käyttämällä halpoja 433 MHz: n RF -moduuleja ja Pic -mikro -ohjaimia. Osa 2: 4 vaihetta (kuvilla)

Video: Langaton tiedonsiirto käyttämällä halpoja 433 MHz: n RF -moduuleja ja Pic -mikro -ohjaimia. Osa 2: 4 vaihetta (kuvilla)
Video: Высокая плотность 2022 2024, Heinäkuu
Anonim
Langaton tiedonsiirto käyttämällä halpoja 433 MHz: n RF -moduuleja ja Pic -mikro -ohjaimia. Osa 2
Langaton tiedonsiirto käyttämällä halpoja 433 MHz: n RF -moduuleja ja Pic -mikro -ohjaimia. Osa 2

Tämän ohjeen ensimmäisessä osassa esittelin kuinka ohjelmoida PIC12F1822 MPLAB IDE- ja XC8 -kääntäjällä, lähettää yksinkertainen merkkijono langattomasti käyttämällä halpoja TX/RX 433MHz -moduuleja.

Vastaanotinmoduuli liitettiin USB: n kautta UART TTL -kaapelisovittimeen tietokoneeseen, ja vastaanotetut tiedot näytettiin RealTermissä. Tiedonsiirto suoritettiin 1200 baudilla ja suurin saavutettu kantama oli noin 20 metriä seinien läpi. Testit osoittivat, että sovellukset, joissa ei tarvita suurta tiedonsiirtonopeutta ja pitkää kantamaa, sekä jatkuva lähetys, nämä moduulit toimivat poikkeuksellisen hyvin.

Tämän projektin toinen osa osoittaa, kuinka PIC16F887 -mikrokontrolleri ja 16 × 2 merkin LCD -moduuli lisätään vastaanottimeen. Lisäksi lähettimessä noudatetaan yksinkertaista protokollaa, johon on lisätty muutama esimerkkitavu. Nämä tavut ovat välttämättömiä, jotta RX -moduuli voi säätää vahvistustaan ennen todellisen hyötykuorman saamista. Vastaanottimen puolella PIC on vastuussa nestekidenäytössä näkyvien tietojen vastaanottamisesta ja vahvistamisesta.

Vaihe 1: Lähettimen muutokset

Lähettimen muutokset
Lähettimen muutokset
Lähettimen muutokset
Lähettimen muutokset
Lähettimen muutokset
Lähettimen muutokset

Ensimmäisessä osassa lähetin lähetti yksinkertaisen merkkijonon muutaman ms välein käyttäen kahdeksaa databittiä, alku- ja pysäytysbittiä nopeudella 1200 bittiä sekunnissa. Koska lähetys oli lähes jatkuvaa, vastaanottimella ei ollut vaikeuksia säätää vahvistustaan vastaanotettuun dataan. Toisessa osassa laiteohjelmistoa muutetaan niin, että lähetys suoritetaan 2,3 sekunnin välein. Tämä saavutetaan käyttämällä vahtikoiran ajastimen keskeytystä (asetettu arvoon 2,3 s) herättämään mikro -ohjain, joka asetetaan lepotilaan jokaisen lähetyksen välillä.

Jotta vastaanottimella olisi aikaa hienosäätää vahvistustaan, muutama johdanto tavu, joilla on lyhyet LO-ajat "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)" lähetetään ennen varsinaista dataa. Hyötykuorma osoitetaan sitten alku- ja & -tauolla sekä pysäytys** -tavulla.

Siksi yksinkertainen protokolla kuvataan seuraavasti:

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

Lisäksi 10uF: n irrotettava tantaalikondensaattori lisätään RF-moduulin V+: n ja GND: n väliin eroon DC-DC-lisämoduulin aiheuttamasta aaltoilusta.

Baudinopeus pysyi samana, mutta testit osoittivat, että myös 2400 baudin lähetys oli tehokas.

Vaihe 2: Vastaanottimen muutokset: PIC16F887- ja HD44780 -nestekidenäytön lisääminen

Vastaanottimen muutokset: PIC16F887- ja HD44780 -nestekidenäytön lisääminen
Vastaanottimen muutokset: PIC16F887- ja HD44780 -nestekidenäytön lisääminen
Vastaanottimen muutokset: PIC16F887- ja HD44780 -nestekidenäytön lisääminen
Vastaanottimen muutokset: PIC16F887- ja HD44780 -nestekidenäytön lisääminen
Vastaanottimen muutokset: PIC16F887- ja HD44780 -nestekidenäytön lisääminen
Vastaanottimen muutokset: PIC16F887- ja HD44780 -nestekidenäytön lisääminen

Vastaanottimen suunnittelu perustui PIC16F887: een, mutta voit käyttää erilaista PIC: tä pienillä muutoksilla. RF-moduulin lähtö on kytketty UART rx -tappiin, kun taas 16x2 merkin LCD (HD44780) on kytketty PORTB-nastojen b2-b7 kautta vastaanotetun datan näyttämiseksi.

Kuten osassa 1, myös vastaanotetut tiedot näytetään RealTermissä. Tämä saavutetaan käyttämällä UART tx -tappia, joka on kytketty tietokoneeseen USB -UART TTL -kaapelisovittimen kautta.

Kun laiteohjelmistoa tarkastellaan, kun UART -keskeytys tapahtuu, ohjelma tarkistaa, onko vastaanotettu tavu alkutavu ('&'). Jos kyllä, se alkaa tallentaa seuraavia tavuja, kunnes pysäytys tavu on kiinni ('*'). Heti kun koko lause on saatu ja jos se on edellä kuvatun yksinkertaisen protokollan mukainen, se lähetetään sitten lcd -näyttöön sekä UART -tx -porttiin.

Ennen aloitus tavun vastaanottamista vastaanotin on jo säätänyt vahvistustaan edellisen johdanto -tavun avulla. Nämä ovat kriittisiä vastaanottimen moitteettoman toiminnan kannalta. Yksinkertainen ylitys- ja kehystysvirheen tarkistus suoritetaan, mutta tämä on vain perus UART -virheenkäsittely.

Laitteiston osalta vastaanottimeen tarvitaan muutama osa:

1 x PIC16F887

1 x HD44780

1 x RF Rx -moduuli 433Mhz

1 x 10 μF tantaalikondensaattori (irrotus)

1 x 10 K trimmeri (nestekidenäytön kirkkaus)

1 x 220 Ω 1/4 W vastus (LCD -taustavalo)

1 x 1 KΩ 1/4 W

1 x antenni 433Mhz, 3dbi

Käytännössä vastaanotettu toimi poikkeuksellisen hyvin jopa 20 metrin etäisyyksillä seinien läpi.

Vaihe 3: Muutamia viitteitä…

Internetissä on monia blogeja, jotka antavat vinkkejä PIC -ohjelmointiin ja vianetsintään virallisen Microschip -verkkosivuston lisäksi. Pidin seuraavista erittäin hyödyllisinä:

www.romanblack.com/

0xee.net/

www.ibrahimlabs.com/

picforum.ric323.com/

Vaihe 4: Johtopäätökset ja tuleva työ

Toivon, että tämä ohje auttoi sinua ymmärtämään RF -moduulien ja Pic -mikro -ohjaimien käytön. Voit säätää laiteohjelmiston omiin tarpeisiisi ja sisällyttää CRC: n ja salauksen. Jos haluat tehdä suunnittelustasi entistä hienostuneemman, voit käyttää Microschipin Keeloq-tekniikkaa. moduulit. Kuitenkin käyttämällä tällaisia halpoja 433 MHz: n moduuleja voidaan saavuttaa vain puolisuuntainen tiedonsiirto. Lisäksi viestinnän luotettavuuden lisäämiseksi sinun on oltava jonkinlainen kädenpuristus TX: n ja RX: n välillä.

Seuraavassa ohjeessa näytän sinulle käytännön sovelluksen, jossa lähettimeen on lisätty lämpötila -anturi, jossa on lämpötila, ilmanpaine ja kosteus. Tässä lähetetyt tiedot sisältävät crc: n ja niillä on perussalaus.

Anturi käyttää PIC12F1822: n i2c -porttia, kun taas sekä lähettimen että vastaanottimen toteutus paljastuu kaavioiden ja piirilevytiedostojen avulla. Kiitos lukemastani!

Suositeltava: