چپ گرد و راست گرد کنترلی STEPPER MOTOR طراحی قسمت دوم


فصل سوم

نرم افزار

در این فصل سعی دارم که عملیات نرم افزاری که بخش عمده ی این پروژه را تشکیل می دهد را تفسیر کنم.

قصد دارم که با استفاده از نرم افزارهای مختلف سخت افزار های پروژه را به هم ارتباط بدهم.

Stepper

Motor

باس ارتباطی

Keypad

میکرو کنترلر

باس ارتباطی

LCD

(فلوچارت ارتباط کلی قطعات)

نرم افزارهای به کار رفته در این پروژه عبارتست از:

  1. نرم افزار Keil
  2. نرم افزار Proteus

3-1) نرم افزار Keil

نرم افزار MDK-KEIL یک ابزار بسیار قدرتمند مبتنی بر پروسسور های Cortex-M, Cortex-R4, ARM7 ARM9می باشد و در آن ابزار های بسیار زیادی برای راحتی برنامه نویسان زبان سی تعبیه شده که کمک بسیار زیادی برای افزایش سرعت در برنامه نویسی به شما می کند

در این پروژه برای نوشتن سورس کد و ساختن فایل هگز آن از این برنامه استفاده شده است. زبان استفاده شده برای این پروژه زبان اسمبلی میباشد.

پس از نوشتن خطوط برنامه و ذخیره کردن آن ، نرم افزار باید خطوط برنامه را دیباگ کند تا هیچ خطایی در آن وود ناشته باشد. پس از این کار ما میتوانیم که فایل هگز خود را بسازیم تا از این فایل برای راه اندازی میکرو کنترلر در نرم افزارProtues استفاده کنیم.

3-2) نرم افزار Protues

این نرم افزار قوی ترین نرم افزار شبیه سازی الکترونیک می باشد که 90% کارایی بالای آن در شبیه سازی IC های قابل برنامه نویسی یا همان میکروکنترلر ها از جمله میکرو کنترلر های AVR , PIC می باشد . تمامی افرادی که کمی با الکترونیک آشنا باشند این نرم افزار را به خوبی می شناسند و نیازی به معرفی ندارد . نرم افزارProteuse  دارای 2 بخش می باشد . بخش اول طراحی مدار ها و شبیه سازی آن و بخش دیگر طراحی پشت فیبر برای مدار ها .

با این نرم افزار می توانید مداری را طراحی و اجرای آنرا شبیه سازی کنید. در هنگام شبیه سازی می توانید عوامل تاثیر گذار محیط واقعی مثل دمای اتاق را هم اعمال کنید و یا دمای خازن را برای ولتاژهای مختلف مشاهده کنید. رسم نمودارها، وجود دستگاه هایی مثل اسلسکوپ و … از امکانات ارزشمند این نرم افزارند.

وجود چندین مثال آماده (مثل شبیه سازی کامپیوتر Z80 یا طراحی گیم به صورت سخت افزاری و … ) از ویژگی های جالب این نرم افزار هست.

محیط این برنامه ساده بوده و این باعث افزایش سرعت طراحی می شود. از دیگر امکانات نرم افزار این است که حتی بعد از طراحی می توانید حالت سه بعدی آن را هم مشاهده کنید.

در این نرم افزار براحتی و در عین سادگی میتوانید تمام قطعات الکترونیکی را پیدا کنید و مدارات خود را با ان ببندید هم چنین اگر برنامه نویس هستید می توانید برنامه های خود را که برای کار با میکرو کنترلر ها نوشته اید را در آن اجرا کنید و از کم و کیف و مشکلات برنامه خود آشنا شوید.

Proteus اسم نرم افزاری برای طراحی مدارات الکترونیکی است.
که با آن می توانید مداری را طراحی و اجرای آنرا شبیه سازی کنید. در هنگام شبیه سازی می توانید عوامل تاثیر گذار محیط واقعی مثل دمای اتاق را هم اعمال کنید و یا دمای خازن را برای ولتاژهای مختلف مشاهده کنید. رسم نمودارها،وجود دستگاه هایی مثل اسیلسکوپ و … از امکانات ارزشمند این نرم افزارند.

نحوه کار با این نرم افزار را به طور اختصار توضیح می دهم :

درپروتوس شبيه سازی مدرات شامل مراحل زيراست :

-1 انتخاب قطعه ازکتابخانه و آوردن آن به صفحه شماتيک

