Բովանդակություն:

Անլար հաղորդակցություն ՝ օգտագործելով էժան 433 ՄՀց ՌԴ մոդուլներ և Pic միկրոկոնտրոլերներ: Մաս 2: 4 քայլ (նկարներով)
Անլար հաղորդակցություն ՝ օգտագործելով էժան 433 ՄՀց ՌԴ մոդուլներ և Pic միկրոկոնտրոլերներ: Մաս 2: 4 քայլ (նկարներով)

Video: Անլար հաղորդակցություն ՝ օգտագործելով էժան 433 ՄՀց ՌԴ մոդուլներ և Pic միկրոկոնտրոլերներ: Մաս 2: 4 քայլ (նկարներով)

Video: Անլար հաղորդակցություն ՝ օգտագործելով էժան 433 ՄՀց ՌԴ մոդուլներ և Pic միկրոկոնտրոլերներ: Մաս 2: 4 քայլ (նկարներով)
Video: Բջջային հեռախոսների երեք գաղտնիք, որոնց մասին շատերը չգիտեն 2024, Նոյեմբեր
Anonim
Անլար հաղորդակցություն ՝ օգտագործելով էժան 433 ՄՀց ՌԴ մոդուլներ և Pic միկրոկոնտրոլերներ: Մաս 2
Անլար հաղորդակցություն ՝ օգտագործելով էժան 433 ՄՀց ՌԴ մոդուլներ և Pic միկրոկոնտրոլերներ: Մաս 2

Այս հրահանգի առաջին մասում ես ցույց տվեցի, թե ինչպես ծրագրավորել PIC12F1822- ը ՝ օգտագործելով MPLAB IDE և XC8 կոմպիլյատոր, մի պարզ տող անլար ուղարկելու համար ՝ օգտագործելով էժան TX/RX 433MHz մոդուլներ:

Ստացողի մոդուլը միացված էր USB- ին UART TTL մալուխային ադապտեր համակարգչին, իսկ ստացված տվյալները ցուցադրվում էին RealTerm- ում: Հաղորդակցությունը կատարվել է 1200 բաուդ արագությամբ, իսկ առավելագույն հասած տարածությունը `պատերի միջով մոտ 20 մետր: Իմ թեստերը ցույց տվեցին, որ այն ծրագրերի համար, որտեղ տվյալների բարձր արագության և երկար հեռավորության կարիք չկա, և շարունակական փոխանցման համար, այս մոդուլները գործում էին բացառապես լավ:

Այս նախագծի երկրորդ մասը ցույց է տալիս, թե ինչպես ավելացնել ստացողի վրա PIC16F887 միկրոկոնտրոլերը և 16 × 2 նիշանոց LCD մոդուլը: Ավելին, հաղորդիչի վրա կատարվում է պարզ արձանագրություն `մի քանի նախնական բայթերի ավելացումով: Այս բայթերն անհրաժեշտ են, որպեսզի RX մոդուլը կարգավորի իր շահույթը ՝ նախքան բեռնվածությունը ստանալը: Ստացողի կողմից PIC- ը պատասխանատու է LCD էկրանին ցուցադրվող տվյալների ստացման և վավերացման համար:

Քայլ 1: Հաղորդիչի փոփոխություններ

Հաղորդիչի փոփոխություններ
Հաղորդիչի փոփոխություններ
Հաղորդիչի փոփոխություններ
Հաղորդիչի փոփոխություններ
Հաղորդիչի փոփոխություններ
Հաղորդիչի փոփոխություններ

Առաջին մասում հաղորդիչը մի քանի ms- ի համար ուղարկում էր մի պարզ տող `օգտագործելով ութ տվյալների բիթ, սկիզբ և կանգառի բիթ` վայրկյանում 1200 բիթ արագությամբ: Քանի որ փոխանցումը գրեթե շարունակական էր, ստացողը դժվարություն չուներ իր շահույթը կարգավորելու ստացված տվյալներին: Երկրորդ մասում որոնվածը փոփոխվում է այնպես, որ փոխանցումը կատարվում է յուրաքանչյուր 2.3 վայրկյանում: Դա ձեռք է բերվում դիտորդի ժամաչափի ընդհատման միջոցով (սահմանել 2.3 վրկ) `միկրոկոնտրոլերն արթնացնելու համար, որը յուրաքանչյուր հաղորդման միջև դրվում է քնի ռեժիմում:

Որպեսզի ստացողը ժամանակ ունենա իր եկամուտը ճշգրտորեն ճշգրտելու համար, մի քանի նախաբայթ բայթ կարճ LO ժամանակով "(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa)" ուղարկվում են իրական տվյալներից առաջ: Payանրաբեռնվածությունն այնուհետև նշվում է սկզբնական «&» և «*» բայթերով:

Այսպիսով, պարզ արձանագրությունը նկարագրվում է հետևյալ կերպ.

(0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xf8) (0Xfa) & Բարև InstWorld!*

Ավելին, 10uF տարանջատող տանտալ կոնդենսատորը ավելացվում է ՌԴ մոդուլի V+-ի և GND- ի միջև `dc-dc step up մոդուլից առաջացած ալիքից ազատվելու համար:

Բաուդի արագությունը մնաց անփոփոխ, սակայն իմ թեստերը ցույց տվեցին, որ 2400 բաուդ արագությամբ փոխանցման տուփը նույնպես արդյունավետ էր:

Քայլ 2. Ստացողի փոփոխություններ. Ավելացնելով PIC16F887 և HD44780 LCD

