Friday, September 24, 2010

الاتصال المتسلسل باستخدام المتحكم الدقيق


قد تحتاج فى كثير من الدوائر إلى تبادل المعلومات بين الدائرة الالكترونية و العالم الخارجى . فقد تحتاج إلى إرسال المعلومات إلى قاعدة بيانات إلى الحاسب الآلى أو إرسال البيانات إلى دائرة الكترونية أخرى .هناك نظام شهير للاتصال المتسلسل يسمى
RS232

يوجد بالعديد من رقائق المتحكم الدقيق الحديثة ملحقات تقوم بوظيفة الاتصال المتسلسل
RS232 Hardware module

و كل ما تحتاجه لاستخدام هذه الملحقات فى دائرتك هو ضبط هذه الملحقات و اختيار السرعة المناسبة للمتذبذب
Crystal Oscillator

و ذلك لتحقيق سرعة الاتصال المطلوبة

Baud Rate


و لكن فى الرقائق القديمة نسبيا مثل المتحكم الدقيق
16F84A

لا تتوافر مثل هذه الملحقات

الاتصال المتسلسل فى هذه الرقائق يمكن تحقيقه بالبرنامج

Software serial communication

يسخدم النظام
RS232

موجب 12فولت للتعبير عن

Logic 0

بينما يستخدم سالب 12فولت للتعبير عم
Logic 1

و يستخدم النظام
TTL

الذى يم
يز الرقائق الالكترونية التى ينتمى إليها المتحكم الدقيق

5فولت للتعبير عن
Logic 1

بينما يستخدم 0فولت للتعبير عن
Logic 0

و لذلك يتم استخدام دائرة متكاملة خارجية للربط بين النظامين

MAX232 or HIN232

وجدت صفحة على الانترنت تستخدم لغة السى

C language

لتحقيق الاتصال المتسلسل باستخدام المتحكم الدقيق

PIC 16F84A

الجديد الذى تقدمهه هذه الصفحة هو الاستغناء عن الدائرة المتكاملة الخارجية عن طريق المنطق المعكوس
Inverted Logic

و هو القيام بعكس الاشارات أثناء الإرسال و الاستقبال

0فولت للتعبير عن

logic 1

و 5فولت للتعبير عن
Logic 0

و يفسر مصمم هذه الدائرة ذلك بأن المتحكم الدقيق
16F84

يمكنه تحمل موجب12فولت و أيضا سالب12فولت أثناء الإستقبال من الحاسب الآلى . بينما يمكن للحاسب الآلى التمييز بين الإشارات 0فولت و 5 فولت التى يرسلها المتحكم الدقيق

و ينصح المصمم بتوصيل مقاومة لحماية المتحكم الدقيق

و أردت أن أجرب هذه الدائرة البسيطة

فكيف إذن يتم إستقبال إشارات الاتصال المتسلسل على الحاسب الآلى ؟

يمكنك كتابة برنامج بسيط على الحاسب الآلى لاستقبال إشارات الاتصال المتسلسل على المنفذ المتسلسل

com1 or com2

كما يمكنك استخدام برنامج
HyperTerminal

الشهير الذى يأتى مع كل نسخ

Microsoft Windows

و يمكنك فتحه من القائمة

Programs --> Accessories --> Communications --> HyperTerminal

و اختيار المنفذ المتسلسل المطلوب

Com1 or Com2




ثم تقوم بضبط معدل الاتصال

Baud Rate ----- > 9600


و اختيار

Flow Control ---- > None






عند بناء الدائرة الفعية قمت باستخدام
connector

من فأرة

Mouse

قديم

و يمكنك استخدام أى

9 Pin connector



هذه هى أطراف التوصيل
9 Pin connector pinout


برنامج

HyperTerminal

وهو يقوم باستقبال الإشارات من المتحكم الدقيق


هذه هى الدائرة الفعلية



طريقة توصيل الدائرة



فى هذا الجزء سوف نستخدم النظام
RS232
لارسال الاختيارات للسرعة المرغوبة للتحكم فى سرعة موتور
DC
عن طريق اشارات

PWM

فى أى وقت نستطيع اختيار سرعة معينة للموتور ثم نقوم بارسال هذا الاختيار إلى المتحكم الدقيق عن طريق اشارات النظام
RS232
و بالتالى التحكم فى اتساع النبضة

Duty cycle

الناتجة من المتحكم الدقيق

توصيل الدائرة بين المتحكم الدقيق و الحاسب الآلى ( المنفذ المتسلسل ) بسيطة للغاية

كل ما يجب عليك توصيله هو المتحكم الدقيق
PIC16F84A
و المتذبذب
Crystal Oscillator

و السوكيت

RS232 9 pin female connector

لاحظ أنه يتم تغذية المتحكم الدقيق من خلال الطرف
RS232 Pin 7 RTS
و الذى يقوم بتغذيته بـ 12 فولت

لا تخف من فقدان المتحكم الدقيق فهو يستطيع تحمل هذا الفولت بدون أى أضرار

طرف المتحكم الدقيق
PIn 1 Tx

يتم توصيلها مباشرة بطرف السوكيت
RS232

Pin 2 Rx

بينما يتم توصيل طرف المتحكم الدقيق
Pin 17 Rx

بطرف الارسال فى سوكيت

RS232

Pin 3 Tx

من خلال مقاومة قيمتها 10 كيلو أوم و ذلك لضبط قيمة الجهد الداخل للمتحكم الدقيق

الجزء الذى يقوم بتحريك الموتور
Motor Driver

يبق شرحه فى مقالة التحكم فى الموتور باستخدام

PWM signals

و سوف نقوم باستخدام نفس الدائرة

تدخل الاشارات

PWM
الناتجة من المتحكم الدقيق إلى منفذ القاعدة بالترنزستور
NPN 2N2222A

و يقوم هذا الترنزستور بدور المفتاح الالكترونى للتحكم فى الموتور

و يتم تغذية هذا الجزء من الدائرة و الموتور ببطارية خارجية بجهد 9 فولت






أيضا يمكنك تجربة الدائرة قبل بنائها فعليا على بيئة المحاكاة

Proteus 7


و هناك يوجد نموذج لجهاز افتراضى يسمى

Virtual Terminal

و هو الذى يحاكى عمل الحاسب الآلى

و قبل استخدامه يجب ضبطه على الوضع

Inverted

و ذلك لأنه يعمل تلقائيا على النظام
TTL

و سوف تلاحظ أننى وضعت هذا الاختيار قيد التشغيل







يمكنك قراءة هذه المقالة باللغة الإنجليزية

You can read this post in English Language




http://embedded-egypt.blogspot.com.eg/2010/07/16f84-serial-communications.html


No comments:

Post a Comment