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

   

جهاد يحيى
:: مهندس ::
تاريخ التسجيل: Feb 2012
المشاركات: 18
نشاط [ جهاد يحيى ]
قوة السمعة:
قديم 10-11-2013, 05:48 PM المشاركة 225   
افتراضي



اشكرك جدا اخي الكريم لمجهودك الرائع
قمت بعكس التوصيل و الحمد لله المفاتيح عملت بالشكل المطلوب
اكرر لك شكري و امتناني و اسال الله ان يجعله في ميزان حسناتك و جزاك الله كل الخير

اعلانات

جهاد يحيى
:: مهندس ::
تاريخ التسجيل: Feb 2012
المشاركات: 18
نشاط [ جهاد يحيى ]
قوة السمعة:
قديم 11-11-2013, 02:43 PM المشاركة 226   
افتراضي


لكن بقيت مشكلة واحدة و هي مشكلة الحساس
حيث استخدمت الحساس LM335 و له 3 ارجل الاولى و هي القطب السالب و قمت بتوصيلها مع الارضي و الرجل الثانية و هي القطب الموجب و قمت بتوصيله مع مقاومة و من المقاومة الى 5 فولت و كذلك قمت بتوصيل الرجل الموجبة من الحساس مع البيك اي مع الرجل A2 و الرجل الثالثة من الحساس وهي Adj لم اقم بتوصيلها ,بعد قيامي بهذه التوصيلة و تشغيل المشروع فان درجة الحرارة التي يقسها الحساس هي 5 و تبقى كذلك
فما حل هذه المشكلة ؟؟؟
ارجو مساعدتي ولكم جزيل الشكر

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

الصورة الرمزية باسم ماجد
باسم ماجد
:: مهندس متميز ::
تاريخ التسجيل: Jan 2009
الدولة: Amman-Jordan
المشاركات: 316
نشاط [ باسم ماجد ]
قوة السمعة:
قديم 13-11-2013, 01:19 PM المشاركة 227   
افتراضي


لكن بقيت مشكلة واحدة و هي مشكلة الحساس
حيث استخدمت الحساس LM335 و له 3 ارجل الاولى و هي القطب السالب و قمت بتوصيلها مع الارضي و الرجل الثانية و هي القطب الموجب و قمت بتوصيله مع مقاومة و من المقاومة الى 5 فولت و كذلك قمت بتوصيل الرجل الموجبة من الحساس مع البيك اي مع الرجل A2 و الرجل الثالثة من الحساس وهي Adj لم اقم بتوصيلها ,بعد قيامي بهذه التوصيلة و تشغيل المشروع فان درجة الحرارة التي يقسها الحساس هي 5 و تبقى كذلك
فما حل هذه المشكلة ؟؟؟
ارجو مساعدتي ولكم جزيل الشكر
أولا أُهنئكـ لما توصلت له من أنجاز لحد الآن بالنسبة للحساس ما تم تجريبه هـــو LM35 و إذا غير متوفر لديكـ حالياً تستطيع أن تُحاكي الميكروكنترولر بوضع مقاومة متغيرة قيمتها 1 كيلو أوم أو POT.
و إذا كان الحساس نفسه متوفر وصله كما في ملف PDF البن الأول + و الثاني خرجة يوصل مع pin 4 من البكـ و هو نفسه RA2 و البن الثالث - سالب
نفذ هذه الخطوات أولاً
تمنياتي لك بالتوفيق


جهاد يحيى
:: مهندس ::
تاريخ التسجيل: Feb 2012
المشاركات: 18
نشاط [ جهاد يحيى ]
قوة السمعة:
قديم 13-11-2013, 06:48 PM المشاركة 228   
افتراضي


لقد قمت بتوصيل الحساس LM35 اخي باسم
لكن درجة الحرارة التي يعطيها الحساس هي 16 او 17 و لا تتغير مع اني قمت بتقريب جسم حار من الحساس لا تتغير تبقى 16 او 17
ما هو حل هذه المشكلة؟؟
هل المشكلة في انه لم يستخدم ADCON1 و ADCON0
اذا كانت هي المشكلة ارجو مساعدتي و شكرا
وهذا هو الكود الذي استخدمته
int temp_res;
char temp[12];
unsigned int rtemp=10;
char ntemp[10];

sbit LCD_RS at RB2_bit;
sbit LCD_EN at RB3_bit;
sbit LCD_D4 at RB4_bit;
sbit LCD_D5 at RB5_bit;
sbit LCD_D6 at RB6_bit;
sbit LCD_D7 at RB7_bit;

sbit LCD_RS_Direction at TRISB2_bit;
sbit LCD_EN_Direction at TRISB3_bit;
sbit LCD_D4_Direction at TRISB4_bit;
sbit LCD_D5_Direction at TRISB5_bit;
sbit LCD_D6_Direction at TRISB6_bit;
sbit LCD_D7_Direction at TRISB7_bit;
Lcd_Cmd(_LCD_FIRST_ROW);
void adc()
{
temp_res = ADC_Read(2); // Get 10-bit results of AD conversion
temp_res = (temp_res *5)/10;
IntToStr(temp_res,temp);
asm CLRWDT;
}
void print()
{

Lcd_Cmd(_LCD_CLEAR);
lcd_out(1,1,"Now temp") ;

lcd_out(2,1,"Ref temp") ;
asm CLRWDT;
}
void test()
{
if(temp_res>rtemp)
{
PORTC=0b11010101; //cool
}
if(temp_res<rtemp)
{
PORTC=0b11001011;//hot
}
if(temp_res==rtemp)
{
PORTC=0b11000001;
}
asm CLRWDT;
}

void main()
{
TRISA =0b10;
TRISD =0x11;
TRISC =0x00;

Lcd_Init();
Lcd_Cmd(_LCD_CURSOR_OFF);
////////////////////////////////
lcd_out(1,3,"Temperature") ;
lcd_out(2,2,"Control System") ;
delay_ms(2000);
Lcd_Cmd(_LCD_CLEAR);
lcd_out(1,3,"Designed By") ;
lcd_out(2,1,"Jehad & Mohammad") ;
delay_ms(2500);
print();
do
{
IntToStr(rtemp,ntemp);
lcd_out(2,10,ntemp);
delay_ms(200);
lcd_out(1,10,temp) ;
delay_ms(200);
test();
if(portd.f1==0 && rtemp>0)
{
rtemp--;

delay_ms(200);
}
else if(portd.f0==0&&rtemp<=100)
{
rtemp++;

delay_ms(200);
}
adc();
}
while(1);
asm CLRWDT;
return;
}


التعديل الأخير تم بواسطة : جهاد يحيى بتاريخ 13-11-2013 الساعة 08:47 PM

الصورة الرمزية باسم ماجد
باسم ماجد
:: مهندس متميز ::
تاريخ التسجيل: Jan 2009
الدولة: Amman-Jordan
المشاركات: 316
نشاط [ باسم ماجد ]
قوة السمعة:
قديم 16-11-2013, 10:29 AM المشاركة 229   
افتراضي


أضف أولا
ADCON1 = 0x89;
ADCON0 = 0x55;
بعد دالة void main


جهاد يحيى
:: مهندس ::
تاريخ التسجيل: Feb 2012
المشاركات: 18
نشاط [ جهاد يحيى ]
قوة السمعة:
قديم 16-11-2013, 04:09 PM المشاركة 230   
افتراضي


شكرا جزيلا لك اخي على مساعدتك لي و جزاك الله كل الخير
ساقوم باضافة هاتين الجملتين للكود و امل من الله ان يعمل الشروع كما يجب
اكرر شكري لك اخي
في النهاية هل من الممكن ان تساعدني في كتابة Flowchart (مخطط انسيابي ) لهذا المشروع لانه هذه اول مره احاول ان اكتب و ليس لدي خبره بكيفية كتابته
و شكرا جزيلا لك اخي


adil_aya
:: مهندس ::
تاريخ التسجيل: Nov 2013
المشاركات: 4
نشاط [ adil_aya ]
قوة السمعة:
قديم 29-11-2013, 02:30 AM المشاركة 231   
افتراضي


arabit la ya3mal


الصورة الرمزية abideeka-2010
abideeka-2010
:: مهندس ::
تاريخ التسجيل: Jan 2012
المشاركات: 23
نشاط [ abideeka-2010 ]
قوة السمعة:
قديم 20-12-2013, 04:00 PM المشاركة 232   
افتراضي رابط غير متاح


تابع ..
الجزء الثاني من المشروع الاول


- المبدل التشابهي الرقمي في المتحكم والتعليمات الخاصة في MicroC
إن المبدل التشابهي الرقمي في هذا المتحكم هو بطول 10 بت أي 210=1024 وبالتالي فان القيمة التي سيعطيها المبدل ستكون من ---1023) 0) من أجل مجال جهد الدخل من
( 0—Vcc ) .
تعطى العلاقة التي تحسب القيمة في مسجل المبدل ( قيمة التبديل ) بالشكل التالي :
ADC_val=(V_in×1024)/V_ref