Ստացողի փոփոխություններ. Ավելացնելով PIC16F887 և HD44780 LCD
Ստացողի փոփոխություններ. Ավելացնելով PIC16F887 և HD44780 LCD
Ստացողի փոփոխություններ. Ավելացնելով PIC16F887 և HD44780 LCD
Ստացողի փոփոխություններ. Ավելացնելով PIC16F887 և HD44780 LCD
Ստացողի փոփոխություններ. Ավելացնելով PIC16F887 և HD44780 LCD
Ստացողի փոփոխություններ. Ավելացնելով PIC16F887 և HD44780 LCD

Ստացողի դիզայնը հիմնված էր PIC16F887- ի վրա, բայց դուք կարող եք օգտագործել այլ PIC ՝ փոքր փոփոխություններով: Իմ նախագծում ես օգտագործեցի այս 40 pin pin μC- ն, քանի որ այս դիզայնի վրա հիմնված ապագա նախագծերի համար ինձ կպահանջվեն լրացուցիչ կապիչներ: ՌԴ մոդուլի ելքը միացված է UART rx քորոցին, մինչդեռ 16x2 նիշ LCD (HD44780) միացված է PORTB կապումներով b2-b7 ստացված տվյալները ցուցադրելու համար:

Ինչպես 1 -ին մասի դեպքում, ստացված տվյալները նույնպես ցուցադրվում են RealTerm- ում: Դա ձեռք է բերվում UART tx կապի միջոցով, որը միացված է USB- ին UART TTL մալուխային ադապտեր համակարգչին:

Նայելով որոնվածը, երբ UART- ի ընդհատում է տեղի ունենում, ծրագիրը ստուգում է, արդյոք ստացված բայթը սկզբնական բայթ է ('&'): Եթե այո, ապա այն սկսում է գրանցել հաջորդ բայթերը, մինչև որևէ բայթ չբռնվի ('*'): Ամբողջ նախադասությունը ձեռք բերելուն պես, և եթե այն համապատասխանում է նախկինում նկարագրված պարզ արձանագրությանը, ապա այն ուղարկվում է LCD էկրանին, ինչպես նաև UART tx նավահանգստին:

Նախքան սկզբնական բայթ ստանալը, ստացողն արդեն ճշգրտել է իր շահույթը `օգտագործելով նախորդ նախաբայլի բայթերը: Դրանք չափազանց կարևոր են ստացողի անխափան աշխատանքի համար: Կատարվում է պարզ գերանցման և շրջանակման սխալի ստուգում, սակայն սա միայն UART- ի սխալի կառավարման հիմնական իրականացում է:

Սարքավորման առումով ստացողի համար անհրաժեշտ են մի քանի մասեր.

1 x PIC16F887

1 x HD44780

1 x ՌԴ Rx մոդուլ 433 ՄՀց

1 x 10 μF տանտալ կոնդենսատոր (անջատում)

1 x 10 K հարմարվողական (LCD տառատեսակի պայծառություն)

1 x 220 Ω 1/4 Վտ դիմադրություն (LCD լուսավորություն)

1 x 1 KΩ 1/4 Վտ

1 x Անտենա 433 ՄՀց, 3 դբի

Գործնականում ստացվածը բացառապես լավ էր աշխատում մինչև 20 մետր տարածքով պատերով:

Քայլ 3: Մի քանի հղումներ…

Համացանցում կան բազմաթիվ բլոգեր, որոնք խորհուրդներ են տալիս PIC ծրագրավորման և խնդիրների լուծման վերաբերյալ, բացի Microschip- ի պաշտոնական կայքից: Ես գտա հետևյալը շատ օգտակար.

www.romanblack.com/

0xee.net/

www.ibrahimlabs.com/

picforum.ric323.com/

Քայլ 4. Եզրակացություններ և ապագա աշխատանք

Հուսով եմ, որ այս խրատը կօգնի ձեզ հասկանալ, թե ինչպես օգտագործել ՌԴ մոդուլները և Pic միկրոկոնտրոլերները: Դուք կարող եք ձեր որոնվածը հարմարեցնել ձեր սեփական կարիքներին և ներառել CRC և ծածկագրում: Եթե ցանկանում եք ձեր դիզայնը դարձնել ավելի բարդ, կարող եք օգտագործել Microschip- ի Keeloq տեխնոլոգիան: Եթե ձեր ծրագրին անհրաժեշտ են երկկողմանի տվյալներ, ապա ձեզ հարկավոր է ունենալ մի զույգ TX/RX երկու միկրոկոնտրոլերներում կամ կարող եք օգտագործել ավելի բարդ հաղորդիչ մոդուլներ: Այնուամենայնիվ, օգտագործելով այս տեսակի էժան 433 ՄՀց մոդուլներ, կարող է իրականացվել միայն կես դուպլեքս հաղորդակցություն: Բացի այդ, հաղորդակցությունն ավելի հուսալի դարձնելու համար հարկավոր է ձեռքսեղմման ինչ -որ ձև ունենալ TX- ի և RX- ի միջև:

Հաջորդ հրահանգի ընթացքում ես ձեզ ցույց կտամ գործնական ծրագիր, որտեղ հաղորդիչի վրա ավելացվում է ջերմաստիճանի, բարոմետրիկ ճնշման և խոնավության բնապահպանական տվիչ: Այստեղ փոխանցվող տվյալները կներառեն crc և կունենան հիմնական ծածկագրում:

Սենսորը կօգտագործի PIC12F1822- ի i2c նավահանգիստը, մինչդեռ հաղորդիչի և ընդունիչի իրականացումը կցուցադրվի սխեմատիկ և pcb ֆայլերի միջոցով: Շնորհակալություն ինձ կարդալու համար:

Խորհուրդ ենք տալիս: