۱۳۸۶ اسفند ۱۶, پنجشنبه

شروع کار با AVR به همراه ساخت STK200

به نام خدا

این مطلب برای کسانی نوشته شده که تا حالا حتی یک بار هم کار عملی با میکروکنترلر نکردند و نمی دانند باید از کجا شروع کنند.
برای شروع کار باید یک پروگرامر و منبع تغذیه تهیه کنید که روی هم 300 تومان هزینه داره. می گی نه نگاه کن.

ساخت پروگرامر STK200 : 
این پروگرامر اصلا مدار نداره و برای ساخت آن فقط به یک فیش DB25 با یک کابل 5تایی یک متری نیاز است . فیش DB25 همان فیشی است که به پورت پرینتر متصل می شود مدار زیر طریقه وصل کردن سیمها به این فیش رو نشون می دهد. البته من مقاومت ها را حذف کردم و مدار همچنان عالی کار می کنه.





در زیر تصویر پروگرامر ساخته شده را می بینید :

پس از بستن قاب مخصوص فیش (در شکل زیر می بینید) در انتهای سیمهای پروگرامر تک سیمهای مفتولی بچسبانید تا به راحتی داخل بردبرد بروند (این کار ضرورتی ندارد و برای راحتی خودتان توصه می شود).



اکنون پروگرامر کامل شده و نوبت به منبع تغذیه می رسد.
به اطراف خود نگاه کنید . دم دست ترین و حرفه ای ترین منبع 5 ولتی در نزدیکی شما قرار دارد . در کامپیوتر شما !!!
نترسید ، درب کیس را باز کنید و مطابق شکل یک سیم بلند را سری با یک مقاومت 1ohm به سیم قرمز یکی از فیش های آزاد پاور وصل کنید.

توجه توجه
همان طور که در شکل می بینید من در حال حواس پرتی سیم را به سیم زرد وصل کردم که 12 ولت است و این اشتباه من یک ATmega16 قربانی گرفت.


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



حالا نوبت به پروگرام کردن آی سی می رسد. ابتدا پروگرمر رو به آی سی وصل کنید. اگه به سیم بندی پروگرامر نگاه کنید می بینید که
هر سیم اسمی دارد.
(MOSI , MISO , SCK , RESET , GND)
پایه هایی همنام با سیم هایی که نام برده شد در تمام AVR ها وجود دارد با رجوی ع به دیتاشیت آی سی مربوطه آن ها را پیدا کنید. در زیر پایه های ATmega16 و ATmega32 نمایش داده شده است که همان طور که می بینید ( MOSI=6 , MISO=7,SCK=8,RESET=9 ) و GND=11 و VCC=10 می باشد .


در حالت عادی AVR نیازی به کریستال ندارد و با یک اسیلاتور داخلی 1MHz کار می کند ، مگر اینکه فیوز بیتهای آن را تغییر داده باشید( در مورد فیوز بیتها بعدا توضیح می دهم اگه با فیوز بیتها کاری نداشته باشید اونها هم با شما کاری ندارند . بعد از اینکه سیمهای پروگرامر را به آی سی وصل کردید تغذیه 5 ولت را که از کیس گرفتید را هم به آن وصل کنید(مراقب باشید که هر اشتباهی در مورد تغذیه آی سی موجب سوختن آن می شود . ولی در مورد سیمهای پرو گرامر اینطور نیست).



نرم افزار:
حالا که کارهای سخت افزاری تمام شد . نوبت نرم افزار رسیده. برنامه ای که با آن کار می کنیم برنامه ponyprog است که یک شیر پاک خورده ای به نام Claudio Lanconelli که فکر کنم ایتالیایی باشه اونو نوشته و مجانی روی اینترنت گذاشته و کار خیلی ها رو کساد کرده . این برنامه رو میتوانید از لینک زیر دانلود کنید.
http://downloads.sourceforge.net/ponyprog/ponyprogV207a.zip
البته ممکنه ورژن جدیدتری هم داشته باشه که با مراجعه به آدرس های زیر می توانید دانلود کنید.
http://www.lancos.com/ppwin95.html
http://www.lancos.com/prog.html
بعد از نصب اگر برای اولین بار برنامه رو اجرا کنید به شما دو پیام می ده که باید اولا نوع پروگرامرتون رو انتخاب کنید ، ثانبا برنامه رو کالیبره کنید.
برای این دو کار اول فیش پروگرامر رو به کامپوتر وصل کنید و بعدا به منوی setup رفته و گزینه interface setup رو بزنید. سپس پنجره باز شده را به شکل زیر در آورید و دکمه prob را بزنید اگر پیغام Test Failed. داد یعنی یا گزینه هارو اشتباه تنظیم کردید یا آن دو سیمی را که از خود فیش به خود فیش پروگرامر وصل می شوند (پایه های 2و3و11و12) رو اشتباه زدید. بعد از رفع مشکل اگر دوباره دکمه prob رو بزنید به شما پیغام Test OK را می دهد . دکمه OK را زده پنجره را ببندید.



به منوی setup بروید و گزینه Calibration را بزنید و به سوال جواب مثبت دهید بعد از چند ثانیه پیغامی می آید که Calibration OK .
بعد از این دو کار می توانید از برنامه برای پروگرام کردن آی سی استفاده کنید.

نحوه پروگرام کردن با pony prog :
- به منوی File\Open Program(Flash) file را بزنید و فایل hex مورد نظر را برای پروگرام کردن روی آی سی آدرس دهی کنید.
- از منوی Device\AVR Micro\??? آی سی مورد نظر را برای پروگرام شدن انتخاب کنید.(بهتر است گزینه AVR Auto را انتخاب کنید)
- از منوی Command گزینه Write Program(Flash) را بزنید و منتظر شوید تا عملیات به پایان برسد.
- اکنون آی سی شما پروگرام شده ، اگر آی سی شروع به کار نکرد سیم Reset پروگرامر را از آی سی جدا کنید.
- هرگونه پیغام error در مرحله پروگرام کردن به معنای اشتباه در وصل کردن سیمهاست.



اگر مشکلی بود ایمیل بزنید.قول نمیده جواب بدم.

با آرزوی موفقیت برای همه شما
صلی اله و علی محمد و آل محمد

هیچ نظری موجود نیست: