Table of Contents
מבוא לאיסוף נתונים אוטומטיים עם MATLAB ו-Hardware
מערכות איסוף נתונים אוטומטיות מהוות את עמוד השדרה של ניטור תעשייתי מודרני, מחקר מדעי ואבטחת איכות. על ידי שילוב של כוח חישובי של MATLAB עם חיישנים פיזיים ומבצעים, מהנדסים יכולים לבנות מערכות חזקות שלוכדות, תהליך, ולפעול על נתונים ללא התערבות אנושית. מאמר זה מספק מדריך מקיף לתכנון, יישום ומדפי מערכות כאלה - משילוב חיישן בסיסי ועד ניתוח מתקדם בזמן אמת.
MATLAB מצטיין בטיפול בזרימי נתונים גדולים, ביצוע ניתוח על-פני-פני, והתנגש עם מגוון רחב של חומרה באמצעות תיבת אחסון נתונים שלה, Instrument Control Toolbox, ותמיכה במיקרו-בקרים כמו Arduino ו- Raspberry Pi. בין אם אתה צריך למקם תנאים סביבתיים בתחום מרוחק, לפקח על רטט בקו הייצור, או לאסוף אותות ביו-רפואיים במעבדה, MATL מציעה סביבה מאוחדת, כדי לחבר.
להלן אנו שוברים כל שלב של בניית מערכת איסוף נתונים אוטומטית, החל ממושגים בסיסיים ומתקדמים ליישום ברמת הייצור.
עקרונות הליבה של איסוף נתונים אוטומטי
איסוף נתונים אוטומטי מחליף תצפית ידנית עם רגישות אלקטרוניות וגלישה. היתרונות העיקריים כוללים:
- (ב) ⁇ :0) ,(ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (ב) ⁇ :0) ⁇ : 1FLT:1 חיישנים דיגיטליים וחומרה מכוונת להפחית שגיאות קריאה אנושיות.
- (ב) ניתן להקליט מאות ערוצים במקביל על פני אזורים רחבים.
- (ב) תגובה בזמן אמת: 1FLT) נתונים יכולים לעורר אזעקה, למשתתול, או לעדכן את המחוונים באופן מיידי.
זרימת העבודה הטיפוסית כוללת חישה של כמות פיזית, המרת אותו לאות חשמלי, דיגיטציה זה אות, ואחסון הערכים הדיגיטליים לניתוח. MATLAB מגשרים את הפער בין אותות חומרה גולמיים לבין תובנות ניתנות לפעולה.
מדוע MATLAB היא הפלטפורמה המועדפת על רכישת נתונים
MATLAB מציע מספר יתרונות ייחודיים על שפות תכנות כלליות, כאשר בניית מערכות איסוף אוטומטיות:
- (FLT:0) תיבות כלי ניתוק:FLT:1 ; תיבת רכישת נתונים תומכת במכשירים DAQ רבים ממכשירים לאומיים, מדד מחשוב, ואחרים.תיבת הבקרה של Instrument מטפלת בסדרה, GPIB, TCP/IP, ו- UDP תקשורת.
- עיבוד אותות:0Built-in Identity processing:FreaLT:1 פילטר, FFTs, ניתוח ספקטרלי, פונקציות סטטיסטיות לרוץ ללא ספריות נוספות.
- (ב) ⁇ (בקיצור:0) ויזואליזציה: 1FLT:1 , לוחות זמנים אמיתיים ולוחדיונים עוזרים לפקח על נתונים נכנסים לזהות אנומליות באופן מיידי.
- (FLT:0) המופשטות ההמראה: FLT:1igAB מטפל נהגים ברמה נמוכה וניהול חיץ, ומאפשר לך להתמקד בלוגיקה אלגוריתמית.
- (FLT:0) אפשרויות של ניהול:FLT:1eura Compiler ו MATLAB הפקה Server לאפשר לך לארוז ולהפיץ את היישום איסוף הנתונים שלך כשירות ייצוגי או שירות אינטרנט.
לפרטים נוספים, בקר בדף רכישת נתונים של FLT:0 (MATLAB Data Acquisitioneurs pageFLT:1).
אפשרויות ל-Hardware Selection and Integration Techniques
בחירת החומרה מכתיבת את ביצועי המערכת, האמינות והעלות של המערכת להלן הן הקטגוריות הנפוצות ביותר:
1. חיישנים ו Transducers
חיישנים להמיר תופעות פיזיות (טמפרטורה, לחץ, אור, תאוצה) לתוך אותות חשמליים.
- (FLT:0) מתח אנרולוגי / השעה: FLT:1 משותף עבור thermocouples, מד מתח, ומעבירי לחץ. MATLAB קורא את אלה באמצעות מכשירי DAQ.
- (ב) ⁇ (I2C, SPI, PWM): FLT:1 תקשורת מהירה עבור קדרממטרים, חיי לחות וגלאי קרבה.
- פרוטוקולים אוויריים (RS-232, RS-485): שימוש בחיישנים תעשייתיים רבים ובמכשירים עם ריצות כבלים ארוכות יותר.
חיישנים נבחרים עם טווח מתאים, דיוק וזמן תגובה עבור היישום שלך.לדוגמה, פלטינה RTD (PT100) מציעה יציבות טובה יותר מאשר thermocouple עבור טמפרטורות ברמה המעבדה.
מיקרובקרים ומחשבים בודדים
Arduino, Raspberry Pi, ESP32, ו-Teensy לוחות לספק שליטה יעילה עלות והם נתמך היטב על ידי חבילות תמיכה MATLAB יכול לתקשר עם אלה על פני סדרת USB או Wi-Fi, שליחת פקודות וקבלת נתונים של חיישן.
ציוד נתונים ייעודי (DAQ) מכשירים
מודולים DAQ Professional מ-National Instruments (NI USB-6008, NI MyDAQ, cDAQ chaassis) מציעים דגימה מרובה ערוצים במהירות גבוהה, בנוי-in-in-in-in-in-in-in-in-in-in-in-in-in-in-in-in-in-in-in-ionמיזוג, אלה אידיאליים כאשר אתה צריך תזמון מדויק וסינכרון על פני ערוצים רבים.
4.ממשקי תקשורת
הממשק חייב להיות תואם לשיעור הנתונים ולמרחק:
- (ב) ⁇ :0 ⁇ 2/3.0:FLT:1 Convenient for Short Distances and Mediumמהירויות.
- (ב) ⁇ :0 (TCP/IP): EnablesLT:1 , Enables למרחקים ארוכים ורשתות חיישן מבוזרות.
- (FLT:0)Wi-Fi/Bluetooth:FreaLT:1 מתאים לחיישנים ניידים או קשים לסח, אך עשוי להציג עצלות או אובדן חבילות.
- (ב) ,0) אוטובוסים: 0CAN: תקן 1 עבור רכב ואוטומציה תעשייתית.
ניתן למצוא התייחסות טובה למכשירי DAQ עם MATLAB ב-FLT:0MathWorks Data Acquisition Toolbox Documents FLT:1.
שלב-בי-Step: בניית מערכת איסוף נתונים אוטומטית
אנו עכשיו מפרטים את השלבים המעשיים מהרעיון לפרוסת.אסכול גרף טמפרטורה פשוט ולחות באמצעות Arduino ו חיישן DHT22, לקרוא כל 10 שניות וחסכון לקובץ CSV.
שלב 1: מטרות ודרישות
מסמך הפרמטרים למדידה, קצב הדגימה, משך הזמן, הדיוק, וכיצד ישתמשו בנתונים.לדוגמה: טמפרטורה יומן (דיוק ±0.5 מעלות צלזיוס), לחות (2% RH), כל 10 שניות, למשך 24 שעות, לאחסן בתיק מחוספס.
שלב 2: בחירת והגדרת חומרה
בחר את רצף הנתונים של Arduino Uno ו- DHT22.חבר את הסימון של חיישן ל-Arduino דיגיטלי pin 2, VCC ל-5V, GND ל- GND. Install the DHT חיישן Library ב-Arduino.
שלב 3: הקמת תקשורת MATLAB-Arduino
השתמש בחבילת התמיכה MATLAB עבור Arduino. Install It באמצעות Add-On Explorer. צור אובייקט MATLAB:
a = arduino('COM3', 'Uno'); % adjust port
dht = dht22(a, 'D2');
שלב 4: כתוב תסריט הרכישה
צור לולאה שקוראת את החיישן, מתעדת את הזמן, ומזמינה לקובץ:
filename = sprintf('data_%s.csv', datestr(now, 'yyyy-mm-dd_HH-MM-SS'));
fid = fopen(filename, 'w');
fprintf(fid, 'Timestamp,Temp_C,Humidity_Pct\n');
for i = 1:8640 % 24 hours at 10-second intervals
[temp, hum] = readTemperatureHumidity(dht);
fprintf(fid, '%s,%.2f,%.2f\n', datestr(now, 'yyyy-mm-dd_HH:MM:SS'), temp, hum);
pause(10);
end
fclose(fid);
שלב 5: יישום מעקב בזמן אמת
הוסף מזימה חיה באמצעות MATLAB'sFLT:2 כדי לדמיין נתונים כפי שהוא זורם.זה עוזר לזהות סחף חיישן או בעיות רשת באופן מיידי.
שלב 6: מבחן ואימות
הפעל את המערכת למשפט קצר (למשל, 30 דקות) ולהשוות קריאה כנגד כלי התייחסות מצופה.בדוק כי פעמים הם מדויקים ולא חסרו נקודות נתונים.
שלב 7: ביצוע אוטומטי וטעויות
לחצו על התסריט ב- MATLAB ופעלו אותו באמצעות לוח הזמנים של Windows Taskr או MATLAB's אובייקט 3. Include Try-catch בלוקים כדי להתמודד עם ניתוק חיישן וטעויות יומן לקובץ נפרד.
(FLT:0)ip:cioFLT:1 עבור מערכות ארוכות ללא השגחה, ליישם כלב שמירה אשר מפעיל מחדש את הרכישה אם התסריט מתרסק.פתרון פשוט הוא להשתמש קובץ אצווה אשר relaunches MATLAB עם התסריט לאחר יציאה לא נורמלית.
תכונות מתקדמות ו-Salability
ברגע שהמערכת הבסיסית עובדת, לשפר אותה עם היכולות האלה:
Multi-Device SynSyncization
השתמש בתיבת כלי רכישת נתונים עם מכשירים NI DAQ כדי לסנכרן מספר ערוצי קלט אנלוגיים. MATLAB יכול לגרום רכישות מתוך השעון המשותף או גורם חיצוני, חיוני לניתוח רטט או אלקטרופיזיולוגיה.
אוסף נתונים
חיישני עומק מתפשטים ברחבי מתקן באמצעות תקשורת TCP/IP. שרת MATLAB מרכזי מקשיב על שקע, בעוד שכל חיישן node (למשל, Raspberry Pi פועל קובץ MATLAB-generated MEX) מזרם נתונים.אדריכלות זו היא קנה מידה למאות צמתים.
אינטגרציה ענן ו ניטור מרחוק
שלח נתונים מצטברים לפלטפורמות ענן כמו דבר (שבעלים על ידי MathWorks) או AWS IoT Core. השתמש ב- MATLAB הפקה Server כדי לחשוף אלגוריתמי ניתוח כמו REST APIs אשר לוחצים יכולים לשאול.
Machine Learning onסטרימינג נתונים
לדוגמה, סיווג מאומן או מודל זיהוי אנומלי לתוך הלולאה רכישה.לדוגמה, להכשיר SVM ברמה אחת על תבניות רטט נורמלי ונומליות דגל בזמן אמת.
קרא עוד על פתרונות IoT:0 (בשיתוף פעולה)
מקרה מחקר: מעקב סביבתי בחדר Server
מרכז נתונים בינוני צריך לעקוב אחר טמפרטורה ולחות ב -12 מיקומים כדי למנוע כתמים חמים ואזהרות על כשל בציוד.הם בנו מערכת אוטומטית באמצעות מעבדי NI9205 (32 ערוצים, 16 סיביות) המחוברים ל- Type-K thermocouples וחיישנים לחות capacitive. MATLAB שנאספו נתונים ב 1 הרץ, ליישם מסנן ממוצע נע, ודחפו את הערכים המעובדים למסד נתונים שנבנה באמצעות MATL אינטרנט עם טרנדים מתקדמים ו- SMABTP שלח , כאשר הם עברו על פני חיישן דואר אלקטרוני.
המערכת הפחיתה את הבדיקות ידניות ב-90% ואפשרה למפעילים להגיב באופן פרואקטיבי למגמות תרמיות לפני שכשלונות התרחשו.זמן פיתוח מוחלט היה שלושה שבועות, הודות ל- DAQ של MATLAB ותיבת הכלים של מסד הנתונים.
מלכודות נפוצות וכיצד להימנע מהם
- (ב) עיין: ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0) הערכת Jitter:FLT:1 משככי תוכנה MATLAB אינם קביעהית. עבור מרווחים מדויקים, השתמש שעון חומרה במכשיר DAQ ולהגדיר את הפגישה עבור רכישת רקע רציפה.
- אובדן כוח במהלך ריצה ארוכה: FLT:1ir השתמש UPS או ליישם שגרת השבתה החסד שמציל את המדינה לפני היציאה. MATLAB יכול לזהות אות כשל כוח מ- OS על פלטפורמות מסוימות.
- (FLT:0)Sensor סחף: 1FLT:1 באופן קבוע לשחזר חיישנים כנגד הפניה ידועה MATLAB יכול להזין משככי כפיים וליישם תיקונים באופן אוטומטי לאחר עיבוד או בזמן אמת.
- (FLT:0) שגיאות תקשורת: 1 ⁇ 1 חיבורי Serial ו- TCP יכולים לרדת.הוספת לוגיקה מחדש עם backoff אקספוננציאלי ולשמור על ניגודים של חבילות שהתקבלו בהצלחה.
אופטימיזציה של מערכות בזמן אמת
עבור מערכות הדורשות תגובה ⁇ סטית, יש לשקול את הטכניקות האלה:
- (FLT:0Use MEX-functions: FIRLT:1) להמיר חלקים קריטיים של הלולאה של רכישת MATLAB ל- C/C++ ולנהל אותם עם מנוע MEX של MATLAB.
- (FLT:0) Leverage Simulink Desktop Real-Time:veFLT) 1 לזמן אמת קשה במחשב Windows, ליצור מודל סימנולינק עם בלוקי רכישת הנתונים ולנהל אותו במצב בזמן אמת.
- (ב) אם אתה יודע את המספר הכולל של דגימות מראש, מראש, מנגנונים למניעת התחדשות דינמית.
- (ב) ,0) מהדורות: FLT:1 Live Plots צורכת CPU.עדכון אותם בקצב נמוך יותר (למשל, כל 10 שניות) או להשתמש ב-Widgets שרעננו רק חלק מהנתון.
שיקולים של אבטחה והנתונים
מערכות אוטומטיות אשר לרוץ ללא השגחה חייבות לשמור על שחיתות נתונים ועל גישה בלתי מורשית:
- (FLT:0) אימות נתונים: FLT:1 צ'ק צ'ח קורא לערכים מחוץ לטווח, NN, או שטוח לפני הכניסה.
- (FLT:0) קידוד: אם הנתונים נוסעים מעל רשת, השתמש ב- TLS/SSL לחיבורי TCP או VPN עבור אתרים מרוחקים.
- (FLT:0) בקרת גישה: איורFLT:1 , מ"מTLAB" תסריטים שמצילים נתונים צריכים לרוץ תחת חשבון משתמש מוגבל עם גישה בכתב רק למנהל הנתונים. השתמש בפונקציות הצפנה המובנות של MATLAB (FLT:8 in Communications Toolbox) אם אחסון נתונים רגישים.
- (FLT:0) Audit Trailהמחשה: 1FLT) Log all shape and system events (start/stop Time, שגיאות, חתימות ידניות) לקובץ אלקטרוני-מסוגל.
שילוב עם מערכות Enterprise
כדי להפוך את הנתונים שנאספו לפעולה על פני ארגון, לחבר את מערכת MATLAB שלך לתשתיות קיימות:
- (FLT:0) אחסון בסיס נתונים: FLT:1 להשתמש בתיבת הכלים של מסד הנתונים כדי לדחוף נתונים ישירות ל PostgreSQL, MySQL, או Microsoft SQL Server.
- (FLT:0REST APIs: 1.FLT) חשפו את שירות איסוף הנתונים שלכם כשירות אינטרנט RESTful באמצעות MATLAB Production Server. יישומים אחרים (Node.js, Python, Power BI) יכולים לשאול את הקריאות הנוכחיות או מגמות היסטוריות באמצעות HTTP.
- לקוח UA:0 (FLT:1 fordustry Settings, MATLAB יכול לפעול כלקוח של OPC UA כדי לקרוא מ- PLCs ולכתוב מערכות ברמה גבוהה יותר כמו SCADA.
- (ב) [15] הודעות דואר אלקטרוני והודעות SMS: FLT:1 הפונקציה יכול לעורר הודעות כאשר גבולות לפרוץ.עבור SMS, להשתמש בשער דואר אלקטרוני אל-SMS (למשל, FLT:10 עבור Verizon).
מגמות עתידיות ב-Exited Data Collection עם MATLAB
התחום מתפתח במהירות.כמה מגמות לצפות:
- (FLT:0)Edge AIIR:FLT:1 Deploying רשתות עצביות מאומן ישירות על מיקרובקרים (למשל, באמצעות תיבת הלמידה העמוקה של MATLAB כדי ליצור קוד C++ עבור מעבדי ARM Cortex-M).זה מקטין את רוחב הפס הדרוש ומאפשר זיהוי אנומלי מקומי.
- (FLT:0) תאומים: FLT:1 MATLAB יכול להאכיל נתוני חיישן בזמן אמת לתוך העתק וירטואלי של מערכת פיזית (באמצעות סימנולינק) כדי לחזות ביצועים ותחזוקה לוח הזמנים.
- רשתות (LPWAN):05G ורשתות בעלות כוח נמוך (LPWAN): FLT:1 ככל שהקישוריות משתפרת, MATLAB תתמוך ב-LRaWAN ו-NB-IoT עבור מספר עצום של חיישנים בעלי כוח נמוך התפשטו מעל קילומטרים.
- (FLT:0) Automated Labeling and Active Learning:BuildFLT:1) איסוף נתונים מתוייגים הוא זמן-consuming. MATLAB'sאינטגרציה עם שירותי תווית ענן (כמו אמזון סייג אמת) יכול להפוך את יצירתם של אימוני נתונים מזרמים שנאספו.
לקבלת עדכונים שוטפים, בדוק את המוצר של FLT:0 (MATLAB PagerovFLT) 1 עבור קופסאות כלי חדש חבילות תמיכה חומרה.
מסקנה
בניית מערכת איסוף נתונים אוטומטית עם MATLAB ושילוב חומרה היא תהליך מובנה כי תגמול תכנון זהיר ובדיקות רציונטיביות. על ידי מינוף תיבת הכלים העשירה של MATLAB, אתה יכול לעבור מטיפוס למערכת ברמת הייצור מהר יותר מאשר עם שפות ברמה נמוכה יותר.היכולת לנתח, הדמיה, ולפעול על נתונים באותה סביבה לחסל את החיכוך של העברת נתונים בין כלים נפרדים עם דרישות דיבידנדים פשוט, כמו גם את הגדלה של נתונים.