منتديات الالكترونيات العصرية  
yoursite.com page title .

استرجاع كلمة المرور طلب كود تفعيل العضوية تفعيل العضوية
العودة   منتديات الالكترونيات العصرية > منتدى الحاكمات الدقيقة Microcontroller > منتدى المتحكمات ميكرو بلغة السي MikroC

  #1  
قديم 03-05-2013, 10:30 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,706
معدل تقييم المستوى: 22
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي مفتاح التحويل الأوتوماتيكى للقدرة من المصدر الرئيسى إلى المولد الاحتياطى للمستشفيات والمصانع باستخدا

مفتاح التحويل الأوتوماتيكى للقدرة من المصدر الرئيسى إلى المولد الاحتياطى للمستشفيات والمصانع باستخدام الميكروكونترولر PIC16F877A

الخطوة الأولى والأساسية :

الاحساس وبيان جهد الدخل للشبكة العمومية Mains :

الدائرة الكهربية :








البرنامج :



كود:
/////////////////////////////////////////////////////////////

// Project : ATS ( Automatic Transfer Switch) 

// 1- Mains voltage

// PIC16F877A , 4MHz , Mikroc-Pro

// Eng.F.Abdelaziz

// http://www.eeecb.com/vb/index.php

//5/3/2013

///////////////////////////////////////////////////////////

// LCD module connections

sbit LCD_RS at RB4_bit;

sbit LCD_EN at RB5_bit;

sbit LCD_D4 at RB0_bit;

sbit LCD_D5 at RB1_bit;

sbit LCD_D6 at RB2_bit;

sbit LCD_D7 at RB3_bit;

 

sbit LCD_RS_Direction at TRISB4_bit;

sbit LCD_EN_Direction at TRISB5_bit;

sbit LCD_D4_Direction at TRISB0_bit;

sbit LCD_D5_Direction at TRISB1_bit;

sbit LCD_D6_Direction at TRISB2_bit;

sbit LCD_D7_Direction at TRISB3_bit;

// End LCD module connections

/////////////////////////////////////////////////////////////////////////

unsigned int ADC_value  ;

char *text = "0000";

long volt_long ;

char txt1[] = "Mains Voltage: " ;

/////////////////////////////////////////////////////////////////////

void main(){

TRISA=0x01 ;                                                //RA0 => analog input 

 

Lcd_Init();                                                      // Initialize LCD

Lcd_Cmd(_LCD_CLEAR);                                      // Clear display

Lcd_Cmd(_LCD_CURSOR_OFF);                         // Cursor off

 

Lcd_Out(1,1,txt1);                                                     // Write text in first row

////////////////////////////////////////////////////////////////////////////////////

while(1){

 

ADC_value = ADC_Read(0) ; //  value from 0 to 1023 

volt_long = (long) ADC_value * 220 /1023 ; // change to volt value from 0 to 220

/////////////////////////////////////////////////////////////////////////////////////////

ByteToStr(volt_long,text);                           // change volt value to text => 4 characters including null 

Lcd_Out(2,1,text);                            // display volt text => 0 to 220 

/////////////////////////////////////////////////////////////////////////////////////////////

Lcd_Chr(2, 4, 'V');    // Write character "V" at row 2, column 4 after volt value  

 

}

}
رد مع اقتباس
  #2  
قديم 03-05-2013, 11:58 PM
ابو الوليد1 ابو الوليد1 غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Mar 2013
المشاركات: 2
معدل تقييم المستوى: 0
ابو الوليد1 is on a distinguished road
افتراضي رد: مفتاح التحويل الأوتوماتيكى للقدرة من المصدر الرئيسى إلى المولد الاحتياطى للمستشفيات والمصانع باس

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

http://www.dbaasco.com/vb/showthread...88%D8%B1%D9%8A
رد مع اقتباس
  #3  
قديم 03-06-2013, 03:05 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,706
معدل تقييم المستوى: 22
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: مفتاح التحويل الأوتوماتيكى للقدرة من المصدر الرئيسى إلى المولد الاحتياطى للمستشفيات والمصانع باس

الخطوة الثانية :

برمجة دائرة بيان هبوط الجهد عن حد معين , 15% على سبيل المثال .

برمجة دائرة بيان السرعة , ومفتاح يعتمد على السرعة .

الدائرة الكهربية :











البرنامج :



كود:
/////////////////////////////////////////////////////////////
// Project : ATS ( Automatic Transfer Switch)
// 1- Mains voltage
// PIC16F877A , 4MHz , Mikroc-Pro
// Eng.F.Abdelaziz
// http://www.eeecb.com/vb/index.php
//5/3/2013
///////////////////////////////////////////////////////////////////
// LCD module connections
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
// End LCD module connections
///////////////////////////VOLT /////////////////////////////////////////////
#define UNDER_VOLTAGE PORTD.B0
unsigned long ADC_value, VOLT_VALUE  ;
char *VOLT = "0000";
//////////////////////////////// RPM /////////////////////////////////
#define RPM_SWITCH PORTD.B1
#define ON  1
#define OFF 0
unsigned long RPM_Value;
char *RPM = "00000";

