שְׁאֵלָה:
כיצד לחבר שני ארדואינו ללא מגנים?
totymedli
2014-02-14 04:32:44 UTC
view on stackexchange narkive permalink

אני מתכנן מערכת Arduino המורכבת מכמה לוחות Arduino. המרחק המרבי בין הלוחות הוא כ- 50 מטר. אני רוצה לשלוח נתונים בסיסיים בין אלה, כמו מחרוזות קצרות או מספרים שלמים. אני יודע שיכולתי לשלוח נתונים דרך כבלים של אתרנט, אבל זה דורש מגן אתרנט או את לוח ה- Arduino Ethernet שמכפיל את העלויות. האם יש דרך תקציבית נמוכה בה אוכל לחבר את הלוחות באמצעות הלוחות הבסיסיים ביותר (כמו Uno) וכמה רכיבים אחרים אך לא מגן מלא?

אם התקציב לא היה בעיה, אתה יכול להשתמש ב- Bluetooth או שבבי Xbee. הם לא רעים, אבל יפעלו סכום כולל של ~ 60 דולר מכיוון שתזדקק ל -2.
התקני Bluetooth @Steven10172 שימושיים, אך נראה כי ה- OP רוצה פיתרון זול ללא מגנים (פרופיל נמוך אולי?)
הקפידו ** לשים ** לחיבור השטח אם אמצעי ההעברה שלכם הוא חשמל !!!
קשור: [שליחת נתונים מינימליים בין שני ארדואינו רחוקים זה מזה] (https://arduino.stackexchange.com/questions/76947/sending-minimal-data-between-two-arduinos-far-away-from-each- אַחֵר)
חָמֵשׁ תשובות:
#1
+9
sachleen
2014-02-14 04:59:03 UTC
view on stackexchange narkive permalink

לתקשורת קווית למרחקים ארוכים, עיין ב RS-485.

מכיוון שהיא משתמשת בקו מאוזן דיפרנציאלי על פני זוג מעוות (כמו RS-422), היא יכול להתפרש על מרחקים גדולים יחסית (עד 1,200 מ '). כלל אצבע הוא שהמהירות בסיביות / s כפול האורך במטרים לא תעלה על 108. לפיכך כבל 50 מטר לא אמור לאותת מהר יותר מ -2 מגה ביט / שנ

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

https://github.com/Protoneer/RS485-Arduino-Library

האם הוא לא יכול היה פשוט להפשיט את החוטים ב- RS-485 או דומה ופשוט להשתמש בזה לסידורי כדי לחסוך כסף? שדרוג של 9600 אינו פועל * כמעט * במהירות כמו 2 מגה בייט. האם יש משהו מיוחד בפרוטוקול / מתח / וכו '. שהופך אותו למתאים למרחקים ארוכים? זה עשוי לחסוך קצת כסף ...
זהו אות דיפרנציאלי שנשלח על פני זוג מעוות. מפחית רעש. http://en.wikipedia.org/wiki/Differential_signaling
דף זה מהווה משאב מצוין ב- RS485 עם Arduino http://www.gammon.com.au/forum/?id=11428
#2
+7
TheDoctor
2014-02-14 04:42:53 UTC
view on stackexchange narkive permalink

יש שתי קטגוריות שאני יכול לחשוב עליהן כדי לסווג את תכונות החיזור של לוחות הארדואינו:

בין שני מכשירים:

  • סידורי: קל לשימוש ודורש רק שתי קווי נתונים.
  • OneWire: קשה יותר ואיטי, אך משתמש רק בשורת נתונים אחת

בין יותר משני מכשירים

  • I2C: אתה יכול להכיל עד 128 מכשירים ברשת, ניתנים לטיפול, אך נדרש מכשיר ראשי, משתמש בשני קווי נתונים. זה מכונה גם חוט.
  • SPI: קשה לשימוש, אך בחירת מכשירים מהירה וקלה מאוד. משתמש בהרבה קווי נתונים (3 + מספר מכשירים)
  • OneWire: שימוש ב- oneWire הממוען הוא אפילו איטי יותר מ- oneWire רגיל, עדיין קו נתונים אחד בלבד
  • SoftwareSerial: אתה יכול לקבל כמה התקנים המחוברים על ידי קווי סדרה שונים, אך הם איטיים יותר.
  • CAN: זמין רק בתאריך, וניתן לכתובתתו

ישנן שיטות אחרות זמינות, אך אלה רשומות רק דורשים מינימום של חומרה חיצונית.

לקבלת דירוגי מרחק, ראה http://forum.arduino.cc/index.php?topic=82937.0 ו- http: / /www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/serial-distance.html

שיעורי נתונים אלה נשלטים ישירות ב- Serial וניתן לצבוט אותם ברבים אחרים.

#3
+5
HK1
2014-02-14 05:01:48 UTC
view on stackexchange narkive permalink

Freakduino מייצר כמה לוחות Arduino עם מובנה אלחוטי. הטווח הרחוק האלחוטי שלהם הוא 900 מגה-הרץ והטווח הקצר יותר שלהם הוא 2.4 GHz. אני חושב שהם למעשה מכשירי רדיו של XBee ולתכנות היית משתמש בספריה בשם chibiArduino, אשר זמינה (ומתועדת) באתר Freakduino. כאשר אתה מתקשר באופן אלחוטי עם רדיו אחר, אתה יכול להשתמש בשידור או לציין רדיו לפי מזהה שהוא ערך שאתה צריך להגדיר ב- EEPROM של Freakduino.

נלקח ישירות מאתר Freakduino:

תוספת של רדיו אלחוטי משולב המבוסס על פרוטוקול IEEE 802.15.4 (פרוטוקול רדיו זהה ל- XBee) מאפשרת שליטה אלחוטית בהתקנים או איסוף נתוני חיישנים אלחוטיים. הוסיפו מעגלי סוללות אופציונליים כדי שיוכלו לתפקד כצומת אלחוטי אמיתי ללא כבלי חשמל חיצוניים. הלוח מתוכנן גם כך שיתאים למארז מחוספס כך שניתן יהיה להעביר את העיצוב בבטחה או לפרוס אותו בתרחיש שימוש ממשי מבלי לדאוג לפגוע במעגלים.

רדיו 900 מגה-הרץ הזה הוא המועדף האישי שלי. אני משתמש בו כל הזמן כי 900 מגה הרץ מציע טווח הרבה יותר טוב בהשוואה ל -2.4 גיגה הרץ. הרדיו יכול להפיק עד 10 מגוואט של כוח שידור שיכול להגיע לטווח מפתיע. עם קו ראייה ישיר, כמה מאות מטרים לא היו מפתיעים. אם יש צורך בטווח נוסף, ניתן לשנות את מצב האפנון גם מ- OQPSK ל- BPSK. התוצאה היא טווח נוסף על חשבון קצב הנתונים, כאשר המקסימום עובר מ -250 קילו-בייט לשנייה -40 קצב לשנייה במצב רגיל.

#4
  0
Butters
2015-03-02 08:04:45 UTC
view on stackexchange narkive permalink

כמו שאמרת, מגני אתרנט הם יקרים, אך אינך צריך להשתמש במגן. בדוק את enc28j60 עבור רשת קווית, או את ESP8266 אם אתה מעדיף אלחוטי. שניהם כ -4 דולר ארה"ב. אני משתמש ב- ESP8266 עכשיו ויש לי בערך 8 מכשירים שמדברים ביניהם ו- Raspberry Pi. זה שבב קטן באמת נהדר! אני לא יכול לדבר באופן אישי עם ENC28j60, מכיוון שהם עדיין יושבים בחבילה על שולחני.

#5
  0
Nathan
2015-03-02 22:26:50 UTC
view on stackexchange narkive permalink

אתה יכול להשתמש בלוח פריצה של Ethernet ($ 2 ב- Sparkfun). זה מאפשר לך להשתמש בכבלי Ethernet, אך אינך צריך להשתמש בפרוטוקול TCP / IP מלא, במקום זאת אתה יכול פשוט לחבר סיכות נתונים ללוח הפריצה, להשתמש ב- Ethernet כדי לחבר אותם ואז לגרום להם לדבר באמצעות סדרתי. אני משתמש בזה לא מעט כדי למקם חיישני חוט אחד רחוק יותר מהארדואינו לחיבור חזק אך זול.



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