شاشة الصمامات الضوئية الدورانية

شاشة الصمامات الضوئية الدورانية

image001

هل رأيت يوماً جهاز الكترونياً مثيراُ وغريباً لدرجة  ظننته نوعاً من السحر. هنا ستجد تفصيل احد هذه الجهزة التي يتوافر فيها كافة المقومات لتكون تحفة تكنولوجية  فنية. ان وجدت الموضوع مثيراً فتابع القراءة لتعرف اكثر.


تقديم

هذا الجهاز هو عبارة عن سبعة صمامات ضوئية مركبة بشكل عمودي موضوعة على محور محرك يتم التحكم بها بواسطة الميكروكنترولور (وهو العقل الذي سيتحكم بمشروعنا ) كما هو مبين في الشكل جانبه، حيث بامكان هذا الجهاز ان يكتب الرسالة او الكلمة التي نريدها باستعمال مجموعة محددة من الصمامات الضوئية LED.

 

سنبين في هذا المقال مبدأ عمل شاشة الصمامات الضوئية الدورانية (Propeller LED Display ثم نتطرق بعدها لمثال تطبيقي حي.

image002

ولأن الموضوع طويل شيئا ما فطريقة الشرح ستكون معتمدة على المقولة  العربية "خير الكلام ما قل ودل".

image003

 

 إليك نموذجا لجهاز آخر يعمل على نفس المبدأ


مبدأ العمل

 

في اللحظة الاولى لتشغيل الجهاز سيبدأ المحرك بالدوران مع الميكروكنترولور PIC والصمامات الضوئية السبعة حيث ان كل صمام ضوئي سيقوم بالدوران 360 درجة حول مركز المحرك.

image004

 

تخيل الان معي ان الصمامات الضوئية السبعة كلها مضيئة وهي تدور بشكل دائري وبسرعة، ما الذي ستراه في هذه الحالة؟ سيكون الجواب هو سبعة خطوط افقية تدور بشكل دائري. الان، ما علينا الا جعل الصمامات الضوئية يضيئ بعضها وينطفئ بعضها الآخر وبسرعة اثناء تحركها بشكل افقي حتى تكتب لنا الرسالة التي نريدها فهل هذا ممكن؟ نعم، وهذا يتسنى بالإعتماد على عقل إليكتروني الذي سيكون هوالميكروكنترولور PIC 16F84A في مشروعنا هذا.

 

ملاحظة: ان لم تفهم المبدأ جيداً رجاءً أعد القراءة او اترك سؤالك كتعليق أسفل المقال.

 


الأجزاء الرئيسية

 

الأجزاء الرئيسية للدارة الكهربائية العامة للجهاز

 

العربية

الإنجليزية

الفرنسية

الكمية

الصيغة أو القيمة

ميكروكنترولور

 Microcontroller

Microcontroleur

1

PIC16F84A

مصدر الطاقة

Power Supplies

Alimentation

1

بطارية أو منبع تيار مستمر

متذبذب كريستالي

Crystal Oscillator

Quartz

1

XTAL 4Mhz

المكثف

Capacitor

Condensateur

2

22pf

المقاومة

Resistor

Resistance

1

4.7Kohm

8

150Ohm

صمامات ضوئية

LED

7أو 8

اختر الالوان التي تريدها

معدل كهربائي

Voltage regulator

Regulateur

1

7805

 

الأجزاء الرئيسية للدارة الكهربائية المتحكمة بسرعة المحرك

 

العربية

الإنجليزية

الفرنسية

الرمز في الدارة

الكمية

الصيغة أو القيمة

المؤقت

Timer

IC1

1

NE555

ترنزستور

Transistor

Q1

1

BD139

محرك DC

DC Motor

Moteur DC

M

1

يفضل ان يكون 25 دورة في الثانية لكن ان لم تجد سنشرح كيفية التحكم بسرعته.

زر من صنف DPDT

DPDT switch

Interrupteur DPDT

S1

1

للتشغيل والإيقاف

مقاومة متغيرة

Potentiometer

R1

1

50 Kohm

المقاومة

Resistor

Resistance

R2

1

1 Kohm

R3

1

33 Ohm

المكثف

Capacitor

Condensateur

C1

1

0.1uf

C2

1

0.01uf

صمام ثنائي

Diode

D1, D2

2

1N4001

D3

1

1N4007

 


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

 

الدارة الكهربائية العامة للجهاز

 

الدارة الكهربائية العامة للجهاز بسيطة وغير معقدة وهي كالأتي:

image005

دارة  الميكروكنترولور 16f84A تتالف من :
دارة لتعديل الجهد والتي هي عبارة عن 
IC 7805 وهي ستخفض الجهد الكهربائي الداخل الى 5 فولت فقط. الدارة المتذبذبة تتكون من المتذبذب الكريستالي 4Mhz ومكثفين قيمة الواحد منهما 22pf.
سبعة صمامات ضوئية تم توصيلها بعيداً عن الدارة وكل صمام ضوئي موصول بمقاومة قدرها
150 أوم.

 

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

 

وحيث أننا نريد التحكم بسرعة المحرك فكان لا بد من إنجاز دارة كهربائية تقوم بهذه المهمة وهي كالتالي:

image008

هنا سنستعمل دارة تعتمد على IC NE555 وسيتم التحكم بالمحرك عبر المقاومة المتغيرة الموصولة على الارجل 6 و 2نلاحظ وجود دايود متصل بشكل موازي مع المحرك وهو يستعمل لحماية الترانزستور و المؤقت من التلف  ومن دونه ستضطر الى تغيرهما كلما اعدت تشغيل المشروع وذلك نتيجة التيار الكهربائي العكسي الذي يولده المحرك عند اطفائه

 

كيفية توصيل التيار للجزء المتحرك

 

طبعاً تتسائلون عن كيفية توصيل الكهرباء الى الجزء المتحرك وهو الجزء الاخير والاهم. عادةً يستعمل جهاز اسمه mercotac rotating وهو جهاز مكلف لذلك علينا ان نكون خلّاقين وصناعة نسختنا الخاصة وهي كالتالي:

image009

طبعاً لدينا شريطين موجب وسالب. لتوصيل السالب للدّارة يكفي لفّ السلك السالب حول هيكل المحرك وجعله يدور مع الجهاز. اما الشريط الموجب فنحن بحاجة الى اي نوع من الغراء واثنين من (عزقة او الصَمُولَة او حزقة) نقوم بالصاق كلا العزقتين بعمود الدوران للمحرك ونوصلهما بشريط موصل او نجعلهما متلاسقان على شرط ان يكون احدهما فوق العارضة والآخر اسفلها. يتم لفّ السلك الموجب القادم من الدارة على العزقة العليا ويتم لف السّلك الموجب القادم من البطارية او مصدر التغدية الكهربائية على العزقة السفلى. 

 


التركيب

 

فيما يلي الصورة العامة لتركيب الجهاز.

image010

 

يمكنك أن تنجز الدارة الكهربائية على بطاقة مثقبة (Perfboard) أو على سبيكة نحاسية كما هو مشروح في المقالين:

اصنعها إليكترونيا – الشرائح الإليكترونية 1 
اصنعها إليكترونيا – الشرائح الإليكترونية 2

 

اختر أي طريقة تحب وإليك تصميم البطاقة الصغيرة لهذا الجهاز. يمكنك تحميلها وطباعتها على الورق من خلال الملف التالي:

تصميم البطاقة

image006

 

اولاً :  يتمّ وضع اللوحة الإليكترونية على الداعمة معدنية رفيعة.  وبالامكان أيضا استعمال داعمة خشبية  اي انك لست مضطراً لتقيد بهذا الشكل.

image012

 

نلاحظ ايضا ان اللوحة الإليكترونية  في جهة والصمامات الضوئية في الجهة المقابلة وهذا امر مهم من اجل مراعاة توزيع الصقل.

 

ثانيا: يتم توصيل المحرك بالدارة

 

image013

ثالثا: يوضع غطاء من اجل تثبيت المحرك لمنعه من  الاهتزاز او السقوط.

image014

حسابات تحليلية

 

تقديم

 

سنتطرق في هذه الحسابات إلى استعمال الوحدة الزمنية "الثانية" وما تحتها، وحتى يسهل عليك التحليل نذكرك بها في ما يلي:

الوحدة

الرمز

قيمتها

ثانية

s

1 s

ميليثانية

ms

1 ms = 0.001 s

ميكروثانية

 μs

1 μs = 0.000001 s

 

l       ما هو دور شيفرة الميكروكنترولور؟ هي عبارة عن برنامج يتم برمجة الميكروكنترولور به حتى يتسنى لهذا الأخير التحكم بتغيير حالة الصمام الضوئي من on الى off.

l       ما هي السرعة التي سيتغير فيها الصمام الضوئي من on الى off؟ هنا لا بد من عمل حسابات لا مفر منها وهي ما سيأتي ذكره مباشرة. 

 

لنعتبر ما يلي

 

1- ربما تعلم أن 25 صورة في الثانية هي نفس السرعة التي تتغير بها الصورة على التلفاز. اي، أن كل ثانية يعرض التلفاز صورة تسلسل الصور بسرعة تجعل عين الانسان تظن أنها تتحرك.

 

ملاحظة: كلما زاد عدد الصور في الثانية كلما كانت الصورة اوضح. التلفاز الجديد قادر على عرض 100 صورة في الثانية ولكن هنا في حال اردنا زيادة عدد الصور يتوجب علينا زيادة سرعة المحرك وبالتالي قد يحدث اهتزاز مما سيشوه الصورة.

 

2- سنعتبر المسافة بين المحرك وشبكة الصمامات الضوئية هي 15 سنتمترا.

 

3- المسافة الدائرية التي سيقطعها الصمام الضوئي تساوي:

 2 × π × R = المسافة

2 × 3.14 × 15 = المسافة

المسافة  = 94.25 سنتمترا

 

اذن طول المسار الذي سيقطعه الصمام الضوئي هو 94 سنتمترا تقريبا.

 

التحليل

 

1- ينبغي على المحرك أن يدور بسرعة 25 دورة في الثانية، وبالتالي فإن الصمامات الضوئية ستدور هي أيضا 25 مرة في الثانية، اي انها ستنجز دورة واحدة كل 0.04 ثانية (1 مقسوم على 25 تساوي 0.04).

 

2- لو قلنا بان عرض العمود المؤلف من 7 صمامات ضوئية يساوي 0.5 سنتمترا، فكم من عمود سيكون على مسار دائري طوله 94 سنتمترا؟ الجواب هو 94/0.5 = 188 عمودا.

 

3- الان نقسم 0.04 ثانية على 188 عموداً، ستكون النتيجة هي 212 ميكروثانية. هذا الرقم يدل على الوقت الذي سينتقل فيه العمود من موضع لآخر.

 

4- الان، علينا حساب الاحرف التي نريد طباعتها. فمثلا لو اردنا كتابة كلمة try المكونة من ثلاثة احرف وكل حرف سيتشكل في خمسة اعمدة إضافة إلى عمود فارغ سيكون الفاصل بين كل حرفين متجاورين. وبالتلي فيمكن القول بأن الحرف سيتألف من ستة اعمدة. وبالتالي، فاننا سنستعمل 18 عمودا لطباعة الأحرف الثلاث وباقي الاعمدة ستكون مطفأة.

 

5- كما قلنا أن 212 ميكروثانية هي المدة الزمنية التي سيتسغرقها العمود في كل موضع. وبالتالي فإن 18 عمودا ستستغرق ما مجموعه 3816 ميكروثانية. اما المدة المتبقية من 0.04 ثانية فهي عبارة عن فراغ، وستكون الصمامات الضوئية منطفئة في هذه الحالة. 

هذه المدة هي 40ms – 3.81ms = 36ms.

 

معلومات اضافية

 

لو اعتبرنا ان المسافة من المحرك الى الصمام الضوئي هي 20 سنتمترا، ونحن نريد عرض 25 صورة في الثانية فإن:

l       طول المسار الذي ستقطعه الصمامات الضوئية هو 1.256 مترا. بناءً على القاعدة التي تم ذكرها فوق :

2 × π × R= المسافة

2×3.14×20 = المسافة

المسافة  = 125 سنتمترا

l       السرعة التي سيسير بها الصمام الضوئي في هذه الحالة تساوي

                                    = المسافة x عدد الصور في الثانية × 3600

 

 = 113 كيلومتر/الساعة

l       لو اعتبرنا ان المسافة من المحرك الى الصمام الضوئي هي 15 سنتمترا، ونحن نريد عرض 25 صورة في الثانية فإن طول المسار الذي ستقطعه الصمامات الضوئية هو 94 سنتمترا مترا. بناءً على القاعدة التي تم ذكرها فوق :

2 × π × R= المسافة

2×3.14×15 = المسافة

                                                        المسافة  = 94 سنتمترا
السرعة = المسافة x عدد الصور في الثانية × 3600= 84 كيلومتر/الساعة

 

ماذا نلاحظ؟ نلاحظ انه كلما زادت المسافة  من المحرك الى الصمام الضوئي  زادت السرعة وبالتالي سيذداد  الاهتزاز و التشوه في الصورة المعروضة لذلك يفضل استعمال مسافة  قصيرة.

 


البرمجة

 

نشرح اولاً بعض الاوامر الموجهة للميكروكنترولور PIC الضرورية لمشروعنا:

 

كل شيفرة في الميكروكنترولور PIC تبدأ بهذه الدالة وليس مهما شرحها حالياً//

void main()

 

هذا السطر لتحديد الارجل من B0 الى B7 على انها مخارج حيث ان كل طريقة عمل البيك تسمح بتحديد ارجل البيك اما دخل او خرج وهنا نحن سنستعملها كخرج // 

  trisb  = 0;

هذا السطر سيجعل جميع الصمامات الضوئية منطفئة كحالة اولى اي عند بدأ البرنامج بالعمل// 

  portb = 0;

 

}

 

