
সুচিপত্র:
2025 লেখক: John Day | [email protected]. সর্বশেষ পরিবর্তিত: 2025-01-23 14:36



PWM কি?
পালস প্রস্থ মডিউলেশনের জন্য পিডব্লিউএম স্ট্যান্ডস একটি কৌশল যার দ্বারা নাড়ির প্রস্থ বিভিন্ন হয়।
এই ধারণাটি পরিষ্কারভাবে বোঝার জন্য একটি ঘড়ির পালস বা যেকোন বর্গ তরঙ্গ সংকেত বিবেচনা করুন এতে 50% ডিউটি চক্র রয়েছে যার অর্থ টন এবং টফ পিরিয়ড একই, মোট সময়কাল যার জন্য সংকেত বেশি ছিল এবং যে সময়কালের জন্য সংকেত কম ছিল তাকে মোট বলা হয় সময় কাল.
উপরে দেখানো ছবির জন্য এই তরঙ্গের ডিউটি চক্র 50%
ডিউটি চক্র = (সময় / মোট সময়)*100
সময় - সময় যার জন্য সংকেত বেশি ছিল
বন্ধ সময় - সময় শত্রু যা সংকেত কম ছিল মোট সময় - পালস এর মোট সময়কাল (উভয় চালু এবং বন্ধ সময়)
ধাপ 1: মাইক্রোকন্ট্রোলার নির্বাচন করা

প্রকল্পের জন্য উপযুক্ত মাইক্রোকন্ট্রোলার নির্বাচন করা এই প্রকল্পের অপরিহার্য অংশ PWM সংকেতগুলি PWM চ্যানেল (CCP রেজিস্টার) দিয়ে মাইক্রোকন্ট্রোলারে উৎপন্ন হতে পারে। এই প্রকল্পের জন্য আমি pic16f877 এর সাথে থাকার পরিকল্পনা করছি আপনি ডেটশীট ডাউনলোড করতে পারেন নিচে লিঙ্ক দেওয়া আছে
PIC16F877a ডাটা শীট এখানে ক্লিক করুন
সিসিপি মডিউল পিডব্লিউএম সিগন্যাল তৈরির জন্য দায়ী। PORTC একটি 8-বিট প্রশস্ত দ্বিদলীয় বন্দর। সংশ্লিষ্ট ডেটা দিকনির্দেশনা রেজিস্টার হল TRISC। TRISC বিট (= 1) সেট করলে সংশ্লিষ্ট PORTC পিনকে ইনপুট হিসেবে নেওয়া হবে। TRISC বিট (= 0) সাফ করলে সংশ্লিষ্ট PORTC পিন আউটপুট হয়ে যাবে।
TRISC = 0; // এই বিট সাফ করা PORTC কে আউটপুট হিসেবে তৈরি করবে।
ধাপ 2: CCP মডিউল কনফিগার করুন


সিসিপি - ক্যাপচার/তুলনা/পিডব্লিউএম মডিউল
প্রতিটি ক্যাপচার/তুলনা/পিডব্লিউএম (সিসিপি) মডিউলটিতে একটি 16-বিট রেজিস্টার রয়েছে যা একটি হিসাবে কাজ করতে পারে:
• 16-বিট ক্যাপচার রেজিস্টার
• 16-বিট তুলনা রেজিস্টার
• PWM মাস্টার/স্লেভ ডিউটি সাইকেল রেজিস্টার
PWM মোডে CCP1CON নিবন্ধন কনফিগার করুন।
বিবরণ নিবন্ধন করুন
CCPxCON এই রেজিস্টারটি ক্যাপচার/তুলনা/PWM অপারেশনের জন্য CCP মডিউল কনফিগার করতে ব্যবহৃত হয়।
CCPRxL এই রেজিস্টারে PWM- এর 8-Msb বিট রয়েছে, নিচের 2-বিট CCPxCON রেজিস্টারের অংশ হবে।
TMR2 ফ্রি রানিং কাউন্টার যা PWM আউটপুট তৈরির জন্য CCPR1L এবং PR2 এর সাথে তুলনা করা হবে।
এখন আমি CCP1CON রেজিস্টার কনফিগার করার জন্য বিট প্রতিনিধিত্ব করতে বাইনারি ব্যবহার করব।
উপরের ছবিটি দেখুন।
CCP1CON = 0b00001111;
আপনি হেক্স ফরম্যাটও করতে পারেন
CCP1CON = 0x0F; // PWM মোডের জন্য CCP1CON রেজিস্টার কনফিগার করা
ধাপ 3: টাইমার 2 মডিউল কনফিগার করা (TMR2 নিবন্ধন)