-2 گذاشتن قطعه و اجرای سيمکشی بين انها

3 ايجاد تغيير در مشخصات قطعه

طريقه آوردن قطعات ازکتابخانه :

اولین مرحله برای شبيه سازی اوردن قطعات ازکتابخانه ميباشد برای اوردن قطعات درمنوی انتخاب قطعات بر روی Divicesکليک کنيد تاوارد کتابخانه نرمافزار پروتوس شويد.

پس از انتخاب قعات و سیم کشی آنها مدار پروزه را به صورت زیر رسم میکنیم.

Untitle2d.jpg

پس از طراحی مدار نوبت به راه اندازی میکرو و ریختن کد هگز آن می باشد. در ابتدا سورس کد میکرو را توسط برنامه Keil مینویسیم و کد هگز را آن را میسازیم و سپس به روش زیر در میکرو میریزیم.

ريختن کد هگزروی ميکرو :

برروی ميکرو دوبار کليک کنيد ،پنجره ای مانند شکل زير باز ميشود ، برروی محل مشخص شده کليک کنيد و در پنجره ای که در ادامه باز مي شودکد هگز ر اباز کنيد.

clock frequency مشخص کننده فرکانس کاری ميکرو مي باشد ،مقدارنوشته شده دراين قسمت بايد با مقدار کريستال ميکرو ،يکی باشد تا دستور ات تاخير و.. درست انجام شود.

نيز برخی از فيوزبيت ها ميکرو وجود دارد (مانند استفاده ازکريستال خارجی و… ) که درقسمت Advanced properties مي توانيد انهارا ويرايش کنيد ، دراين مورد عدد صفر ( 0) به نشانه برنامه ريزی و رقم 1 به نشانه عدم برنامه ريزی است.

بعدد از اعمال تنظیمات بر روی OK کلیک میکنیم و سپس در صفحه اصلی بر روی playکلیک میکنیم تا عملیات شبیه سازی انجام شود.

بخش نرم افزاری قطعات و نحوه ی راه اندازی آنها:
در این بخش میخواهیم با استفاده از زبان اسمبلی سخت افزار های موجود در پروژه را راه اندازی کنیم و نحوه ی اتصال آنها به میکرو کنترلر را توضیح دهیم .

 

RS BIT P2.0

E BIT P2.1

LCD EQU P3

KEYBOARD EQU P1

در اینجا سخت افزار های LCD و کیبورد برای میکرو تعریف میشوند. یعنی مقادیر enable و RS برای LCD توسط دستور های BIT و EQU تعریف می شوند. در ضمن سطر ها و ستون های کیبورد نیز به ترتیب تعریف میشوند.

با استفاده از دستور EQU یک مقدار ثابتی به متغیر داده می شود و توسط دستور BIT یک پورت به صورت بیتی آدرس دهی می شود.

:

میکرو کنترلر

باس ارتباطی

LCD

فلوچارت ارتباط صفحه نمایش و میکرو

برنامه ریزی LCD :

MOV A,#38H ;SET LCD TO 2-LINES & 5*7 MATRIX

LCALL COM_WR ;WRITE THIS COMMAND TO LCD

MOV A,#0CH ;SET (DISPLAY ON & CURSOR OFF)

LCALL COM_WR ;WRITE THIS COMMAND TO LCD

MOV A,#1 ;CLEAR LCD

LCALL COM_WR ;WRITE THIS COMMAND TO LCD

MOV A,#85H ;SET CURSOR TO (1,6) LOCATION

LCALL COM_WR ;WRITE THIS COMMAND TO LCD

MOV A,#’P’

LCALL DATA_WR

MOV A,#’L’

LCALL DATA_WR

MOV A,#’E’

LCALL DATA_WR

MOV A,#’A’

LCALL DATA_WR

MOV A,#’S’

LCALL DATA_WR

MOV A,#’E’

LCALL DATA_WR

MOV A,#0C2H ;SET CURSOR TO (2,3) LOCATION

LCALL COM_WR ;WRITE THIS COMMAND TO LCD

MOV A,#’E’

LCALL DATA_WR

MOV A,#’N’

LCALL DATA_WR

MOV A,#’T’

LCALL DATA_WR

MOV A,#’E’

LCALL DATA_WR

MOV A,#’R’

LCALL DATA_WR

MOV A,#’ ‘

LCALL DATA_WR

MOV A,#’D’

LCALL DATA_WR

MOV A,#’E’

