robotics-and-intelligent-systems
פיתוח מכשיר בעל אבטחה בלוטוס עם מיקרו-מושלמים Pic
Table of Contents
מבוא
מיקרו-בקרים PIC מ- Microchip טכנולוגיה נשארים אבן הפינה של עיצוב מערכת משובצ, המציע שילוב של עלות נמוכה, צריכת חשמל נמוכה, ואת מערכת אקולוגית עצומה של כלי פיתוח וידע קהילתי. integrating Bluetooth למכשיר מבוסס PIC מרחיב את התועלת שלה לתוך התחום האלחוטי, המאפשר ניטור מרחוק, בקרה ונתונים ללא מגבלות של חיץ פיזי.
הבנת מיקרובקרים עבור יישומי Bluetooth
מיקרו-בקרים PIC מבוססים על אדריכלות הרווארד שונה, עם תוכניות נפרדות ואוטובוסים זיכרון נתונים. הפופולריות שלהם נובעת ממגוון רחב של מודלים - מ 8-bit PIC10/12/16/18 משפחות ל 16 סיביות ו-32 סיביות - כל אחד מציע שילובים שונים של היקפים, זיכרון וביצועים. עבור תקשורת Bluetooth, הפריפריה הקריטית ביותר היא המקבל הסמינר / טרנסנדקסואל (ART) לעתים קרובות לחלקים חדשים של ארה"ב), כמו EerUS, זיכרון וביצועים חדשים, וביצועים.
בעת בחירת PIC לפרויקט Bluetooth, שקול את הדברים הבאים:
- (FLT:0) זמינות: FLT:1 רוב PICs כוללים לפחות מודול אחד UART. עבור תקשורת מלאה-דופלקס (שלח רב-לשוני ולקבל), המודול חייב לתמוך הן ב- TX והן RX pins. חלק מהמכשירים, כמו PIC16F877A או PICF45, יש אחד או שניים UARTs.
- (FLT:0Clock מהירות ו- baud Rate: FIRLT:1 מודולים Bluetooth פועלים בדרך כלל ב 9600, 19200, 38400, או 115200 baud.the PIC של או חיצוני חייב להיות מדויק מספיק כדי לייצר את התעריפים האלה בתוך סובלנות. מודולים רבים לסבול סטייה ± 2%, אבל 1% או טוב יותר הוא אידיאלי.
- (FLT:0) מתח מופרז ו- I/O סובלנות: ההרחבה 1 (I/Oסובלנות: ⁇ FLT:1) רבים PICs פועלים ב 5 V, בעוד שרוב מודולי Bluetooth משתמשים 3.3 לוגיקה של שינוי רמות או תרגום מתח הוא חובה למנוע נזק.
- (FLT:0) צריכת חשמל: אנדרט 1 (איור 1) אם המכשיר הוא מופעל סוללות, לחפש מצבי שינה בעוצמה נמוכה (למשל, SLEEP, IDLE) ובחירת מודול Bluetooth התומך מצבי שינה עמוקים או תמונה.
- (FLT:0) כלי פיתוח: FLT:1 , MPLAB X IDE ו- XC8/XC16/XC32 מדגמים הם חופשיים ומנוסחים היטב.
Bluetooth תקשורת: Classic לעומת Bluetooth Low Energy (BLE)
טכנולוגיית Bluetooth מחולקת לשתי קטגוריות עיקריות: Bluetooth קלאסית (BR/EDR) ו-Bluetooth Low Energy (BLE) מציעה Bluetooth קלאסי גבוה יותר באמצעות ערכת (עד 2 Mbps) והוא אידיאלי עבור הזרמת אודיו או שליחת חבילות גדולות. BLE, המיועד להעברת נתונים עתירי כוח נמוך, הוא הבחירה המועדפת עבור רשתות חיישן, משואות, ולבושות שבו שיעורי נתונים צנועים אך החיים הם קריטיים.
עבור פרויקטים מבוססי PIC, שתי האפשרויות הן מודולים גמישים קיימא. ... [+] כמו HC-05 ו HC-06 הם זולים וקלים לממשק באמצעות מודולים אפשריים כגון HM-10, RN4871, או BT121 לספק את אותו גשר UART-to-BLE, אך במודולים מתקדמים יותר (למשל, מיקרוצ'יפ עצמו RNRN) כדי לשלב מחסנים מותאם אישית או מחסנים.
בחירת ה- Bluetooth המתאים
בחירת המודול תלויה בדרישות היישום.השולחן מתחת לסמסים אפשרויות נפוצות:
| Module | Type | Key Features | Typical Cost |
|---|---|---|---|
| HC‑05 | Classic | Master/slave, AT commands, 3.3–6 V | $3–$5 |
| HC‑06 | Classic | Slave only, simpler AT set | $2–$4 |
| HM‑10 | BLE | Low power, iBeacon support, AT commands | $4–$7 |
| RN4678 | BLE | Dual‑mode (BLE + Classic), certified, low power | $10–$15 |
עבור רוב הפרויקטים תחביבים אבטיפוס, HC-05 או HM-10 לספק את האיזון הטוב ביותר של עלות, זמינות וקלות השימוש. עבור ייצור או עיצובים מוסמכים, לשקול מודולים עם pre-certification (למשל, RN4678) כדי להפחית את עלויות תאימות FCC /CE.
אינטגרציה קשה: חיבור מודול Bluetooth ל- PIC
מודול Bluetooth טיפוסי UART חושף ארבעה סיכות: VCC, GND, TX ו RX. כמה מודולים כוללים גם KEY (אפשרי במצב) או STATE (מצב חיבור) pin.החיפוש חייב לקחת בחשבון עבור הבדלים מתח בין 5 V PIC לבין ה- 3.3 Vמודול.
רמת הוולטרנס Shifting
רוב מודולי Bluetooth הם 3.3 V מכשירים. Connecting 5 V PIC פלט ישירות ל- RX של מודול יכול לפגוע לצמיתות GPIO של מודול.verse, הפלט של המודול (3.3 V) הוא לעתים קרובות בתוך סף לוגיקה גבוהה של 5 V PIC (בדרך כלל 0.8× VCC = 4 V), כך חיבור ישיר של ה-FLT:0אולימפיאר 1 אינו פועל יציב.
גישות נפוצות:
- (FLT:0) מבדיל (resistor Couple): FLT 1 על הכביש PIC TX - מודול RX, השתמש 1 k ⁇ (סדרה) ו 2 k ⁇ (ל- GND) כדי לרדת 5 V ל -3.3 V. זה זול אבל עובד רק עבור אותות חד-צדדיים.
- (FLT:0) מודול משמרת ברמה עקיפה: אנדרל 1 (למשל, Sparkfun BOB-12009) תרגם את שני הכיוונים באמצעות מאקספל ושני מתנגדים.
- (FLT:0)3.3 V הרגולטור:FLT:1 Power theמודול מתוך תפוקה של 3.3 V (למשל, LD1117V33) ניזון מאספקת 5 V.ה-PIC עדיין יכול לרוץ ב 5 V, אבל עליך להבטיח כי הרגולטור מספק מספיק נוכחי (בדרך כלל 50 mA מספיק).
כוח אספקה
מודולים Bluetooth שואבים התפרצויות של זרם במהלך שידור (עד 40 mA) ללא דילול הולם, מתח האספקה יכול לקרוע, גרימת מודול לאפסת או נתונים מושחתים. Place a 10 μF אלקטרוליטי capacitor ו 0.1 μF קרמיקה capacitor כקרוב ל- VCC של המודול ו- GNDs ככל האפשר. אם המודול PIC ושתף משותף, להבטיח את ההיצע הנוכחי, להבטיח את הקיבולת המשולבת.
תגית: Wiring Diagram
חיבור מלא למודול HC-05 ו-5 V PIC16F877A הוא כדלקמן:
- HC-05 VCC - 3.3 תפוקה של V (למשל, AMS1117-3.3)
- HC-05 GND - קרקע נפוצה
- HC-05 TX - PIC RC7 (UART RX) - חיבור ישיר (3.3 V מקובל על PIC)
- HC-05 RX RC6 (UART TX) - באמצעות התנגדות של 1 k ⁇ בסדרה עד 3.3 V (מחלקת מתח)
- HC-05 KEY KEY PIC RB0 (אופציונלי, להיכנס למצב לאחר כוח)
- HC-05 STATE , PIC RB1 (אופציונלי, לזהות מצב חיבור)
תמיד לבדוק את הסימון של המודול הספציפי שלך.חלק מהלוחים של HC-05 יש את התוויות RX ו- TX הפכו ביחס לפרספקטיבה של המיקרובקר.
איסוף ה- Bluetooth עם פקודות
לפני שהמודול יכול לתקשר עם מכשיר peer, זה חייב להיות מוגדר.קלאסי מודולים כמו HC-05 מציעים סט של פקודות AT נגיש כאשר המודול אינו ממוזג. להיכנס במצב, להחזיק את ה-KEY pin גבוה בעוד כוח למעלה (או למשוך KEY גבוה אז איפוס). שיעור ה- baud עבור פקודות AT הוא בדרך כלל 38400 על מודולים ישנים, אבל כמה שימוש 9600; את הנתונים.
פקודות נפוצות:
- שם המחבר:0
- (ב) ,"הצית את ה- PIN" (הגדיר 1234)
- (ב) 2 (ב) - שיעור ה- 9600, 1 לעצור מעט, ללא שוויון.
- (ב) , (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) (ב) ,5) - חיבור לכל כתובת;
לאחר תצורת כוח, מחזור הכוח (או לשלוח 7) המודול פועל כעת בשער ה-Bud החדש והגדרות.עבור מודולים אפשריים כמו HM-10, פקודות ב-AT כוללות את ה-FLT:8 (ברודנדר/ Observer), FLT:9 ו-FLT:10 (מרווחים).
תכנות PIC לתקשורת UART
עם החומרה במקום, הקושחה חייבת לזרז את מודול UART של PIC, לשלוח פקודות למודול Bluetooth (אם תצורה של AT מתבצעת מה- PIC), ולדאוג להחלפת נתונים עם מכשיר מצמד.הדוגמה הבאה משתמשת ב- PIC18F4520 עם גביש חיצוני של 20 מ"Hz, מיקוד 9600 baud.
U FirstARTization (Simplified Snippet)
void UART_Init(void) {
TRISCbits.TRISC6 = 0; // TX pin (RC6) as output
TRISCbits.TRISC7 = 1; // RX pin (RC7) as input
SPBRG = 129; // 20 MHz/(16*9600) - 1 ≈ 129
TXSTAbits.BRGH = 1; // High speed baud rate
RCSTAbits.SPEN = 1; // Enable serial port
RCSTAbits.CREN = 1; // Enable continuous receive
TXSTAbits.TXEN = 1; // Enable transmit
PIR1bits.RCIF = 0; // Clear receive flag
}
התאמה קפדנית של ערך ה-UARTLT:12 עבור תדירות השעון הספציפי שלך. מחשבון ה- UART של Microchip (זמין ב- MPLAB Code Configurator) מפשט את הצעד הזה.
נתונים Transmission
void UART_Send(char data) {
while(!TXSTAbits.TRMT); // Wait until TSR empty
TXREG = data; // Load data into transmit register
}
קבלת נתונים (Polling)
char UART_Receive(void) {
while(!PIR1bits.RCIF); // Wait until data received
return RCREG; // Read received byte
}
ביישום אמיתי, השתמש בקבלת פנים מונעת הפרעה כדי להימנע מהנתונים החסרים, במיוחד כאשר מודול Bluetooth שולח הודעות מצב בלתי רצויות (למשל, הודעות חיבור / אי-קישור) כדי למנוע את ה-UART מקבל הפרעה (RCIE) ולטפל ב- ISR.
עיצוב פרוטוקול Packet Protocol
זרמי רול הם שגיאה-prone. Define מבנה חבילה פשוט: להתחיל בליט (למשל, 0x55), אורך ע"י te, תשלום, בדיקותum (XOR של כל החתכים הקודמים) בקצה המקבל, לאמת את המחאות ודיסקת חבילות ממותרות.זה שומר נגד רעש או עיוות.
בדיקות ובעיות לפתרון המערכת
לאחר תכנות, לאמת את החומרה ואת קושחה צעד אחר צעד.
שלב 1: בסיס של UART Loopback
קיצור של PIC's TX ו- RX pins (באמצעות התנגדות הנוכחית) וקוד הפעלת קוד אשר מהדהד דמויות שהתקבלו.אם אתה יכול לשלוח דמות מ מתאם USB-UART ולראות אותו חזר, UART של PIC הוא פונקציונלי.
שלב 2: Bluetoothמודול תקשורת
חיבור מודול Bluetooth להתאמה USB-UART (רמת מתח בראש) ולוודא תשובות פקודה באמצעות מסוף (למשל, פוטיי, Coolterm, או Arduino Serial Monitor).
שלב 3: מבחן אינטגרציה
המודול ל- PIC ולנהל קושחה מינימלית ששולחת "AT" כל שנייה.עקוב אחר תגובת המודול על UART של PIC באמצעות הטרמינל הסידורי.A נכונה "בסדר" מאשרת כי PIC והמודול מתקשרים.
שלב 4: Wireless Pairing
Power the system and make theמודול התגלות (עבור מודולי עבדים, זה אוטומטי) להשתמש אפליקציית מסוף Bluetooth (למשל, "Serial Bluetooth Terminal" עבור אנדרואיד) לסרוק ולזוג.לאחר הצמדה, לשלוח נתונים מהטלפון; PIC צריך לקבל אותו ויכול לחזור או לשלוט GPIO.
מלכודות נפוצות ותיקון
- (ב) אין תגובה או אשפה: 1FLT:1 לא תואמים שיעור השגיאה הוא הגורם השכיח ביותר. Double-check חישוב SPBRG ומודול בתצורה.
- (FLT:0) לא יכול להיכנס למצב של ATIR:FLT:1 וודא כי ה-KEY גבוה ב- Power-up ונשאר גבוה במהלך כל ה-AT. חלק מהמודולים דורשים רצף מסוים (למשל, KEY נמוך אז גבוה).
- (ב) ,0) מורדו מתאפס במהלך השידור: FIRLT:1 [התוספת של כוהנים כפי שתואר קודם לכן, אם מתח האספקה יורד מתחת 3.3 V, המודול יחום.
- (FLT:0) interference או טווח קצר: FLT:1hil להימנע מתופעות אנטנה כמעט ליד מטוסים קרקעיים או קווים דיגיטליים רועשים.אם באמצעות מודול עם אנטנה על גבי לוח PCB, לשמור על זה ברור של מתחמי מתכת.
יישומים של Bluetooth-Enable PIC מכשירים
השילוב של מיקרובקר בעלות נמוכה וקישור אלחוטי פותח אפשרויות רבות:
- רשתות החיישן ללא תשלום:0 (Wirelessחיישנים): טמפרטורה של 1 מעלות, לחות, אור או תנועה ולהעביר נתונים למרכז מרכזי או לסמארטפון.
- מערכות בקרה:0 (FLT:1Build) ממסרי בקרת חשמל, מנועים או סרבוס מטלפון או מחשב, מתאים רובוטיקה או אוטומציה תעשייתית.
- (ב) 0 הומ"ר: ⁇ : ⁇ 1 (הופנה מהדף) , אוהדים, או מנעולים המבוססים על פקודות סמארטפונים או קרבה.
- (ב) ,0) צגים בריאותיים הניתנים להשגחה: FLT:1 Gather Heart rate, ספירת שלב, או טמפרטורה בעור וזרם לאפליקציית מובייל לגלישה.
- (FLT:0 data loggers with Wireless Download:FreaLT:1) רשומות נתונים ל- EEPROM או SD Card ולאחזר אותו על הביקוש מעל Bluetooth, ביטול חיבורי כבל.
- (FLT:0) שערי IoT: FLT:1 השתמש ב- Bluetooth-enabled PIC כגשר בין חיישנים אפשריים ו-Wi-Fi (באמצעות מודול ESP66 נוסף) לקישוריות ענן.
כל יישום דורש ניהול חשמל זהיר - חיישן אפשרי מטבע נשלט יכול לפעול במשך חודשים באמצעות מרווחי שינה, מתעורר רק כדי לקחת מדידה ולהעביר.
משאבים נוספים והערות חיצוניות
כדי להעמיק את ההבנה של מיקרובקרים PIC ושילוב Bluetooth, להתייעץ עם הבאים:
- (FLT:0Microchip הרשמי PIC Microcontrollercio PortalFLT:1 - גליונות נתונים, רשימות יישום, משאבי MPLAB.
- (FLT:0HC-05 Datasheet ו- AT Command Referenceofph:1) - פרטים מקיפים על מודול Bluetooth פופולרי.
- (FLT:0) Bluetooth SIG Technology ReviewFLT:1) - תיעוד רשמי על פרוטוקולים קלאסיים וBLE.
- (FLT:0)Example Code RepositoryFIRLT:1) - קוד פתוח קושחה קוד פתוח עבור PIC UART ו HC-05 אינטגרציה (מקום עם רצף קהילתי אמיתי).
מסקנה
פיתוח מכשיר Bluetooth עם מיקרובקר PIC הוא פרויקט אמין המאחד עיצוב חומרה, תכנות משובצ ותקשורת אלחוטית. על ידי בחירת מודול Bluetooth תואם, יישום שינוי מתח נכון, כתיבת קושחה חזקה UART, ובדיקה שיטתית כל שלב, אתה יכול ליצור מערכות אלחוטיות אמין עבור מגוון רחב של יישומים.