قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 18-09-2012, 07:04 PM المشاركة 1   
افتراضي الدورة الجديدة - الفصل الثامن التحويل من تناظرى لرقمى ADC ومن رقمى لتناظرى DAC Twitter FaceBook Google+



الدورة الجديدة - الفصل الثامن التحويل من تناظرى لرقمى ADCومن رقمى لتناظرى DAC

التحويل من تناظرى لرقمى أو من رقمى لتناظرى هى العملية التى تمكنك من أخذ عينات لإشارة جهد بصفة مستمرة . استخدام هذه التحويلات مفيد لمعالجة الإشارات الرقمية .
التحويل من تناظرى لرقمى يمكن يؤدى ببعض المتحكمات التى تتضمن على محولات من هذا النوع .
عملية التحويل من من رقمى إلى تناظرى سهلة باستخدام عناصر خارجية أو حتى ممكن أن نقوم بعمل هذا التحويل باستخدام وحدات (موديولات) PWM المدمجة فى بعض المتحكمات .

1- التحويل من تناظرى لرقمى ADC :
يتم تنفيذ هذه العملية عن طريق المحولات الداخلية للميكروكونترولر . هذه الوحدة (الموديول) يتم بناؤه فى معظم متحكمات السلسلة المتوسطة والعالية . التحويل الذى يتم تنفيذه عن طريق المتحكمات PICmicroيكون بدقة resolution 10 بتات 10 bits والذى يسمح بأعداد فى المدى 0 إلى 10230 - 1023)) بأن تتناسب مع قيم مرجعية , وهى فى الحالة الافتراضية من 0 volts و 5 volts . هذا يعنى أنه إذا كان الدخل التناظرى له القيمة 0 volt فإن نتيجة التحويل تكون العدد 0 , وإنه إذا كان الدخل التناظرى له القيمة 5 volts فإن نتيجة التحويل تكون العدد 1023 , نتيجة لذلك عندما يكون الدخل التناظرى بالقيمة 2.5 volts فإن نتيجة التحويل تكون العدد 512 . إعتمادا على تعقيد المتحكم PIC يمكن أن يكون به , على سبيل المثال , 8 مداخل تناظرية 8 analog inputs . مع ذلك ينبغى الإشارة إلى أن المتحكمات تتضمن وحدة(موديول) تحويل واحد فقط , ويمكن قراءة قنوات متعددة ولكن ليس فى وقت واحد .
لتنفيذ هذا التحويل , فإن مترجم الميكروسى برو لديه مكتبة تعرف باسم ADC لإجراء التحويل . هذه المكتبة بها دالة وحيدة هى : ADC_Read unsigned int (unsigned short channel) . هذه الدالة تعود بنتيجة التحويل للقناة المحددة بواسطة البارامتر channel . للتدريب على استخدام هذه المكتبة راقب وحلل المثال التالى :


كود:
void main (void) { // Declaration of variables. unsigned int DATA; // Initialize ports. TRISB = 0; TRISC = 0; PORTB = 0; PORTC = 0; while (1) // infinite loop. { DATA= ADC_Read (0); // conversion is made on channel 0. // Display 8 least significant bits from port B. PORTB = DATA&0xFF; //Display the most significant 2 bits from the port C. PORTC = (Data >> 8) &0x03; } }







لمحاكاة هذا البرنامج يجب جلب الأجهزة الآتية فى برنامج ISIS :
16F877A, RES, LEDRED,POT-HG
الشكل التالى يبين الدائرة الكهربية :











بعد تشغيل المحاكاة تعرض الليدات نتيجة قيمة التحويل فى شكل كود ثنائى binary code , لفرق الجهد المغذى بواسطة المقاومة المتغيرة .

2- التحويل من رقمى لتناظرى DAC:

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 18-09-2012, 11:31 PM المشاركة 2   
افتراضي


2- التحويل من رقمى لتناظرى DAC :
يمكن أن يتم هذا التحويل بطريقتين , الأولى استخدام موديول PWM بالميكروكونترولر , والثانية استخدام عناصر خارجية للحصول على فرق الجهد .
2-1 التحويل باستخدام PWM :
التحويل من رقم لتناظرى بموديول PWM يتم عن طريق أخذ الإشارة ذات التعديل بعرض النبضات وإجراء عملية إستخلاص demodulation عن طريق مرشح تمرير منخفض low-pass filter. هذا المرشح يجب أن يكون له تردد قطع cutoff frequency أقل بكثير من تردد أخذ العينة بما يقارب 10 مرات , حيث أن الهدف منه إزالة (التخلص من) تردد أخذ العينة . حساب تردد القطع للمرشح يخضع للعلاقة التالية :





الشكل التالى يوضح دائرة مرشح تمرير منخفض من الدرجة الأولى first order:








الشكل التالى يوضح دائرة مرشح تمرير منخفض من الدرجة الثانية second order:








معادلة حساب هذا المرشح :






التردد المخصص لحامل PWM يجب أن يكون أكبر بكثير من تردد أخذ العينة للإشارة المعدلة . لاستعراض عملية التحويل يتم التصميم لأخذ 20 عينة تناظر دورة واحدة لإشارة جيبية sine signal . الشكل التالى يبين العينات والشكل الموجى :







مكتبة PWM
تتضمن أربع دوال وهى :

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 18-09-2012, 11:37 PM المشاركة 3   
افتراضي


مكتبة PWM تتضمن أربع دوال وهى :
الدالة : PWM1_Init (const long freq) : لتهيئة موديول PWM للعمل بتردد حامل يتحدد بالبارامتر freq .
الدالة : PWM1_Set_Duty (unsigned short duty_ratio) : هذه الدالة تحدد (تعين) دورة الخدمة duty cycle من خلال البارامتر duty_ratioN , هذا البارامتر يمكن أن يأخذ القيم من 0 إلى 255, حيث الصفر تمثل 0% تمثل 100% لدورة الخمة .
الشكل التالى يبين سلوك إشارة PWM , تبعا لدورة الخدمة , العلاقة بين Fpwmو Tpwm :







وأخيرا الدوال : PWM1_Start () و PWM1_Stop () والتى تمكن أو لا تمكن أشارة PWM على الترتيب



كود:
void PWM1_Init(const long freq);

كود:
void PWM1_Set_Duty(unsigned short duty_ratio);

كود:
void PWM1_Start(void);



كود:
void PWM1_Stop(void);




لفهم طريقة التنفيذ راقب وحلل وحاكى البرنامج التالى :


كود:
// Declaring Constants for sine wave. const unsigned short Sine_Wave [20] = { 127, 146, 163, 177, 185, 189, 185, 177, 163, 146, 127, 107, 90, 76, 68, 65, 68, 76, 90, 107 };
void main (void) { // Declaration of variables. unsigned short n = 0; // Set the PWM module to Fpwm = 15.625K Hz PWM1_Init (15625); // Start of PWM signal. PWM1_Start (); while (1) // infinite loop. { // Loop for the 20 samples of a sine wave cycle. for (n = 0; n <20; n ++) { // Changing the duty cycle of the PWM. PWM1_Set_Duty (Sine_Wave [n]); // Delay 50u sec. delay_us (50); } } }









لتنفيذ المحاكاة تحتاح للأجهزة التالية :


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 18-09-2012 الساعة 11:46 PM

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 18-09-2012, 11:42 PM المشاركة 4   
افتراضي


لتنفيذ المحاكاة تحتاح للأجهزة التالية :
16F877A, RES, CAP, OP1P و الأوسليسكوب OSCILLOSCOPE . وهذ الأخير هو أوسليسكوب تخيلى لعرض الأشارات التناظرية والرقمية بأربع قنوات فى نفس الوقت .
دائرة تنفيذ مرشح التمرير المنخفض للتخلص من التردد الحامل Fpwm وهو فى هذه الحالة 15.6KHz , تردد القطع للمرشح تقريبا 1.5KHz .
مستقبلا , فى تطبيقات المرشحات يوصى , يتم تحديد قيمة للمكثف C بين و 100nF ويتم حساب المقاومة R من المعادلات المذكورة أعلاه .
بهذه العناصر يتم تكوين الدائرة التالية :







عند إحراز تقدم فى المحاكاة فإن ذلك يرجع , بكل التقدير, للأوسلوسكوب التخيلى الذى يظهر الإشارة التناظرية الناتجة بالمتحكم الرقمى PIC من خلال وحدة PWM و مرشح التمرير المنخفض , المظهر المرئى للأوسليسكوب كما فى الشكل التالى :















2-2 التحويل من رقمة لتناظرى باستخدام ترتيب المقاومات R-2R :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 19-09-2012, 11:45 AM المشاركة 5   
افتراضي


2-2 التحويل من رقمى لتناظرى باستخدام ترتيب المقاومات R-2R :
ترتيب المقاومات فى شكل R-2R يسمح بتحويل العدد الرقمى إلى قيمة جهد متناسية معه . هذا الترتيب يسمح بالتنفيذ بأى عدد من البتات , على خلاف التحويل بوحدة PWM والمحدد بثمانى بتات . هذا يعنى أنه وفقا للترتيب R-2R , يمكن أن يت تحويل 8, 16, 32, 64 أو عدد من البتات وفقا لعدد الأطراف المتاح بالميكروكونترولر . تفيذ الترتيب R-2R يتم بسهولة فى شكل مصفوفة مكونة من توصيلات لمقاومات , حيث تكون إحداها ضعف الأخرى , ومن هنا أشتق الاسم , كلما زاد عدد البتات , كلما زادت دقة التحويل وبالتالى كفاءة إعادة بناء الإشارة .
مساوىء هذا الترتيب لافتة للنظر , زيادة الأجهزة hardware واستخدام كمية كبيرة من أطراف المنافذ . الشكل التالى يبين إعداد المقاومات للتحويل بثمانى بتات 8-bit conversion .









يمكن توسعة هذا الترتيب بنفس البناء للحصول على محول بدقة أكبر , بزيادة عدد المداخل D بنفس عدد البتات . سمة أخرى لهذا النوع من التحويل هى أنه يتطلب مكتبات متخصصة , بما يكفى لتحديد القيمة الرقمية بالمنفذ للتحويل , القيمة التناظرية سوف تكون موجودة على المخرج . بنفس طريقة ما تم فعله عن طريق التحويل PWM , فمن المهم إخماد مكونات إشارة تردد العينة لتجنب عدم النظافة .
الشكل التالى يبين المحول الكامل مع معاوقة الربط ومرشح التمرير المنخفص 1.5K Hz :








الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 19-09-2012, 11:48 AM المشاركة 6   
افتراضي


لاستعراض تطبيق هذه التقنية سوف نعدل فى مثال التحويل بتعديل عرض النبضة , لهذا الهدف راقب وحلل وحاكى كود المصدر للبرنامج التالى :


كود:
// Declaring Constants for sine. const unsigned short Sine [20] = { 127, 146, 163, 177, 185, 189, 185, 177, 163, 146, 127, 107, 90, 76, 68, 65, 68, 76, 90, 107 }; void main (void) { // Declaration of variables. unsigned short n = 0; // Configure ports. TRISB = 0; PORTB = 127; while (1) // infinite loop. { // Loop for 20 samples of a sine wave cycle. for (n = 0; n <20; n ++) { // Change port B. PORTB =Sine [n]; // Delay 50u sec. delay_us (50); } } }







الدائرة الكهربية :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 19-09-2012, 11:50 AM المشاركة 7   
افتراضي


الدائرة الكهربية :










النتيجة المتوقعة من المحاكاة تعادل المحاكاة للتحويل باستخدام PWM, خرج الأوسليسكوب يجب أن يعطى نفس الشكل الموجى .









الفصل التاسع الذاكرات EEPROM و FLASH


ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 466
نشاط [ ennng ]
قوة السمعة:0
قديم 19-09-2012, 12:13 PM المشاركة 8   
افتراضي


بارك الله فيك اخي عندي سؤال وعندي اضافة اذا سمحت

بالنسبة للسؤال هو في التحويل من تناظري الي رقمي
كود:
// Display 8 least significant bits from port B. PORTB = DATA&0xFF; //Display the most significant 2 bits from the port C. PORTC = (Data >> 8) &0x03;

Read more: http://www.qariya.com/vb/newreply.php?do=newreply&noquote=1&p=676043#ixzz26utSii6c
انا اعلم ان الامر الاول هو عرض 8 low bits في الريجستر الاول والامر الثاني هو يعمل شفت بمقدار 8 فالمخزن في الريجستر الثاني high راح ينعرض وهو في حالتا 2bits لان عدد البتات 10 bits ممتاز طيب سؤالي ليه اضاف &0xFF و &0x03 هذا السؤال اما بالنسبة للاضافة على درس التحويل من رقمي الي تناظري وهو ممكن اضافة فلتر ثاني ويكون high pass filter فقط مكون من مكثف ومقاومة ويوضع عند مخرج low pass filter حتى يتم اخراج الساين ويف بدون اي نتوء وتكون very smooth بارك الله فيك

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 11:42 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2024