LCALL DATA_WR

MOV A,#’G’

LCALL DATA_WR

MOV A,#’R’

LCALL DATA_WR

MOV A,#’E’

LCALL DATA_WR

MOV A,#’E’

LCALL DATA_WR

LCALL DELLAY_1S

LCALL DELLAY_1S

LCALL DELLAY_1S ;WAIT 3SEC AND THEN CLEAR LCD

MOV LOAD,#0

در اینجا LCD تعریف و به دوخط و ماتریس 7*5 تبدیل میشود. به محض روشن شدن آن عبارت please Enter degree. بدین صورت که هر کاراکتر توسط دستور MOV به درون متغیر A ریخته میشود و سپس توسط زیر برنامه DATA_WR نمایش داده میشودنمایش داده میشود. که من این بارت را به صورت بیت به بیت و با یک تاخیر یک ثانیه ای تعریف نموده ام.

دستور LCALL برای فراخوانی زیر برنامه ها کاربرد دارد.

 

در زیر برنامه زیر وقفه ها تعریف و تایمر ها فعال میشوند.

MOV TMOD,#11H ;CONFIG TIMER0 TO TIMER

MOV TH0,#HIGH(-50000) ;LOAD(65535-50000)TO HIGH BYTE OF TIMER

MOV TL0,#LOW(-50000) ;LOAD(65535-50000)TO LOW BYTE OF TIMER

MOV R0,#20 ;R0=20 FOR MAKE A LOOP

L1: SETB TR0 ;START TIMER0

JNB TF0,$ ;STAY HERE UNTIL END OF COUNTING(50mS)

CLR TR0 ;TURN OFF TIMER0

CLR TF0 ;CLEAR THE FLAG OF TIMER0 OVERFLOW

MOV TH0,#HIGH(-50000) ;RELOAD THE TIMER

MOV TL0,#LOW(-50000) ;RELOAD THE TIMER

DJNZ R0,L1 ;THIS LOOP TAKE 3S(60*50mS=3000mS=3S)

 

RET

;*** DELLAY_35mS *********************************************

DELLAY_35mS:

MOV TH0,#HIGH(-35000) ;LOAD(65535-35000) TO HIGH BYTE OF TIMER

MOV TL0,#LOW(-35000) ;LOAD(65535-35000) TO LOW BYTE OF TIMER

SETB TR0 ;START TIMER0

JNB TF0,$ ;STAY HERE UNTIL END OF COUNTING(35mS)

CLR TR0

CLR TF0

RET

در ضمن تاخیر های مورد نیاز هم از طریق زیر برنامه ی فوق تولید میشوند.

روش شناسائی و نحوه ی اسکن کیبورد در پروژه:

روش های متعددی برای تعریف کیبورد و یا اسکن آن وجود دارد که من در این پروژه از روش ماتریسی استفاده کرده ام.

در این روش کیبورد به صورت یک ماتریس 4*3 تعریف میشود که دارای چهار سطر و سه ستون می باشد.

همان گونه که در شکل مشاهده می کنید سطر ها به ترتیب به چهار پایه ی میکرو و ستون های آن نیز به سه پایه دیگر از همان پورت متصل می باشند.

در این روش تمامی سطرها و ستون ها یک یا vcc میباشند. اگر یک سط و یک ستون زمین شوند یا صفر شون ، میکرو کنترلر با بررسی سطر و ستون مذکور متوجه میشود که چه عددی فشار داده شده است.

برای تعریف اعداد کیبرد به میکرو به روش زیر عمل میکنیم و بیت های زیر را با استفاده از دستور DB روی میکرو می ریزیم .

KEY_CHECK:

DB 11101110B ;1

DB 11011110B ;2

DB 10111110B ;3

DB 11101101B ;4

DB 11011101B ;5

DB 10111101B ;6

DB 11101011B ;7

DB 11011011B ;8

DB 10111011B ;9

DB 11100111B ;*

DB 11010111B ;0

DB 10110111B ;#

به این طریق هرگاه یکی از کلید ها فشرده شود مقدار آن توسط میکرو خوانده میشود و متوجه میشود که کدام عدد زده شده و آن را نمایش میدهد.

در این زیر برنامه اعداد کیبورد توسط میکرو اسکن و سپس توسطLCD نمایش داده میشود.

 

LCD

باس ارتباطی

میکرو کنترلر

باس ارتباطی

Keypad

