সুচিপত্র:

একটি AVR মাইক্রোপ্রসেসর দিয়ে একটি স্টেপার মোটর চালান: 8 টি ধাপ
একটি AVR মাইক্রোপ্রসেসর দিয়ে একটি স্টেপার মোটর চালান: 8 টি ধাপ

ভিডিও: একটি AVR মাইক্রোপ্রসেসর দিয়ে একটি স্টেপার মোটর চালান: 8 টি ধাপ

ভিডিও: একটি AVR মাইক্রোপ্রসেসর দিয়ে একটি স্টেপার মোটর চালান: 8 টি ধাপ
ভিডিও: পিএলসি তৈরী করুন নিজেই মাইক্রোকন্ট্রোলার দিয়ে | Microcontroller convert into a PLC 2024, জুলাই
Anonim
একটি AVR মাইক্রোপ্রসেসর দিয়ে একটি স্টেপার মোটর চালান
একটি AVR মাইক্রোপ্রসেসর দিয়ে একটি স্টেপার মোটর চালান

প্রিন্টার/ডিস্ক ড্রাইভ/ইত্যাদি থেকে কিছু স্ক্যাভেঞ্জড স্টেপার মোটর পেয়েছেন?

কিছু একটি ওহমিটার দিয়ে অনুসন্ধান, আপনার মাইক্রোপ্রসেসরে কিছু সহজ ড্রাইভার কোড অনুসরণ করে এবং আপনি স্টাইলে পদার্পণ করবেন।

ধাপ 1: স্টেপারদের সাথে পরিচিত হন

স্টেপারদের সাথে পরিচিত হন
স্টেপারদের সাথে পরিচিত হন
স্টেপারদের সাথে পরিচিত হন
স্টেপারদের সাথে পরিচিত হন

মূলত, আপনার সমস্ত ছোট তারগুলি কোথায় যায় তা বের করতে হবে।

প্রথম ধাপ হল এটি একটি এক মেরু বা বাইপোলার মোটর কিনা তা বের করা। কিছু গভীর পটভূমির জন্য স্টেপার্সে জোন্স দেখুন, তারপর একটি অজানা মোটর বের করার একটি সহজ পদ্ধতির জন্য ইয়ান হ্যারিসের সাইটে। একটু পড়ুন, তারপরে আমার সাথে যোগ দিন এই মোটরটি আমি সস্তায় পেয়েছি। (এগুলি এখনই 0.99 ডলারে বিক্রি হচ্ছে। এগুলি ছোট, অপেক্ষাকৃত হালকা, কিন্তু খুব বেশি টর্ক নেই। জানি না এটি কি জন্য ভাল হবে।)

ধাপ 2: সাধারণ স্থল খুঁজুন

কমন গ্রাউন্ড খুঁজুন
কমন গ্রাউন্ড খুঁজুন
কমন গ্রাউন্ড খুঁজুন
কমন গ্রাউন্ড খুঁজুন

সুতরাং আপনি পাঁচ (বা চার, বা ছয়) তারের পেয়েছেন। আপনার মোটর দুটি অর্ধেক হতে যাচ্ছে, এবং আপনি সম্ভবত প্রতিটি তারের অন্তর্গত কোন দিকে তাকিয়ে বলতে পারেন।

আপনি যদি কেবল চারটি তারের দিকে তাকিয়ে থাকেন তবে আপনি ভাগ্যবান - এটি একটি দ্বিপদীয় মোটর। আপনাকে যা করতে হবে তা বের করতে হবে কোন দুটি জোড়া তার একসাথে যায়। যদি আপনি একটি ইউনিপোলার মোটর বা 4 টিরও বেশি তার পেয়ে থাকেন তবে আপনাকে আপনার ওহমিটারটি ভেঙে ফেলতে হবে। আপনি যা খুঁজছেন তা হল প্রতিটি অর্ধেকের জন্য সাধারণ (স্থল) তার। বাইপোলার মোটরে কোনটি স্থল তা আপনি বলতে পারেন কারণ এটি মেরুগুলির মধ্যে যেটি মেরুগুলির তুলনায় অর্ধেক প্রতিরোধের অধিকারী। চিত্রিত হল আমার নোটগুলি তারের সাথে সংযুক্ত করা এবং তারের প্রতিরোধের দিকে লক্ষ্য করা (বা যদি তারা আদৌ সংযুক্ত থাকে)। আপনি দেখতে পারেন যে হোয়াইট নীচের ত্রয়ী b/c এর জন্য স্থল, এটি লাল বা নীল রঙের অর্ধেক প্রতিরোধ করে যা তাদের একে অপরের কাছে রয়েছে। (এই মোটরটি অদ্ভুত এবং উপরের চুম্বক কুণ্ডলীতে একটি কেন্দ্র ট্যাপ নেই। এটি অর্ধ-বাইপোলার, অর্ধ-ইউনিপোলারের মতো। হয়তো আপনি এটি ব্যবহার করতে পারেন কালো-হলুদ হলে লাল-সাদা-নীল কুণ্ডলীতে ঘূর্ণন অনুভব করতে। কুণ্ডলী চালিত হচ্ছে।)

ধাপ 3: স্টেপিং অর্ডার বের করুন

স্টেপিং অর্ডার বের করুন
স্টেপিং অর্ডার বের করুন

আমি একটি বাইপোলার হিসাবে এই মোটরটি চালাতে যাচ্ছিলাম, তাই আমি হোয়াইট গ্রাউন্ড তারকে উপেক্ষা করছি। আমি চিন্তার জন্য কেবল চারটি তার পেয়েছি।

আপনি আপনার ইউনিপোলার মোটরকে বাইপোলার হিসাবে চালাতে চাইতে পারেন, কারণ এটি প্রতিটি কয়েলের দুটি অর্ধেকের মধ্যে পরিবর্তনের পরিবর্তে উভয় ধাপে পুরো কয়েল ব্যবহার করে। আরো কুণ্ডলী = আরো টর্ক। একটি জোড়ার মাধ্যমে কারেন্ট চালান (আপনার বেছে নেওয়া পোলারিটি লক্ষ্য করে) এবং তারপর একই সময়ে অন্য জোড়ার মাধ্যমে কারেন্ট চালান। যখন আপনি দ্বিতীয় জোড়াটি সংযুক্ত করবেন, মোটরটি কোন দিকে মোড় নেয় তা দেখুন। এটা লেখো. এখন আপনার বেছে নেওয়া প্রথম জোড়ায় মেরু বিপরীত করুন। তারপরে দ্বিতীয় জোড়াটিকে আবার তাদের পোলারিটি দিয়েও হুক আপ করুন। দিকটি লক্ষ্য করুন। এই থেকে আপনি মোটর উভয় দিকে ঘোরানোর জন্য ক্রম বের করতে সক্ষম হওয়া উচিত। আমার উদাহরণে, উভয়ই ঘড়ির কাঁটার বিপরীতে ঘুরতে শুরু করেছে, তাই আমি যেভাবে বেছে নিয়েছি সেইভাবে ক্রমটি অনুসরণ করে মোটর CCW ধাপে ধাপে এগিয়ে যাবে।

ধাপ 4: একটি টেস্ট ড্রাইভের জন্য মোটর নেওয়া

একটি টেস্ট ড্রাইভের জন্য মোটর নেওয়া
একটি টেস্ট ড্রাইভের জন্য মোটর নেওয়া

আপনি যদি মাইক্রোপ্রসেসর প্রোগ্রামিংয়ের জন্য ইতিমধ্যেই খুব বেশি না হয়ে থাকেন, তাহলে আপনি ঘেটো ডেভেলপমেন্ট কিট বা বিভিন্ন পিআইসি প্রোগ্রামারদের চেয়ে খারাপ করতে পারেন। তারগুলি সরাসরি আপনার মাইক্রোপ্রোক পর্যন্ত সংযুক্ত করুন এবং নিম্নলিখিত কোড দিয়ে এটি পুড়িয়ে দিন:

/* ছোট স্টেপার মোটর চালিত সঙ্গে খেলা। */

/ * বিলম্বের ফাংশন অন্তর্ভুক্ত করুন YELLOW _BV (PB3) / * সমস্ত B পিনে আউটপুট সক্ষম করুন */ PORTB = 0x00; / * তাদের সকলকে 0v */ while (1) {/ * main loop here */ PORTB = BLUE এ সেট করুন; _delay_ms (বিলম্ব); পোর্টবি = কালো; _delay_ms (বিলম্ব); পোর্টবি = লাল; _delay_ms (বিলম্ব); পোর্টবি = হলুদ; _delay_ms (বিলম্ব); }} কোডটি কতটা সহজ? সত্যিই সহজ। এটি কেবল কিছু চমৎকার সংজ্ঞা তৈরি করে তাই আমি তারের পিন-নামগুলির পরিবর্তে রঙ দ্বারা তারের উল্লেখ করতে পারি, এবং তারপর এটি তাদের মধ্যে একটি স্থায়ী বিলম্বের সাথে ক্রম অনুসারে টগল করে। শুরু করার জন্য, আমি ধাপগুলির মধ্যে অর্ধ-সেকেন্ড বিলম্ব নির্বাচন করেছি। ফলাফলের জন্য সংক্ষিপ্ত ভিডিওটি দেখুন। আপনি যদি সত্যিই আপনার খেলায় থাকেন, তাহলে মোটরের একক ধাপের কৌণিক রেজোলিউশন বের করতে চক্র প্রতি ধাপের সংখ্যা গণনা করুন। (ওহ হ্যাঁ। PS। 3.6v এ সহজে লোড ছাড়াই গাড়ি চালায়। ভিডিওতে ব্যাটারি দেখুন।)

ধাপ 5: এটি পিছনে এবং পিছনে সুইং করুন

সুতরাং আপনি এটি ঘড়ির কাঁটার দিকে চালাচ্ছেন। আরো আকর্ষণীয় কিছু? একটি সামান্য কোড-ক্লিনআপ, এবং আমরা এটি পিছনে চালাতে পারি। আমি একটি অ্যারের মধ্যে ঘড়ির কাঁটার ক্রমটি রেখেছি যাতে আপনি লুপের জন্য একটি সাধারণ দিয়ে পর্যায়গুলি অতিক্রম করতে পারেন। এখন আপনি ঘড়ির কাঁটার দিকে বা ঘড়ির কাঁটার দিকে যেতে লুপটি উপরে বা নিচে চালাতে পারেন।

int প্রধান (অকার্যকর) {const uint8_t বিলম্ব = 50; const uint8_t ঘড়ির কাঁটার দিকে = {BLUE, BLACK, RED, YELLOW}; uint8_t আমি; DDRB = 0xff; / * সমস্ত B পিনে আউটপুট সক্ষম করুন */ PORTB = 0x00; / * তাদের সকলকে 0v */ while (1) {/ * main loop এ */ for (i = 0; i <= 3; i ++) {/ * সেট করুন; _ বিলম্ব_এমএস (বিলম্ব); } এর জন্য (i = 3; i> = 0; i-) { / * রং ccw * / PORTB = ঘড়ির কাঁটার মধ্য দিয়ে ধাপে ধাপে ; _ বিলম্ব_এমএস (বিলম্ব); }}} পিছনে এবং ফরথিংয়ের জন্য রেসি ভিডিও দেখুন।

ধাপ 6: আমি কখনো অর্ধ-ধাপে থাকি না, কারণ আমি হাফ-স্টেপার নই …

কোয়েস্ট লিরিক একপাশে, আপনার মোটরকে অর্ধেক ধাপে ধাপে যেখানে এটি। আপনি আরো শিখর বর্তমান, আরো তাত্ক্ষণিক টর্ক, এবং দ্বিগুণ কৌণিক রেজোলিউশন পান। সংক্ষেপে অর্ধ-ধাপ: নীল, কালো, লাল, হলুদ পরিবর্তে, আপনি নীল, নীল+কালো, কালো, কালো+লাল, লাল, লাল+হলুদ, হলুদ, হলুদ+নীল দিয়ে মোটর চালান। ফলাফলটি হল যে অর্ধেক সময় ধরে আপনি একবারে উভয় চুম্বককে যুক্ত করছেন। এবং যখন উভয় সেট নিযুক্ত থাকে, মোটরটি দুটির মাঝখানে অর্ধেক পয়েন্ট করে, "ধাপ" এর মধ্যে কোণটি সঙ্কুচিত করে এবং মোটরটিকে আরও মসৃণ করে তোলে। আপনি ভিডিও থেকে বলতে পারেন? আমি নিশ্চিত নই… এখন কোডের যে অংশটি অর্ধ-স্টেপিং করে তা এইরকম দেখাচ্ছে:

