المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : ارجو المساعده للضروره القصوى لبرمجه بيك لتعمل تايمر


rimawi2008
06-05-2008, 07:38 PM
السلام عليكم ورحمة الله وبركاته
ارجو من اعضاء المنتدى بمساعدتي فانا اقوم بعمل مشروع جامعي وتنقصني جزئية التايمر فاريد برمجة بيك بطريقة تجعله كتايمر تمرر التيار بعد زمن معين ادخله مسبقا في برنامج البيك واذا امكن اريد مخطط للدائرة التي توضع فيها البيك لتقوم بهذه المهمة وجزاكم الله كل خير .

majdm
11-05-2008, 09:42 PM
بسم الله الرحمن الرحيم
اخي rimawi2008 انشاء الله استطيع مساعدتك فان خبير ببرمجة وتنفيذ دارات المتحكمات الصغرية ولكن اريد شرح مفصل عن المطلوب لكي اساعدك بشكل المطلوب

rimawi2008
14-05-2008, 07:35 PM
ما اريده هو دائرة تحتوي بيك عندما ادخل تيار كهربائي (input) ولنفرض بطارية مثلا
تقوم الدائرة باخراج التيار الكهربائي (output)بعد فترة محدد (delay time) احددها له في برنامج البيك عند البرمجة ولنقل 20 ثانية على سبيل المثال

زكي شاكر
15-05-2008, 04:41 PM
ما اريده هو دائرة تحتوي بيك عندما ادخل تيار كهربائي (input) ولنفرض بطارية مثلا
تقوم الدائرة باخراج التيار الكهربائي (output)بعد فترة محدد (delay time) احددها له في برنامج البيك عند البرمجة ولنقل 20 ثانية على سبيل المثال


اخي الكريم
الدائرة يمكن ان تكون هكذا:

http://www.cijoint.fr/cj200805/cijlyZTrLQ.gif

مثال عن برنامج بلغة التجميع (امتداد asm. ) بسيط صالح للمتحكم Pic 16F84A :
;************************************************* *******
; RB1 = On, après 20s (appui sur bouton poussoir "Start")
;************************************************* *******
LIST p=16f84a
#include <p16f84a.inc>
__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC
; VARIABLES
CBLOCK 0x0C
cmpt1 : 1
cmpt2 : 1
cmpt3 : 1
ENDC
;DEMARRAGE SUR RESET
org 0x000
goto init
init
bcf STATUS,RP0
clrf PORTA
clrf PORTB
goto start
; Temporisation
Tempo
movlw d'171'
movwf cmpt3
b3
movlw d'207'
movwf cmpt2
b2
movlw d'187'
movwf cmpt1
b1
decfsz cmpt1,f
goto b1
decfsz cmpt2,f
goto b2
decfsz cmpt3,f
goto b3
return
; Programme principal
start
bsf STATUS,RP0
bsf TRISA,1
bcf STATUS,RP0
btfss PORTA,1
goto start
call Tempo
ON
bsf STATUS,RP0
bcf TRISB,1
bcf STATUS,RP0
bsf PORTB,1
goto ON
END

