תוכן עניינים:
- שלב 1:
- שלב 2: רישום תצורה
- שלב 3: רישום נתונים
- שלב 4: מצב ADC חד-צדדי
- שלב 5:
- שלב 6: מצב ADC דיפרנציאלי
וִידֵאוֹ: Arduino ו- TI ADS1110 ADC 16 סיביות: 6 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
במדריך זה אנו בוחנים את השימוש ב- Arduino לעבודה עם ה- Texas Instruments ADS1110-IC ממיר אנלוגי לדיגיטלי של 16 סיביות להפליא אך שימושי.
הוא יכול לפעול בין 2.7 ל -5.5 וולט ולכן הוא בסדר גם עבור Arduino Due ולוחות פיתוח במתח נמוך יותר. לפני שתמשיך הלאה, אנא הורד את גליון הנתונים (pdf) מכיוון שהוא יהיה שימושי והתייחס אליו במהלך הדרכה זו. ה- ADS1110 נותן לך את האפשרות של ADC מדויק יותר ממה שמוצע על ידי ה- ADC של 10 סיביות של Arduino-וזה קל יחסית לשימוש. עם זאת הוא זמין רק כחלק חשוף ב- SOT23-6.
שלב 1:
החדשות הטובות הן שאתה יכול להזמין את ה- ADS1110 המותקן על לוח פריצה נוח מאוד. ה- ADS1110 משתמש באוטובוס I2C לתקשורת. מכיוון שיש רק שישה סיכות אינך יכול להגדיר את כתובת האוטובוס - במקום זאת, תוכל לבחור מתוך שישה גרסאות של ה- ADS1110 - כל אחת עם כתובת משלה (ראה עמוד שני בגיליון הנתונים).
כפי שאתה יכול לראות בתמונה למעלה, שלנו מסומן "EDO" התואם את כתובת האוטובוס 1001000 או 0x48h. ועם המעגלים לדוגמה השתמשנו בנגדי משיכה של 10kΩ באוטובוס I2C.
אתה יכול להשתמש ב- ADS1110 כ- ADC חד-צדדי או דיפרנציאלי-אך ראשית עלינו לבחון את רשימת התצורות המשמשת לשליטה במאפיינים שונים, וברשם הנתונים.
שלב 2: רישום תצורה
עברו לעמוד אחד עשר בגיליון הנתונים. גודל רשימת התצורות הוא בגודל של בתים אחד, וככל ש- ADS1110 מתאפס במחזור חשמל-עליך לאפס את הרישום אם הצרכים שלך שונים מברירות המחדל. גליון הנתונים מפרט את זה בצורה מסודרת למדי … סיביות 0 ו -1 קובעות את הגדרת הרווח עבור PGA (מגבר רווח הניתן לתכנות).
אם אתה רק מודד מתח או מתנסה, השאר את האפס כאפס לרווח של 1V/V. לאחר מכן, קצב הנתונים של ה- ADS1110 נשלט עם סיביות 2 ו -3. אם הדלקה רציפה מופעלת, הדבר קובע את מספר הדגימות בשנייה שצולמו על ידי ה- ADC.
לאחר ניסויים מסוימים ב- Arduino Uno גילינו שהערכים המוחזרים מה- ADC היו מעט כבויים בשימוש בקצב המהיר ביותר, אז השאר את זה כ- 15 SPS אלא אם נדרש אחרת. ביט 4 מגדיר דגימה רציפה (0) או דגימה חד פעמית (1). התעלם מביטים 5 ו -6, אולם הם תמיד מוגדרים כ -0.
לבסוף ביט 7-אם אתה במצב דגימה חד פעמי, הגדרתו ל -1 מבקשת דוגמה-וקריאתה תגיד לך אם הנתונים המוחזרים הם חדשים (0) או ישנים (1). אתה יכול לבדוק שהערך הנמדד הוא ערך חדש - אם החלק הראשון של בית התצורה שמגיע לאחר הנתונים הוא 0, הוא חדש. אם היא מחזירה 1 ההמרה ל- ADC לא הסתיימה.
שלב 3: רישום נתונים
מכיוון ש- ADS1110 הוא ADC של 16 סיביות, הוא מחזיר את הנתונים על פני שני בתים-ולאחר מכן עוקב אחר הערך של רשם התצורה. אז אם אתה מבקש שלושה בתים כל המגרש חוזר. הנתונים נמצאים בצורה "השלמה של שניים", שהיא שיטה לשימוש במספרים חתומים עם בינארי.
המרת שני הבייטים מתבצעת על ידי כמה מתמטיקה פשוטה. כאשר הדגימה ב- 15 SPS, הערך המוחזר על ידי ה- ADS1110 (לא המתח) נופל בין -32768 ל- 32767. הבייט הגבוה יותר של הערך מוכפל ב- 256, ואז מתווסף לבייט התחתון -שמוכפל אז ב -2.048 ולבסוף מחולק ל 32768. אל תיבהל, כפי שאנו עושים זאת במערכון הדוגמאות הקרוב.
שלב 4: מצב ADC חד-צדדי
במצב זה אתה יכול לקרוא מתח שנופל בין אפס ל -2.048 וולט (וזה במקרה גם מתח הייחוס המובנה עבור ה- ADS1110). המעגל לדוגמה הוא פשוט (מתוך גליון הנתונים).
אל תשכח את נגדי המשיכה של 10kΩ באוטובוס I2C. הסקיצה הבאה משתמשת ב- ADS1110 במצב ברירת המחדל ופשוט מחזירה את המתח הנמדד:
// דוגמה 53.1 - ADS1110 וולטמטר חד צדדי (0 ~ 2.048VDC) #כלול "Wire.h" #הגדר מודעות 1110 0x48 מתח צף, נתונים; בת Highbyte, Lowbyte, configRegister; הגדרת void () {Serial.begin (9600); Wire.begin (); } לולאת חלל () {Wire.requestFrom (ads1110, 3); בעוד (Wire.available ()) // ודא שכל הנתונים מגיעים ב- {highbyte = Wire.read (); // בייט גבוה * B11111111 lowbyte = Wire.read (); // בתים נמוכים configRegister = Wire.read (); }
data = highbyte * 256;
data = data + lowbyte; Serial.print ("נתונים >>"); Serial.println (נתונים, DEC); Serial.print ("מתח >>"); מתח = נתונים * 2.048; מתח = מתח / 32768.0; Serial.print (מתח, DEC); Serial.println ("V"); עיכוב (1000); }
שלב 5:
לאחר ההעלאה, חבר את האות למדידה ופתח את הצג הסדרתי - יוצג בפניך משהו דומה לתמונת הצג הטורי המוצג בשלב זה.
אם עליך לשנות את הרווח של מגבר הרווח הניתן לתכנות של ה- ADC - יהיה עליך לכתוב בית חדש לרשם התצורה באמצעות:
Wire.beginTransmission (ads1110); Wire.write (בייט תצורה); Wire.endTransmission ();
לפני בקשת נתוני ה- ADC. זה יהיה 0x8D, 0x8E או 0x8F לערכי רווח של 2, 4 ו -8 בהתאמה - והשתמש ב- 0x8C כדי לאפס את ADS1110 בחזרה לברירת המחדל.
שלב 6: מצב ADC דיפרנציאלי
במצב זה ניתן לקרוא את ההבדל בין שני מתחים שכל אחד מהם נופל בין אפס ל -5 V. מעגל הדוגמה הוא פשוט (מתוך דף הנתונים).
עלינו לציין כאן (ובגיליון הנתונים) כי ה- ADS1110 אינו יכול לקבל מתח שלילי על כל אחת מהקלטות. אתה יכול להשתמש בסקיצה הקודמת לאותן התוצאות- והמתח המתקבל יהיה הערך של וין מחסר מווין+. לדוגמה, אם היה לך 2 V ב- Vin+ ו- 1 V ב- Vin- המתח המתקבל יהיה 1 V (כאשר הרווח מוגדר ל- 1).
שוב אנו מקווים שמצאת את זה מעניין ואולי שימושי. את הפוסט הזה הביאה לכם pmdway.com - הכל ליצרנים ולחובבי האלקטרוניקה, עם משלוח חינם לכל רחבי העולם.
מוּמלָץ:
Arduino Nano-MMA8452Q 3 צירים 12 סיביות/8 סיביות מד תאוצה דיגיטלי: 4 שלבים
Arduino Nano-MMA8452Q 3 צירים 12 סיביות/8 סיביות מד תאוצה דיגיטלי: ה- MMA8452Q הוא מד תאוצה חכם בעל הספק נמוך, בעל שלושה צירים, קיבולי, מיקרומכני עם 12 סיביות רזולוציה. אפשרויות לתכנות גמישות למשתמש ניתנות בעזרת פונקציות מוטבעות במד התאוצה, הניתנות להגדרה לשני מפסיקים
מחולל סאונד בעל 8 סיביות נשלט MIDI/Arduino (AY-3-8910): 5 שלבים
מחולל סאונד בעל 8 סיביות נשלט MIDI/Arduino (AY-3-8910): בנה מחולל סאונד בעל 8 סיביות שנשמע רטרו ושולט בו באמצעות MIDI. עיצוב זה בהשראת חלקיו של חובבי צ'יפטון שבונים מעגלי ארדואינו להפעלת קבצי Chiptune וכמה רעיונות משלי לשלב את הצליל של חסרונות של משחקי וידאו מוקדמים
Raspberry Pi MMA8452Q 3 צירים 12 סיביות/8 סיביות מד תאוצה דיגיטלי Java: 4 שלבים
Raspberry Pi MMA8452Q 3 צירים 12 סיביות/8 סיביות מד תאוצה דיגיטאלי: מדגם ה- MMA8452Q הוא מד תאוצה חכם, בעל צריכת חשמל נמוכה, בעל שלושה צירים, קיבולי, מיקרומכני עם 12 סיביות רזולוציה. אפשרויות לתכנות גמישות למשתמש ניתנות בעזרת פונקציות מוטבעות במד התאוצה, הניתנות להגדרה לשני מפסיקים
משחקי Arduino 8 סיביות: 4 שלבים
משחקי Arduino 8 סיביות: היי חברים! זו תהיה הדרכה פשוטה כיצד לבנות התקנת משחקים של 8 סיביות באמצעות arduino
DIY MusiLED, נוריות מוזיקה מסונכרנות עם יישום Windows ולינוקס בלחיצה אחת (32 סיביות ו 64 סיביות). קל לשחזור, קל לשימוש, קל לנייד: 3 שלבים
DIY MusiLED, נוריות מוזיקה מסונכרנות עם יישום Windows ולינוקס בלחיצה אחת (32 סיביות ו 64 סיביות). קל לשחזור, קל לשימוש, קל לנייד: פרויקט זה יעזור לך לחבר 18 נוריות LED (6 אדומות + 6 כחולות + 6 צהובות) ללוח ה- Arduino ולנתח את אותות כרטיס הקול של המחשב שלך בזמן אמת ולהעביר אותן אל הנורות כדי להאיר אותן בהתאם לאפקטים של קצב (סנאר, כובע גבוה, בעיטה)