בפרויקט זה נפתח מעגל מהנה באמצעות חיישן כוח ו- Arduino Uno. מעגל זה מייצר קול הקשור באופן לינארי לכוח המופעל על החיישן. בשביל זה אנחנו הולכים לממשק חיישן FORCE עם Arduino Uno. ב- UNO, אנו משתמשים בתכונה ADC 8 סיביות (אנלוגי להמרה דיגיטלית) כדי לבצע את העבודה.
חיישן כוח או נגד כוח רגיש
חיישן FORCE הוא מתמר שמשנה את התנגדותו בעת הפעלת לחץ על פני השטח. חיישן FORCE זמין בגדלים וצורות שונות. אנו הולכים להשתמש באחת הגרסאות הזולות יותר מכיוון שאיננו זקוקים לדיוק רב כאן. FSR400 הוא אחד מחיישני הכוח הזולים ביותר בשוק. התמונה של FSR400 מוצגת באיור למטה. הם נקראים גם נגד רגיש לכוח או FSR מכיוון שהתנגדותו משתנה בהתאם לכוח או ללחץ המופעל עליו. כאשר מפעילים לחץ על הנגד שחוש בכוח זה ההתנגדות שלו פוחתת כלומר, ההתנגדות היא ביחס הפוך לכוח המופעל. כך שכאשר לא מופעל עליו לחץ, ההתנגדות של FSR תהיה גבוהה מאוד.
כעת חשוב לציין כי ה- FSR 400 רגיש לאורך, הכוח או המשקל צריכים להיות מרוכזים במבוך באמצע העין של החיישן, כפי שמוצג באיור. אם מופעל הכוח בזמנים לא נכונים המכשיר עלול להזיק לצמיתות.
דבר חשוב נוסף שצריך לדעת, החיישן יכול להניע זרמים בטווח גבוה. אז קחו בחשבון את זרמי הנהיגה בזמן ההתקנה. כמו כן לחיישן יש מגבלת כוח שהיא 10 ניוטון. כך שנוכל להחיל משקל של 1 ק"ג בלבד. אם משקלים גבוהים מ -1 ק"ג מוחלים החיישן עשוי להראות סטיות מסוימות. אם הוא גדל יותר מ -3 ק"ג. החיישן עלול להזיק לצמיתות.
כפי שנאמר קודם חיישן זה משמש לחישת שינויי הלחץ. לכן כאשר משקל מוחל על גבי חיישן FORCE, ההתנגדות משתנה באופן דרסטי. ההתנגדות של FS400 למשקל מוצגת בגרף להלן,
כפי שמוצג באיור לעיל, ההתנגדות בין שני המגעים של החיישן פוחתת עם המשקל או שהמוליכות בין שני מגעים של החיישן עולה. ההתנגדות של מוליך טהור ניתנת על ידי:
איפה, עמידות של מוליך
l = אורך המוליך
A = שטח מוליך.
עכשיו שקול מוליך עם התנגדות "R", אם מופעל לחץ כלשהו על גבי המוליך, השטח על המוליך פוחת ואורך המוליך גדל כתוצאה מלחץ. אז לפי הנוסחה ההתנגדות של המוליך צריכה לעלות, מכיוון שההתנגדות R היא ביחס הפוך לשטח וגם ביחס ישר לאורך l.
אז עם זה עבור מוליך בלחץ או משקל ההתנגדות של המוליך עולה. אך שינוי זה קטן בהשוואה להתנגדות הכוללת. לשם שינוי ניכר מוליכים רבים נערמים יחד. זה מה שקורה בתוך חיישני הכוח המוצגים באיור לעיל. במבט מקרוב ניתן לראות קווים רבים בתוך החיישן. כל אחד מהקווים הללו מייצג מוליך. רגישות החיישן היא במספרי מוליכים.
אך במקרה זה ההתנגדות תפחת עם הלחץ מכיוון שהחומר המשמש כאן אינו מוליך טהור. ה- FSR כאן הם מכשירי סרט פולימר עבה (PTF) חזקים. אז לא מדובר במכשירי חומר מוליכים טהורים. אלה בנויים מחומר המציג ירידה בהתנגדות עם עליית כוח המופעלת על פני החיישן. חומר זה מראה מאפיינים כפי שמוצג בתרשים של FSR.
שינוי בהתנגדות זה לא יכול להועיל אלא אם כן נוכל לקרוא אותם. הבקר בהישג יד יכול לקרוא רק את הסיכויים במתח ולא פחות מכך, לשם כך נשתמש במעגל מחלקי מתח, ובכך נוכל להפיק את שינוי ההתנגדות כשינוי מתח.
מחלק מתח הוא מעגל התנגדות ומוצג באיור. ברשת התנגדות זו יש לנו התנגדות קבועה אחת והתנגדות משתנה אחרת. כפי שמוצג באיור, R1 כאן הוא התנגדות קבועה ו- R2 הוא חיישן FORCE אשר פועל כהתנגדות. נקודת האמצע של הענף נלקחת למדידה. עם שינוי R2, יש לנו שינוי ב- Vout. אז עם זה יש לנו שינוי מתח עם המשקל.
כעת חשוב לציין שכאן, הקלט שנלקח על ידי הבקר לצורך המרת ADC הוא נמוך עד 50µAmp. אפקט טעינה זה של מחלק מתח מבוסס התנגדות חשוב מכיוון שהזרם הנובע מ- Vout של מחלק המתח מגדיל את אחוז השגיאה עולה, לעת עתה איננו צריכים לדאוג להשפעת הטעינה.
כיצד לבדוק חיישן FSR
ניתן לבדוק את הנגד לחישת הכוח באמצעות מולטימטר. חבר את שני הפינים של חיישן FSR למולטימטר מבלי להפעיל כוח ובדוק את ערך ההתנגדות, הוא יהיה גבוה מאוד. ואז הפעל כוח כלשהו על פניו וראה את הירידה בערך ההתנגדות.
יישומים של חיישן FSR
נגדים לחישה בכוח משמשים בעיקר ליצירת "כפתורים" לחשי לחץ. הם משמשים במגוון תחומים כגון חיישני תפוסה ברכב, רפידות מגע מתנגדות, קצות האצבעות הרובוטיים, גפיים מלאכותיות, מקשי מקשים, מערכות פרוניקציה לרגליים, כלי נגינה, אלקטרוניקה משובצת, ציוד בדיקה ומדידה, ערכת פיתוח OEM ואלקטרוניקה ניידת, ספורט. הם משמשים גם במערכות מציאות רבודה וכן כדי לשפר את האינטראקציה הניידת.
רכיבים נדרשים
חומרה: Arduino Uno, ספק כוח (5v), קבל 1000 uF, קבלים 100nF (3 חתיכות), נגד 100KΩ, זמזם, נגד 220Ω, חיישן כוח FSR400.
תוכנה: Atmel studio 6.2 או Aurdino מדי לילה
תרשים מעגל והסבר עבודה
חיבור המעגל לממשק נגד חישת כוח עם ארדואינו מוצג בתרשים שלהלן.
המתח על פני החיישן אינו ליניארי לחלוטין; זה יהיה רעשני. כדי לסנן את הרעש ממוקמים קבלים על פני כל נגדים במעגל המחלק כפי שמוצג באיור.
כאן אנו ניקח את המתח שמספק המחלק (מתח המייצג משקל באופן ליניארי) ולהאכיל אותו באחד מערוצי ה- ADC של UNO. לאחר ההמרה אנו הולכים לקחת את הערך הדיגיטלי הזה (המייצג משקל) ולקשר אותו לערך PWM להנעת הבאזר.
אז עם המשקל יש לנו ערך PWM שמשנה את יחס החובה שלו בהתאם לערך הדיגיטלי. גבוה יותר הערך הדיגיטלי גבוה יותר יחסי החובה של PWM כך שהרעש שנוצר על ידי זמזם גבוה יותר. אז קשרנו משקל לצליל.
לפני שנמשיך, בואו נדבר על ADC של Arduino Uno. ל- ARDUINO שישה ערוצי ADC, כפי שמוצג באיור. באלה כל אחד מהם או כולם יכולים לשמש ככניסות למתח אנלוגי. ה- UNO ADC הוא ברזולוציה של 10 סיביות (כך שערכי המספר השלם מ- (0- (2 ^ 10) 1023)). פירוש הדבר שהוא ימפה את מתח הכניסה בין 0 ל -5 וולט לערכים שלמים בין 0 ל 1023. אז לכל (5/1024 = 4.9mV) ליחידה.
כאן נשתמש ב- A0 של UNO.
עלינו לדעת מעט דברים.
|
ראשית לערוצי UNO ADC יש ערך הפניה ברירת מחדל של 5V. זה אומר שאנחנו יכולים לתת מתח כניסה מרבי של 5V להמרת ADC בכל ערוץ קלט. מכיוון שחיישנים מסוימים מספקים מתח מ -0-2.5 וולט, עם הפניה של 5 וולט אנו מקבלים דיוק נמוך יותר, כך שיש לנו הוראות המאפשרות לנו לשנות את ערך הייחוס הזה. אז לשינוי ערך הייחוס שיש לנו ("AnalogReference ();") לעת עתה אנו משאירים את זה כ-.
כברירת מחדל אנו מקבלים את רזולוציית ה- ADC המקסימלית בלוח שהיא 10 ביט, ניתן לשנות את הרזולוציה הזו באמצעות הוראות ("analogReadResolution (bits);"). שינוי ברזולוציה זה יכול להיות שימושי במקרים מסוימים. לעת עתה אנו משאירים את זה כ.
כעת אם התנאים שלמעלה מוגדרים כברירת מחדל, אנו יכולים לקרוא את הערך מ- ADC של הערוץ '0' על ידי קריאה ישירה לפונקציה "analogRead (pin);", כאן "pin" מייצג את הפין שבו חיברנו אות אנלוגי, במקרה זה זה יהיה "A0". ניתן לקחת את הערך מ- ADC למספר שלם כ- int SENSORVALUE = analogRead (A0); ", לפי הוראה זו הערך לאחר ADC נשמר במספר השלם" SENSORVALUE ".
ה- PWM של Arduino Uno יכול להשיג בכל אחד מהסיכות המסומנות כ- ~ על לוח ה- PCB. ישנם שישה ערוצי PWM ב- UNO. אנו הולכים להשתמש ב- PIN3 למטרתנו.
analogWrite (3, VALUE); |
ממצב לעיל אנו יכולים לקבל ישירות את אות ה- PWM בסיכה המתאימה. הפרמטר הראשון בסוגריים הוא לבחירת מספר הסיכה של אות ה- PWM. הפרמטר השני הוא לכתיבת יחס חובה.
ניתן לשנות את ערך ה- PWM של UNO מ- 0 ל- 255. כאשר "0" הוא הנמוך ביותר ל- "255" כגבוה ביותר. עם 255 כיחס חובה נקבל 5 וולט ב- PIN3. אם יחס החובה נקבע כ 125 נקבל 2.5 וולט ב- PIN3.
עכשיו יש לנו ערך 0-1024 כפלט ADC ו- 0-255 כיחס חובה PWM. אז ADC הוא בערך פי ארבעה מיחס ה- PWM. אז על ידי חלוקת תוצאת ADC ב -4 נקבל את יחס החובה המשוער.
עם זה יהיה לנו אות PWM שיחס החובה שלו משתנה באופן ליניארי עם המשקל. זה ניתן לזמזם, יש לנו מחולל צלילים בהתאם למשקל.