সুচিপত্র:

Esp8266 ঘড়ি এবং পালস জেনারেটর: 3 ধাপ
Esp8266 ঘড়ি এবং পালস জেনারেটর: 3 ধাপ

ভিডিও: Esp8266 ঘড়ি এবং পালস জেনারেটর: 3 ধাপ

ভিডিও: Esp8266 ঘড়ি এবং পালস জেনারেটর: 3 ধাপ
ভিডিও: জেনারেটর || ESP8266 FLProg মই যুক্তি 2024, নভেম্বর
Anonim
Esp8266 ঘড়ি এবং পালস জেনারেটর
Esp8266 ঘড়ি এবং পালস জেনারেটর

এই নির্দেশযোগ্য পরীক্ষা সরঞ্জামগুলির একটি সহজ টুকরা জন্য; একটি ঘড়ি এবং পালস জেনারেটর।

এটি একটি esp8266 এ i2S হার্ডওয়্যার ইন্টারফেস ব্যবহার করে একটি পরীক্ষা ঘড়ি বা একটি পালস ক্রম তৈরি করে। এটি একসাথে রাখা সহজ করে তোলে কারণ একটি মৌলিক সিস্টেমের জন্য কোন বিশেষ হার্ডওয়্যার প্রয়োজন হয় না।

  • ঘড়ি উৎপাদন 2Hz থেকে 20MHz পর্যন্ত
  • কোন ফ্রিকোয়েন্সি ব্যবহার করা যেতে পারে
  • 160MHz বেস ক্লক থেকে ক্লক ডিভাইডার এবং বিট দৈর্ঘ্যের সেরা মিলের জন্য অনুসন্ধান
  • ফ্রিকোয়েন্সি <100KHz এর জন্য সাধারণত 0.1% এর তুলনায় ভাল
  • স্থান অনুপাত নির্বাচন চিহ্নিত করুন
  • ফ্রিকোয়েন্সি মেলিং সহনশীলতা ভাল মার্ক স্পেস হ্যান্ডলিং পেতে শিথিল হতে পারে
  • ফাইলে সংজ্ঞা ভিত্তিক পালস ট্রেন প্রজন্ম
  • ওয়েব ভিত্তিক GUI পিসি, ফোন, ট্যাবলেট থেকে নিয়ন্ত্রণের অনুমতি দেয়
  • ওয়াইফাই ম্যানেজমেন্ট সহজ প্রাথমিক রাউটার সেট আপ করার অনুমতি দেয়
  • ওটিএ সফটওয়্যার আপডেট
  • একটি বিশেষ I2s লাইব্রেরি ব্যবহার করে (i2sTXcircular) নমনীয় নিয়ন্ত্রণ প্রদান করে

ধাপ 1: হার্ডওয়্যার

হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার
হার্ডওয়্যার

আমি একটি 3 ডি মুদ্রিত ঘেরের মধ্যে একটি 18650 ব্যাটারি ধারণকারী একটি ইউএসবি চার্জার, একটি অন/অফ সুইচ, একটি 3 পিন হেডার প্লাগ আউটপুট সিগন্যালের জন্য তৈরি করেছি।

ব্যাটারির পাশে ইলেকট্রনিক্স রাখার জন্য ঘেরটিতে একটি সরু স্লট রয়েছে।

GPIO3 পিন (RX) থেকে সিগন্যাল বের হয়। এটি সরাসরি ব্যবহার করা যেতে পারে কিন্তু উচ্চতর ড্রাইভের ক্ষমতার জন্য আমি 74LVC2G34 ব্যবহার করে একটি ছোট বাফার অন্তর্ভুক্ত করতে বেছে নিয়েছি। আমি এই ডিভাইসে দুটি বাফার সমান্তরাল করেছি যাতে আরও বেশি ড্রাইভ ক্ষমতা প্রদান করা যায়।

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

ধাপ 2: সফটওয়্যার

