שְׁאֵלָה:
אופטימיזציה לטווח של 433mhz
Thijs
2015-12-17 18:29:05 UTC
view on stackexchange narkive permalink

ברצוני לקבל את ה טווח הטוב ביותר האפשרי מ מודולי 433MHz שלי. לאחר הרבה חיפוש וקריאה, אני משוכנע שאצליח לכסות את 10 מ 'בתוך הבית עם קו ראייה חופשי

.

[עדכון]
אחרי כמה טיפים בתגובות שיניתי כמה דברים. זה נראה כמו שארדואינו מקבל במקום פי, אני מקבל מטר נוסף, 1,5 מ 'עכשיו כל כך נורא. ו 'כמפץ על חץ האש' כמו שאנו אומרים בהולנדית, אני משתמש כעת בשתי אנטנות שוט המקבילות זו לזו.
לפני שעבר לתקן את הקליטה על ה- Pi שלי, אני מנסה תחילה למקסם את הקליטה קבלת ארדואינו. זה עושה את זה הרבה יותר פשוט לחקירה.

[עדכון 2]
אחרי כמה בדיקות נוספות הגעתי לטווח של כ -6 מטרים. כשהמשדר נמצא מאחורי 1 ס"מ של עץ, זה חוזר ל 30 ס"מ.
המודולים הנוכחיים של 433MHz שלי נכנסים לפח האשפה, אני מודה לכולכם על זמנכם. אני אחפש אלטרנטיבה יציבה יותר ואולי אנסה כמה מודולים אחרים / טובים יותר של 433 מגה הרץ כמו אלה: http://www.ebay.com/itm/433MHz-Superheterodyne-RF-Link-kits-3400-ARM-MCU- משדר ומשחזר- / 281169560721? Hash = item4177030491: g: SUcAAOxyaTxTRKJn

[עדכון 3]
המודולים החדשים ביצעו שינוי עצום. עכשיו אני יכול לשלוח את הנתונים שלי מכל הבית שלי בלי בעיות בכלל. אין עדיין מטוס קרקע (ינסה את ה- TwoD!). עדיין במתח משדר 5V!

שאלתי שאלה לפני כן לגבי הגדרת 433MHz שלי כדי לחשוף מלא:
433MHz שליחה לא מקבל

הטווח הנוכחי שלי הוא בערך 40/50 ס"מ, זה לא הרבה מכיוון שאני משתמש באנטנה ישרה ~ 17 ס"מ במקלט ובאנטנת סליל במשדר:
http://www.instructables.com/id/ 433-MHz-Coil-loaded-antenne /

אלו המודולים בהם אני משתמש:
http://www.ebay.com/itm/-/221524421949? roken = cUgayN&soutkn = xKBBUo

ורק לידיעתך, אני משתמש במשאבות עבודה מדהימות אלה:
http://www.ebay.com/itm/-/321779742264?roken=cUgayN&soutkn=hk1lrB

ניסיתי שילובי אנטנות רבים וגם מעלה את מתח המשדר ל 12 וולט אבל זה לא עוזר הרבה. המטרה שלי היא להגיע לפחות ל -10 מטר קו ראייה.

  • אני שם לב שה- Pi שלי מוציא 4.77V למקלט.
  • ארבעת הפנלים מפיקים כעת סביב 5 וולט כך שעוצמת המשדר נמוכה.
  • מה שאני גם רוצה לבדוק זה להוסיף כובעים של 10uF ל- V ול- GND של המשדר, אבל אני צריך לחכות שהם יימסרו.
  • יש לי את הגרסה 10mw של משדר, הם עשויים להיות פשוט חסרי תועלת.
  • המקלט עומד מול רמקול וסאב וופר, אני מכבה אותם כשאני בודק.
  • המודולים 433MHz הגיעו בזוגות. לא כיבדתי את זה והשתמשתי בשום מקלט עם משדר כלשהו, ​​תוהה אם זו בעיה. המטרה הסופית שלי היא 3 משדרים על מקלט אחד.
  • מכיוון שיש לי מספר מודולי Tx / Rx, החלפתי אותם כדי לא לכלול מודולי DOA.
  • ניסיתי גם את האנטנות האלה של Helical, שנעשו רק טווח גרוע יותר; http://www.ebay.com/itm/-/171271811976?roken=cUgayN&soutkn=TmOnpH