ملاحظة: لا حاجة لضرب القيمة بـ1024 فهي مضروبة داخلياً في مكتبية (ADC) في لغة
البرمجة MicroC بالتالي يصبح
ADC_val=V_in/V_ref
حيث : V_in :الجهد على قطب المبدل المطبق خارجيا .
V_ref:الجهد المرجعي للمبدل ويساوي فولط
ADC_val : القيمة الموجودة في مسجل المبدل داخل المتحكم



وبالتالي يكون الجهد النهائي الذي نرغب الحصول عليه وهو:
V_in=ADC_val×V_ref
وفي مشروعنا أخذنا الجهد المرجعي من داخل المتحكم وبالتالي :
V_ref=5
ومنه : يجب أن نكتب في البرنامج :
V_in=ADC_val×5
التعليمات الخاصة للمبدل التشابهي الرقمي في برنامج MicroC
هناك مكتبية خاصة بالمبدل في برنامج MicroC تسمى (ADC) . يوضح الجدول التالي التعليمات المستخدمة لتشغيل المبدل في البرنامج :
;(Unsigned ADC_Read(unsigned short channel
بين القوسين يجب تحديد قطب المحول المستخدم
النتيجة ستخزن في متحول من نوع unsigned

الشاشة LCD باستخدام المتحكم والتعليمات الخاصة بها في MicroC
يعتبر وصل الشاشة وتشغيلها باستخدام المتحكم أمر سهل نوعا ما فيكفي أن نحدد ماهي الأقطاب الواجب وصلها مع المتحكم وتعريفه بذلك .
كما تعرفنا سابقا فهناك 16 قطب لهذه الشاشة سيتم وصل ستة أقطاب منها فقط للمتحكم والباقي سيتم وصلها كهربائيا مباشرة بدون المتحكم .
الاقطاب التي سيتم وصلها بدون المتحكم هي :
- القطب (1) VSS:قطب التغذية السالب ويطبق عليه جهد صفر فولط
- القطب (2) : VDDقطب التغذية الموجب ويطبق عليه خمسة فولط
- القطب (3) VEE قطب التباين نطبق عليه صفر فولط .
- القطب (5) RW قطب القراءة أو الكتابة : نطبق صفر لأننا سنقرأ فقط من الشاشة
- القطبين ( 16و15) K , A قطبي الليد الذي يضيء خلفية الشاشة يوصل 15 بالأرضي
وال16 بالخمسة فولط.
الاقطاب التي سيتم وصلها بالمتحكم هي :
- القطب (4) RS مسجل اختيار الدخل
- القطب (6) E قطب التمكين
- الأقطاب: D7 D6 D5 D4 أقطاب المعطيات للشاشة
جدول بالتعليمات الهامة المستخدمة في المشروع لتشغيل الشاشة في MicroC :
كما نعلم فهناك مكتبية خاصة بالشاشة في برنامج MicroC وهذا يسهل العمل والجدول التالي يوضح أهم التعليمات المستخدمة في المشروع :

[IMG][IMG]http://up.**********/files/7yzapu6lrqao9npmf9y7.jpg[/IMG][/IMG]

مخطط توصيل الدارة على برنامج بروتيوس :
[IMG][IMG]http://up.**********/files/fi8wf5olrfjs7rhi0x2c.jpg[/IMG][/IMG]

مخطط توصيل الدارة في برنامج ايجل schematic

[IMG][IMG]http://up.**********/files/ej3eq976f4o98noejnjx.jpg[/IMG][/IMG]

الكود بلغة ال C مع الشرح الكامل لكل سطر

[IMG]http://up.**********/files/1qskxc07t2x71irlcq0p.jpg[/IMG]
[IMG]http://up.**********/files/qt5tb59t51qlwkmppz0u.jpg[/IMG]

وأخيرا والاهم رابط تحميل المشروع كاملا في مجلد مضغوط يحتوي على :
- الكود بلغة السي ( ملفات برنامج MicroC )
- مخطط الدارة المطبوعة ببرنامج ايجل ( schematic and board )
- محاكاة الدارة ببرنامج بروتيوس
- الشرح الكامل في ملف pdf
الرابط هو :
http://www.zshare.net/download/769121694266e8f7/

في الجزء القادم سأقوم بشرح بعض تفاصيل الهاردوير من أجل نجاح الدارة الفعلية

أسأل الله أن أكون قد قدمت ولو جزء يسير مما قد يفيد أمتي
أرجو ممن راى الفائدة رأن لا ينساني من الدعاء

والحمد لله رب العالمين
يا باشمهندس هذا الرابط
Download from zSHARE (Links)!
غير فعال لو سمحت ممكن ترسل لى الملف على الايميا التالى او ترفعه برابط اخر وشكرا
ايميلى ahm.moh13*hotmail.com



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