بســم الله الـرحمــن الرحيــم
السلام عليكــم ورحمـة الله وبركاتــه ،،
الهدف من هذا المشروع هو تصمييم وحدة تحكم تستقبل الاوامر عن طريق المنفز التسلسلى وتقوم باغلاق وفتح الريليهات بناء على الامر
تتميز هذه الدائرة بالبساطة وقلة التكلفة وامكانية توصيلها باى تطبيق سواء عن طريق الكمبيوتر او عن طريق الموبايل او عن طريق الريموت كنترول العادى
تحتوى الدئرة على مايكروكنترولر من نوع بيك 12f509 وعدد اربع ترانزيستورات من النوع PDTD123E ويتميز هذا الترانزيستور بوجود مقاومة انحياز داخلية لذلك لن تحتاج الى توصيل اى مقاومة مع القاعدة :blush:
نوع الريلية المستخدم هو 220 فولت 10 امبير (معظم القطع المستخدمة فى هذا المشروع هى من الاسكراب :blush: )
-------------------------------
خطوات تنفيذ المشروع
اولا تصميم البى سى بى وطباعتة
تثبيت العناصر السطحية اولا
تثبيت باقى العناصر والمايكروكنترولر
شكل الوحدة بعد الانتهاء من تثبيت كل الاجزاء
الفديو التالى يوضح اول تجربة للدائرة
الملف المرفق يحتوى على اللوحة المطبوعة
سوف ارفع الكود قريبا
--------------------------------
البرنامج الخاص بالبيك مايكروكنترولر
// 4 chennals relay driver circuit
// E. Mohamed Elamin Ali
// eng.alamin@gmail.com
//2009
#include <12F509.h>
#FUSES NOWDT //No Watch Dog Timer
#FUSES INTRC //Internal RC Osc
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOMCLR //Master Clear pin used for I/O
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_B5,rcv=PIN_B3,bits=8)
int1 Rdata,start=0;
int8 relay,radd,x,Raddress;
char sync[2];
void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_256);
// TODO: USER CODE!!
while(1)
{
sync[0]=getc();
if (sync[0]== '*')
{
Raddress=getc();
Rdata=getc();
sync[1]=getc();
if(sync[1]== '#')
{
if (Raddress=='1')
{
output_bit(PIN_B0,Rdata);
}
if (Raddress=='2')
{
output_bit(PIN_B1,Rdata);
}
if (Raddress=='3')
{
output_bit(PIN_B2,Rdata);
}
if (Raddress=='4')
{
output_bit(PIN_B4,Rdata);
}
}
}
}
}طريقة العمل
يجب ارسال اربع بايت على التوالى
البايت الاول يجب ان يكون رمز النجمه (*)
ثانيا عنوان القناة (من واحد الى اربع)
ثالثا حالة الريلية (0 او 1)
رابعا يجب ارسال رمز (#)
اى بيانات تصل المايكروكنترولر لاتتوافق مع الشروط اعلاه سوف يتم رفضها وسوف تعتبر كضجيج او بيانات دخيلة غير مصرح بها :lol:
لازم تترسل الاربع بايت فى حزمة وحدة عدى ذلك سوف يحدث
timeout
شروط قناة الاتصال المتتالى
معد الارسال 9600
لايوجد برتى
عدد البتات 8 بت
يمكنك استخدام اى برنامج مثل الهايبر تيرمنل او او او او او او تصمم برنامجك الخاص بلغة البرمجة التى تفضلها
انا لا استخدم الكبيوتر للتحكم ولكن استخدم الريموت كنترولر العادى
وسوف اوضح كيف يتم ذلك قريبا ان شاء الله اذا وجد الموضوع اقبال :happy:
تقبلو تحياتى
اخوكم محمد