בידוד בין מיקרו-בקר ובין מחשב, בעזרת OptoCouplers - אלקטרוניקה ומודינג - HWzone פורומים
עבור לתוכן
  • צור חשבון

בידוד בין מיקרו-בקר ובין מחשב, בעזרת OptoCouplers


card

Recommended Posts

שלום

היה לי כאן Thread שדיבר על Isolator מגניב,

והוא אכן דרך אחת לבודד בין המחשב לבין המיקרו-בקר.

הזמנתי אותו.

לאחרונה, חשבתי על טריק מעניין יותר, ונוח יותר לביצוע:

אם במקום להשתמש במיקרו-בקר שכולל בתוכו שבב to Serial TTL,

נשתמש במיקרו-בקר שלא כולל את זה,

אז נוכל לעשות כזה דבר:

לחבר למחשב מתאם USB-to-SerialTTL,

כמו זה למשל:

34qs5te.jpg

http://imall.iteadstudio.com/im120525005.html

ואז לחבר בין המתאם FTDI הזה אל המיקרו-בקר, בעזרת OptoCouplers,

כמו PC817 למשל:

usa-on-sale-698110-Optocoupler-PC817C-B-EL817B-BPC817-JC817C-ORPC817-DIP-4-Optocoupler.jpg

http://www.electrodragon.com/?product=sharp-pc817-optoisolator-optocoupler-dip-4

צריך בעצם 3 OptoCouplers:

אחד מהמתאם(TX) אל המיקרו-בקר(RX),

שני המיקרו-בקר(TX) אל המתאם(RX),

והשלישי מהמתאם(DTR) אל המיקרו-בקר(רגל Reset).

בנוסף, המיקרו-בקר יצטרך לקבל מקור מתח כלשהו.. או ספק..

אמור לעבוד נכון?

האם PC817 מתאים כאן?

הוא מבוסס טרנזיסטור,

לא תהיה עם זה בעיה בכניסות של המיקרו-בקר או בכניסה של ה-FTDI?

קישור לתוכן
שתף באתרים אחרים

אמור לעבוד - תצתרך לחבר את המבודדים האופטיים בהתאמה כלומר אם pul up על הטרנזיסטור וכדומה

ה PC817 זה המבודד הכי נפוץ, יש כזה בכל בתקשורת בין 2 חלקי המעגל. בספקים הוא מתמודד אם כמה עשרות KHZ ויותר ועובד במעגלים שיש להם מתחי ספק של 5V (בצד ה LED) ו 12V (בצד הטרנזיסטור) - אם הנגדים המתאימים, אני לא חושב שתהיה בעיה לשים אותו גם ל 5V-5V ומטה

קישור לתוכן
שתף באתרים אחרים

אני בטוח שאתה יכול למצוא מודול FTDI ביותר זול מזה בחנויות הסיניות (דרך איביי, ושאר האתרים).

מבודדים אופטים הם הרבה יותר איטים מטרנזיסטורים, שכן זה ישפיע לך על מהירות הצריבה.

אתה יכול לנסות לחפש מבודד אופטי יותר מהיר, כמו כן צריך לבדוק מבחינת הלוגיקה איך לחבר את המבודד לקווי הבקר והFTDI, האם יש צורך בדחיפה דו כיוונית (push pull) או מספיק להשתמש במבודד ונגד Pull up.

קישור לתוכן
שתף באתרים אחרים

אני בטוח שאתה יכול למצוא מודול FTDI ביותר זול מזה בחנויות הסיניות (דרך איביי, ושאר האתרים).

נכון יש יותר זולים.

אבל הוא נראה עשוי טוב, וכולל מתג עבור 5v ו-3.3v, לכן הזמנתי אותו..

מבודדים אופטים הם הרבה יותר איטים מטרנזיסטורים, זה ישפיע לך על מהירות הצריבה.