সফটওয়্যারটি তৈরি এবং সেট আপ করতে https://github.com/roberttidey/espI2sClockGen এ কোড ব্যবহার করুন

  • I2sTX বৃত্তাকার লাইব্রেরি ইনস্টল করুন (অন্তর্ভুক্ত)
  • BaseSupport লাইব্রেরি ইনস্টল করুন (https://github.com/roberttidey/BaseSupport)
  • ওয়াইফাই ম্যানেজার লাইব্রেরি যোগ করুন
  • BaseConfig.h এ পাসওয়ার্ড সম্পাদনা করুন
  • Arduino পরিবেশে কম্পাইল এবং আপলোড করুন
  • AP এর সাথে সংযোগ করে এবং 192.168.4.1 এ ব্রাউজ করে ওয়াইফাই নেটওয়ার্ক ব্যবস্থাপনা সেট আপ করুন
  • STA ip/upload ব্যবহার করে ডাটা ফোল্ডার থেকে ফাইলের মৌলিক সেট আপলোড করুন
  • আইপি/সম্পাদনা ব্যবহার করে আরও আপলোড করা যেতে পারে - সাধারণ ইন্টারফেস আইপি/এ থাকে

কিভাবে এটা কাজ করে

I2sTX বৃত্তাকার লাইব্রেরি বাফারগুলির একটি বৃত্তাকার চেইন তৈরির অনুমতি দেয় যা i2S হার্ডওয়্যার দ্বারা esp8266 এ DMA ব্যবহার করে স্বয়ংক্রিয়ভাবে আউটপুট হয় যাতে একবার সফটওয়্যার ওভারহেড ব্যবহার না করা হয়।

ডিভাইসের মৌলিক ঘড়ি 160MHz যা এক জোড়া ডিভাইডার দ্বারা বিভক্ত। আউটপুট সিগন্যাল তারপর নির্ধারিত হয় কোন ডাটা বাফারে রাখা হয় যা বিভক্ত ডাউন ক্লক দ্বারা আউটপুট হয়। দুটি বিভাজক চয়ন করে এবং সম্ভাব্য একাধিক ডেটা বিট ব্যবহার করে প্রতিটি পালসকে প্রতিনিধিত্ব করার জন্য একটি ফ্রিকোয়েন্সি বেশ ঘনিষ্ঠভাবে অনুমান করা যায়। এটি ডিউটি চক্রকে (ঘড়ির পালসের চিহ্ন/স্থান অনুপাত) বৈচিত্র্যপূর্ণ হতে দেয়।

ব্রাউজার জাভাস্ক্রিপ্ট কোড প্যারামিটার পছন্দ অপ্টিমাইজ করার চেষ্টা করে যে কোন নির্বাচিত ফ্রিকোয়েন্সি একটি ঘনিষ্ঠ মিল দিতে।

যদিও প্রধান উদ্দেশ্য ঘড়ি তৈরির জন্য, এটি একটি পালস ফাইলে একটি সংজ্ঞা স্থাপন করে আরও জটিল পালস ট্রেন তৈরি করাও সম্ভব, যা তখন ডেটা নিয়ন্ত্রণ করে যা তৈরি করা হবে এবং বৃত্তাকার বাফারে রাখা হবে। বিবরণ অন্তর্ভুক্ত পালস ফাইলের অন্তর্ভুক্ত।

ধাপ 3: অপারেশন

অপারেশনটি প্রধান ছবিতে দেখানো ব্রাউজার ইন্টারফেস দ্বারা নিয়ন্ত্রিত হয়।

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

অ্যাডভান্সড বারে ক্লিক করলে আরো বিস্তারিত দেখা যাবে।

বিট ক্লক 160MHz এর সাব-মাল্টিপল দেখায় যা ব্যবহার করা হচ্ছে।

মার্ক এবং স্পেস বিট দেখায় যে কতগুলি বিট চিহ্ন এবং স্পেসের প্রতিনিধিত্ব করতে ব্যবহৃত হচ্ছে।

Div1 এবং Div2 দুটি ডিভাইডার দেখায় যা নিকটতম বিট ঘড়ি তৈরির জন্য বেছে নেওয়া হয়েছে।

সাধারণত দুটি ডিভাইডারকে নির্বাচিত ফ্রিকোয়েন্সিটির নিকটতম মিল দিতে এবং ব্যবহৃত ডেটা বিটের সংখ্যা সর্বাধিক করার জন্য বেছে নেওয়া হয় যা বিভিন্ন ডিউটি চক্রের অনুমতি দিতে আরও নমনীয়তা প্রদান করতে সহায়তা করে। যাইহোক, মাঝে মাঝে সেরা ম্যাচের ফলাফল কম বিট কাউন্টে ডিউটি চক্র পরিবর্তনের জন্য সামান্য জায়গা ছেড়ে দেয়। সহনশীলতা % মান পরিবর্তন করে এই সহনশীলতার মধ্যে ফ্রিকোয়েন্সি দেওয়ার জন্য বিভাজককে বেছে নেওয়া হবে কিন্তু সম্ভাব্য আরো ডেটা বিট ব্যবহার করা হবে। উদাহরণস্বরূপ 0.5 বা 1 সহনশীলতা সেট করার চেষ্টা করুন।

আপনি প্যারামিটার পছন্দ নিয়ন্ত্রণ করতে প্রতি শব্দ সংখ্যার বিট সেট করতে পারেন। 0 (ডিফল্ট) মানে প্রতি শব্দ কোন বিট নির্বাচন করুন। একটি একক সংখ্যা (উদা 24 24) মানে শুধুমাত্র এই প্যারামিটারগুলি বেছে নিন যা এর সাথে মেলে। আপনি একটি পরিসরেও রাখতে পারেন (যেমন 24, 31)। এটি শুধুমাত্র 10KHz এর উপরে টার্গেট Hz এর জন্য কাজ করে, নিচে এই স্কেলিং কার্যকর হবে যাতে সংখ্যাটি বেড়ে যায়।

বাফারের আকার 32 বিট শব্দের মধ্যে ব্যবহৃত মোট বাফারের ব্যবধান দেখায়। ঘড়ির পালস বাফারের মধ্যে একটি নিখুঁত বৃত্তাকার ফিট নিশ্চিত করার জন্য এটি বেছে নেওয়া হয়েছে। অভ্যন্তরীণভাবে এই বাফারটি শৃঙ্খলিত ডিএমএকে কাজ করার অনুমতি দেওয়ার জন্য কয়েকটি ছোট ছোট রবারফারে বিভক্ত।

ডাল অপারেশনের জন্য ডাল TAB নির্বাচন করুন। এটি উপলব্ধ পালস ফাইলগুলি এবং প্রতিটিটির পাশে একটি বোতাম দেখায় যা তার সংজ্ঞা অনুসারে একটি পালস ট্রেন তৈরি করবে। আপনি ফাইলের লিংকে ক্লিক করে বিষয়বস্তু দেখতে পারেন। আইপি/এডিট ফাইল ব্রাউজার ব্যবহার করে আরো পালস ফাইল আপলোড করা যাবে। তাদের নাম পালস দিয়ে শুরু করা উচিত।

প্রস্তাবিত: