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

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

محمد يسرى محمد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2010
المشاركات: 525
نشاط [ محمد يسرى محمد ]
قوة السمعة:0
قديم 23-05-2010, 11:55 PM المشاركة 1   
افتراضي مشروع هام جدا ......لكل عباقرة المنتدى Twitter FaceBook Google+



السلام عليكم ورحمة الله وبركاته
اخوانى الاعزاء
اطرح امامكم مشروع تطبيقى بالمايكرو كنتروللر اريدكم ان تساعدونى فيه لانى بصراحة وجدت نفسى عاجز عن المضى فيه
ببساطة
عندنا 7 مولدات . كل مولد عليه بطارية 24 فولت
يعنى عندنا 7 بطاريات
المطلوب اننا نعمل دائرة شحن لل7 بطاريات
بحيث تكون كل بطارية متوصلة على تونجر الشحن عن طريق كونتاكتور
بحيث لما اريد ان اشحن البطارية الاولى اوصل الكونتاكتور الاول وهكذا
بس لازم نحط فى الاعتبار ان المولد لمل يشتغل بيشحن البطارية بنفسه عن طريق الدينامو
وعلشان كده لازم لما يكون المولد شغال ماتتشحنش البطارية من التونجر
من الاخر
انا عايز اشحن كل بطارية 1 ساعة ولما يجى دور بطارية مولد شغال تتشحن البطارية اللى بعدها وهكذا
وعاوز اخلى التونجر يريح كل 3 ساعات 2 ساعة
انا عارف ان الموضوع صعب
وياريت تفيدونى
وشكرا

اعلانات

نايف نظمي
:: مهندس جيد ::
تاريخ التسجيل: Jul 2009
الدولة: الاردن
المشاركات: 274
نشاط [ نايف نظمي ]
قوة السمعة:0
قديم 25-05-2010, 08:09 AM المشاركة 2   
افتراضي


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

انا عارف ان الموضوع صعب
وياريت تفيدونى
وشكرا
كل شيء صعب .. مالم يكن هناك عزيمة واصرار

اخي انت اوضحت كل الخطوات واعتقد ان مجموعة من المؤقتات

كافية لتقوم بهذا العمل


والله الموفق

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

محمد يسرى محمد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2010
المشاركات: 525
نشاط [ محمد يسرى محمد ]
قوة السمعة:0
قديم 26-05-2010, 09:52 PM المشاركة 3   
sun


السلام عليكم
بداية اشكرك يا اخ نايف على الاهتمام
ومن الممكن فعلا ان نستخدم 7 timer لعمل الدائرة
ولكنى اريد ان اقوم بتنفيذ المشروع بالمايكروسى على pic16f877a
وذلك لعدة اسباب
1- خفض التكلفة
2- فى حالة شحن بطارية مولد 1 مثلا من المفروض ان تكون الخطوة التالية هى شحن مولد2
فاذا افترضنا ان مولد 2 اشتغل فى هذا التوقيت لمدةبسيطة
عندها سوف يقوم التايمر بالعد دون شحن فعلى لبطارية مولد 2
وهو الامر الذى سوف يؤدى الى عدم شحن بطارية مولد 2 والانتقال بعدها لمولد3
ولذلك
انا اريد ان يكون بالبرنامج ترتيب معين sequence
بحيث يعمل scan عقب شحن كل بطارية
وذلك لكى نتاكد من توزيع الشحن على جميع البطاريات
وشكرا مرة اخرى على الاهتمام


نايف نظمي
:: مهندس جيد ::
تاريخ التسجيل: Jul 2009
الدولة: الاردن
المشاركات: 274
نشاط [ نايف نظمي ]
قوة السمعة:0
قديم 26-05-2010, 10:50 PM المشاركة 4   
افتراضي


السلام عليكم

اعتقد اصعب مرحلة امامك هي دارة كشف امتلاء البطارية

والمرحلة السهلة هي البرمجة .. تأخذ خط من دار الكشف لا يتعدى 5فولت

ونوصله الى المتحكم وتختار حالة صفر او واحد لتدل على حالة الشحن او امتلاء البطارية

وكونك تسأل عن برنامج مايكروسي هذا يعني انك لا تعرف البرمجة بهذه اللغة

فمن اولها انصحك بأستخدام برنامج بروتون بيسك وبرنامج بروتوس كلاهما موجودين في المنتدى

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

خطوى خطوى والتعديل وكشف الاخطاء

ارجو من الله لك النوفيق


محمد يسرى محمد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2010
المشاركات: 525
نشاط [ محمد يسرى محمد ]
قوة السمعة:0
قديم 27-05-2010, 04:10 AM المشاركة 5   
افتراضي


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


محمد يسرى محمد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2010
المشاركات: 525
نشاط [ محمد يسرى محمد ]
قوة السمعة:0
قديم 27-05-2010, 04:17 AM المشاركة 6   
yel


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


نايف نظمي
:: مهندس جيد ::
تاريخ التسجيل: Jul 2009
الدولة: الاردن
المشاركات: 274
نشاط [ نايف نظمي ]
قوة السمعة:0
قديم 28-05-2010, 01:54 AM المشاركة 7   
افتراضي




اما بالنسبة لدارة الشحن فمعذرة انها ليسة عندي
---
تعديل على الصورة

PORTC=0
LABEL:
IF PORTD.1=0 THEN PORTC.1=0
.....
DELAY TIME
GOTO LABEL



ارجو افادتك

واتمنا لك التوفيق


التعديل الأخير تم بواسطة : نايف نظمي بتاريخ 28-05-2010 الساعة 02:07 AM

محمد يسرى محمد
:: مهندس متميز ::
تاريخ التسجيل: Apr 2010
المشاركات: 525
نشاط [ محمد يسرى محمد ]
قوة السمعة:0
قديم 28-05-2010, 09:23 PM المشاركة 8   
x3 الله ينور يا بشمهندس


السلام عليكم
شكرا اخى الكريم
هذه الدائرة هى نفسها التى كنت افكر فيها
وقد عبرت انت عنها فى اسلوب سلس وبسيط وواضح
ولكن الكود
PORTC=0
LABEL:
IF PORTD.1=0 THEN PORTC.1=0
.....
DELAY TIME
GOTO LABEL
هو المشكلة فسوف تضطر الى كتابة العديد والعديد من الاسطر حتى تستطيع الوصول للSEQUENCE التى نريدها
فهل من الممك يا اخى ان تقوم بكتابة الكود الكامل
(ملاحظة هامة)
جملة IF سوف تحتاج الى تعديل لان البرنامج يجب ان يقوم بعمل فحص مستمر للCONTACT القادم من دائرة اكتمال البحث
واذا قمت يا اخى بتنفيذ الدائرة على البروتيوس سوف تفهمنى
والف شكر على جهودك الفعالة

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025