فلوچارت ارتباط کیبورد و صفحه نمایش و میکرو

فصل چهارم

جمع بندی

در این مقاله سعی شد که نگاهی نسبتا عمیق و دقیق به نحوه ی عملکرد پروژه و جنبه های مختلف آن داشته باشیم. پس از بررسی نرم افزاری و سخت افزاری پروژه ، حال به بررسی معایب و محاسن و همچنین کاربرد های این پروژه در بسیاری از موارد می پردازیم. لازم به ذکر است در برخی کاربردها ، این پروژه نیاز به تغییراتی دارد تا کارایی آن را بیشتر سازد و یکی از محاسن این پروژه قابلیت انعطاف پذیری آن می باشد.

مزایا و معایب پروژه :

مزایا :

سيستم كنترلي كه از يك موتور پله‌اي بهره مي‌برد داراي چندين مزيت مشخص بترتيب زير است:
1- معمولاً به هيچ فيدبكي براي كنترل موقعيت (position) يا كنترل سرعت نياز نمي‌باشد.
2- خطاي موقعيت جمع ناپذير (non-cumulative) است.
3- موتورهاي پله‌اي با تجهيزات ديجيتال مدرن سازگاري هستند..

4- زاویه چرخش موتور مناسب با پالس ورودی است.
5- موتور حتی در حالت بدون حرکت گشتاور کامل خود را دارد ( به شرط عبور جریان از سیم پیج).
6- موقعیت دقیق و تکرار پذیری حرکت با دقت حدود 3 تا 5 درصد یک استپ.
7- پاسخ عالی به شروع حرکت ، توقف و حرکت در جهت عکس.
8- قابلیت اطمینان و عمر بالا بخاطر بدون ذغال بودن موتور.


9- عدم نیاز به مدار بسته و ارزان بودن کنترل.
10- امکان پذیر بودن رسیدن به سرعت بسیار پائین با باری که مستقیم به شافت کوپل شده است.
11- با توجه به تناسب پالس ورودی و فرکانس رنج قابل توجهی از سرعت موتور قابل دسترسی است.

با اين دلايل انواع كلاسهاي مختلف موتورهاي پله‌اي در لوازم جانبي كامپيوتر، دستگاههاي خودكار و سيستم‌هاي مشابه بكار رفته‌اند.

معایب استپ موتور

  1. امکان بوجود آمدن رزونانس در صورت عدم کنترل صحیح.
  2. در سرعتهای بسیار بالا عملکرد خوبی ندارد.

كابرد های پروژه
1- لوازم جانبي كامپيوتر
در اين زمينه بعنوان حوزه اصلي كاربردهاي موتور پله‌اي منظور مي‌شود. انواع بسياري از لوازم جانبي كامپيوتر از اين موتورهاي كوچك براي استفاده در ديسك گردان‌ها و چاپگرها و رايانه‌هاي بازي PlayStation بكار مي‌رود.

2- چاپگرها
چندين نوع از چاپگرها كه در آنها موتورهاي پله‌اي به منظورهاي مختلفي بكار رفته وجود دارند. اسكنرهاي چند گوشه در چاپگرهاي ليزري، به هر حال اين چاپگرها از موتورهاي پله‌اي براي كاغذ رسان، چرخش استوانه احساس به نور و بخش تكان دهنده تونر استفاده مي‌كنند.


3- رسام‌هاي گراف

رسام‌هاي گراف در نقشه‌هاي معماري، نقشه‌هاي ماسك براي مدارات مجتمع، و دياگرام‌هاي مدار الكتريكي مورد نياز مي‌باشد، ورقه كاغذ در جهت y (جلو و عقب) توسط يك موتور پله‌اي درايو مي‌شود و قلم توسط موتور پله‌اي ديگري در جهت x درايو مي‌شود.
4- درايوها ديسك سخت/فلاپي
براي استقرار هد در يك درايو فلاپي ديسك يك موتور پله‌اي دندانه پنجه‌اي استفاده مي‌شود.
5- كاربرد در كنترل عددي
ابزارهاي ماشين با كنترل عددي زمينه كاربردي مهمي براي موتورهاي پله‌اي هستند. (ماشين فرز)
6- كاربرد در ماشين‌هاي اداري
كپي كننده‌ها، ماشين فاكس و غيره. كاربردهاي ديگر در ساعت مچي، دوربينها در صنايع سنگين، جلوه‌هاي ويژه دوربين.

پایان

 

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *