عند اعطاء الامر تقوم بالدوران بزاوية معينة او عدد معين من الدورات
كل محرك له نفس الامر
مثلا
turn=360degrees;
if ( x=1){motor1=turn}else
if (x=2){motor2=turn;}else
if(x=3){motor3=turn;}else
...
...
...
if(x=36){motor36=turn;}else
no thing
|
إذن ستربط المحركات مع البيك وكأنها محرك واحد (على التوازي) . وهذا سيكلفك فقط أربع أطراف من البيك (اعتبرت ان المحرك pas a pas و أنه للمحرك الواحد 4 أسلاك + سلك الارضي).
أما الطرف الأرضي بالنسبة لكل محرك فمرره عبر ترانزستور إلى الأرضي (يدخل عبر المجمع ثم يخرج من المشع ثم الى أرضي الدارة)
لدينا الأن 36 ترانزيستور لم نربط القاعدة ديال كل واحد منها بعد..
الأن اجعل 6 مخارج من البيك مدخلا لما يسمى بفاك الشفرة (decodeur) أي انك بحاجة الى decodeur من 6 الى 64 (6 مداخل و 64 مخرج).
اجعل ال36 مخرج الاولى من الdecodeur تتحكم في ال36 قاعدة التي تحدثنا عنها سابقا..
وهكذا تستطيع تمكين (أو تشغيل) محرك ما عبر وضع الرقم المقابل له عند ال6 مخارج بالصيغة الثنائية. مثال:
مثلا لتمكين المحرك السابع سنجعل المخارج الستة للبيك تخرج القيمة الثنائية للعدد 7 وهي: 000111
تلقائيا سيقوم ال decodeur بفك هذه الشفرة (000111) ليضع عند المخرج السابع من ال64 مخرج القيمة 1 (أي 5 فولت) أما باقي المخارج (ال63) فسيضع عليها القيمة 0 .
أي أن الترانزيستور السابع في هذه الحالة هو الوحيد المار لأنه الوحيد الذي على قاعدته 5 فولت ..
وبالتالي المحرك السابع هو الوحيد الشغال لأنه الوحيد الذي يتصل مع الأرضي أما أطرافه الأربعة الاخرى فهي موصولة كما ذكرت سابقا مع 4 مخارج من البيك والتي هي موصولة مع كل المحركات .
لاحظ أن كل المحركات تستقبل اشارة ال4 اسلاك من البيك لكن ليس كلها شغالة. انت تختار من سيعمل انطلاقا من ال6 مخارج من البيك
ستحتاج الى 4+6 أي 10 مخارج من البيك .
ولاحظ أنه لا يمكنك أبدا (مع هذا الحل ) تشغيل محركين في آن واحد لان ال decodeur يضع القيمة 1 في مخرج واحد من مخارجه فقط (حسب المداخل)
وبالنسبة لل decodeur أظن أنك لن تجد في السوق واحدا ذو 6 مداخل و 64 مخرج. الحل أن تركبه أنت بنفسك عن طريق ديكودورات أصغر ..
بالنسبة للبرمجة فالعدد x الذي ذكرته سيخرج من ال6 مخارج من البيك
اما زاوية الدوران ستخرجها بطريقة أظن أنك تعرفها من ال4 مخارج من البيك.
وأتمنى أن لا أكون قد أطلت عليك ...
وأي استفسار ..نحن معك ..