תפריט English Ukrainian רוסי עמוד הבית

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


אינציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל
ספרייה חינם / ערכות של מכשירים רדיו-אלקטרוניים וחשמליים

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

ספריה טכנית בחינם

אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל / מחשבים

הערות למאמר הערות למאמר

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

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

אז בואו נתחיל…

לא משנה מה המטרה שלך, ראשית עליך לרכוש את הממיר האנלוגי לדיגיטלי (ADC) בפועל. כמו כן, התקן את סביבת הפיתוח של Visual Basic 6.0 במחשב שלך. אתה גם צריך להיות מסוגל פשוט לנווט בסביבת הפיתוח הזו... כי... המאמר נועד להבטיח שלקורא יהיה לפחות ידע בסיסי בתכנות ב-Visual Basic. אני ממליץ גם לקרוא את הספרות [1], [3].

אני ממליץ לרכוש את ה-TLC549IP כ-ADC. זהו ADC טורי של 8 סיביות עם פרוטוקול תקשורת פשוט. על כך נדון במאמר. כמובן, אתה יכול להשתמש ב-ADCs אחרים עם שינויים מתאימים במעגל ובקוד. אתה יכול לקרוא עוד על זה ב [1].

לאחר שמצאת את ה-ADC, עליך להרכיב את החומרה של מערכת רכישת הנתונים שלנו, כלומר המעגל המוצג באיור. 1.

פעולת ADC עם יציאת COM, מערכת רכישת נתונים פשוטה. חוּמרָה
(לחץ להגדלה)

התוכנית הושאלה מ-[1] בשינויים קלים. דיודות VD1, VD2, VD6 - KD521, כל דיודות זנר למתח ייצוב 3...5 V. במקום 78L05, אתה יכול להשתמש ב-KREN5A. נגדים R1, R2 עם סובלנות של 1%, או בחירה מכמה עם ערך ההתנגדות הקרוב ביותר. דיוק המדידות יהיה תלוי בהם. הנגד R3 הוא רצוי מרובה פניות.

התאמה: על ידי הפעלת כוח על הלוח, אנו מודדים את המתח בפין ה-Out של מייצב DA1. נכתוב את ערך המתח המתקבל עם 3 מקומות עשרוניים, נזדקק לו מאוחר יותר. בפין 1 של המיקרו-מעגל DD1, באמצעות הנגד R3, הגדרנו את המתח שווה בדיוק למחצית מהמייצב שנמדד בפין ה-Out.

כעת נעבור לחלק התוכנה בפועל. באופן כללי, בהתחלה, השתמש בממשקי תקשורת כגון RS-232, I2C, Micro Ware וכו'. אני רואה בזה לא הולם, כי עם סיבוך קל של קוד התוכנית, החומרה עלולה להסתבך ברצינות. לכן, נשתמש בפרוטוקול ההחלפה הפשוט ביותר שנלקח מ"גיליון הנתונים" ל-ADC. כלומר, היישום הפשוט שלו. כמובן, עם פרוטוקול כזה לא ניתן להשיג מהירות גבוהה; במקרה זה, המגבלות מוטלות על ידי Visual Basic עצמה, אך להשגת התוצאות הראשונות במינימום זמן ומאמץ, כמו גם למדידת תהליכים המשתנים לאט יחסית, זה די מתאים. פרוטוקול התקשורת של TLC549IP ADC מוצג באיור. 2.

פעולת ADC עם יציאת COM, מערכת רכישת נתונים פשוטה. פרוטוקול תקשורת ADC TLC549IP
(לחץ להגדלה)

במהלך המצב הבודד, ההמרה בפועל מתרחשת בפין CS (בחירת שבב) של ממיר A/D. פלט הנתונים מתחיל ברמת CS נמוכה עם הופעת דופק שעון, ביט אחד לכל פולס. כדי להפיק קוד של 8 סיביות, נדרשים 8 פולסי שעון. לאחר מכן ניתן להעביר CS למצב בודד ולבצע את הטרנספורמציה הבאה. פרטים נוספים על פעולת ה-ADC ניתן למצוא ב-[1].

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

הפעל את סביבת הפיתוח של Visual Basic וצור פרויקט EXE סטנדרטי. הוסף את פקד MSComm. אתה יכול להוסיף אותו ללוח הרכיבים באופן הבא: פרויקט-->רכיבים-->בחר מהרשימהמיקרוסופט פקודה שליטה 6.0. הנח אותו על הטופס, יחד עם 2 תוויות ו-2 טיימרים. השאר את השמות כברירת מחדל.

עכשיו אתה יכול להתחיל לכתוב קוד עבור מד מתח פשוט.

בואו נגדיר משתנים: Dim b1, b2, b3, b4, b5, b6, b7, b8, sum, Ud As Single

הכנס את הקוד הבא בהליך טעינת הטופס:

פרטי תת Form_Load()

MSComm1.DTREnable = ערך התחלתי אמיתי - רמת CS גבוהה

Timer1.Interval = 100 ' מרווח טיימר 1ms

Timer2.Interval = 1 ' מרווח טיימר 100ms

MSComm1.Settings = "1200,N,8,1" ' הגדרות העברת נתונים

MSComm1.CommPort = 1 ' מספר יציאת COM

MSComm1.PortOpen = True ' יציאת com פתוחה

End Sub

בהליך טיימר1 שם את הקוד:

Private Sub Timer1_Timer()

MSComm1.DTREnable = False 'צור CS נמוך

Label2.Caption = "" 'זבל עבור עיכוב ראשוני

MSComm1.RTSEnable = שעון הדופק של השעון הראשון נכון

אם MSComm1.CDHolding = True אז b1 = 1 אחרת b1 = 0 'סקר ערך אחד או אפס בכניסת התקליטור (פלט ADC)

MSComm1.RTSEnable = False 'שעון דופק שעון ראשון נמוך

MSComm1.RTSEnable = נכון

אם MSComm1.CDHolding = True אז b2 = 1 אחרת b2 = 0

MSComm1.RTSEnable = False

MSComm1.RTSEnable = נכון

אם MSComm1.CDHolding = True אז b3 = 1 אחרת b3 = 0

MSComm1.RTSEnable = False

MSComm1.RTSEnable = נכון

אם MSComm1.CDHolding = True אז b4 = 1 אחרת b4 = 0

MSComm1.RTSEnable = False

MSComm1.RTSEnable = נכון

אם MSComm1.CDHolding = True אז b5 = 1 אחרת b5 = 0

MSComm1.RTSEnable = False

MSComm1.RTSEnable = נכון

אם MSComm1.CDHolding = True אז b6 = 1 אחרת b6 = 0

MSComm1.RTSEnable = False

MSComm1.RTSEnable = נכון

אם MSComm1.CDHolding = True אז b7 = 1 אחרת b7 = 0

MSComm1.RTSEnable = False

MSComm1.RTSEnable = נכון

אם MSComm1.CDHolding = True אז b8 = 1 אחרת b8 = 0

MSComm1.DTREnable = נכון 'צור CS גבוה

MSComm1.RTSEnable = False 'שעון דופק שעון ראשון נמוך

המר את הביטים לפורמט עשרוני באמצעות נוסחת ההרחבה

sum = (b1 * 2^7) + (b2 * 2^6) + (b3 * 2^5) + (b4 * 2^4) + (b5 * 2^3) + (b6 * 2^2) + (b7 * 2^1) + (b8 * 2^0)

Ud = Format(sum * 5.083 / 255, "##0.000") 'חשב את הערך היחסי

Label1.Caption = CStr(Ud) & "Volt" 'מציגים את הערך המתקבל

End Sub

הקוד ב-Timer1 הוא הדרייבר האמיתי. מה שחוזר על עצמו מעת לעת יוצר פעימות שעון ומקבל סיביות נתונים. Ud הוא המתח בכניסת ADC; אם אתה משתמש ב-10, 12-bit ADCs, המספר 225 יוחלף ב-1024, 4096, בהתאמה. עבור 10, 12-bit ADCs, עליך להוסיף את הביטים החסרים לקוד , בהנחיית "גליונות הנתונים" שלהם. הערך 5.083 הוא ערך המתח שקיבלתי במוצא ה-Out של המייצב. הזן את הערך שלך כאן.

כדי להפעיל את הלוח, אתה יכול להשתמש במקור נפרד או להפעיל אותו ישירות מיציאת ה-COM. לשם כך, אנו שמים את הקוד הבא בהליך Timer2:

Private Sub Timer2_Timer()

MSComm1.Output = Chr(0) & Chr(0) 'יוצרים פולסים על פין ה-TX (3) כדי להפעיל את לוח ה-ADC

End Sub

יש לזכור שלא ניתן להעמיס על יציאת ה-COM בכבדות... המקסימום שניתן לסמוך עליו הוא 20 mA. במצב הפעלה, המעגל צורך זרם של לא יותר מ-5 mA.

כעת חבר את הלוח ליציאת COM והפעל את הפרויקט. מדוד את המתח בפין IN של מייצב DA1, הוא לא צריך להיות נמוך מ-6.5 V. אם זה לא המקרה, השתמש במקור מתח נפרד. על ידי שינוי המתח בכניסת ה-ADC, ודא שהתוכנית פועלת ומציגה את המתח על המסך. דיוק קריאת המתח בעת שימוש ב-ADC של 8 סיביות הוא 20 mV, עם 10-bit ADC - 5 mV, 12-1.2 mV

קצת על העבודה ב-Visual Basic והאפליקציה שנוצרה עם יציאת com

כפי שבטח כבר הבנתם, כדי לעבוד עם יציאת com צריך רכיבמיקרוסופט פקודה שליטה כלומר, הקובץ MSCOMM32.ocx אשר, לאחר התקנת Visual Basic, ממוקם בספריית C:\Windows\system32. מה שאני מתכוון בזה הוא שאם אתה מעתיק את התוכנית שלך, מבלי ליצור תוכנית התקנה, למחשב אחר שאין לו Visual Basic, זה לא יעבוד. אתה גם צריך להעתיק את הקובץ הזה לאותה ספרייה כמו במחשב שלך, כלומר. במערכת 32. או ליצור מתקין.

עכשיו לכמה פקודות:

פקודה קביעת שער החלפת הנתונים:

MSComm1.Settings = "1200,N,8,1"

פקודה המציינת את מספר יציאת ה-com

MSComm1.CommPort = 1

פקודות לפתיחה וסגירה של יציאת ה-com

MSComm1.PortOpen = נכון

MSComm1.PortOpen = False

פקודות המוציאות +12V לפין המתאים של מחבר ה-com:

MSComm1.RTSEnable = True RTS (7) - שם סיכה ומספר סיכה

MSComm1.DTREnable = True DTR(4)

פקודות המוציאות -12V

MSComm1.RTSEnable = False         

MSComm1.DTREnable = False

אתה יכול לסקור את הפינים CD (1), CTS (8), DSR (6) עבור נוכחות של מצב יחיד או אפס.

אם MSComm1.CDHolding = נכון אז (אם אחד אז...)

אם MSComm1.CDHolding = False אז (אם אפס אז...)

העברת קוד ASCII של תו או מחרוזת לפלט Tx (3):

MSComm1.Output = "A"

ספר במדבר

מספר MSComm1.Output = Chr(10) יכול להשתנות בין 0...255

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

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

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

פעולת ADC עם יציאת COM, מערכת רכישת נתונים פשוטה

פעולת ADC עם יציאת COM, מערכת רכישת נתונים פשוטה

הורד קודי מקור של תוכניות לדוגמה (8 קילובייט)

ספרות

  1. ג'ל פ. איך להפוך מחשב אישי למכלול מדידה: תרגום. מ-fr. - מהדורה שנייה, ריב. - M.: DMK Press, 2. - 2001 עמ': ill.
  2. An P. ממשק מחשב עם התקנים חיצוניים: Transl. מאנגלית - מ.: DMK Press, 2001 - 320 עמ': ill.
  3. Visual Basic 6.0: Trans. מאנגלית - St. Petersburg: BHV - St. Petersburg, 2000. - 992 עמ': ill.

מחבר: =ShooRooP=, evei [dog] mail.ru; פרסום: cxem.net

ראה מאמרים אחרים סעיף מחשבים.

תקרא ותכתוב שימושי הערות על מאמר זה.

<< חזרה

חדשות אחרונות של מדע וטכנולוגיה, אלקטרוניקה חדשה:

עור מלאכותי לחיקוי מגע 15.04.2024

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

פסולת חתולים של Petgugu Global 15.04.2024

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

האטרקטיביות של גברים אכפתיים 14.04.2024

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

חדשות אקראיות מהארכיון

OQO דגם 02 21.02.2007

במהלך הנאום המרכזי ערב פתיחת CES 2007, בין היתר, הדגים ביל גייטס את המכשיר הזה, וכינה אותו המחשב הקטן ביותר שבו פועל MS Vista. OQO דגם 02 הוא הדור הבא של מחשב נייד במיוחד השוקל פחות מ-450 גרם ונכנס בקלות לכיס שלך.

הוא מהיר עד פי ארבעה מקודמו, דגם 01+, עם תצוגה בהירה יותר ומקלדת ארגונומית עם תאורה אחורית מעוצבת מחדש.

עוד חדשות מעניינות:

▪ SANYO עובר למסכי OLED

▪ TPS65023 - בקר כוח חדש עבור DaVinci

▪ בחירת מקצוע - לפי גנים

▪ מקרן נייד לפלייסטיישן 4 למשחק ללא טלוויזיה

▪ סמארטפון Highscreen Alpha R Full HD עם שבוע של חיי סוללה

עדכון חדשות של מדע וטכנולוגיה, אלקטרוניקה חדשה

 

חומרים מעניינים של הספרייה הטכנית החופשית:

▪ נוריות של סעיף האתר. בחירת מאמרים

▪ כתבה אנחנו לא יכולים לחכות לטובה מהטבע, המשימה שלנו היא לקחת אותן ממנה. ביטוי עממי

▪ מאמר למה יתושים לא מתים בגשם? תשובה מפורטת

▪ מאמר מערות פראסי. נס טבע

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

▪ מאמר Scheme, pinout (pinout) כבל Samsung M100. אנציקלופדיה של רדיו אלקטרוניקה והנדסת חשמל

השאר את תגובתך למאמר זה:

שם:


אימייל (אופציונלי):


להגיב:





כל השפות של דף זה

בית | הספרייה | מאמרים | <font><font>מפת אתר</font></font> | ביקורות על האתר

www.diagram.com.ua

www.diagram.com.ua
2000-2024