הארדואינו שלי משתמש ב- VirtualWire כדי לשלוח עם 1000 באוד אל שלי Raspberry Pi, בצד ה- Pi אני משתמש ב- PIGPIO ובקוד הבא:

  אם __name__ == "__main__": זמן ייבוא ​​זמן ייבוא ​​זמן יבוא pigpio יבוא פולקסווגן יבוא json בקשות ייבוא ​​מבקשות. ייבוא ​​אמיתי HTTPDigestAuth # הגדרה מקבלת יציאת 433MHz RX = 27 # הגדרת קצב שידור 433MHz BPS = 1000 # התחבר ל- Pi מקומי. pi = pigpio.pi () # ציין את Pi, rx gpio ו- baud. rx = vw.rx (pi, RX, BPS) # הודעה ריקה msg = 0 # שמור את הזמן start = time.time () # הפעל למשך 3 שניות בזמן (time.time () - התחל) < 36000: # Count msg לכל מחזור msg + = 1 # שינה למשך .4 שנייה. שינה (0.4) # הפעל בזמן שהמקלט מוכן בזמן ש- rx.ready (): # מחרוזת הצטרף לתווים שהתקבלו להודעה
הודעה = ("". להצטרף (chr (c) עבור c ב- rx.get ())) # הדפס את ההודעה שהתקבלה להדפסת מסך (הודעה) # צור נתונים מילון נתונים = {} נתונים ['meting'] = הודעה [ 8:11] data ['bericht'] = הודעה [4: 7] data ['plant'] = הודעה [1: 3] data ['timestamp'] = str (datetime.datetime.utcnow (). Isoformat () ) # הדפס את הנתונים להדפסת המסך (נתונים) # הגדר שם קובץ לגיבוי נתונים מקומי שם הקובץ = str ('data /' + data ['plant'] + data ['bericht'] + data ['meting'] + ' .json ') # כתוב קובץ נתונים JSON לדיסק עם פתוח (שם קובץ,' w ') כקובץ: json.dump (data, outfile) # שליחת נתונים url =' http: // שרת: 8000 / v1 / מסמכים? = plantjes&extension = json '# כותרות הגדרה של כותרות = {' תוכן-סוג ':' application / json '} # ביצוע בקשה r = בקשות.פוסט (url, json = data, auth = HTTPDigestAuth (' plantje ', 'סיסמה')) # הדפסת תגובה לבקשת הדפסה הדפסה r # ביטול קבלת הנתונים rx.cancel () # הפסק את האזנת PIGPIO על סיכות pi.stop ()  

סקריפט זה שולח את המדידה של את חיישן Hygro למסד נתונים ב- JSON. זה עובד כמו קסם.

הארדואינו משתמש בקוד זה:

  #include <VirtualWire.h> # include <Sleep_n0m1.h>String pid = "p02"; const int led_pin = 11 const int transmit_pin = 12; const int hygroSensor = 0; int hygroPower = 8; const int pump_pin = 5; int watering_level = 900; int int = 0; שינה לישון; sleeptime זמן לא חתום; התקנה בטלה () {// קונסולה טורית התקנת Serial.begin (9600); Serial.println ("הגדרת"); // מחזור זמן שינה ב- ms sleepTime = 10000; // הגדרת virtualwire vw_set_tx_pin (transmit_pin); // הגדרת מצבי סיכה pinMode (hygroPower, OUTPUT); pinMode (led_pin, OUTPUT); pinMode (pump_pin, OUTPUT); // ביטים לשנייה vw_setup (1000);} loop loop () {
