שלום לכולם,
אני ייתן תחילה קצת רקע לבעיה:
התקנתי לאחרונה carpc ברכב, המחשב בנוי מלוח אם של מחשב נייד ישן , שמופעל ע"י שנאי DC – DC מV12 לV19 , ומחובר ל2 כרטיסי קול הראשון זה הכרטיס הפנימי (OB), והשני כרטיס קול חיצוני (Roland - Edirol) בעל 4 ערוצים שמחובר ב firewire .
מבחינת קונפיגרצית תוכנה, בעזרת Asio4All ו VAC הקול במחשב מנותב לתוך תוכנת AudioMulch (VST Host)וממנה בעזרת פלגין LS Filter מחולק ל 3 way כאשר הכרטיס החיצוני בעצם מקבל את 4 היציאות למגבר שמגביר אקטיבית את הקומפוננט (טוויטר ווופר) והפנימי את 2 היציאות שיוצאות למונו שמגביר את הסאב וופר.המגברים מקבלים אות טריגר להדלקה בסוויץ פתוח. הבעיה של רעשי ה"פאק" מתרחשת אך ורק בכרטיס קול ה OB ,בזמן הפעלת המחשב , כאשר תוכנת AudioMulch מנתבת את קול לכרטיס קול ה OB, ובאופן יותר חמור כאשר המחשב מבצע כיבוי. הרעיון לפתרון בגדול, הוא לבנות מפסק USB שמופעל ומופסק ע"י תוכנה, ויכול להיות מתוזמן גם עם הפעלת תוכנות אחרות במערכת ההפעלה , וגם עם כיבוי המחשב, ובעזרתו לכבות את המגברים בזמן רעש הפאק ולהדליקם לפי הצורך.
הפתרון שלי מחולק לשני חלקים ,חומרה ותוכנה :
אני רוצה לציין שהידע שלי באלקטרוניקה הוא בגדר תחביב בלבד, ואין לי הכשרה מקצועית באלקטרוניקה (אני מהנדס תוכנה) .
החומרים :
-עכבר אופטי ישן (עדיף אחד שלא עובד טוב , פרט למנורת הלד בתוכו שחייבת להאיר),
-ממסר שמופעל ע"י 6V ויכול להעביר V12 ובסביבות A10 , אפשר למצוא כזה בכל חנות אלקטרוניקה במקומות כמו שדרות הר ציון בתל אביב.
הביצוע :
לאחר פירוק העכבר ,הוצאתי לו את המנורה לחלוטין וחיברתי לו את חיבורי ההפעלה של הממסר, אחד לרגל של המנורה והשני ל+ של חיבור כבל הUSB (אפשר לראות בתמונות המצורפות).
את הממסר חיברתי בצורת normally open (את שתי הרגליים הקיצוניות של הממסר) לכבל החשמל שמפעיל את המגברים ובצורה הזאת למעשה כל פעם שהדרייבר של העכבר פעיל , ואמור להיות אור במנורת הלד, המגברים דולקים, וכל פעם שהדרייבר של העכבר לא פעיל (disabled) ,המגברים מנותקים.
כדי להפוך את הדריבר של העכבר להיות לא פעיל ,נפתח את הdevice manager
(Control panel -> System ->Hardware -> Device Manager ), ונבדוק תחת הענף Universal Serial Bus Controllers את כל העלים ששמם USB Root Hub לאיזה מהם מחובר העכבר (properties -> power) ,לאחר שמצאנו ,נזכור איזה מספר הוא מבין כל הUSB Root Hub מלמעלה למטה כי נצטרך את זה בהמשך , נלחץ כפתור ימני על USB Root Hub ונבחר disable , ברגע שעשינו את זה המפסק של הממסר (2 הרגליים החיצוניות) צריך להיות פתוח .
כדי לבצע הפעלה וכיבוי של הUSB בזמן, כתבתי תוכנה קטנה בC# שיודעת להריץ תוכניות ומשתמשת בספריה חיצונית(DLL ) ששולטת על הדרייברים במחשב כדי לכבות ולהדליק התקני USB, התוכנה תופסת את הevent של כיבוי המחשב ומבצעת מה שקובעים לה גם בעת כיבוי המחשב .
שכל מה שצריך זה להוריד את הקובץ zip המצורף ולפתוח אותו לאיפה שרוצים , לשים בספריית הstartup קיצור דרך לתוכנה (קיצור לmyrunner.exe)ולקנפג מה אתם רוצים שהיא תעשה בקובץ run.xml שמגיע עם התוכנה . ע"י הגדרת קובץ xml זה אנו קובעים אילו תוכנות אחרות צריכות לרוץ ומתי , לקבוע enable או disable ל usb מסויים או לכולם, ולקבוע זמן השהייה לכל פעולה (הוראות מפורטות יותר בתוך ספריית התוכנה Readme..).
MyRunner.zip
הפתרון פועל כרגע אצלי בצורה מושלמת
ב login התוכנה מנתקת את ה USB לפני הפעלת audioMulch ומחברת אותו ישר אחרי עם דיליי של 3 שניות ,
ובlogout מנתקת אותו עם תחילת תהליך ה shutdown . אשמח לשמוע תגובות והערות ולענות על כל שאלה..