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

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

الصورة الرمزية 3bkarino medo
3bkarino medo
:: مهندس جيد ::
تاريخ التسجيل: Mar 2012
الدولة: دمنهور البحيرة
المشاركات: 272
نشاط [ 3bkarino medo ]
قوة السمعة:0
قديم 16-02-2013, 11:05 AM المشاركة 1   
win propeller led من التصميم حتي الابداع (الكود) Twitter FaceBook Google+






بسم الله الرحمن الرحيم
اسف للتاخر ولنكمل

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

نبدا في كتابه كود مبدئي .... ولكن قبل كتابه الكود هل سنكتب اي كود وينفع مع اي سرعه للمحرك ؟؟؟ طبعا لا
طيب لازم الاول نحسب سرعه المحرك في الثانيه الواحده وبعد كده نقسم
عدد اللفات علي 1000 الي هيا بتاعه الميلي ثانيه (لأن الثانيه فيها 1000 ميلي ثانيه )
وبعد كده الوقت الي هيطلع لنا ده هوا وقت رسم الصوره في اللفه الواحده

مثال علي كده :-
نفترض ان الموطور بيلف 10 مرات في الثانيه الواحده يبقي 10÷1000 = 100 ميلي ثانيه
يبقي وقت رسم الصوره الواحده هيستغرق 100 ميلي ثانيه
كويس لحد كده ؟!.......... طيب
هنشوف عدد الخطوط الي هنرسمها في اللفه الواحده يعني مثلا :-
لو رسمنا 60 خط في اللفه الواحده هنحتاج اننا نقسمهم علي الوقت الخاص باللفه الواحده علشان نرسم كل خط في توقيت معين يعني نضيئ الليدات بالشكل الي هنحتاجه لوقت معين
مثال علي كده انا عايز اظهر لفظ الجلاله كلمه ( الله ) :-
طبعا احنا هنعمل مصفوفه بالشكل ده :-

كود:
char x01 = 0b11111111;
char x02 = 0b11111111;
char x03 = 0b00000000;
char x04 = 0b00000000;
char x05 = 0b11111111;
char x06 = 0b11111111;
char x07 = 0b00000011;
char x08 = 0b00000011;
char x09 = 0b11111111;
char x10 = 0b11111111;
char x11 = 0b00000011;
char x12 = 0b00000011;
char x13 = 0b01111111;
char x14 = 0b01001000;
char x15 = 0b01001000;
char x16 = 0b01111000;
لحظوا كده المصفوفه من المتغيرات فيها اصفار ووحايد 0,1 وكلنا عارفين ان ال1 هيشغل الليد وال0 هيطفئ الليد ولاحظوا كده احنا كتبنا كلمه الله ازاي


11111111
11111111
00000000
00000000
11111111
11111111
00000011
00000011
11111111
11111111
00000011
00000011
01111111
01001000
01001000
01111000


يعني احنا كده بنرسم الشكل او الكلمه الي هنخرجها مش بنكتب اكواد خالص هههههه

طيب مش احنا كنا قايلين فوق ان احنا هنرسم 60 خط في الثانيه طيب احنا عندنا 16 خط بس
الباقي راحوم فييييييييييييين ؟؟؟؟؟
الباقي من الي هما 44 خط !!

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

لاكن برضوا احنا ممكن ندي امر باطفاء الليدات الفتره دي وهوا ده الكلام المظبوط
طيب الكود ده هيشرح انا اصدي ايه

كود:
char x01 = 0b11111111;
char x02 = 0b11111111;
char x03 = 0b00000000;
char x04 = 0b00000000;
char x05 = 0b11111111;
char x06 = 0b11111111;
char x07 = 0b00000011;
char x08 = 0b00000011;
char x09 = 0b11111111;
char x10 = 0b11111111;
char x11 = 0b00000011;
char x12 = 0b00000011;
char x13 = 0b01111111;
char x14 = 0b01001000;
char x15 = 0b01001000;
char x16 = 0b01111000;
/// المتغيرات الي بتحمل البيانات الي هتظهر علي البروبلير 

void main (){
 trisd =0;
portd=0;

loop:

portd = x01; delay_us( 1600 );
portd = x02; delay_us( 1600 );
portd = x03; delay_us( 1600 );
portd = x04; delay_us( 1600 );
portd = x05; delay_us( 1600 );
portd = x06; delay_us( 1600 );
portd = x07; delay_us( 1600 );
portd = x08; delay_us( 1600 );
portd = x09; delay_us( 1600 );
portd = x10; delay_us( 1600 );
portd = x11; delay_us( 1600 );
portd = x12; delay_us( 1600 );
portd = x13; delay_us( 1600 );
portd = x14; delay_us( 1600 );
portd = x15; delay_us( 1600 );
portd = x16; delay_us( 1600 );
/// 
portd = 0; delay_us( 74400 );
goto loop;
///
}
ملاحظه اذا وجدت اخطاء في الكود هذا لانه لم اقم بكتابته داخل برنامج الميكرو سي لعدم وجوده في الوقت الحالي عندي