// עיכוב כדי לאפשר פלט סדרתי להיות מוכן לאחר עיכוב להתעורר (100); // ספירת מוני מחזור ++; // הפעל את מודול חיישן ההיגרו digitalWrite (hygroPower, HIGH); // המתן מעט עד שחיישן ההיגרו יתחיל לעכב (1000); // קרא את הקלט על סיכה אנלוגית 0: int measure = analogRead (hygroSensor); // התחל אור כדי להציג שידור digitalWrite (led_pin, HIGH); // יומן הרגע של שליחת Serial.println ("שליחה:" + מחרוזת (מידה)); // צור & שלח מזהה הודעה אקראי מחרוזת אמצע = "m" + מחרוזת (אקראית (100, 999)); // שליחת נתונים מחרוזת hygrodata = "d" + מחרוזת (מידה); dataSend (pid + mid + hygrodata); // עצור אור כדי להציג שידור digitalWrite (led_pin, LOW); // המתן עיכוב שני (1000); // קוד שינה אם (count > = 3) {// reset count count = 0; // הפעלת שגרת משאבות // משאבת מים (מידה, אמצע, פיד); // יומן שינה לקונסולה הסדרתית Serial.print ("הולך לישון עכשיו .."); // הגדר מצב שינה sleep.pwrDownMode (); // כבה את מודול ההיגרו כוח digitalWrite (hygroPower, LOW); // שינה ל: sleepTime sleep.sleepDelay (sleepTime); }} // נתונים ששולחים נתונים funtionintSend (נתוני מחרוזת) {// מצהירים int לאורך משך ההודעה int msglen; // הגדר אורך ההודעה +1 msglen = data.length () + 1; // להכריז על מערך תווים מעטפת char [msglen]; // שים מחרוזת בנתוני המערך. toCharArray (מעטפה, msglen); // יומן נתוני צג סדרתי Serial.println (נתונים); // שלח נתונים vw_send ((uint8_t *) מעטפה, sizeof (מעטפה)); // המתן לשליחה לסיום vw_wait_tx (); // להחזיר 1 להחזרת הצלחה 1;} // משאבת פונקציונציה משאבת מים (מידה int, מחרוזת באמצע, מחרוזת pid) {// יומן מידה Serial.println (מידה); // מים במידת הצורך אם (מדוד > waterering_level) {// הפעל משאבה 2 שניות digitalWrite (pump_pin, HIGH); עיכוב (3000); digitalWrite (pump_pin, LOW); // שלח נתוני נתוני משאבה שלח (pid + mid + "pump"); }}  

זה שולט בחישה של המסרים וגם במשאבת המים שבה אני משתמש להשקות את המפעל שלי באופן אוטומטי בעת הצורך. זה עובד כמו קסם.

Arduino Hygo meter 433MHz setup Raspberry Pi 433MHz receiver

אותו מעמד אנטנה של "ידיים עוזרות" הוא * חשוד מאוד * - האם דגמת את זה כחלק מהאנטנה? זה מאוד, וכנראה לא בצורה טובה. נסה להחזיק את הלוח עם האנטנה המוקרנת, ואולי חוט קרקע מנוגד באותו אורך, רדיאלים או מישור קרקע - תלוי מהי התיאוריה כיצד אמורה האנטנה שבחרת לעבוד. עם זאת, מהו הטווח הרגיל עבור מודולים אלה?
האם ניסית לקבל Arduino (עם מודול RX) עם תדפיס סדרתי ל- Pi? רק כדי להשוות את הביצועים (בהנחה שפי חסר RX). יש לי כמה מודולי RF433 / Arduino לנתוני חיישנים המשדרים מעל 5 מ 'עד שלושה קירות בתוך הבית (ב -4,000 סיביות לשנייה, 3V7). זאת עם גרסה שונה של VirtualWire עם מקודד Hamming (7,4) עם תיקון שגיאת סיביות. אנא עיין ב https://github.com/mikaelpatel/Cosa/blob/master/libraries/VWI/VWI.hh, https://github.com/mikaelpatel/Cosa/blob/master/libraries/HammingCodec_7_4/HammingCodec_7_4.hh ו- https://github.com/mikaelpatel/Cosa-Domotica.
הידיים המסייעות מיועדות רק לצילום :) אז לא היה לי אותן שם בזמן הבדיקה. הטווח הרגיל הוא קיר אחד + 10 מטר או 50 מטר בחוץ עם שתי אנטנות ישרות. אבל זה המדע של גוגל ...
באמצעות ארדואינו נוסף עם המקלט אני מקבל הודעות רחוקות יותר. אז זה מצביע על כך שהפי שלי הוא האשם. עכשיו אנסה לזרוק את המקלט על ה- Pi לקונסולה כדי לראות מה נכנס ..
אני לא חושב שכדאי לשלב אנטנות סליליות והצלפות. כמו כן, בניית אנטנות סליליות דורשת מעט דיוק באורך, בקוטר הפנימי, במספר הסיבובים, בריווח בין סיבוב, וכנראה יותר. הייתי הולך עם אנטנות שוט משני הצדדים, ומוודא שהן מקבילות זו לזו. הייתי מתנסה גם באורך האנטנה. יש אנשים שאומרים שאתה צריך להפחית את אורך לולאת החוט הקטנה שכבר נמצאת על הלוח. פשוט הפוך אותו לקצת ארוך, והמשיך לקצץ אותו קצר יותר, ותראה אילו השפעות יש לו על הטווח. גם יותר היחידות מסביב; יכול להיות שיש כתמים מתים.
ה- PI עשוי לייצר הרבה "רעשי רקע". אולי צריך להגן על מודול ה- TX מכך.
יכולת פשוט לעשות לולאה כמו פיתולים מהאנטנה הזו במקום להקים ידיים עוזרות. זה באמת לא כל כך משנה.
חָמֵשׁ תשובות:
helio
2016-07-14 00:28:27 UTC
view on stackexchange narkive permalink

