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

   

mysterious
:: مهندس ::
تاريخ التسجيل: Oct 2010
المشاركات: 11
نشاط [ mysterious ]
قوة السمعة:
قديم 28-10-2010, 07:24 PM المشاركة 9   
افتراضي التحكم بشكل كامل بعملية التحويل من انالوج الى ديجيتال



السلام عليكم

لقد تابعنا في الدرس السابق مبدأ عمل المبدل من انالوج الى ديجيتال واليوم ان شاء الله سنتحدث بشكل اكثر تحديد بعض النقاط التي تتعلق بمبدل البيك الذي يحول الاشارة من انالوج الى ديجيتال والتي يجب ضبط اعدادات السجلات الداخلية للبيك من اجل نجاح عملية التبديل وذلك لكي نحصل على قيمة صحيحة .

ان عملية التبديل من انالوج الى ديجيتال تتم داخل البيك حسب التسلسل التالي(انظر الصورة) :




1-تبدأ عملية التبديل داخل البيك عند تفعيل المبدل بواسطة السجلات الداخلية وبدء عملية التبديل حيث يتم اعطاء وقت كافي للمكثف الموجود على مدخل الانالوج ليشحن الى الجهد المطلوب معرفة القيمة الرقمية له (انظر الصورة الرقم 1) . وهي تدعي T acquisition أي زمن الاكتساب للجهد الداخل الى المبدل..


2-الان يتم فصل المكثف عن الجهد الخارجي ويبدا المبدل بتحليل قيمة الجهد الموجودة على المكثف للحصول على القيمة الرقمية المكافئة للجهد الانالوج (انظر الصورة الرقم 2) ويستمر اخراج البتات بدءا من B9 وانتهاء بـ B0 وتنتهي عملية التحويل باخراج القيمة الى مسجلات (ADRESH) و (ADRESL) وهي المسجلات التي تحوي القيمة الرقمية المكافئة .ثم يتم تفريغ المكثف من اجل الحصول على قيمة انالوج جديدة (انظر الصورة الرقم 3) .هذا يستغرق زمن يدعي زمن تحويل البت (T ad ) حيث يجب معرفة زمن( T ad) من خلال الداتاشيت للحصول على افضل تردد يستخدم في عملية التحويل (سيتم شرح هذه النقطة لاحقا ) ..


لمعرفة مكونات المبدل الداخلي للبيك لننظر الى الصورة التالية :



1-المبدل من انالوج الى ديجيتال .
2-مجموعة مداخل التبديل ..وبما انه لدينا عدة مداخل ومبدل واحد فيجب تحديد المدخل عند بدء عملية التبديل.
3-الجهد المرجعي لعملية التبديل.


الان ننتقل الى السجلات التي تتحكم بعملية التبديل من انالوج الى ديجيتال وهي :

1- ADCON0 ( انظر الصورة التالية ) :



يتكون من مجموعة بتات من اجل السيطر على عملية التحكم في المبدل :

•البت رقم 7 والبت رقم 6 : يتحكمان في تردد المبدل حيث يمكن اختيار عدة ترددات حسب الموجود في الجدول رقم 1 الملون باللون الاحمر . (طبعا هذا يتم بمساعدة البت رقم 6 في المسجل ADCON1) .

مهم جدا : قد يطرح احدكم سؤال ويقول هل يمكن اختيار أي تردد من الجدول السابق ام هناك طريقة معينة ؟؟

الجواب سيكون طبعا لا .. فهناك شي يجب ان ننتبه له عند عملية التحويل ان المبدل الداخلي يعمل بسرعة معينة وهذا موجود في الداتا شيت كما في الصورة :



ان المبدل الداخلي للانواع التي تحمل الرقم PIC16F87XA مثل PIC16F877A لها مبدل يحتاج الى زمن قدره 1.6 ميكروثانية ليقوم بتحويل بت واحد (T ad) وبالتالي يجب ان نختار قيمة التردد بحيث يكون الزمن كافيا (طبعا التردد هو معكوس الزمن للاشارة F=1/T، وبالتالي من خلال التردد نحصل على الزمن T للتردد المقصود ) ..فاذا كان الزمن الناتج من التردد على الاقل يساوي 1.6 ميكرو ثانية فاختيارك صحيح (لا يتم اختيار زمن اقل لان الزمن سينقضي قبل ان تنتهي عملية التبديل للبت الواحد ،ايضا لا يتم اختيار زمن اكبر من 10 ميكرو ثانية لانه سيؤدي الى استهلاك كبير للطاقة ) ...نوضح الفكرة بمثال عملي بسيط :

مثال : لدينا دارة تستخدم مبدل من انالوج الى ديجيتال والكريستالة المستخدمة بتردد 10ميجا هيرتز فما هي الخيارات المتاحة من الجدول السابق والتي تؤدي الى عملية تبديل صحيح :

الان نحسب الزمن الناتج عن تردد الكريستالة :

T= 1 / F
T= 1 / 10 000 000 = 0.1 ms

أي الزمن الناتج عن الكريستالة المستخدمة هو 0.1 ميكرو ثانية طبعا هو بعيد نسبيا عن القيمة الان نحسب القيمة للجدول السابق :


النتيجة الزمن ( T ) التردد ( F )
غير مناسب 0.2 ميكرو ثانية F / 2 = 5 000 000
غير مناسب 0.4 ميكرو ثانية F / 4= 2 500 000
غير مناسب 0.8 ميكرو ثانية F / 8=1 250 000
مناسب 1.6 ميكروثانية F / 16= 625 000
مناسب 3.2 ميكروثانية F / 32=312 500
مناسب 6.4 ميكروثانية F /64=156250


اذن يمكننا ان نختار أي من الخيارات الثلاث الاخيرة في الجدول السابق وكلما كانت النتيجة اقرب لـ 1.6 ميكروثانية كانت الاختيار افضل .

يتم اختيار القيمة المناسبة للبت رقم 7 والبت رقم 6 حسب القاعدة السابقة ..


•البت رقم 3 والبت رقم 4 والبت رقم 5 : تستخدم من اجل تحديد أي من الاطراف الثمانية سوف يستخدم كمدخل انالوج بحيث يعطي اشارةته الى المبدل الداخلي.

•البت رقم 2 : عندما نريد ان نبدا عملية التبديل يجب ان نفعل هذا البت(نضع فيه القيمة 1 ) بحيث يبدأ زمن الاكتساب (الزمن اللازم حتى يشحن المكثف على مدخل المبدل ).. في حال انتهاء عملية التبديل فان هذا البت يتحول تلقائيا الى الصفر ..وبالتالي يمكن ان نتفحص هذا البت لنعرف اذا كان المبدل قد اتم عمله ام لا حتى نستطيع الانتقال الى تحويل اشارة انالوج اخرى .

•البت رقم 1 : غير مستخدم وعادة نضع القيمة صفر فيه .

• البت رقم 0 : يستخدم من اجل تفعيل خاصية التبديل من انالوج الى ديجيتال (تشغيل المبدل) ، أي يجب ان نفعل هذا البت حتى يبدا المبدل بالعمل ، ثم بعدها نفعل البت رقم 2 من اجل ان يبدا المكثف بالشحن وتبدأ عملية التبديل .


كما لاحظنا فان هذا السجل هو المسؤول عن عملية التبيدل كلها ، و يجب ان يتم التحكم فيه بمعرفة ودراية والا فان هناك احتمال خطا او اساءة استعمال لخواص هذا المبدل في أي عملية نريد تنفيذها .


المسجل الاخر المسؤول عن عملية التحكم بالمبدل هو :

2 - ADCON1 ( انظر الصورة التالية ) :



• البت رقم 7 : ان نتيجة التبديل هي عبارة عن 10 بت ، وتخرج نتيجة المبدل الى مسجلين هما (ADRESH) والمسجل (ADRESL) وبما انهما مسجلان فينتج لدينا 16 بت ، اذن يبقى هناك 6 بت فارغة وغير مستخدمة وهذا البت يتحكم فيما اذا كانت هذه البتات ال 6 الفارغة ستكون في المسجل ( ADCON0) او المسجل ( ADCON1) .. كما في الشكل التالي:




•البت رقم 6 : كما قلت سابقة يستخدم مع البت رقم 7 والبت رقم 6 في المسجل السابق ADCON0 لاختيار تردد عمل المبدل ..

•البت رقم 5 والبت رقم 4 : غير مستخدم وعادة نضع القيمة صفر فيه .


•البت رقم 3 والبت رقم 2 والبت رقم 1 والبت رقم 0 : تستخدم هذه البتات من اجل التحكم باطراف الانالوج ، فكما نعلم يمكن ان نستخدم الاطراف كمداخل ديجيتال او مداخل انالوج ، هذه البتات تحدد نوع الاطراف المستخدمة حسب الجدول الازرق ، طبعا يتم اختيار اقرب ترتيب لما نريد نحن لاننا قد لا نجد بالضبط جميع الاحتمالات لانواع هذه الاطراف ..

ملاحظة مهمة : في الجدول نلاحظ وجود (VREF+) و ( VREF-) وهذا الاطراف يمكن ان نربط بها مجال جهد الدخل بحيث يتغير عن ( 0 - 5 فولت ) فيمكن مثلا في حال كان لدينا سنسور معين يخرج جهد بقيمة من (2-4 فولت ) فيمكن ان نحصل على قيمة حساسية اكبر للمبدل لان المجال اصبح 2 فولت بدلا من 5 فولت وبالتالي دقة اكبر وتحكم اكبر في مشروعنا المطلوب .


الى هنا ينتهي درس اليوم وهو درس طويل ومهم جدا فبدونه لن تستطيع التعامل مع المبدل .. طبعا هناك الكثير من المعلومات التي تحتاج الى قراءتها بتمعن وفهم ..


الان اترككم مع التمارين :

1- ما هي القيمة التي ستوضع في المسجل ADCON0 و ADCON1 في حال اردنا استخدام كريستالة بتردد 4 ميجا ، ونريد ان نقرا القيمة من الطرف RA1 علما ان مجال جهد الدخل هو من 1-4 فولت بحيث تكون البتات الفارغة في المسجل ADRESH ؟؟؟

اعلانات

chafteyes
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 225
نشاط [ chafteyes ]
قوة السمعة:
قديم 28-10-2010, 08:32 PM المشاركة 10   
افتراضي


سلام الله عليكم
شكرا جزيلا على هدا الشرح الوافي في انتضار المزيد من الدروس بادن الله
حياك الله وفي امان الله

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

الصورة الرمزية نور الفجر
نور الفجر
:: مهندس ::
تاريخ التسجيل: Sep 2010
المشاركات: 44
نشاط [ نور الفجر ]
قوة السمعة:
قديم 29-10-2010, 01:37 PM المشاركة 11   
افتراضي


جزاك الله خيرا وبارك الله فيك .. متابعين معك اخي الكريم ..


زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 2,945
نشاط [ زكي شاكر ]
قوة السمعة:
قديم 29-10-2010, 11:55 PM المشاركة 12   
افتراضي


السلام عليكم ..
شكرا جزيلا على هذا الموضوع ..


chafteyes
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 225
نشاط [ chafteyes ]
قوة السمعة:
قديم 30-10-2010, 01:33 AM المشاركة 13   
افتراضي


سلام الله عليكم
شكرا اخي العزيز على هدا الموضوع المفيد لكن لي استفسار لو سمحت هل لك ان تعيد شرح تقسيم اشارة الكرستال للحصول على زمن القدر
لك مني جزيل الشكر على كل ما استفدته من شروحاتك
في امان الله


mysterious
:: مهندس ::
تاريخ التسجيل: Oct 2010
المشاركات: 11
نشاط [ mysterious ]
قوة السمعة:
قديم 31-10-2010, 12:23 PM المشاركة 14   
افتراضي


سلام الله عليكم
شكرا اخي العزيز على هدا الموضوع المفيد لكن لي استفسار لو سمحت هل لك ان تعيد شرح تقسيم اشارة الكرستال للحصول على زمن القدر
لك مني جزيل الشكر على كل ما استفدته من شروحاتك
في امان الله

السلام عليكم

ان الامر بسيط جدا بالنسبة للكريستالة ..فكل ما عليك ان تقوم باخذ تردد الكريستالة وتحدد الخيار المطلوب ..سآخذ خيار مناسب من الجدول السابق كالتالي:

الان لنفرض انني سوف استعمل كريستالة بتردد 10ميجاهيرتز ..والخيار الذي حددته حسب المسجل ADCON0 و ADCON1 يعطي تردد للمبدل من انالوج الى ديجيتال بمقدار F/16 الان نقوم بالحسابات المطلوبة كالتالي:

بما ان التردد هو 10 ميجا هيرتز فان القيمة (F/16) تساوي :

كود:
F/16 =10 000 000 / 16  =625 000 hz
هذا هو التردد الذي سيعمل به المبدل من انالوج الى ديجيتال ...

الان نقوم بحساب الزمن المكافىء لهذا التردد (او ما يدعي بالدور T) :

تعطي العلاقة بين التردد والزمن كالتالي:

كود:
T = 1 / F
وبالتالي نحسب قيمة الزمن :

T = 1 / F = 1 / 625 000 =0.0000016 second

الان هذه القيمة بالثانية ... نحول القيمة الى ميكروثانية بضربها في مليون وبالتالي القيمة النهائية تكون هي :

كود:
T = 1.6  ms (ميكروثانية)
وبما ان القيمة على الاقل مساوية للقيمة المسموحة حسب الداتا شيت فان هذه القيمة تعتبر مناسبة من اجل الاستعمال..

ارجو ان تكون قد توضحت الصورة واي سؤال لا تترد ابدا ..


التعديل الأخير تم بواسطة : mysterious بتاريخ 31-10-2010 الساعة 12:28 PM