টাইমার 2 হল একটি 8-বিট টাইমার যা একটি প্রেসকলার এবং একটি পোস্টস্কেলার। এটি CCP মডিউলের PWM মোডের জন্য PWM টাইম বেস হিসাবে ব্যবহার করা যেতে পারে। TMR2 রেজিস্টারটি পঠনযোগ্য এবং লেখার যোগ্য এবং যেকোনো ডিভাইস রিসেট করে সাফ করা হয়।
T2CON রেজিস্টার দেখানো হয়েছে
Prescale এবং পোস্টস্কেল উত্পন্ন PWM তরঙ্গের আউটপুট ফ্রিকোয়েন্সি সামঞ্জস্য করবে।
ফ্রিকোয়েন্সি = ঘড়ির ফ্রিকোয়েন্সি/(4*প্রেসকলার*(PR2-TMR2)*পোস্টস্কেলার*কাউন্ট)
যেখানে Tout = 1/ফ্রিকোয়েন্সি
T2CON = 0b00000100;
এটি 2.5 KHz @ 1Mhz বা 100KHz @ 4MHz স্ফটিক উৎপন্ন করবে (কার্যত এই PWM ফ্রিকোয়েন্সিটির একটি সীমাবদ্ধতা রয়েছে বিস্তারিত তথ্যের জন্য বিশেষ ডেটশীট দেখুন)
হেক্স উপস্থাপনা
T2CON = 0x04; // Prescaler এবং পোস্টস্কেল কনফিগারেশন ছাড়াই T2CON সক্ষম করুন।
ধাপ 4: PR2 কনফিগার করা (টাইমার 2 পিরিয়ড রেজিস্টার)
টাইমার 2 মডিউলে একটি 8-বিট পিরিয়ড রেজিস্টার, PR2 আছে। টাইমার 2 00h থেকে বৃদ্ধি পায় যতক্ষণ না এটি PR2 এর সাথে মিলিত হয় এবং তারপরে পরবর্তী ইনক্রিমেন্ট সাইকেলে 00h তে রিসেট হয়। PR2 একটি পঠনযোগ্য এবং লিখিত নিবন্ধন। PR2 রেজিস্টারটি রিসেট করার পরে FFh এ আরম্ভ করা হয়।
PR2- এর জন্য একটি উপযুক্ত পরিসর নির্ধারণ করলে উৎপাদিত PWM তরঙ্গের শুল্ক চক্র পরিবর্তন করতে পারবেন
PR2 = 100; // ডিউটি চক্র 0-100 থেকে পরিবর্তনের জন্য সাইকেলের সময় 100 সেট করুন
সরলতার জন্য আমি CCPR1L = 80 করে PR2 = 100 ব্যবহার করছি; 80% ডিউটি সাইকেল অর্জন করা যায়।
ধাপ 5: CCPR1l মডিউল কনফিগার করুন
যেহেতু PR2 = 100 CCPR1l পছন্দসই ডিউটি চক্র পেতে 0-100 এর মধ্যে যেকোনো জায়গায় কনফিগার করা যায়।
ধাপ 6: আপনার উপর MPLAB X IDE স্কেচ লিখুন কোডটি নীচে দেওয়া আছে

#অন্তর্ভুক্ত
অকার্যকর বিলম্ব (int a) // বিলম্ব উৎপন্ন করতে ফাংশন {
জন্য (int i = 0; i <a; i ++)
{
জন্য (int j = 0; j <144; j ++);
}
}
অকার্যকর প্রধান ()
{TRISC = 0; // এই বিট সাফ করা PORTC কে আউটপুট হিসেবে তৈরি করবে।
CCP1CON = 0x0F; // PWM মোডের জন্য CCP1CON রেজিস্টার কনফিগার করা
T2CON = 0x04; // Prescaler এবং পোস্টস্কেল কনফিগারেশন ছাড়াই T2CON সক্ষম করুন।
PR2 = 100; // ডিউটি চক্র 0-100 থেকে পরিবর্তনের জন্য সাইকেলের সময় 100 সেট করুন
যখন (1) {
CCPR1L = 75; // উত্পন্ন 75% শুল্ক চক্র বিলম্ব (1);
}
}
আমি কোডে সামান্য পরিবর্তন করেছি যাতে উত্পন্ন PWM তরঙ্গের ফ্রিকোয়েন্সি
এই কোডটি প্রোটিয়াসে সিমুলেটেড এবং আউটপুট PWM ওয়েভ নিচে দেখানো হয়েছে আপনার পিক ডেভেলপমেন্ট বোর্ডগুলিতে এটি আপলোড করার জন্য উপযুক্ত কনফিগারেশন বিট সহ #অন্তর্ভুক্ত করুন।
ধন্যবাদ
প্রস্তাবিত:
মাইক্রোকন্ট্রোলার দিয়ে আপনার নিজের উন্নয়ন বোর্ড তৈরি করুন: 3 টি ধাপ (ছবি সহ)

