تعد المحركات المؤازرة مفيدة جدًا في الإلكترونيات والأنظمة المدمجة. يمكنك العثور على استخدام محرك سيرفو في كل مكان من حولك ، ويتم استخدامه في الألعاب والروبوتات وصينية الأقراص المضغوطة للكمبيوتر والسيارات والطائرات وما إلى ذلك. والسبب في هذا النطاق الواسع هو أن محرك سيرفو موثوق ودقيق للغاية. يمكننا تدويره بأي زاوية معينة. إنها متوفرة في نطاق واسع ، من محرك عزم دوران عالي إلى محركات عزم دوران منخفضة. في هذا البرنامج التعليمي ، سنقوم بتوصيل محرك مؤازر إلى متحكم 8051 (AT89S52).
نحتاج أولاً إلى فهم مبدأ عمل المحركات المؤازرة. يعمل محرك سيرفو على أساس PWM (تعديل عرض النبض) ، مما يعني أن زاوية الدوران يتم التحكم فيها من خلال مدة النبض المطبق على رقم التعريف الشخصي للتحكم. يتكون محرك سيرفو بشكل أساسي من محرك DC يتم التحكم فيه بواسطة مقاوم متغير (مقياس جهد) وبعض التروس. يتم تحويل القوة عالية السرعة لمحرك DC إلى عزم دوران بواسطة Gears. نعلم أن WORK = FORCE X DISTANCE ، في قوة المحرك DC أقل والمسافة (السرعة) عالية وفي المؤازرة ، القوة عالية والمسافة أقل. يتم توصيل مقياس الجهد بعمود إخراج المؤازرة ، لحساب الزاوية وإيقاف محرك التيار المستمر بالزاوية المطلوبة.
يمكن تدوير محرك سيرفو من 0 إلى 180 درجة ، ولكن يمكن أن يصل إلى 210 درجة ، اعتمادًا على الشركة المصنعة. يمكن التحكم في درجة الدوران هذه عن طريق تطبيق نبضة من المستوى المنطقي 1 لمدة تتراوح بين 1 مللي ثانية إلى 2 مللي ثانية. يمكن لـ 1 مللي ثانية تدوير المؤازرة إلى 0 درجة ، ويمكن تدوير 1.5 مللي ثانية إلى 90 درجة ويمكن للنبضة التي تبلغ 2 مللي ثانية تدويرها إلى 180 درجة. يمكن للمدة بين 1 إلى 2 مللي ثانية تدوير محرك سيرفو إلى أي زاوية بين 0 إلى 180 درجة.
مخطط الدائرة وشرح العمل
يحتوي محرك سيرفو على ثلاثة أسلاك حمراء لـ Vcc (مزود الطاقة) ، وبني للأرضي ، والبرتقالي هو سلك تحكم. يمكن توصيل سلك التحكم بـ 8051 ، لقد قمنا بتوصيله بـ Pin 2.1 من 8051. الآن علينا إبقاء هذا الدبوس في Logic 1 لمدة 1 مللي ثانية لتدويره 0 درجة ، 1.5 مللي ثانية لـ 90 درجة ، 2 مللي ثانية لـ 180 درجة. لقد استخدمنا على رقاقة Timers 8051 لخلق تأخير. لقد أنشأنا تأخيرًا قدره 50us من خلال الوظيفة "servo_delay" ، واستخدمنا حلقة "for" لإنشاء تأخير في مضاعفات 50us.
نحن نستخدم Timer 0 وفي الوضع 1 ، لذلك قمنا بوضع 01H في سجل TMOD. الوضع 1 هو وضع مؤقت 16 بت ويحتوي TH0 على بايت مرتفع ويحتوي TL0 على بايت منخفض من مؤقت 16 بت. لقد وضعنا FFD2 في سجل مؤقت 16 بت ، و FF في TH0 و D2 في TL0. سيؤدي وضع FFD2 إلى حدوث تأخير يبلغ تقريبًا. 50 لنا مع الكريستال 11.0592MHz. TR0 و TF0 هما بتات سجل TCON ، يستخدم دبوس TR لبدء المؤقت عند الضبط والإيقاف عند إعادة التعيين (0) TF هي علامة تجاوز ، يتم تعيينها بواسطة الأجهزة عند تجاوز السعة وتحتاج إلى إعادة تعيينها بواسطة البرنامج. بشكل أساسي ، يخبر TF عن اكتمال المؤقت ، ويتم تعيينه بواسطة الأجهزة عند عبور مؤقت 16 من FFFFH إلى 0000H. يمكنك أن تقرأ عن "8051 Timers" لفهم حساب القيمة في سجلات المؤقت ، لإنشاء تأخير 50 دولارًا أمريكيًا.
الآن عند القياس من CRO ، ستعطي 13 حلقة من وظيفة servo_delay تأخيرًا قدره 1 مللي ثانية ، لذلك بدأنا من 1 مللي ثانية (13 حلقة) وانتقلنا إلى 2 مللي ثانية (26 حلقة) لتدوير المؤازرة من 0 إلى 180 درجة. لكننا قمنا بزيادة التأخير ببطء من 1 مللي ثانية ، وقمنا بتقسيم النافذة من 1 مللي ثانية إلى 2 مللي ثانية إلى 7 أجزاء مثل 1.14 مللي ثانية ، 1.28 مللي ثانية ، 1.42 مللي ثانية وما إلى ذلك ، لذلك سوف تدور المؤازرة في مضاعفات تقريبًا. 26 درجة (180/7). بعد 180 ستعود تلقائيًا إلى درجة 0.