mysterious
:: مهندس ::
تاريخ التسجيل: Oct 2010
المشاركات: 11
نشاط [ mysterious ]
قوة السمعة:
قديم 31-10-2010, 02:49 PM المشاركة 15   
افتراضي الخطوة الاولى على الطريق العملي مع البيك .


السلام عليكم

نعود اليوم مجددا مع درس بسيط من دروس التعامل مع خاصية التحويل من انالوج الى ديجيتال باستخدام البيك ..واليوم إن شاء الله سنبدا اولى الخطوات العملية في كتابة البرامج من اجل التعامل مع هذه الخاصية وتوضيح الاوامر المستخدمة لذلك في لغة الميكروسي ..

ما يميز الميكروسي ان عملية قراءة الاشارات الانالوج تتم باستخدام امر واحد فقط يقوم بمعظم الاعدادات والترتيبات لوحده بحيث ما عليك الا ان تقرا القيمة وهو سيقوم بالباقي. . هذا الامر هو التالي:

كود:
ADC_Read ( X )
حيث( X ) هو رقم الطرف الذي نستخدمه كمدخل انالوج في هذه اللحظة.

يتم حفظ القيمة الرقمية المكافئة في متغير مكون من 16 بت ( int unsigned) حتى نستطيع ان نتعامل مع المبدل ذو ال 10 بت .

الان ننتقل الى الاعدادات العملية في أي عملية تحويل من انالوج الى ديجيتال:

1-تعريف الاطراف التي نريد ان نقرا منها اشارات الانالوج كمداخل من خلال المسجل TRIS
2-تحديد نوع الاطراف (انالوج / ديجيتال) ، بالاضافة الى تحديد مكان البتات الفارغة من خلال المسجل ADCON1
3-قراءة الاشارة الانالوج في اللحظة التي نريدها وحفظها في متغير من نوع
( unsigned int).

ملاحظة مهمة جدا : ان الامر ( ) ADC_READ يقوم بتغيير الاعدادات في مسجل التحكم ADCON0 لذلك يكفي ان نضع القيمة المطلوبة في المسجل ADCON1 ونترك كامل عملية التحكم للامر في الميكروسي ليقوم بعمليات الضبط ..للعلم يقوم الميكروسي بوضع زمن ثابت للمبدل وهو المعتمد على الهزاز الداخلي للبك RC الداخلي وهو ياخذ زمن تقريبا 2-6 ميكروثانية في عملية التبديل .

ان شاء الله الدرس القادم سيكون اول برنامج لاستخدام البيك بشكل عملي .

في حال كان هناك أي نقطة غامضة ارجو السؤال عنها ..لانه لن يكون هناك مجال لشرح النقاط في حال بدأنا أول مشروع , سأترك مجالا لفترة من الزمن لافساح المجال لأكبر عدد من الاسئلة ..


التعديل الأخير تم بواسطة : mysterious بتاريخ 31-10-2010 الساعة 02:53 PM

chafteyes
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 225
نشاط [ chafteyes ]
قوة السمعة:
قديم 31-10-2010, 04:30 PM المشاركة 16   
افتراضي


السلام عليكم

ان الامر بسيط جدا بالنسبة للكريستالة ..فكل ما عليك ان تقوم باخذ تردد الكريستالة وتحدد الخيار المطلوب ..سآخذ خيار مناسب من الجدول السابق كالتالي:

الان لنفرض انني سوف استعمل كريستالة بتردد 10ميجاهيرتز ..والخيار الذي حددته حسب المسجل ADCON0 و ADCON1 يعطي تردد للمبدل من انالوج الى ديجيتال بمقدار F/16 الان نقوم بالحسابات المطلوبة كالتالي:

بما ان التردد هو 10 ميجا هيرتز فان القيمة (F/16) تساوي :

كود:
F/16 =10 000 000 / 16  =625 000 hz
هذا هو التردد الذي سيعمل به المبدل من انالوج الى ديجيتال ...

الان نقوم بحساب الزمن المكافىء لهذا التردد (او ما يدعي بالدور T) :

تعطي العلاقة بين التردد والزمن كالتالي:

كود:
T = 1 / F
وبالتالي نحسب قيمة الزمن :

T = 1 / F = 1 / 625 000 =0.0000016 second

الان هذه القيمة بالثانية ... نحول القيمة الى ميكروثانية بضربها في مليون وبالتالي القيمة النهائية تكون هي :

كود:
T = 1.6  ms (ميكروثانية)
وبما ان القيمة على الاقل مساوية للقيمة المسموحة حسب الداتا شيت فان هذه القيمة تعتبر مناسبة من اجل الاستعمال..

ارجو ان تكون قد توضحت الصورة واي سؤال لا تترد ابدا ..

سلام الله عليكم
شكرا جزيلا على الايضاح و جعله الله في ميزان حسناتك ان شاء الله
في امان الله سلام



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