מהירות הצריבה של רוב לוחות הארדואינו(דרך ה-Serial, כלומר שני החוטים TX RX) היא בד"כ 57,600bps או 115,200bps.

מבדיקה מהירה שעשיתי עכשיו עבור המפרט של כמה לוחות, זה נראה ש-115,200bps זה המקסימום.

האם ה-PC817 מתאים לכך?

אתה יכול לנסות לחפש מבודד אופטי יותר מהיר

אם תגידו שהוא לא מתאים למהירויות האלה, אז אני אשיג אחד אחר...

כמו כן צריך לבדוק מבחינת הלוגיקה איך לחבר את המבודד לקווי הבקר והFTDI, האם יש צורך בדחיפה דו כיוונית (push pull) או מספיק להשתמש במבודד ונגד Pull up.

כאמור,

התכנות של לוח נעשה דרך Serial TTL,

מבחינתנו זה אומר סה"כ שני חוטים - RX ו-TX.

כל אחד מהם הוא חד-כיווני,

לכן אם הבנתי אותך נכון(לגבי "האם יש צורך בדחיפה דו כיוונית") - התשובה היא שזה חד כיווני..

כמו כן חוץ מה-TX וה-RX, יש עוד חוט אחד, שמעביר DTR, שבעצם אומר ללוח לעשות Reset.

גם זה חד-כיווני.

אמור לעבוד - תצתרך לחבר את המבודדים האופטיים בהתאמה כלומר אם pul up על הטרנזיסטור וכדומה

שניכם הזכרתם Pull Up.

למה בעצם צריך Pull כלשהו?

ולמה דווקא Up ולא Down?

קישור לתוכן
שתף באתרים אחרים

אז בעצם המוצא של הטרנזיסטור, כשה-LED לא דולק, הוא כזה שלא נחשב ערך כלשהו ("0"או "1")?

אוקיי, ולמה לא Pull Down?

הרי אם ה-LED של ה-OptoCoupler לא דולק, אנחנו רוצים שזה יחשב "0" לא?

הרי מה שיקבל את זה אחרי זה, מצפה לעבוד בלודגיקה חיובית, לא שלילית...

(אם אני מבין נכון)

קישור לתוכן
שתף באתרים אחרים

אתה תרצה להפעיל את הטרנזיסטור בתצורת common emitter בין מצב רוויה לקטעון.

הטרנזיסטור יכול למשוך את הקולקטור שלו לאדמה, בלי נגד pull up אין מה שימשוך את המוצא למעלה ל5/3v

חיבור זה יגרום ללוגיקה הפוכה. אפשר לתקן את זה ע"י הפעלת הלד של המצמד גם כן בלוגיקה הפוכה (ע"י חיבור האדמה שלו (קטודה) למוצא לוגי)

קישור לתוכן
שתף באתרים אחרים

הממ

אולי נעשה את זה יותר פשוט..