الكود يعمل علي هذه الدائره :


شرح الكود :-
في البدايه فوق كتبنا المتغيرات الي فيها بيانات الكلمه

بعد كده جعلنا البورت d كخرج عن طريق الامر trisd=0
وجعلنا البورت d لا يخرج داتا عن طريق الامر portd=0

بعد كده عملنا حلقه تكراريه عن طريق وضع عنوان :loop ووضع الجمله goto loop

بعد كده خرجنا البيانات الي هتكتب كلمه الله علي البروبلير ودي اهم جزئيه لاحظ معايا كده

رسمنا اول خط عن طريق الامر
كود:
portd = x01; delay_us( 1600 );
x01 هو ده المتغير الي بيحمل بيانات الخط الاول الي هتظهر علي البروبيلير
ووضعنا وقت انتظار مدته 1600 ميكرو ثانيه يعني 1.6 ميلي ثانيه
طيب ليه الوقت ده ؟؟

الوقت ده هو وقت رسم الصوره الواحده .
مش احنا قولنا ان زمن اللفه الواحده هيكون 100 ميلي ثانيه ( ده لو سرعه الموطور 10 لفات في الثانيه )
وعدد الخطوط الي هنرسمها هتكون 60 خط
اذا زمن رسم الخط الواحد هيكون 100 ÷ 60 = 1.6 ميلي ثانيه ( 1600 ميكرو ثانيه )

وقد قمنا برسم 16 لاظهار الكلمه اذا ما هو الوقت المتبقي لاطفاء الليدات في اللفه الواحده ؟؟؟

الوقت نحسبه كالاتي :-
عدد الخطوط 16 × وقت رسم الخط الواحد 1600 = 25600 ميكرو ثانيه (25.600 ميلي ثانيه ) ده زمن رسم خطوط البيانات
اذا الزمن المتبقي لانهاء اللفه الواحده = زمن اللفه الواحده 100 - زمن الرسم 25.600 = 74.400 ميلي ثانيه (74400 ميكرو ثانيه )
وهو ده وقت اطفاء الليدات لحين انهاء اللفه في الكود :-
كود:
portd = 0; delay_us( 74400 );




ارجو ان اكون قد وفقت في الشرح

ويرجي ذكر المصدر عند نقل الموضوع القريه الالكترونيه

يستكمل

اعلانات

الصورة الرمزية 3bkarino medo
3bkarino medo
:: مهندس جيد ::
تاريخ التسجيل: Mar 2012
الدولة: دمنهور البحيرة
المشاركات: 272
نشاط [ 3bkarino medo ]
قوة السمعة:0
قديم 16-02-2013, 12:00 PM المشاركة 2   
Talking حساب سرعه المحرك والحل للمبتدئين


لحساب سرعه المحرك (سرعه دوران المحرك )

اما ان نستخدم القوانين الحسابه
موضوع للاخ robota يشرح ذلك
http://www.qariya.com/vb/showthread.php?t=63254

موضوع في موقع التقنيه
http://www.tkne.net/vb/t10985.html

او عن طريق دائره لقياس سرعه المحرك
موضوع للاخ mohamedse في القريه
http://www.qariya.com/vb/showthread.php?t=52069

الحل للمبتدئين :-

لكن يمكننا ان نصمم الكود وبعد ذلك نتحكم في سرعه دوران المحرك للتسهيل علي المبتدئين

يمكننا التحكم في سرعه دوران المحرك عن طريق هذه الدائره
http://www.qariya.com/electronics/dc...ed_control.htm

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


وده علشان الي لسه بيجرب الكود بتاعه
وانا عن نفسي جربت بالمقاومه المتغيره وجهد المنبع كان 9 فولط

لكن لاحظ هنا ان المقاومه ممكن تتلف بسرعه

علشان كده احسن طريقه هي الدائره 555
http://www.qariya.com/electronics/dc...ed_control.htm

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

الصورة الرمزية المهندس أحمد1
المهندس أحمد1
:: مهندس متواجد ::
تاريخ التسجيل: Sep 2010
الدولة: مصر-أسيوط-ديروط
المشاركات: 159
نشاط [ المهندس أحمد1 ]
قوة السمعة:0
قديم 25-02-2013, 08:05 PM المشاركة 3   
Thumbs up


بارك الله فيك اخى

إضافة رد

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

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

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


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

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