ستكون جميع الصمامات الضوئية منطفئة في البداية.

اما اللامتين { } فتكتب شيفرة البرنامج الذي نريده بينهما.

 

إذا اردنا أن تكون جميع الصمامات الضوئية مضيئة سنكتب portb=0b11111111.

 

اي ان امر=portb يستعمل لتحديد حالة الصمامات الضوئية الموصولة بالارجل b للـميكروكنترولور والرقم الذي يليه يخبر اي صمام ضوئي سيضيء وأيها سيكون منطفئا:

       1 تعني مضيئ

       0 تعني مطفئ

 

انظر الصورة على اليسار

 

image015

دالة التاخير: المقصود لم اردنا اخبار الميكروكنترولور PIC ان ينتظر لفترة معينة ثم يبدأ بتنفيذ الامر التالي نكتب:

(......) delay_ms

 

 

مكان النقاط نحدد المدة الزمنية وهي بالميليثانية او اردناها بالميكروثانية نكتب كالتالي:

وهنا نخبر المايكروكونترولور ان يسبت على حالة الاضاءة لمدة 212 ميكروثانية

portb=0b11111111;

delay_us(212(;

 

 

 امر التكرار وهو يتالف من امرين الاول يكتب باول البرنامج المراد تكراره والثاني في اخره المقصود انه لو اردنا تكرار الامر السابق الى ما لا نهاية نكتب في اول البرنامجكما هو مبين جانبه.

loop:

  portb=0b11111111;

  delay_us(212(;

goto loop

 

 

ليس ضروريا كتابة loop من الممكن ان يكون اي اسم mohamad مثلا و نكتب في اخر البرنامج:

mohamad:

   ...

goto mohamad;

 

 

الآن نبدأ البرنامج : 

لو اردنا كتابة حرف p كما قلنا سابقاً الحرف يتالف من خمسة اعمدة و عمود فراغ ( عمود واحد في الحقيقة و لكن عندما يتحرك سيبدو اكثر من عمود ) سيكون الكود كالتالي :

void main()

{

trisb=0;

portb=0;  

 

// السطر التالي سيضيئ جميع الصمامات الضوئية في الصف الاول

// اتت 212 من الحسابات السابقة

portb=0b11111111; delay_us(212);

portb=0b00001001; delay_us(212); 

portb=0b00001001; delay_us(212); 

portb=0b00001001; delay_us(212); 

portb=0b00000110; delay_us(212);

 

portb=0b00000000; delay_us(212);

/*

هذا هو الصف الفارغ اي الفاصل بين كل حرف .هكذا نكون قد كتبنا اول حرف ونكمل نفس الشئ مع باقي الاحرف الى ان نصل الى آخر حرف  فنكتب الكود التالي. off هذه المدة التي سيكون فيها العمود */

// من اين اتى الرقم 36 ؟ راجع الحسابات اعلاه

portb=0b00000000; delay_ms(36);

}

image016

       

برامج مساعدة

 

يمكنك تحميل أيا من البرماجين التاليين لمساعدتك على تحديد قيم الجملة التي تريد إظهارها باستعمال شيفرة جخاز الصمامات الضوئية الدورانية:

 

Didplay-software 

MXLED


تأليف

 

 

المؤلف: مصطفى عبد الرضا (لبنان)

البريد الإليكتروني: mustafa@cpll.cn

 


شكر

 

نشكر محمد مختار من مصر على فقرة برامج مساعدة. 

 

 


المراجع

 

http://www.jogy.ch/files/Circuit_Cellar_Design_Contest_H3210/Propeller_Display.pdf

http://hackedgadgets.com/2008/12/12/rotating-blue-led-display-2/


 

التعليقات   

 
moaz
0 # moaz 2013-09-26 19:26
طب اما اجي ابرمح الicانا عندي برنامج winpic800 اكتب البرمجة فين في الكود ولا الداتا وانا بلائي مكتوب ffffffffffffمش فاهم
رد | رد مع اقتباس | اقتباس | تقرير إلى المدير
 
 
معاذ2000
0 # معاذ2000 2013-08-29 01:13
اما اجي ابرمج اوصل اي الاطراف في ic
رد | رد مع اقتباس | اقتباس | تقرير إلى المدير
 
 
mustapha
0 # mustapha 2013-09-12 00:53
اقتبس معاذ2000:
اما اجي ابرمج اوصل اي الاطراف في ic

ممكن توضيح السؤال ؟
رد | رد مع اقتباس | اقتباس | تقرير إلى المدير
 

أضف تعليق


كود امني
تحديث


Go to top