האם יש מודול קיים כלשהו, שנותן בידוד(ע"י optocoupler) לאותות חד-כיווניים?

ושמתאים למהירות של עד 115,200bps

אני צריך בעצם 3 "נתיבים"..

אחד עבור TX ל-RX בכיוון אחד,

עוד אחד עבור TX ל-RX בכיוון השני,

ועוד אחד עבור ה-Reset - זה המוצא DTR של המתאם FTDI..

קישור לתוכן
שתף באתרים אחרים

כן אבל זה נראה שרמת הידע שלי בטרנזיסטורים לא מספיקה עדיין,

אני חשבתי שה-OptoCoupler פשוט עובד:

מכניסים לו "0", יוצא "0"

מכניסים לו "1", יוצא "1"

אבל אמרתם שכשמכניסים "0", אז לא יוצא כלום, ולכן צריך Pull.

רק שאני לא מבין למה Pull Up ולא Down..

הרי אנחנו רוצים שכשה-LED לא דולק, יצא "0" ביציאה,

וכשה-LED דולק, יצא "1"..

כך זה אמור להיות לא?

כך זה המצב הפשוט..

קישור לתוכן
שתף באתרים אחרים

אוקיי קראתי אתמול והיום על טרנזיסטורים, כדי להשלים ידע חסר לגביהם, ועכשיו זה קצת יותר ברור.

אם אני מבין נכון:

המבודד PC817 כשהוא יקבל "1" בכניסה, יוצא "0" ביציאה,

וכשהוא מקבל "0" בכניסה, לא יוציא כלום ביציאה. בגלל זה הוא צריך Pull-Up.

וזה קורה, בגלל ש-PC817 מבוסס NPN.

האם 3 השורות האחרונות שכתבתי נכונות?

אם אכן מה שכתבתי מדויק,

אז יוצא בעצם שה-PC817 הוא מבודד אופטי, אבל מהווה בעצם גם שער Not..

בגלל שאנילא רוצה את ההיפוך הזה, האם קיים מבודד אופטי שהוא מבוסס PNP?

כך כשאכניס "1", אקבל ביציאה "1",

וכשאכניס "0", לא אקבל כלום ביציאה, ואצטרך Pull Down כדי שזה יהיה "0"...

קישור לתוכן
שתף באתרים אחרים

תחשוב על זה קצת :

המבודד האופטי מכיל LEDמצד 1, חלון זכוכית, וקולט אור כלשהוא מצד 2

בצד 1 אתה מדליק את ה LED (על ידיי 1 לוגי דרך נגד בהתאמה ל LED). בצד 2, אתה מחבר רגל אחת לאדמה. המבדד האופטי לא הופך את האור בחזרה למתח, וכמובן לא יכול להעביר מתח ישירות בין 2 הצדדים (בדיוק בשביל שהוא לא יעביר שמים אותו). לכן אין לו מאיפה לקחת מתח כדיי להוציא מתח ברגל השניה. הרגל השניה תישאר ללא מתח.....

איך אם כך אתה מוציא ממנו את המידע?

בצד 2 יש פוטו טרנזיסטור NPN. הרגליים שאתה רואה מבחוץ מצד 2 הם C ו E של הפוטו טרנזיסטור, מה שאתה מקבל בצד 2 זה קצר בין הרגליים כשהלד דולק ונתק כשהלד לא דולק (כל זה בקוטביות אחת כמובן - כש E מחובר ל - ו C מחובר ל +)

יש לך כניסה לוגית (0/1 נניח TTL) במעגל שאמור לקרוא את המידע מהמבודד. תחבר את הכניסה הזאת ל 1 לוגי קבוע (5V), דרך נגד. המעגל יקבל 1קבוע, והנגד לא יותר מידי מפריע לו - 1 לוגי דרך נגד זה עדיין 1 לוגי אם לא שמים נגד גדול מידי. עכשו, תיקח את המבודד, ותחבר ך שהוא יקצר את הכניסה ל 0. תוצאה : כשאין 1 במבודד, המעגל מקבל 1. כשיש 1, המעגל מקוצר ל 0. הנגד נותן שהמבודד יקצר רק את הכניסה הזאת של המעגל (אחריי הנגד מה 5V), ולא את כל מתח הספק 5V (מה שיכבה את המעגל וגם ישרוף את המבודד)וכך אתה יכול לשלוט איתו על כניסה של הרכיב

אבל אתה מקבל היפוך. מ אתה יכול לעשות ?

אפשרות 1 - תהפוך גם את הכניסה. במקום לחבר את ה LED (והנגד שלו) מהאות הלוגי לאדמה, תחבר אותו מה VCC לאות הלוגי. כך, כשהאות הוא 1 הלד לא דולק, וכשהאות הוא 0 הל כן דולק

אפשרות 2 - לא ראיתי אותה מיושמת אבל אינ לא רואה סיבה שהיא לא תעבוד - תעשה שהמבדד יתן את המתח לכניסה של הרכיב שלך, ובמקום נגד pull up תשים נגד pull down שייתן 0 לוגי כשהמבודד לא דולק

קישור לתוכן
שתף באתרים אחרים

תודה רבה על התשובה..

יש לי הערה חשובה:

מבין מה שכתבת, כתבת כאן משהו אחד שנראה כמו הנחה, שאולי לא צריכה להיות..

סימנתי את זה בכחול:

תחשוב על זה קצת :

המבודד האופטי מכיל LED מצד 1, חלון זכוכית, וקולט אור כלשהוא מצד 2

בצד 1 אתה מדליק את ה LED (על ידיי 1 לוגי דרך נגד בהתאמה ל LED). בצד 2, אתה מחבר רגל אחת לאדמה.

ההנחה הזו, שבצד השני אני אחבר רגל אחת לאדמה, מקבעת אותנו למשהו מסוים.

בוא נניח הנחה מקדימה אחרת, כזו שיותר נוחה לנו:

"בצד 2, נחבר רגל אחת ל-5v."

(והרגל השנייה אל הכניסה של ה-IC שאמור לקבל את האות)

ועכשיו, ע"פ ההנחה החדשה הזו, נחשוב איך המבודד האופטי אמור להיות בנוי..

(כלומר קודם אנחנו חושבים מה אנחנו רוצים מבחוץ שיהיה, ורק אחרי זה נכנסים למימוש בפנים, מימוש שיתאים למה שאנחנו רוצים)

האם אפשרי כזה דבר:

Photo Transistor (בתוך המבודד האופטי), שרגל אחת שלו מחוברת קבוע ל-5v,

ורגל שנייה נכנסת אל ה-IC הבא,

וכאשר ה-LED דולק, ה-Photo Transistor מוליך את ה-5v האלה אל הרגל השנייה(הכניסה ל-IC הבא),

וכשה-LED לא דולק, ה-Photo Transistor מנתק את ה-5v האלה מהרגל השנייה(ופה יעזור לנו Pull Down שנוסיף).

האם זה אפשרי ש-OptoIsolator יעבוד כך?

קישור לתוכן
שתף באתרים אחרים

האפשרות של רגל אחת ל 5V, היא מה שנתתי מקודם באפשרות השניה :

"אפשרות 2 - לא ראיתי אותה מיושמת אבל אינ לא רואה סיבה שהיא לא תעבוד - תעשה שהמבדד יתן את המתח לכניסה של הרכיב שלך, ובמקום נגד pull up תשים נגד pull down שייתן 0 לוגי כשהמבודד לא דולק"

אבל הבעיה עדיין קיימת : נניח שרגל 1 נמצאת ב 5V, והלד לא דולק. רגל 2 לא תוציא 0V (כדיי שהיא תוציא 0V צריך להיות מקור מתח, שייתן 5V בין 2 הרגליים). היא תהיה עדיין ב 5V, בגלל הזליגות הקטנות של הרכיב בין 2 הרגליים (הוא לא יוצר נתק מושלם...)

לכן כמו במקרה של האדמה, גם כאן יהיה צריך נגד חיצוני שימשוך - למעשה חוץ מההיפוך של הלוגיקה 2 המצבים לא שונים והסיבה שצריך נגד היא אותה סיבה בדיוק

זה אמור לעבוד, לא רואה סיבה שלא אבל לא יצא לי לבדוק

קישור לתוכן
שתף באתרים אחרים

הממ

אבל אם ה-OptoIsolator הזה מבוסס NPN,

איך זה יעבוד אם נשים ברגל אחת שלו 5v?

על פי ההגדרה, אם אני מבין נכון, NPN מוליך עבור ה-0v כשהוא פועל,

ולא מוליך כלום כשהוא לא פועל..

אני מבין את המ שאמרת לגבי ה-Pull Down,

רק לא מבין איך אם אותו NPN שיש בפנים נצליח להעביר 5v, שהוא אמור להעביר רק 0v..

מה פספסתי כאן?

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...