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

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 30-07-2017, 05:46 PM المشاركة 1   
افتراضي التحويل من رقمى لتناظرى DAC وتوليد موجة جيبية باستخدام الميكروكونترولر PIC : Twitter FaceBook Google+



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



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



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



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



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






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

كود:
 
// 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);
 		}
 	}
 }
لتنفيذ المحاكاة تحتاح للأجهزة التالية :
16F877A, RES, CAP, OP1P و الأوسليسكوب OSCILLOSCOPE . وهذ الأخير هو أوسليسكوب تخيلى لعرض الأشارات التناظرية والرقمية بأربع قنوات فى نفس الوقت .
دائرة تنفيذ مرشح التمرير المنخفض للتخلص من التردد الحامل Fpwm وهو فى هذه الحالة 15.6KHz ، تردد القطع للمرشح تقريبا 1.5KHz .
مستقبلا ، فى تطبيقات المرشحات يوصى ، بتحديد قيمة للمكثف C بين 100pF و 100nF ويتم حساب المقاومة R من المعادلات المذكورة أعلاه .
بهذه العناصر يتم تكوين الدائرة التالية :



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






اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 30-07-2017, 05:54 PM المشاركة 2   
افتراضي


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




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



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

كود:
// 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);
 		}
 	}
 }
الدائرة الكهربية :




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




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

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

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

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


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

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