שְׁאֵלָה:
כיצד אוכל לקבל קריאת מתח בטווח מלא מחיישן לחץ?
bpijls
2009-11-03 05:09:14 UTC
view on stackexchange narkive permalink

אני מגיש יישום באמצעות ה- DIY Force Sensitive Resistor (FSR) שנלקח מ זה ניתן להוראות. ההתנגדות של חיישן זה נע בדרך כלל בין 20kOhm בעת מנוחה ל 9kOhm בעת לחיצה.

כיצד אוכל להמיר את ערכי ההתנגדות הללו לאות בו 0v תואם את מצב המנוחה ו- 5v תואם למצב "לחוץ" כדי שאוכל לקרוא אותו עם ארדואינו?

שְׁלוֹשָׁה תשובות:
#1
+14
stevenvh
2012-06-06 12:56:52 UTC
view on stackexchange narkive permalink

אתה רוצה טווח אותות בין 0 וולט ל -5 וולט. האם לא כולנו :-)? בוא נלך לגישה אחרת ונראה לאן זה מביא אותנו.

נקודת המוצא: הפיתרון הזול והפשוט ביותר.

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

enter image description here

העקומה מראה את הפרש המתח בין הקריאה המינימלית למקסימלית (9k \ $ \ Omega \ $ ו- 20k \ $ \ Omega \ $ resp.) כ- פונקציה של הנגד הסדרה (ב- k \ $ \ Omega \ $). ראה, אכן יש לו מקסימום. קל למצוא אם אתה זוכר ש

\ $ \ left (\ dfrac {f (x)} {g (x)} \ right) '= \ dfrac {f' (x) \ cdot g (x) - f (x) \ cdot g '(x)} {g ^ 2 (x)} \ $

ההפרש \ $ V_ {MAX} \ $ - \ $ V_ {MIN} \ $ יש אקסטרים עבור

\ $ \ dfrac {d} {d R_X} \ left (\ dfrac {R_ {MAX}} {R_ {MAX} + R_X} - \ dfrac {R_ {MIN }} {R_ {MIN} + R_X} \ right) = 0 \ $

פתרון עבור $ R_X \ $ נותן

\ $ R_X = \ sqrt {R_ {MIN} \ cdot R_ {MAX}} \ $

יופי!

אז במקרה שלנו הנגד הסדרה יהיה 13.42k \ $ \ Omega \ $ , תוכלו לבדוק זאת בגרף. הצבת הנגדים בין 0V ל- + 5V זה ייתן לנו טווח פלט של [2V, 3V]. זה הטווח המקסימלי שתוכל להשיג עם נגד אחד (*).

האם זה מספיק? ל- Arduino יש ADC של 10 סיביות, כך שטווח זה ייתן לך טווח של 200 רמות דיסקרטיות. זה אמור לתת דיוק מספיק עבור חיישן DIY. אז אין צורך ברכיבים אחרים כמו אופמים.


(*) התשובה המקובלת נותנת טווח של 1.9 וולט, אך יש לה את ה משוואות השגויות . אי אפשר להשיג טווח גבוה יותר מ -1 וולט עם נגד אחד ורק אספקת +5 וולט.

+1. זה אמור לקבל יותר הצבעות. כולם צריכים מחלק נגדים לנגד משתנה מדי פעם, ואז למה לא להשתמש בטווח האופטימלי במקום נגד הנגד המטופש מסדרת 10k?
#2
+5
stevenvh
2011-09-10 14:48:50 UTC
view on stackexchange narkive permalink

אתה זקוק למתח שלילי כדי שתוכל להפוך מחלק מתח נגד ל 0V. אני מניח שיש לך + 5V ו- -5V זמינים.
הצב את הנגד המשתנה שלך $ R_X \ $ בין +5V ל- GND. עכשיו אתה צריך למצוא את הערך עבור נגד נפתח בין GND ל -5 V. עכשיו זה קל; אתה רוצה 0V החוצה כאשר הנגד המשתנה הוא 20k \ $ \ Omega \ $, ולכן הנפתח צריך להיות גם 20k \ $ \ Omega \ $ כי כל העניין הוא סימטרי.
הבא עלינו לגלות מה מתח היציאה של המחלק יהיה כאשר \ $ R_X \ $ הוא 9k \ $ \ Omega $. נציין שהזרם דרך \ $ R_X \ $ הוא אותו זרם כמו הזרם דרך הנגד הנפתח, אז

\ $ \ dfrac {5V - V_O} {9k \ Omega} = \ dfrac {V_O - (-5V)} {20k \ Omega} \ $

עבודה זו נותנת לנו \ $ V_O = 1.9V \ $. כעת כל מה שנותר לעשות הוא לשנות את הגודל של 0V..1.9 V עד 0V..5V. לשם כך אנו משתמשים ב RRIO (Rail-to-Rail I / O) אופמפ כמגבר לא הפוך

enter image description here

אם תבחר \ $ R1 = 18k \ Omega \ $ ו- $ $ = 47k \ Omega \ $ תקבל טווח מתח יציאה של 0V..5V עבור \ $ R_X \ $ של 20k \ $ \ Omega \ $ .. 9k \ $ \ אומגה \ $.

#3
+1
blalor
2009-11-03 05:50:39 UTC
view on stackexchange narkive permalink

אני חושב שהדרך הפשוטה ביותר תהיה מחלק מתח שנותן לך 5V ב 9k ויורד ככל שההתנגדות עולה. תוכלו לשחק עם שילובי נגדים שונים ב מחשבון מחלק המתח הזה. עם זאת, זו תהיה התקדמות ליניארית.

אתה לא יכול ליצור מחלק שנותן לך 5 וולט אם כל מה שיש לך הוא 5 וולט.


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