rimawi2008
15-05-2008, 09:14 PM
شكرا جزيلا يا أخ zaki chaker (http://www.qariya.com/vb/member.php?u=19045) وجزاك الله عنا كل خير على هذه الدائرة والبرنامج ولكن عندي سؤالان من فضلك :
1- من اين اخذ اشارة ال output .
2- ما مدى دقة الزمن اي هل هناك زنم تاخير مثلا عن الزمن الموضع كمثال وضعنا عشرين ثانية فهل يخرج التيار بعد عشرين ثانية بالتحديد ام يكون هناك تاخير في الزمن 60 مايكرو ثانية مثلا .
هذا وجزاك الله كل خير وانا في انتظار ردك .

زكي شاكر
16-05-2008, 09:55 AM
- من اين اخذ اشارة ال output .

من الطرف RB1 ويمكنك ازالة الليد الاحمر .
تذكر ان اقصى تيار يمكن للمتحكم بذله لا يتعدى 20 ميلي امبير.
معنى هذا : عند الضرورة لابد من اضافة مقاومة قيمتها 270 اوم على الاقل للطرف RB1.
2- ما مدى دقة الزمن اي هل هناك زنم تاخير مثلا عن الزمن الموضع كمثال وضعنا عشرين ثانية فهل يخرج التيار بعد عشرين ثانية بالتحديد ام يكون هناك تاخير في الزمن 60 مايكرو ثانية مثلا .

60 ميكروثانية خلال 20 ثانية ضيئلة جدا وغير مؤثرة، لان 1 ميكروثانية هو جزء من مليون من ثانية واحدة.
لكن للتعميم :
1/ دقة المؤقت مرتبطة بعاملين على الاقل:
1- دقة الكوارتز ومعامل انحراف كل عناصر الدارة وهذه غير مؤثرة في الاستعمالات المتداولة بما فيها ساعات الزمن الحقيقي..
2-الزمن الذي يستغرقه المتحكم أثناء تنفيذ الاوامر :
بالنسبة لموضوعنا ومع كوارتز 4mhz، كل امر يأخذ 1 ميكروثانية ماعدا Goto و Call
فلهما 2 ميكروثانية . وهذه يمكن التحكم فيها مع فارق ضئيل جدا (بضع ميكرو ثوان).
الزيادة او النقصان تتم من خلال تغيير قيم السجلات المؤقتة الثلاث في البرنامج :
cmpt3-cmpt2-cmpt1
كما يمكن للضبط ، الاستفادة مرة واحدة او عدة مرات، من الامر nop لإضاعة ميكروثانية أو أكثر.
2/ هناك ملاحظة : عند اول توصيل المتحكم بالجهد 5 فولت ينتظر المتحكم ما يقارب 20 ميللي ثانية ضرورية حتى يستقر .يحدث هذا مرة واحدة فقط .

تحياتي..

rimawi2008
17-05-2008, 02:55 PM
جزاك الله كل خير يا اخ zaki chaker ولكن نست ان اسئلك اين اضع ال input وليكن التصور واضح فانا ساقوم ببرمجة البيك وعمل الدئرة وعندطرف input ساشبك بطارية 9 فولت وعند طرف output سالغي الدايود الاحمر و ساخذ سلك نحو الدائرة المرد تشغيلها بعد الزمن الذي حددته في البرنامج وهو 20 ثانية هل هناك اي لبس في الموضوع ام ان تصوري صحيح ؟؟
واذا امكن تعطيني ايميلك للتواصل اذا كان هناك اي مشكلة .
هذا وبارك الله فيك وجزاك عنا كل خير .

زكي شاكر
17-05-2008, 03:53 PM
1/ input كما هو مبين في الدارة (http://www.cijoint.fr/cj200805/cijlyZTrLQ.gif) ، يكون من RA1 اي الطرف 18 من Pic 16F84A.
الافضل عدم تجاوز 5 فولت كقيمة لجهد الإدخال.
2/ برنامج asm تم بناؤه ب MPLAb 8 الذي يمكن تحميله من موقع Microchip.
3/ محاكاة الدائرة تمت ببرنامج Proteus الذي يمكن الحصول عليه من موقع القرية.
الافضل ان تجرب البرنامج اولا على هاتين الاداتين ..

من جهة اخرى وحتى تتوضح الصورة اكثر وتحصل على إجابات دقيقة، الافضل ان تبين مانوع المهمة الذي تريد من الدائرة القيام بها..
ويمكنك استخدام الترسل الخاص اذا كانت هذه رغبتك.

rimawi2008
17-05-2008, 04:02 PM
شكرا جزيلا لك وعلى برامج المحاكاه التي ذكرتها وبالنسبة لمهمة الدائرة ساستخدمها لادخال جهد بطارية بعد زمن اقوم بتحديده لتشغيل جهاز معين ولكن اريد ان اخرج جهد مقدارة 9 فولت كحد ادنى ليعمل الجهاز فما الحل اذا لم استطيع ان اخرج الا 5 فولت ارجو المساعده منك لو تكرمت وجزاك الله خيرا .

زكي شاكر
17-05-2008, 06:03 PM
الافضل هو استعمال RELAIS (http://images.forum-auto.com/mesimages/203845/relais%20prechauffage%20177.jpg)
به تستطيع تشغيل اجهزة باي نوع من التيار من بضع فولتات الى 220 فولت .
يكفي توصيل النقطتينu1 و u2 بالمصدر.
كما يمكن توصيل u1 ب +12V و u2 ب 0V في الدائرة.
وعلى فكرة ليس من الضروري استعمال متحكم لاداء وظيفة تايمر دقيق. هناك حلول بسيطة اخرى : cd 4060 + كريستالة مثلا ..

http://www.cijoint.fr/cj200805/cijNyMMbA2.gif

rimawi2008
17-05-2008, 06:32 PM
سامحني انا تقلت عليك باسئلتي ولكن جزاك الله خير ما قصرت ان شاء الله في ميزان حسناتك كده انت حليتلي مشكله خرج الجهد فاصبح عندي 12 فولت ولكن هل يمكنني ان اسئلك عن اقتراح cd 4060 + كريستال فانا لم اسمع به من قبل وهل هو دقيق جدا لانه الميلي ثانية تحبط عمل الجهاز وجزاك الله كل خير .
سامحني جدا انا تقلت دمي عليك ولكن اجرك على الله عز وجل .

زكي شاكر
17-05-2008, 06:45 PM
تايمر بال 4060 والكوارتز دقيقة مثل دائرة البيك ومثل الساعات الرقمية .
حدد فقط كم ثانية او دقيقة او ساعة تريد وسأعمل على إعداد دائرة لك في اقرب وقت ان شاء الله.
تحياتي ..

rimawi2008
17-05-2008, 06:49 PM
انا اريدها قابلة للبرمجة لذلك اخترت البيك فانا اريد ان اغير الوقت اذا اردت ذلك في البيك دون تغير الدائرة وهذا حسب ما فهمت لا تفعله 4060 والكوارت كما اني لم استعمل مؤقت 555 لهذا السبب .
هل ما فهمته صحيح ام هناك لبس عندي .
جزاك الله خيرا

زكي شاكر
17-05-2008, 07:03 PM
فعلا ما تقوله صحيح ، تغيير الزمن اسهل في برنامج البيك..
ارجو لك التوفيق اخي الكريم
تحياتي

rimawi2008
17-05-2008, 07:08 PM
شكرا جزيلا وجزاك الله كل خير على ما ساعدتني فيه وان شاء الله في ميزان حسناتك .واكرر شكري .

محمد50
17-05-2008, 09:55 PM
تسلم عيونك أخى الفاضل زكى شاكر كفيت ووفيت

wleed antar
18-05-2008, 10:30 AM
مشاركة مفيدة ، جزاك الله خيرا أخى ذكى شاكر وجعلك من النافعين لعباده

rimawi2008
18-05-2008, 04:15 PM
ان شاء الله يا اخي زكي شاكر سابدا بتنفيذ الدائرة الاسبوع القادم بسبب الامتحانات وساخبرك بالنتيجة ان شاء الله

rimawi2008
14-06-2008, 05:57 PM
السلام عليكم اخي اتمنى ان تكون بخي لقد قمت بتركيب هذه الدائرة ولكن برمجت البيك عن طريق ال c وجعلت التاخير خمس ثواني ولكن بعد كل هذا لم تعمل الدائرة ولم يعمل ال led مطلقا وهذا النص
void main()

{
TRISB=0x00;
PORTB.F1=0;
DELAY_ms(5000);
PORTB.F1=1;
while(1);
}
ارجو ان تفيدني ما المشكلة وجزاك الله خيرا

زكي شاكر
14-06-2008, 09:21 PM
اخي العزيز:
فاقد الشيء لا يعطيه، فاخوك شاكر لايفهم في لغة C ..
ارجو لك التوفيق.
تحياتي

rimawi2008
17-06-2008, 09:57 AM
شكرا جزيلا لك يا اخي زكي الدائرة عملت بنجاح لقد اكتشفت ان الكريستالة التي وضعتها اولا لا تعمل فقمت بتغيرها جزاك الله خيرا على افادتك لي ولكن هل لي بسؤال اخر هل اجد عندك دائرة مبرمج للبيك 16f84a لقد وجدت عدة دوائر وهي بالحقيقة كثيرة العناصر ولكن رايت مبرمجة ذات مرة بثلاث عناصر فقط (مقاومة ودايود وcom ) هل اجد مخططها عندك ؟
وجزاك الله كل خير

زكي شاكر
18-06-2008, 08:22 AM
أخي العزيز، رأي الخبراء هو استعمال مبرمجة تتوفر على تغذية خاصة بها حتى تتم البرمجة بدون مشاكل.
أرجو لك التوفيق..

rimawi2008
28-06-2008, 06:22 AM
جزاك الله عنا كل خير حقا وفيت وكفيت

rimawi2008
05-07-2008, 09:30 AM
اخي زكي هل يمكن ان تفيدني عن دائرة icsp سمعت انها تعمل ك programmer عندما تكون البيك متصل بالدائرة اي يمكن برمجة البيك داخل الدئرة بدون مشاكل وجزاك الله كل خير .

زكي شاكر
08-07-2008, 11:23 AM
السلام عليكم
نعم أخي توجد.
أفضلها برأي المهتمين، هو منتج microchip الحامل لاسم MPLAB ICD 2 (او ICD 2) :
جهاز يمكن من برمجة البيك واختباره وإجراء التعديلات الضرورية على البرنامج (ما يعرف ب Debugger) ..
وعموما كل المواصفات تجدها هنا، إضافة الى طريقة الاستعمال ،:
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010046
من المهم ان تعرف كذلك، أن ICD 2 تعمل مع برنامج MPLAB IDE الذي يتعامل اساسا بالاسمبلي.
لكن MPLAB IDE ايضا يمكن ان تدمج بعض الأنواع الأخرى من الكوميلر التي تشتغل بلغات اخرى مثل :
C, Picbasicpro…
وهناك بعض الدوائر التي تحاول تقليد ICD 2 توجد على النت، يمكن لك ان تبحث عنها لتجريبها ، فالتجربة وحدها من سيحسم في الامر..
ارجو لك التوفيق ..

والى ان نلتقي بإذن الله.. لك مني و لجميع الاخوة الاعضاء ، تحياتي وسلامي
زكي شاكر

rimawi2008
14-07-2008, 08:12 AM
بارك الله فيك وجعل ذلك في ميزان حسناتك يوم القيامة

a.ezzat
17-07-2008, 11:37 PM
مشكووووووووووووووووووووووور مشكوووووووووووووووووووور

ابن فرناس
22-07-2008, 02:11 AM
بسم الله الرحمن الرحيم
و الصلاة و السلام على خير المرسلين .. أما بعد :
كما تفضل الأخ الكريم فإنه يفضل مبرمج أصلي و هذا لضمان عمله .. و لكن أحيانا لا نجد الموارد المالية الكافية لشراء مثل هذا النوع لذا هناك بديل من صنع الهواة و هو مجرب و ناجح و قد جربته بنفسي العديد من المرات و لم يفشل معي أبدا و هو المبرمج (JDM) الابسط في بابه و هو يعمل مع البرنامـــج (ic-prog) الذي يحمل مجانيا من هذا الموقع :http://www.ic-prog.com/index1.htm
و هناك مبرمج آخر كذلك جربته مع بعض الأخوة و يعمل منذ سنوات و دون إشكال و هو النوع (Conquest programmer) و هو بخلاف السابق يعمل على المنفذ المتوازي .. و كلا المخططين موجودين على الرابط السابق .. و هذه صور للمخططات مجربة حتى الأبسط منها تعمل .

x