נתקלתי באותה בעיה, לא הצלחתי לעבור את הטווח של 2 מטרים. עד ששמתי לב שתדר ה- TX כבוי בכ -150 קילוהרץ. כיוונתי את תדר ה- RX (למודול יש גוזם) ועכשיו 40-50 מטר אפשרי עם קיר בין לבין.

cranphin
2016-07-30 03:32:17 UTC
view on stackexchange narkive permalink
בצד המשדר (עם מתגי AC זולים כמקלט) היו לי תוצאות טובות באמת עם הריבועים הירוקים הזולים, וה -5 הזולים באותה מידה עבור אנטנת סליל 433MHz בדולר שתמצאו בכל מקום ב- eBay :) יכול להגיע עם זה לשלוש רמות הבית שלנו, וזה עם אספקת 5 וולט בלבד בכיכר הירוקה, וזה פשוט יושב על קרש לחם.

על פי בקשה, תמונה של האנטנה, מולחמת על אחת משדרים ירוקים זולים, זה עובד טוב בשבילי ב- 5V:

Picture of antenna

אנטנה זו נקנתה כסט של 5 מ: http://www.ebay.com/itm/171271811976

יש כ 21 פיתולים, בקוטר 5 מ"מ, כך שהופך בערך 5 מ"מ * 3.14 (= Pi) * 21 = 33 ס"מ של חוט בסליל.

אתה יכול בבקשה לצרף תמונה של האנטנה?
בוצע, ראה את התשובה
זכור שהם ספציפיים לתדר, אתה רוצה כאלה שנמכרים במיוחד עבור 433mhz :)
Hans Neve
2016-03-30 12:27:49 UTC
view on stackexchange narkive permalink

המודולים 433mhz יכולים להיות הגיוניים בקווי החשמל, הנח מכסה על קלט הכוח. כמו כן אנטנה ישרה עובדת ברוב הפעמים, אך אם אתה רוצה מרחק רב יותר, בדוק להכנת אנטנה דיפולית, יש אנטנת diy עמוסת סליל שאתה יכול לעשות שעוזרת מעט לחוט ישר.

תודה! בדיוק קראתי על המכסה הזה על קלט החשמל, איך ולמה זה עובד. תוהה כמה uF ולמה ..
השתמשתי בכל דבר החל מ -10 uF ומעלה, זה לצורך החלקת חשמל כך שהערך אינו קריטי.
Ryan Griggs
2015-12-18 09:36:45 UTC
view on stackexchange narkive permalink

האם ניסית אי פעם את המודולים הנורדיים מבוססי nRF24L01? הם זמינים ב- eBay בעלות נמוכה מאוד ופועלים ברצועת 2.4 ג'יגה הרץ. עליהם להציע טווח של לפחות עשרות מטרים בתוך הבית. היה לי הצלחה טובה עם אלה, והם קלים מאוד להתממשק לארדואינו.