অকার্যকর অর্ধ স্টেপিং (uint16_t বিলম্ব, uint8_t দিকনির্দেশ ) {uint8_t i; জন্য (i = 0; i <= 3; i ++) {PORTB = direction ; / * একক-কুণ্ডলী অংশ */ _ বিলম্ব_এমএস (বিলম্ব); PORTB | = দিকনির্দেশ [i+1]; / * অর্ধ-ধাপে যোগ করুন */ _ বিলম্ব_এমএস (বিলম্ব); }} প্রথম PORTB কমান্ড একটি পোলকে পজিটিভ এবং বাকি সব নেগেটিভ সেট করে। তারপর অপেক্ষা করে। তারপর দ্বিতীয় PORTB কমান্ড একটি দ্বিতীয় মেরু (অন্য ঘূর্ণায়মান) ধনাত্মক সেট করে, 1.4x টর্ক (এবং 2x বর্তমান) জন্য উভয় windings জড়িত। একটি সম্পূর্ণ প্রোগ্রামের তালিকা নিচে সংযুক্ত করা হয়েছে। দুটি অ্যারে এখন সংজ্ঞায়িত করা হয়েছে (ঘড়ির কাঁটার দিকে, ঘড়ির কাঁটার বিপরীত দিকে) এবং অর্ধেক স্টেপিং ফাংশনে i+1 এন্ট্রির অনুমতি দেওয়ার জন্য উভয়টিতে 5 টি উপাদান রয়েছে।

ধাপ 7: একটি মোটর ড্রাইভার যোগ করুন

একটি মোটর ড্রাইভার যোগ করুন
একটি মোটর ড্রাইভার যোগ করুন
একটি মোটর ড্রাইভার যোগ করুন
একটি মোটর ড্রাইভার যোগ করুন
একটি মোটর ড্রাইভার যোগ করুন
একটি মোটর ড্রাইভার যোগ করুন

এ পর্যন্ত সব ঠিকই.

একমাত্র সমস্যা হল যে মোটরটিতে এত বেশি টর্ক নেই বলে মনে হয়, যা মাইক্রোপ্রসেসর শুধুমাত্র প্রতি পিনে ~ 50mA বের করবে বলে হতে পারে। সুস্পষ্ট পরবর্তী ধাপটি হবে এটি একটি মোটর চালকের কাছে এটিকে জুস সরবরাহ করার জন্য। কিন্তু তারপর একটু চিন্তা 'আমি শুধুমাত্র 5v সঙ্গে এটি ড্রাইভিং, এবং কুণ্ডলী-ঘূর্ণন প্রতিরোধের ~ 125 ohms হয়। যার মানে হল যে মোটরের একমাত্র পিন প্রতি 40mA অঙ্কন, এবং এটি (beefy!) AVR চিপ দ্বারা ঠিক চালিত হওয়া উচিত। তাই মোটর চালানোর জন্য আরো ভোল্টেজ পেতে, আমি এটি একটি SN754410 H- ব্রিজ চিপ পর্যন্ত সংযুক্ত করেছি। সার্কিট বেশ সহজ। AVR থেকে প্রতিটি পিন একটি ইনপুটে যায়, এবং সংশ্লিষ্ট আউটপুট পিনগুলি মোটরে যায়। লিপিক বিভাগের জন্য চিপের প্রয়োজন 5v, এবং মোটর বিভাগে অনেক বেশি ভোল্টেজ নিতে পারে। এটি 11.25v (তিনটি 3.6v ব্যাটারি) চালানো কিছুটা সাহায্য করেছে। আমার আঙুলে উল্লেখযোগ্যভাবে আরো টর্ক, কিন্তু এটি এখনও একটি পাওয়ারহাউস নয়। একটি মোটরের জন্য খারাপ নয় যা নিকেলের চেয়ে ছোট, যদিও। এবং এখন সার্কিট একটি সাধারণ উদ্দেশ্য বাইপোলার স্টেপার মোটর ড্রাইভার হয়ে গেছে। 29 নভেম্বর যোগ করা হয়েছে: মোটরটি গত রাতে 12v তে কিছুক্ষণের জন্য চালান এবং এটি গরম হতে শুরু করে। আমি নিশ্চিত নই যে এটি একটি অনুরণিত ফ্রিকোয়েন্সি সমস্যা ছিল বা যদি এটি উইন্ডিংয়ের জন্য খুব বেশি বর্তমান ছিল। যাই হোক না কেন, একটু সাবধান থাকুন যদি আপনি এই ছোট মোটরটি বড় ভোল্টেজ দিয়ে চালাচ্ছেন।

ধাপ 8: শেষ

তাহলে আমি কি শিখলাম? একটি AVR (এবং একটি H- ব্রিজ চিপ) দিয়ে একটি স্টেপার মোটর চালানো বেশ সহজ, এমনকি "অভিনব" হাফ স্টেপিং মোডেও।

যদিও আমি এখনও স্টেপার মোটরগুলির সাথে কী করব তা নিশ্চিত নই। কোন পরামর্শ?

প্রস্তাবিত: