نريد من الأفاضل دائرة للتحكم موتور شواية كي يدور دورة واحدة كل ساعتين الموتور قدرة 6وات و230قولت ولكم جزيل الشكر
|
السلام عليكم ورحمه الله
تفضل أخى الكريم تم بناء نظام الكترونى ليقوم بالمهمة تقليب البيض فى الحضانات التفريخ ..
اليك صورة عامة للمشروع ..
أيضااااا كود المشروع .. على برنامج الميكرو سى برو ..
كود:
// ENG/ ABDLLA HYGAZY //
// PROJECT > TIMER ++ //
unsigned short mask(unsigned short num);
unsigned int s1=0,s2=0,s3=0,s4=0,P1=0;
unsigned int C1=0,C2=0,C3=0,C4=0;
//----------------------------------------------------------------------------------//
void interrupt(){
porta=1;
portb=mask(s1);
delay_ms(1);
porta=2;
portb=mask(s2);
delay_ms(1);
porta=4;
portb=mask(s3);
delay_ms(1);
porta=8;
portb=mask(s4);
delay_ms(1);
INTCON=0b00100000;
TMR0=0;
}
//*********************//
void main(){
OPTION_REG=0b10000101;
INTCON=0b10100000;
TMR0=217;
trisb=0; portb=0;
trisd=0; portd=0;
trisc=127; portc=0;
trisa=0; porta=0;
trise=0; porte=0;
while(P1==0){
if(PORTC.F0==0){P1=1; }
if(PORTC.F1==0){ S1++; delay_ms(350);}
if(PORTC.F2==0){ S4++; delay_ms(350); }
if(PORTC.F3==0){ S3++; delay_ms(350); }
if(PORTC.F4==0){ S2++; delay_ms(350);}
if(PORTC.F5==0){delay_ms(2000); if(PORTC.F5==0){
C1=0; S1=0; C2=0; S2=0; C3=0;S3=0;C4=0;S4=0; } }
if(S1==10){S1=0;}
if(S2==10){S2=0;}
if(S3==10){S3=0;}
if(S4==10){S4=0;}
C1=S1; C2=S2; C3=S3; C4=S4;
}
//************************************************//
S1=0; S2=0; S3=0; S4=0;
while(1){
delay_ms(1000);
S3++;
if(S3==10){S3=0;S2++; }
if(S2==10){S2=0;S1++; }
if(S1==10){S1=0;S4++; }
if(S1==C1&&S2==C2&&S3==C3&&S4==C4 ){PORTD.F0=1;
if(PORTC.F6==1){while(PORTC.F6==1){}
while(PORTC.F6==0){} PORTD.F0=0; S1=0;S2=0;S3=0;S4=0;}}
}
}
unsigned short mask(unsigned short num){
switch (num){
case 0 : return 0x3F;
case 1 : return 0x06;
case 2 : return 0x5B;
case 3 : return 0x4F;
case 4 : return 0x66;
case 5 : return 0x6D;
case 6 : return 0x7D;
case 7 : return 0x07;
case 8 : return 0x7F;
case 9 : return 0x6F;
}
}
وايضااا المشروع كامل للتحميل والتجربة ..
اليك الرابط
https://drive.google.com/file/d/0Bxg...ew?usp=sharing
...
نأتى الى شرح النظام ..
أولا يوجد اربع شاشات 7SEGMENT لعرض الوقت عليها وأختيار الوقت ..
يتميز النظام بحرية أختيار الوقت يمكنك ضبط التايمر من واحد ثانيه الى 9000 الف ثانيه ..
وايضا يوجد طرف لكى يتحسس دوران المحرك ..
أولا يوجد أربع مفاتيح " بوش بوطن " يستخدمو لضبط وإختيار الوقت المطلوب من التايمر .. كل شاشة يتحكم فيها مفتاح لذيادة الأرقام ... وهذة المفاتيح مرقمه من واحد الى اربعة ..
بعد أختيار الوقت المطلوب على شاشات التايمر .. بيتم الضغط على مفتاح التشغيل .. لكى يبدأ التايمر فى عد الوقت المحدد له ..
ونلاحظ عند الضغط على مفتاح التشغيل بأن جميع الشاشات تم تصفيرها ويبدأ العداد بذيادة الوقت كل واحد ثانيه .. الى الوصول للوقت المحدد واللذى تم أختيارة فى البدايه .. ف مثلا إذا تم ضبط التايمر على ساعه وهنا هيكون عدد ثوانى الواحد ساعة = 3600 ثانية .. وهنا عند وصول العداد أو التايمر الى هذا الرقم .. بيتم تشغيل المحرك ..
وهنا يأتى دور طرفان أختبار النصف لفة .. أو خلينا نسميها حساس الحركه ..
فكرة الحساس أو الطرفان ..
هنسبت مفتاح بسوسته أمام طنبوره المحرك بحيس كل لفه يمر عمود يضغط على المفتاح وبستمرار دوران المحكرك يبعد العمود عن المفتاح ويحررة ..
والفكرة هنا ... فى طرفان أختبار دورة المحرك ..
إيذا تم تلامس هذان الطرفان وفصلهما سيتوقف المحرك ويبدأ العداد أو التايمر بالعد من جديد ...
.. ويوجد مفتاح مخصص لتصفير الشاشات ...
ملحوظه لتصفير الشاشات استمر بالضغط على مفتاح تصفير الشاشات لمدة 3 ثوانى متواصله لكى يستجيب .. أذا تم الضغط على مفتاح تصفير الشاشات أقل من 3 ثوانى لايستجيب .. وهذا للأمان فقط حتى لا تضغط بالخطأ ويتم تصفير الشاشات ..
بالنسبه لطرف حساس أو أختبار دورة المحرك أنا أعلم أن الشرح غير كافى .. وأنا فى انتظارك فى أى استفسار ..
ملحوظه بيتم استبدال محرج ال DC الموجود فى الصورة اعلاة براليه لكى تتحكم فى المحرج AC 220 فولت
تحياتى لك وبالتوفيق ..