void main(){
TRISA.B0=1 ;    //RA0 => analog input
TRISA.B4 = 1; //  Inut at RA4/T0CKI
 PORTA.B4=0;
TRISB=0;
PORTB=0;
TRISD=0; //RPM Switch Output
PORTD=0;
OPTION_REG=0b00101000; //Prescaler(1:1) , T0CKI=1 for counter mode

Lcd_Init();                           // Initialize LCD
Lcd_Cmd(_LCD_CLEAR);                 // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF);            // Cursor off

//////////////////////////////////////////////////////////////////////
while(1){
///////////////////////
ADC_value = ADC_Read(0) ; //  value from 0 to 1023
VOLT_VALUE = ADC_value * 220 /1023 ; // change to volt value from 0 to 220

////////////////////////////////////////////////////////////////////////////////////////////
ByteToStr(VOLT_VALUE,VOLT);                 // change volt value to text => 4 characters including null
Lcd_Out(2,1,VOLT);    // display volt text => 0 to 220
 Lcd_Out(2,5,"VOLT");
//////////////////////////////////////////////////////////////////////////////////////////////
//Lcd_Chr(2, 4, 'V');   // Write character "V" at row 2, column 4 after volt value
/////////////////////////////////////////////////
if(VOLT_VALUE<=185) UNDER_VOLTAGE=ON ;else UNDER_VOLTAGE=OFF;
///////////////////////////////////////////////////////////
/* The counter will be active for 1 sec and the number of pulses arrived during this interval will be recorded,
and multiplied by 60 to get the RPM . */
   TMR0=0;              //The counter will be active for 1 sec, start
   Delay_ms(1000);      // Wait for 1 sec
   RPM_Value = TMR0*60;
///////////////////////////////////////////////////////////////
WordToStr(RPM_Value,RPM);                 // change RPM value to text => 6 characters including null
Lcd_Out(1,1,RPM);
////////////////////////////////////////////////////
Lcd_Out(1,7,"RPM");
 //////////////////////////////////////////////////
   if(RPM_Value > 600) RPM_SWITCH = ON ; else RPM_SWITCH = OFF;
////////////////////////////////////////////////////////////
}
}
رد مع اقتباس
  #4  
قديم 03-06-2013, 01:30 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,706
معدل تقييم المستوى: 22
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: مفتاح التحويل الأوتوماتيكى للقدرة من المصدر الرئيسى إلى المولد الاحتياطى للمستشفيات والمصانع باس

إضافة دائرة بيان تردد المصدر والتحكم من خلالها :

الدائرة الكهربية :









البرنامج :



كود:
/////////////////////////////////////////////////////////////
// Project : ATS ( Automatic Transfer Switch)
// 1- Mains voltage
// PIC16F877A , 4MHz , Mikroc-Pro
// Eng.F.Abdelaziz
// http://www.eeecb.com/vb/index.php
//5/3/2013
///////////////////////////////////////////////////////////////////
// LCD module connections
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;
// End LCD module connections
////////////////////////////////////////////////////////////
#define ON  1
#define OFF 0
///////////////////////////VOLT /////////////////////////////////////////////
#define UNDER_VOLTAGE PORTD.B0
unsigned int ADC_value  ;
long VOLT_VALUE ;
char *VOLT = "0000";

//////////////////////////////// RPM /////////////////////////////////
#define RPM_SWITCH PORTD.B1
unsigned long RPM_Value;
char *RPM = "00000";
//////////////////////////////////////////
#define FREQUY_SWITCH PORTD.B2
unsigned long FREQUENCY_VALUE ;
char *Hz = "0000";
//////////////////////////////////////////////////////////////////////

void main(){
TRISA.B0=1 ;    //RA0 => analog input
TRISA.B4 = 1; //  Inut at RA4/T0CKI
 PORTA.B4=0;
TRISB=0;
PORTB=0;
TRISD=0; //RPM Switch Output
PORTD=0;
OPTION_REG=0b00101000; //Prescaler(1:1) , T0CKI=1 for counter mode

Lcd_Init();                           // Initialize LCD
Lcd_Cmd(_LCD_CLEAR);                 // Clear display
Lcd_Cmd(_LCD_CURSOR_OFF);            // Cursor off

//////////////////////////////////////////////////////////////////////
while(1){
///////////////////////
ADC_value = ADC_Read(0) ; //  value from 0 to 1023
VOLT_VALUE =  (long)ADC_value * 220 /1023 ; // change to volt value from 0 to 220
////////////////////////////////////////////////////////////////////////////////////////////
ByteToStr(VOLT_VALUE,VOLT);                 // change volt value to text => 4 characters including null
Lcd_Out(2,1,VOLT);    // display volt text => 0 to 220
 //Lcd_Out(2,5,"VOLT");
//////////////////////////////////////////////////////////////////////////////////////////////
Lcd_Chr(2, 4, 'V');   // Write character "V" at row 2, column 4 after volt value
/////////////////////////////////////////////////
if(VOLT_VALUE<=185) UNDER_VOLTAGE=ON ;else UNDER_VOLTAGE=OFF;
///////////////////////////////////////////////////////////
/* The counter will be active for 1 sec and the number of pulses arrived during this interval will be recorded,
and multiplied by 60 to get the RPM . */
   TMR0=0;              //The counter will be active for 1 sec, start
   Delay_ms(1000);      // Wait for 1 sec
   RPM_Value = TMR0*60;
FREQUENCY_VALUE = TMR0 ;
///////////////////////////////////////////////////////////////
WordToStr(RPM_Value,RPM);                 // change RPM value to text => 6 characters including null
Lcd_Out(1,1,RPM); 
////////////////////////////////////////////////////   
Lcd_Out(1,7,"RPM");
 //////////////////////////////////////////////////
   if(RPM_Value > 600) RPM_SWITCH = ON ; else RPM_SWITCH = OFF;
////////////////////////////////////////////////////////////
ByteToStr(FREQUENCY_VALUE,Hz);                 
Lcd_Out(2,6,Hz); 
////////////////////////////////////////////////////   
Lcd_Out(2,9,"Hz");
 //////////////////////////////////////////////////
   if(FREQUENCY_VALUE < 40) FREQUY_SWITCH = ON ; else FREQUY_SWITCH = OFF;
////////////////////////////////////////////////////////////

}
}
رد مع اقتباس
  #5  
قديم 03-07-2013, 03:41 AM
الصورة الرمزية haysem
haysem haysem غير متواجد حالياً
استاذ الكترونيات
 
تاريخ التسجيل: Jun 2010
المشاركات: 181
معدل تقييم المستوى: 10
haysem is on a distinguished road
افتراضي رد: مفتاح التحويل الأوتوماتيكى للقدرة من المصدر الرئيسى إلى المولد الاحتياطى للمستشفيات والمصانع باس

متميز كعادتك أستاذنا
رد مع اقتباس
  #6  
قديم 04-17-2014, 06:33 PM
صالح الجبيلي صالح الجبيلي غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Sep 2009
المشاركات: 6
معدل تقييم المستوى: 0
صالح الجبيلي is on a distinguished road
افتراضي رد: مفتاح التحويل الأوتوماتيكى للقدرة من المصدر الرئيسى إلى المولد الاحتياطى للمستشفيات والمصانع باس

موضوع جدا رائع
رد مع اقتباس
  #7  
قديم 04-18-2014, 05:19 AM
فوزي73 فوزي73 غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Mar 2011
المشاركات: 10
معدل تقييم المستوى: 0
فوزي73 is on a distinguished road
افتراضي رد: مفتاح التحويل الأوتوماتيكى للقدرة من المصدر الرئيسى إلى المولد الاحتياطى للمستشفيات والمصانع باس

ما شاء الله

موضوع مميز جزاك الله خير الجزاء


رجاء شرح الكود وبخاصة الجزء الخاص بالتردد وما قيمة الفولت الداخل اليه؟

وشكرا مقدما

فوزي
رد مع اقتباس
  #8  
قديم 04-19-2014, 05:58 AM
فوزي73 فوزي73 غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Mar 2011
المشاركات: 10
معدل تقييم المستوى: 0
فوزي73 is on a distinguished road
افتراضي رد: مفتاح التحويل الأوتوماتيكى للقدرة من المصدر الرئيسى إلى المولد الاحتياطى للمستشفيات والمصانع باس

السلام عليكم ورحمة الله

المنهدس فتح الله

ارجو منكم شرح العملية والكود للاهمية وجزاك الله خير الجزاء

فوزي
رد مع اقتباس
  #9  
قديم 05-03-2016, 04:34 AM
scomido scomido غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: May 2016
المشاركات: 12
معدل تقييم المستوى: 0
scomido is on a distinguished road
افتراضي رد: مفتاح التحويل الأوتوماتيكى للقدرة من المصدر الرئيسى إلى المولد الاحتياطى للمستشفيات والمصانع باس

رائع
رد مع اقتباس
  #10  
قديم 07-09-2016, 08:08 AM
adlene adlene غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Jul 2016
المشاركات: 2
معدل تقييم المستوى: 0
adlene is on a distinguished road
افتراضي رد: مفتاح التحويل الأوتوماتيكى للقدرة من المصدر الرئيسى إلى المولد الاحتياطى للمستشفيات والمصانع باس

مشكور اخي اعجبني الموضوع كثير حبدا لو ارفقت الملفات الخاصة بالمشروع تمنيت يكون ب لغة plc ببرنامج ldmicro
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

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

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة



الساعة الآن 10:41 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
الحقوق محفوظة لمنتديات الاليكترونيات العصرية

Security team

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77