הזמנתי אחד כזה לבדוק את זה! מה שיש לי גם הוא מודול ESP8266 אבל נראה שהוא משמש יותר כפתרון עצמאי מאשר כמודול ארדואינו. עד ש- nRF24L01 יהיה כאן, אבדוק עם זה.
כן, ESP8266 מתאים יותר לחיבור לנתב אלחוטי. שבבי ה- nRF מתאימים יותר לרשתות מסוג רשת.
TwoD
2016-01-18 03:47:55 UTC
view on stackexchange narkive permalink

יש לי את אותם מודולי TX / RX ושני Arduinos ויכולים לקבל אמינות שידור טובה למדי בכל ביתי, אך נדרשו ניסויים בכדי להבין את הגורמים הגדולים ביותר במשחק (עבורי).

זוגות מודולים לא צריכים להיות חשובים, קיבלתי את 5 הזוגות שלי מקופלים בשקית ניילון, חושב שרק אחד היה DOA. אני משתמש בהם יחד עם שקעים ושלטים חשמליים אלחוטיים של Nexa מכיוון שהם פועלים באותו תדר ונותנים לי נקודת התייחסות ראויה.

דבר אחד ששמתי לב למודולים [המקלט] הוא שהם נוטים התאמה אוטומטית לעוצמת האות. הפיצו אותם עם משדר מטווח קרוב לזמן מה והם יחמירו בבחירת השלטים, מהרעש בטווח הרחוק למשך זמן מה. נראה שזה נכון גם לגבי מכשירי 433Mhz Nexa. כאשר מתחילים להעביר רחוק יותר, זה עלול לקחת זמן רב יותר עד שהמקלט יגלה שהוא מצא אות. זכור, המודולים האלה מוציאים רק 1 או 0, ולא אות אנלוגי, אז עליהם להחליט איזו רמת רעש לקבל כ- 0 ומתי יש 1.

הטעות הראשונה שלי היא לא להשתמש באנטנה מחוברת היטב. חתיכת חוט חזקה פשוטה מספיק כשלעצמה, אך רק אם היא יוצרת קשר טוב עם המודול. מיומנויות הלחמה טובות מומלצות תמיד.

הטעות השנייה שלי היא לא לתת למשדר מספיק כוח. זה יכול להתמודד עם 12 וולט, אז תן לו 12 וולט (לא על סיכת הנתונים!). רק ירד נמוך יותר לאחר שהגעת לעבודה במרחק הנדרש.

נסה עם מטוס קרקע גדול גם למשדר וגם למקלט (אין מגע עם המכשיר עצמו!). קיבלתי טווח טוב מאוד עם המקלט שלי על מארז המחשב שלי והמשדר על המקרר שלי!

יכולתי אפילו לקבל קריאה מהימנה מחיישן טמפ 'בתוך המוסך במרחק של 10 מטר מהבית כשאני מגיע 2 מטר מהקרקע, באמצעות חוטים ישרים רגילים בגודל 17 ס"מ כאנטנות עם מטוסי קרקע טובים. (אנטנות מונופול זקוקות למטוסי קרקע כדי להקפיץ את האות.)

נסה לדמיין את האות בצד המקבל בעזרת אוסצילוסקופ. אם נתת מקלט אנלוגי כנראה קל יותר להבדיל בין רעש ונתונים אמיתיים. אך אם כל מה שקיבלת הוא מודול ה- RX, חיבור סיכת הנתונים לאיזשהו הדמיה מחוברת יאפשר לך לפחות לראות עד כמה קשה לזהות את דפוסי הנתונים.

נסה להגדיל את אורך הקדמה לפני הנתונים בפועל. זה יאפשר למקלט להסתגל לפני שהוא יגיע לסיביות המעניינות.

חזור על הנתונים שהועברו. כלול פיסת נתוני מזהה שמשתנה עם כל הודעה, אך לא עם כל חזרה, ושמור את המזהה שהתקבל לאחרונה להשוואה לפני העברתו לכל מקום.



שאלה ותשובה זו תורגמה אוטומטית מהשפה האנגלית.התוכן המקורי זמין ב- stackexchange, ואנו מודים לו על רישיון cc by-sa 3.0 עליו הוא מופץ.
Loading...