14-09-2011, 20:50
|
|
|
חבר מתאריך: 05.07.09
הודעות: 117
|
|
עזרה בפרוייקטון IR - מבוסס מיקרו בקר (טרם הוחלט איזה)
שלום לכולם,
אני תלמיד י"ג אלקטרוניקה, והחלטתי על בנית פרויקט קטן אך עם זאת מאוד מאתגר.
הפרויקט יהיה מבוסס על מיקרו בקר והוא מציע פתרון לבעיה שלי עם מערכת הקולנוע ביתי בסלון
הצורך
בסלון קיימת מערכת מערכת קולנוע ביתי דיי פשוטה בלי יותר מידי פונקציות.
לקחתי יוזמה ובחרתי לעשות פרוייקט שיעשה לי קצת חיים קלים.
המערכת מחוברת למחשב המוציא אודיו אנלוגי ב6 ערוצים שמשמש במרכז מדיה (בעיקר סרטים) ומפעילים אותה כרגע רק כשיש סרט לראות.
היא יכולה להיות גם מחוברת לAUX רגיל כלומר 2 חיבורי RCA. היא יכולה גם להרחיב את השמע שמגיע מהRCA לסאטליטיים האחוריים. זה טוב כשרוצים לראות סרט מהממיר של HOT.
למעשה למערכת חסרון אחד עיקרי:
אין מצב standby. יש רק מפסק מאחורה והוא מפעיל ומכבה את המערכת. מאוד לא נוח.
בנוסף, חיבור הAUX מחובר לנתב אודיו. הנתב מקבל בכניסתו את אות השמע של הממיר של HOT, ומנתב בין יציאותיו - לטלויזיה, או לAUX של המערכת. זה נעשה באמצעות כפתור ידני (זה נתב AV שם 3 כניסות ו3 יציאות, רק שאני הפכתי את הכניסות והיציאות ולא השתמשתי בחיבורי הוידאו). אות הוידאו עצמו מחובר ישירות מהממיר אל הטלויזיה. רק האודיו מחובר כאמור. זה נורא מעצבן אם רוצים לשמוע למשל באמצעות המערכת סרט של HOT בסלון - להדליק את המערכת ולשנות את הכפתור בבורר. רק אני מהמשפחה יודע לעשות זאת....
למה לא להשתמש במפצל אודיו כך שגם הטלויזיה וגם המערכת יקבלו את אותו שמע?...ובכן, חשבתי על זה אך זה ירד מהפרק. זה לא פקרטי להשתיק או להוריד את הווליום בטלויזיה בכל פעם שרוצים לראות סרט מHOT במערכת קולנוע ביתי.
הפרויקט שלי למעשה מחליף את הצורך בשינוי המפסקים. למעשה, שינוי המפסקים הללו ייעשה באמצעות השלט של HOT (תיכנות הבקר באמצעות כל שלט IR אפשרי, ע"פ דרישה כלומר אין שלט ייעודי כל שלט מתאים להפעלה)
בהנחה שעבור כל לחצן בשלט קיים קוד מסוים אחד שלא ישתנה (אלא אם כן מתכתנתים אותו מחדש, וזה לא יקרה) אני אוכל למשעה להשתמש בפונקציה של הDVD/VCR בשלט וכך גם לשלוט במערכת (זה כבר קיים כבר עכשיו - תכנתתי אותו כך שיהיה לו את הקודים של השלט המקורי שהגיע עם המערכת), בכניסות, בווליום בבאס וכו', אך בעיקר בהדלקתה.
כל זה ממומש באמצעות מיקרו בקר שבכניסתו תהיה עין IR ויחוברו אליו מערכת מפסקים (את זה נשאיר לסוף הפרויקט). השלט ישלוט במערכת כאשר עין הIR תקלוט את תשדורת השלט.
נכון לרגע זה יהיה למעשה 2 מערכות מפסקים אך לכל אחד מהם בנפרד מוקדש פורט יציאה מהבקר שיוכל להיות ב"0" או ב"1". (כנראה יהיה סדרה של RELAY)
מערכת מפסקים 1 בוררת בכניסות אודיו ומחוברת לקונקטור מתאים שמוציא את האודיו.
מערכת מפסקים 2 מחוברת לRELAY 220V ולמעשה הוא יזין את המערכת קלונוע ביתי, כאשר הבקר ייקבע את מצבו באמצעות שינוי לוגי.
עין הIR יכולה להיות עין IR רגילה שאת האותות החשמליים שלה יגלה הבקר. בנוסף קיימת אפשרות נוספת להכניס עין IR קמצ משוכללת מSURE ELCTRONICS
העין הזאת מגיעה עם שלט והערכה נראית כך:
[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://www.sureelectronics.net/images/201106/1308317776791266877.JPG]
לינק למוצר באתר שלהם:
http://www.sureelectronics.net/goods.php?id=1312
יש טבלת יציאות למטה..
למעשה השלט בעל 8 כפתורים והציאה מהעין פשוטה מאוד: 3 סיביות, כלומר 8 מצבים ל לחצנים בהאתם. כל לחצן מתורגם למילה בינארית בהתאם.
אם אשתמש בעין הזאת, אוכל לתכנת את השלט ש HOT ללמוד את השלט שמגיע מהערכה וכך יהיה אפשר לשלוט בשלט של HOT.
כרגע נמשיך באופציה הראשונה - עין IR "ערומה" מחוברת למיקרו בקר, לא העין המתוחכמת.
מדובר במערכת שתהיה מחוברת למתח הרשת 220V ותכלול ספק כוח קטן שממנו יסופק מתח למיקרו בקר, לRELAYS ולמערכת קולנוע ביתי - יהיה שקע ייעודי למערכת. בנוסף מחברי RCA עבור האודיו. כאמור, עין IR לשלט טלויזיה.
לא הוחלט עדיין אם כל זה יהיה בתוך המערכת עצמה (יש שם מקום...) אבל נראה בהמשך.
יפה, אחרי ההסבר כאן מגיע החלק המעשי. הידע שלי בתכנות מוגבל מאוד. אני יודע לתכנת בשפת C באופן בסיסי מאוד, אבל יודע יותר טוב על הבקר at89c5131 של ATMEL. זה היה הבקר בפרוייקט סיום שלי בתיכון, בנוסף גם פרוייקט הגמר שלי במכללה י"ג-י"ד יהיה מבוסס עליו.
התוכנית שבניתי בתיכון כללה שימוש בפסיקות (פנימיות וחיצוניות) PWM מדידת מרחק באמצעות חיישן אולטרא סוניק, באמתעות חיישן מרחק IR אנלוגי ורמקול (שאליו הוצאנו צליל שממומש באמצעות טיימר) טיימרים וקצת תתגי שגרות פשוטות.
אני מבין שזה לא מספיק כדי להבין איך עובדים בקרים מסוג אחר שמבוססים על C מאחר ולכל בקר יש צורב משלו - בפרוייקט שעשיתי הצורב היה מובנה בבקר. בעיקר צריך להבין מזה אות IR של שלט, איך מאחסנים את הקוד שלו בזכרון EEPROM או flash ואיך מגלים אותו.
ניסיתי לבנות תרשים זרימה בסיסי מאוד שאולי יכול להבין מה אני רוצה...
שימו לב - מערכת מפסקים 1 =מערכת המפסקים ששולטת על הRALAY של הRCA
מערכת מפסקים 2= שולטת על כיבוי והדלקה על המערכת באמצעות RELAY 220V
השהייה= אני רוצה שיהיה השהייה בין שינוי מצב המפסקים. זאת כדי להגן על המערכת מכיבוי והדלקה מהירים שיכולים לשרוף דברים שם...לצורך העניין השהייה של 15 שניות.
השהייה יש גם למעכרת המפסקים השנייה שמחליפה בין יציאות הRCA לצורך העניין שניה אחת. (גם לצורכי הגנה)
יש לציין שחסר פה 2 תגי שגרות עבור תכנות של כל אחד משני הלחצנים. אין את זה בתרשים...
להזכירכם זהו תרשים בסיסי מאוד....
[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://img3.imageshack.us/img3/8118/projectqh.jpg]
איך שאני רואה זאת כרגע זה לא על הפרק לקנות כרטיס פיתוח מבוסס at89c5131. זה יקר מידי וגם גדול מידי. צריך בקר אחר עם עדיפות לאחד כזה שיש לו צורב מובנה שמתחבר למחשב בUSB (סגנון ARDUINO UNO). ושיהיה בשפת C.
אני יודע שיש עוד בקרים ממשפחת ה-51 כמו למשל 8952 שעולה 10 דולר באיבי ( http://www.ebay.com/itm/2-DIP-MPU-M...#ht_1229wt_1037)
שיש לו זכרון flash ואולי אפשר להקדיש מהזכרון שלו לקודים של ה-IR אבל אני לא יודע איך מתכנתים אותו.....
בקיצור צריך בקר אחר.
חיפשתי קצת על פרוייקטים של IR והגעתי לאחד שמבוסס על מיקרו בקר. זהו מאריך IR (שהייתי צריך עד היום, אך הבעיה נפתרה) שמבוסס על PIC 16F877. אין לו צורב מובנה.http://diyirrepeater.blogspot.com/
התוכנית של המאריך IR נמצאת בלינק הזה
http://www.box.net/public/zbq8x0s0tl
אני בטוח שאפשר להשתמש בחל מהתוכנית שלו כדי לקלוט ולגלות אות IR משלט. שימו לב לשרטוט החשמלי שלו:
[התמונה הבאה מגיעה מקישור שלא מתחיל ב https ולכן לא הוטמעה בדף כדי לשמור על https תקין: http://3.bp.blogspot.com/_B-JEmNTpwJk/RbDdvW8DgRI/AAAAAAAAABk/aSzjJZXnXJo/s1600/Schematic.gif]
במקרה הזה, של עין IR "ערומה" אות הIR נכנס כאות חשמלי ולא מתורגם לפני זה לאות אחר....ככל הנראה בינארי.
כלומר יש אפשרות להשתמש בבקר כדי לזהות קוד IR מלחצן מסויים על השלט ולהבחין בין אותות שונים מלחצנים שונים. השאלה איך שומרים אותם בזכרון פנימי/חיצוני ואיך ניתן להשוות בין קודים ולמצוא התאמה של הקוד ששמור בזכרון.
כאמור, הדברים פשוטים הרבה יותר כשמשתמשים בעין המתוחכמת שהזכרתי למעלה.
זהו, פה נגמר הידע שלי. אני צריך את עזרכם במציאת בקר זול ומתאים, כדאי שיהיה כמה שיותר קטן תכנות בשפת C (או מדריכים שימושיים). אולי אפשר לקנות כרטיס של ARDUINO ולשים עליו bootloader כך שיהיה אפשר לתכנת בשפת C ולא בשפה של ה-ARDUINO ?
בנוסף אם מישהו מנוסה בגילוי ושמירת קוד IR משלט, גילוי והשוואה של אות \IR לצורך זיהוי ובדיקה..... אנא שתפו.
תודה רבה שקראתם, עוד יותר שעזרתם!!
ערב טוב
ניב
תודה שקראתם, הרבה יותר תודה לעוזרים.
ניב
תודה רבה לעוזרים!!!
|