মাইক্রোকন্ট্রোলার দিয়ে আপনার নিজের ডেভেলপমেন্ট বোর্ড তৈরি করুন: আপনি কি কখনো মাইক্রোকন্ট্রোলার দিয়ে আপনার নিজের ডেভেলপমেন্ট বোর্ড বানাতে চান এবং আপনি জানেন না কিভাবে। এই নির্দেশে আমি আপনাকে দেখাব কিভাবে এটি তৈরি করতে হয়। আপনার যা দরকার তা হল ইলেকট্রনিক্সে জ্ঞান, সার্কিট ডিজাইন করা এবং প্রোগ্রামিং যদি আপনার কোন অনুসন্ধান থাকে
কিভাবে Arduino UNO ব্যবহার করে ড্রোন তৈরি করবেন - মাইক্রোকন্ট্রোলার ব্যবহার করে একটি চতুর্ভুজ তৈরি করুন: 8 টি ধাপ (ছবি সহ)

কিভাবে Arduino UNO ব্যবহার করে ড্রোন তৈরি করবেন | মাইক্রোকন্ট্রোলার ব্যবহার করে একটি চতুর্ভুজ তৈরি করুন: ভূমিকা আমার ইউটিউব চ্যানেল পরিদর্শন করুন একটি ড্রোন কিনতে একটি খুব ব্যয়বহুল গ্যাজেট (পণ্য)। এই পোস্টে আমি আলোচনা করতে যাচ্ছি, আমি কিভাবে এটি সস্তায় তৈরি করব ?? এবং কিভাবে আপনি সস্তা দামে আপনার নিজের মত এটি তৈরি করতে পারেন… ভাল ভারতে সব উপকরণ (মোটর, ইএসসি)
আরএফ মডিউল 433MHZ - কোন মাইক্রোকন্ট্রোলার ছাড়াই 433MHZ RF মডিউল থেকে রিসিভার এবং ট্রান্সমিটার তৈরি করুন: 5 টি ধাপ

আরএফ মডিউল 433MHZ | কোন মাইক্রোকন্ট্রোলার ছাড়াই 433MHZ RF মডিউল থেকে রিসিভার এবং ট্রান্সমিটার তৈরি করুন: আপনি কি ওয়্যারলেস ডেটা পাঠাতে চান? সহজে এবং কোন মাইক্রোকন্ট্রোলারের প্রয়োজন নেই? এখানে আমরা যাচ্ছি, এই নির্দেশে আমি আপনাকে দেখাবো mi বেসিক আরএফ ট্রান্সমিটার এবং রিসিভার ব্যবহারের জন্য প্রস্তুত
সাইন ওয়েভ তৈরি করতে NE555 সার্কিট DIY করুন: 6 টি ধাপ

সাইন ওয়েভ জেনারেট করার জন্য NE555 সার্কিট DIY করুন: এই টিউটোরিয়ালটি আপনাকে সাইন ওয়েভ তৈরির জন্য NE555 সার্কিটকে DIY করতে শেখায়। এই সাশ্রয়ী মূল্যের DIY কিটগুলি আপনার জন্য বুঝতে সাহায্য করে যে কীভাবে ক্যাপাসিটারগুলি প্রতিরোধকের সাথে কাজ করতে পারে চার্জিং এবং ডিসচার্জিং সময়কে নিয়ন্ত্রণ করতে
একটি খুব ছোট রোবট তৈরি করুন: বিশ্বের সবচেয়ে ছোট চাকাযুক্ত রোবটটি একটি গ্রিপার দিয়ে তৈরি করুন।: 9 টি ধাপ (ছবি সহ)

একটি খুব ছোট রোবট তৈরি করুন: একটি গ্রিপার দিয়ে বিশ্বের সবচেয়ে ছোট চাকাযুক্ত রোবটটি তৈরি করুন: একটি গ্রিপার দিয়ে একটি 1/20 কিউবিক ইঞ্চি রোবট তৈরি করুন যা ছোট বস্তু তুলতে এবং সরাতে পারে। এটি একটি Picaxe মাইক্রোকন্ট্রোলার দ্বারা নিয়ন্ত্রিত হয়। এই মুহুর্তে, আমি বিশ্বাস করি এটি হতে পারে পৃথিবীর সবচেয়ে ছোট চাকাযুক্ত রোবট যার মধ্যে একটি গ্রিপার রয়েছে। এতে কোন সন্দেহ নেই ch