সুচিপত্র:

ওয়াইফাই এবং অ্যান্ড্রয়েডে পোর্টেবল ফাংশন জেনারেটর: 10 টি ধাপ
ওয়াইফাই এবং অ্যান্ড্রয়েডে পোর্টেবল ফাংশন জেনারেটর: 10 টি ধাপ

ভিডিও: ওয়াইফাই এবং অ্যান্ড্রয়েডে পোর্টেবল ফাংশন জেনারেটর: 10 টি ধাপ

ভিডিও: ওয়াইফাই এবং অ্যান্ড্রয়েডে পোর্টেবল ফাংশন জেনারেটর: 10 টি ধাপ
ভিডিও: Xiaomi Wifi Repeater Pro Review & Setup | ওয়াইফাই রিপিটার সেটআপ করার পদ্ধতি 2024, জুলাই
Anonim
ওয়াইফাই এবং অ্যান্ড্রয়েডে পোর্টেবল ফাংশন জেনারেটর
ওয়াইফাই এবং অ্যান্ড্রয়েডে পোর্টেবল ফাংশন জেনারেটর
ওয়াইফাই এবং অ্যান্ড্রয়েডে পোর্টেবল ফাংশন জেনারেটর
ওয়াইফাই এবং অ্যান্ড্রয়েডে পোর্টেবল ফাংশন জেনারেটর
ওয়াইফাই এবং অ্যান্ড্রয়েডে পোর্টেবল ফাংশন জেনারেটর
ওয়াইফাই এবং অ্যান্ড্রয়েডে পোর্টেবল ফাংশন জেনারেটর
ওয়াইফাই এবং অ্যান্ড্রয়েডে পোর্টেবল ফাংশন জেনারেটর
ওয়াইফাই এবং অ্যান্ড্রয়েডে পোর্টেবল ফাংশন জেনারেটর

বিংশ শতাব্দীর শেষের দিকে, বিভিন্ন প্রযুক্তিগত উদ্ভাবন দেখা দিয়েছে, বিশেষ করে যোগাযোগের ক্ষেত্রে; কিন্তু শুধু নয়। আমাদের জন্য, ব্যবহারকারী, ভোক্তা এবং প্রকৌশলীরা ইলেকট্রনিক ডিভাইসগুলির দ্রুত বিকাশের বিষয়টি প্রকাশ করেছেন, যা আমাদের জীবনকে অনেক সহজ করে তুলতে পারে: স্মার্ট ঘড়ি, স্মার্ট হোমস, স্মার্টফোন ইত্যাদি।

যেহেতু আজকাল সবকিছুই "স্মার্ট" হতে পারে, তাই আমি অপরিহার্য ইলেকট্রনিক ল্যাব সরঞ্জামের অংশ হিসেবে একটি অতি উপযোগী যন্ত্র ডিজাইন করার সিদ্ধান্ত নিয়েছি - পোর্টেবল ফাংশন জেনারেটর, ওয়াইফাই ডাইরেক্ট বা ওয়াইফাই লোকাল এরিয়া নেটওয়ার্ক (WLAN)।

কেন আমাদের এই ডিভাইসটি তৈরি করা উচিত?

পরীক্ষার সরঞ্জামগুলির একটি বিশাল সংখ্যাগরিষ্ঠতা আজকাল বেশ ব্যয়বহুল। এবং কখনও কখনও, এই ডিভাইসগুলি বহনযোগ্য নয়। উচ্চ মূল্য, বহনযোগ্যতার অভাব এবং ডিভাইস নেটওয়ার্ক অ্যাক্সেসের অভাবের সমাধান হিসাবে, ডিভাইসটি দ্বৈত চ্যানেল তরঙ্গাকৃতি জেনারেটর সরবরাহ করে, যা প্রকৃতপক্ষে বহনযোগ্য এবং নেটওয়ার্কে একটি সীমাবদ্ধ অ্যাক্সেস রয়েছে - ইন্টারনেট বা স্থানীয় এক।

এবং অবশ্যই, ডিভাইসটি উত্সাহের কারণে তৈরি করা উচিত, DIY নীতিগুলি মেনে চলা - কখনও কখনও আমাদের ঠিক মনে করার জন্য আমাদের নিজেরাই কিছু করতে হবে:)

মূল বৈশিষ্ট্য

পাওয়ার সাপ্লাই

  • ইউএসবি টাইপ-এ সংযোগকারী, পাওয়ার সাপ্লাই সিস্টেম এবং প্রোগ্রামিং উভয়ের জন্য
  • সম্পূর্ণ লি -আয়ন ব্যাটারি ব্যবস্থাপনা সিস্টেম - চার্জিং এবং স্থিতিশীল মোড
  • স্মার্ট সুইচ বাস্তবায়ন - পাওয়ার টগলিং সুইচের প্রয়োজন নেই
  • দ্বৈত বিদ্যুৎ সরবরাহ: সমান্তরাল ভোল্টেজ তরঙ্গাকৃতি প্রজন্মের জন্য +3.3V এবং -3.3V

ওয়েভফর্ম জেনারেশন

  • আউটপুট ক্যাসকেডে ডিসি স্তরের বাস্তবায়ন - ভোল্টেজ সীমানার মধ্যে পক্ষপাতমূলক তরঙ্গাকৃতি
  • DDS ভিত্তিক 4 -ধরনের তরঙ্গাকৃতি প্রজন্ম - সাইন, ত্রিভুজ, বর্গক্ষেত্র এবং ডিসি
  • 10MHz পর্যন্ত ফ্রিকোয়েন্সি সাপোর্ট
  • আউটপুট বর্তমান 80mA পর্যন্ত 500mW সর্বোচ্চ বিদ্যুৎ প্রাপ্যতা
  • তরঙ্গাকৃতি প্রজন্মের জন্য পৃথক চ্যানেল - AD9834 ভিত্তিক সার্কিট বিভক্ত

যোগাযোগ

  • ESP32 বাস্তবায়ন - প্রযোজ্য ওয়াইফাই ক্ষমতা
  • জেনারেটর ডিভাইস এবং অ্যান্ড্রয়েড স্মার্টফোন দ্বারা সম্পূর্ণ টিসিপি/আইপি সমর্থন
  • প্রতিটি ডিভাইস চক্রের জন্য ব্যবহারকারীর প্যারামিটার সংরক্ষণ করার ক্ষমতা
  • রাজ্য পর্যবেক্ষণ - উভয় সিস্টেম একে অপরের অবস্থা সম্পর্কে সচেতন: FuncGen (এখন থেকে এই ভাবে কল করা যাক) এবং স্মার্টফোন।

ব্যবহারকারী ইন্টারফেস

  • সাধারণ 4-বিট ডেটা ইন্টারফেস সহ 20 x 4 অক্ষর এলসিডি
  • অ্যান্ড্রয়েড অ্যাপ্লিকেশন - FuncGen ডিভাইসের উপর সম্পূর্ণ ব্যবহারকারীর নিয়ন্ত্রণ
  • বুজার সার্কিট - ব্যবহারকারীর কাছে সাউন্ড ফিডব্যাক

ধাপ 1: ব্লক ডায়াগ্রাম - হার্ডওয়্যার

ব্লক ডায়াগ্রাম - হার্ডওয়্যার
ব্লক ডায়াগ্রাম - হার্ডওয়্যার
ব্লক ডায়াগ্রাম - হার্ডওয়্যার
ব্লক ডায়াগ্রাম - হার্ডওয়্যার

মাইক্রোকন্ট্রোলার ইউনিট - ATMEGA32L

মাইক্রোকন্ট্রোলার একটি প্রোগ্রামযোগ্য চিপ যা একটি কম্পিউটার ইলেকট্রনিক চিপে থাকা সমস্ত কম্পিউটার কার্যকারিতা নিয়ে গঠিত। আমাদের ক্ষেত্রে, এটি "মস্তিষ্ক" এবং সিস্টেমের একটি কেন্দ্রীয় উপাদান। এমসিইউ এর উদ্দেশ্য হল সমস্ত পেরিফেরাল সিস্টেম পরিচালনা করা, এই সিস্টেমগুলির মধ্যে যোগাযোগ পরিচালনা করা, হার্ডওয়্যার অপারেশন নিয়ন্ত্রণ করা এবং ইউজার ইন্টারফেস এবং প্রকৃত ব্যবহারকারীর সাথে তার যোগাযোগের জন্য সম্পূর্ণ সমর্থন প্রদান করা। ATMEGA32L MCU- এর উপর ভিত্তি করে এই প্রকল্প, যা 3.3V এবং 8MHz ফ্রিকোয়েন্সি চালাতে পারে।

যোগাযোগ এসওসি - ইএসপি 32

এই এসওসি (সিস্টেম অন চিপ) FuncGen- এর জন্য সম্পূর্ণ যোগাযোগ সহায়তা প্রদান করে - সরাসরি, স্থানীয় বা ইন্টারনেট যোগাযোগ সহ ওয়াইফাই সক্ষমতার অ্যাক্সেস। ডিভাইসের উদ্দেশ্য হল:

  • অ্যান্ড্রয়েড অ্যাপ এবং ফানজেন ডিভাইসের মধ্যে ডেটা ট্রান্সমিশন পরিচালনা করা
  • নিয়ন্ত্রণ/ডেটা বার্তা পরিচালনা
  • ক্রমাগত টিসিপি/আইপি ক্লায়েন্ট-সার্ভার কনফিগারেশনের সমর্থন

আমাদের প্রজেক্টে এসওসি হল espressif ESP32, এটি আরও বিস্তৃত করার জন্য খুব জনপ্রিয়:)

লি-আয়ন ব্যাটারি ম্যানেজমেন্ট সিস্টেম

আমাদের ডিভাইসটিকে পোর্টেবল একটিতে রূপান্তর করার জন্য, ডিভাইসে ডিজাইন করা লি-আয়ন ব্যাটারি চার্জিং সার্কিট রয়েছে। সার্কিট MC73831 IC- এর উপর ভিত্তি করে, একটি একক প্রোগ্রামিং প্রতিরোধকের মান সমন্বয় করে নিয়ন্ত্রণযোগ্য চার্জিং কারেন্ট সহ ডিভাইস পাওয়ার সাপ্লাই ইনপুট হল ইউএসবি টাইপ-এ সংযোগকারী।

স্মার্ট সুইচ সার্কিট

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

প্রধান পাওয়ার সাপ্লাই ইউনিট

এই ইউনিটে দুটি ব্যাটারি চালিত পাওয়ার সাপ্লাই সার্কিট রয়েছে -সমস্ত ডিজিটাল / এনালগ সাপ্লাই সার্কিটের জন্য +3.3V এবং 0V সম্ভাব্যতার তুলনায় ফানজেন সমান্তরাল আউটপুটের জন্য -3.3V (অর্থাৎ উত্পন্ন তরঙ্গাকৃতি [-3.3V: 3.3V] অঞ্চল.

  • প্রধান সরবরাহ সার্কিট LP3875-3.3 LDO (কম ড্রপআউট) 1A রৈখিক ভোল্টেজ নিয়ন্ত্রকের উপর ভিত্তি করে।
  • সেকেন্ডারি সাপ্লাই সার্কিটটি LM2262MX IC- এর উপর ভিত্তি করে, যা DC- DC নেগেটিভ ভোল্টেজ রূপান্তর করে ক্যাপাসিটর-চার্জ-পাম্পের মাধ্যমে-IC- এর উপর ভিত্তি করে।

ওয়েভফর্ম জেনারেটর সিস্টেম

সিস্টেমটি পৃথক DDS (সরাসরি ডিজিটাল সংশ্লেষণ) সমন্বিত সার্কিটের উপর জোর দিয়ে ডিজাইন করা হয়েছিল, যা MCU এর SPI (সিরিয়াল পেরিফেরাল ইন্টারফেস) দ্বারা সম্পূর্ণ তরঙ্গাকৃতি উৎপাদন নিয়ন্ত্রণের অনুমতি দেয়। ডিজাইনে ব্যবহৃত সার্কিটগুলি হল এনালগ ডিভাইস AD9834 যা বিভিন্ন ধরণের তরঙ্গ রূপ দিতে পারে। AD9834 এর সাথে কাজ করার সময় আমাদের যে চ্যালেঞ্জগুলির মুখোমুখি হতে হবে তা হল:

  • স্থির তরঙ্গাকৃতি প্রশস্ততা: তরঙ্গাকৃতি প্রশস্ততা বাহ্যিক DAC মডিউল দ্বারা নিয়ন্ত্রিত হয়
  • অফসেট ডিসি লেভেলের জন্য কোন বিবেচনা নেই: কাঙ্ক্ষিত ডিসি অফসেট মান সহ সার্কিট সার্কিটের বাস্তবায়ন
  • বর্গ তরঙ্গ এবং ত্রিভুজ/সাইন তরঙ্গের জন্য পৃথক আউটপুট: উচ্চ ফ্রিকোয়েন্সি সুইচিং সার্কিট বাস্তবায়ন এইভাবে প্রতিটি চ্যানেল একক আউটপুট সমস্ত পছন্দসই তরঙ্গাকৃতি প্রদান করতে পারে: সাইন, ত্রিভুজ, বর্গক্ষেত্র এবং ডিসি।

তরল স্ফটিক প্রদর্শন

এলসিডি ইউআই (ইউজার ইন্টারফেস) এর একটি অংশ, এবং এর উদ্দেশ্য হল ব্যবহারকারীকে বুঝতে হবে যে ডিভাইসটি রিয়েল টাইম মোডে কী করে। এটি প্রতিটি ডিভাইসের অবস্থায় ব্যবহারকারীর সাথে যোগাযোগ করে।

বুজার

ডিভাইস থেকে ব্যবহারকারীর অতিরিক্ত প্রতিক্রিয়ার জন্য সহজ টোন জেনারেটর সার্কিট।

ইন্টিগ্রেটেড আইএসপি প্রোগ্রামার

প্রোগ্রামিং প্রক্রিয়ার ক্ষেত্রে প্রতিটি প্রকৌশলীর জন্য একটি স্থায়ী সমস্যা রয়েছে: একটি নতুন ফার্মওয়্যারের সাহায্যে পুনরায় প্রোগ্রাম করার জন্য পণ্যটিকে বিচ্ছিন্ন করার সর্বদা সবচেয়ে খারাপ প্রয়োজন। এই অসুবিধা দূর করার জন্য, AVR ISP প্রোগ্রামার ভিতর থেকে ডিভাইসের সাথে সংযুক্ত ছিল, যেখানে USB ডেটা এবং পাওয়ার লাইনগুলি ডিভাইসের USB টাইপ-এ সংযোগকারীর সাথে সংযুক্ত। এই কনফিগারেশনে, আমাদের কেবল আমাদের প্রোগ্রামিং বা চার্জিংয়ের জন্য ইউএসবি কেবল এর মাধ্যমে আমাদের ফানজেন প্লাগ করতে হবে!

ধাপ 2: ব্লক ডায়াগ্রাম - নেটওয়ার্কিং

ব্লক ডায়াগ্রাম - নেটওয়ার্কিং
ব্লক ডায়াগ্রাম - নেটওয়ার্কিং

দ্বৈত চ্যানেল ফাংশন জেনারেটর

প্রধান ডিভাইস। যা আমরা আগের ধাপে পর্যালোচনা করেছি

ESP-WROOM-32

ওয়াইফাই এবং BLE ক্ষমতা সহ ইন্টিগ্রেটেড সিস্টেম-অন-চিপ। এসওসি UART মডিউলের মাধ্যমে মূল বোর্ডের সাথে সংযুক্ত (আমরা এটিকে স্কিম্যাটিক্স ধাপে আবৃত করব) এবং প্রধান ডিভাইস এবং অ্যান্ড্রয়েড স্মার্টফোনের মধ্যে একটি বার্তা ট্রান্সসিভার হিসাবে কাজ করে।

ওয়াইফাই লোকাল নেটওয়ার্ক

টিসিপি সার্ভার/ক্লায়েন্ট কনফিগারেশনের উপর ভিত্তি করে স্মার্টফোন এবং ডিভাইস ওয়াইফাই সরাসরি বা লোকাল এরিয়া নেটওয়ার্কের মাধ্যমে যোগাযোগ করবে। যখন ডিভাইসগুলি ওয়াইফাইতে একে অপরকে চিনতে পারে, তখন প্রধান ডিভাইসটি যথাযথ পরামিতি সহ TCP সার্ভার তৈরি করে এবং বার্তা পাঠাতে/গ্রহণ করতে সক্ষম হয়। ডিভাইসটি স্মার্টফোনের সেকেন্ডারি হিসেবে কাজ করে। অন্যদিকে অ্যান্ড্রয়েড ডিভাইস, ক্লায়েন্ট নেটওয়ার্ক ডিভাইস হিসেবে টিসিপি সার্ভারের সাথে সংযোগ স্থাপন করে, কিন্তু প্রাথমিক মেসেজ ট্রান্সমিটার হিসেবে বিবেচিত হয় - স্মার্টফোন সেই ব্যক্তি যিনি সম্পূর্ণ যোগাযোগ চক্র শুরু করেন: বার্তা পাঠানো - উত্তর পাওয়া।

অ্যান্ড্রয়েড স্মার্টফোন

অ্যান্ড্রয়েড ওএস ভিত্তিক স্মার্টফোন ডিভাইস যা FuncGen অ্যাপ্লিকেশনে চলে

ধাপ 3: যন্ত্রাংশ, টুলস, আইডিই এবং বিল অফ মেটেরিয়ালস

যন্ত্রাংশ, টুলস, আইডিই এবং বিল অব ম্যাটেরিয়ালস
যন্ত্রাংশ, টুলস, আইডিই এবং বিল অব ম্যাটেরিয়ালস
যন্ত্রাংশ, টুলস, আইডিই এবং বিল অব ম্যাটেরিয়ালস
যন্ত্রাংশ, টুলস, আইডিই এবং বিল অব ম্যাটেরিয়ালস
যন্ত্রাংশ, টুলস, আইডিই এবং বিল অফ ম্যাটেরিয়ালস
যন্ত্রাংশ, টুলস, আইডিই এবং বিল অফ ম্যাটেরিয়ালস

বিল অফ ম্যাটেরিয়ালস (সংযুক্ত এক্সএলএস টেবিল দেখুন)

ইউআই এবং সিস্টেম সংযোগ

  • 1 x 2004A চর-এলসিডি 20x4 নীল
  • 1 x ইউএসবি টাইপ বি কানেক্টর
  • 1 x 10 মিনি মাইক্রো জেএসটি এক্সএইচ 2.54 মিমি 4 পিন সেট করুন
  • 1 x 6pcs ক্ষণস্থায়ী SW

PCB অর্ডারিং (Seeed Studio অনুযায়ী)

বেস উপাদান FR-4

স্তর সংখ্যা 2 স্তর

পিসিবি পরিমাণ 10

বিভিন্ন ডিজাইনের সংখ্যা 1

পিসিবি বেধ 1.6 মিমি

পিসিবি রঙ নীল

সারফেস HASL শেষ

ন্যূনতম সোল্ডার মাস্ক বাঁধ 0.4 মিমি

তামার ওজন 1oz

ন্যূনতম ড্রিল হোল সাইজ 0.3 মিমি

ট্রেস প্রস্থ / স্পেসিং 6/6 মিলি

ধাতুপট্টাবৃত অর্ধ-গর্ত / কাস্তেলিত গর্ত নং

প্রতিবন্ধকতা নিয়ন্ত্রণ নং

সরঞ্জাম

  • গরম আঠা বন্দুক
  • টুইজার
  • কর্তনকারী
  • ~ 22AWG তারের ত্রুটি হ্যান্ডলিং উদ্দেশ্যে
  • সোল্ডারিং লোহা/স্টেশন
  • সোল্ডারিং টিন
  • এসএমডি রিওয়ার্ক স্টেশন (alচ্ছিক)
  • 3D প্রিন্টার (alচ্ছিক)
  • এক্সট্রুডিং ফাইল
  • AVR ISP প্রোগ্রামার
  • ইউএসবি থেকে সিরিয়াল কনভার্টার (debচ্ছিক, ডিবাগিং উদ্দেশ্যে)

ইন্টিগ্রেটেড ডেভেলপমেন্ট এনভায়রনমেন্ট (আইডিই) এবং সফটওয়্যার

  • Autodesk EAGLE বা Cadence Schematic Editor / Allegro PCB Editor
  • OpenSCAD (ptionচ্ছিক)
  • আল্টিমেকার কুরা (ptionচ্ছিক)
  • Saleae যুক্তি (সমস্যা সমাধানের জন্য)
  • Atmel Studio 6.3 বা তার উপরে
  • অ্যান্ড্রয়েড স্টুডিও বা Eclipse IDE
  • ডকলাইট সিরিয়াল মনিটর / অন্যান্য COM পোর্ট মনিটরিং সফটওয়্যার
  • AVR ATMEGA32L ফ্ল্যাশ প্রোগ্রামিং এর জন্য ProgISP

ধাপ 4: হার্ডওয়্যার ডিজাইন - প্রধান বোর্ড

হার্ডওয়্যার ডিজাইন - প্রধান বোর্ড
হার্ডওয়্যার ডিজাইন - প্রধান বোর্ড
হার্ডওয়্যার ডিজাইন - প্রধান বোর্ড
হার্ডওয়্যার ডিজাইন - প্রধান বোর্ড
হার্ডওয়্যার ডিজাইন - প্রধান বোর্ড
হার্ডওয়্যার ডিজাইন - প্রধান বোর্ড

ব্যাটারি ম্যানেজমেন্ট সার্কিট

ব্যাটারি চার্জিং সার্কিট MCP7383 IC এর উপর ভিত্তি করে, যা আমাদের লি -আয়ন ব্যাটারির জন্য একটি কাঙ্ক্ষিত চার্জিং কারেন্ট নির্বাচন করতে দেয় - 850mAh ধারণক্ষমতার 3.7V। চার্জিং কারেন্ট আমাদের ক্ষেত্রে প্রোগ্রামিং প্রতিরোধক মান (R1) দ্বারা সেট করা হয়

R1 = 3KOhm, I (চার্জ) = 400mA

ইউএসবি ভোল্টেজ VBUS π- ফিল্টার (C1, L3, C3) দ্বারা ফিল্টার করা হয় এবং চার্জিং সার্কিটের জন্য শক্তি উৎস হিসেবে কাজ করে।

ভোল্টেজ ডিভাইডার সার্কিট (R2, R3) MCU A/D চ্যানেলে নিম্নলিখিত ভোল্টেজ প্রদান করে MCU কে বহিরাগত USB পাওয়ার সাপ্লাই সংযুক্ত আছে কি না তা নির্দেশ করতে দেয়:

V (ইঙ্গিত) ~ (2/3) V (BUS)

যেহেতু আমাদের ATMEGA32L এর A/D 12-বিট, তাই আমরা ডিজিটাল পরিসীমা গণনা করতে পারি:

A / D (পরিসীমা) = 4095V (ইঙ্গিত) / V (REF)।

A/D ∈ [14AH: FFFH]

স্মার্ট সুইচ পাওয়ার ইউনিট

সার্কিট সিস্টেমটি এমসিইউতে পুশ-বোতাম এবং সফ্টওয়্যার উভয় থেকে প্রতিটি ডিজাইন করা ব্লকে বিদ্যুৎ সরবরাহ নিয়ন্ত্রণ করতে দেয় এবং এটি রিসেটের পরিবর্তে STM6601 স্মার্ট-স্যুইচ উইথ পাওয়ার বিকল্পের উপর ভিত্তি করে। যে টার্মিনালগুলি আমরা বিবেচনা করতে চাই সেগুলি হল:

  • PSHOLD - ইনপুট লাইন, যা ডিভাইসের অবস্থা সংজ্ঞায়িত করে: যদি কম টানা হয়, ডিভাইসটি সমস্ত সেকেন্ডারি পাওয়ার সাপ্লাই ইউনিট (+3.3V এবং -3.3V) নিষ্ক্রিয় করে। যদি উচ্চ হয় - ডিভাইস চালু অবস্থায় থাকে।
  • nSR এবং nPB - ইনপুট লাইন। পুশ বোতাম টার্মিনাল। যখন এই পিনগুলিতে পতনশীল প্রান্ত সনাক্ত করা হয়, ডিভাইসটি পাওয়ার আপ / ডাউন মোডে প্রবেশ করার চেষ্টা করে
  • nINT - আউটপুট লাইন। পুশ বাটন চাপলে প্রতিবারই কম টানা হয়
  • EN - আউটপুট লাইন, সেকেন্ডারি পাওয়ার সাপ্লাই ইউনিটগুলির জন্য পাওয়ার এনাবল হিসেবে ব্যবহৃত হয়। যখন কম রাখা হয়, উভয় মাধ্যমিক বিদ্যুৎ সরবরাহ নিষ্ক্রিয় করা হয়

চূড়ান্ত নকশায় যাওয়ার আগে কিছু গুরুত্বপূর্ণ নোট রয়েছে:

  • PSHOLD কে 3.3V পর্যন্ত টেনে আনা উচিত, কারণ এমন কিছু ক্ষেত্রে আছে যখন MCUs সমস্ত I/OS কে উচ্চ-জেড অবস্থায় থাকতে বাধ্য করছে। এই ক্ষেত্রে, MCU থেকে PSHOLD অবস্থা অজানা এবং নাটকীয়ভাবে ডিভাইস প্রোগ্রামিং প্রক্রিয়া প্রভাবিত করতে পারে।
  • STM6601 রিসেট বিকল্পের পরিবর্তে দীর্ঘ প্রেসে একটি EN সমন্বয় বিকল্পের সাথে অর্ডার করা উচিত (আমি সেইটিতে পড়েছি)।

পাওয়ার সাপ্লাই ইউনিট: +3.3V

আমাদের প্রকল্পের সমস্ত সিস্টেমের জন্য প্রধান বিদ্যুৎ সরবরাহ। যখন +3.3V লাইন GND স্তরে অনুষ্ঠিত হয় (যেমন কোন ভোল্টেজ উপস্থাপন করা হয় না), স্মার্ট সুইচ ছাড়া সমস্ত IC নিষ্ক্রিয় করা হয়। সার্কিটটি LDO LP-3875-3.3 IC- এর উপর ভিত্তি করে তৈরি, যার ক্ষমতা EN টার্মিনালের মাধ্যমে নিয়ন্ত্রিত হতে পারে এবং 1A পর্যন্ত কারেন্ট প্রদান করতে পারে।

এই সার্কিটের পাওয়ার সোর্স হল ব্যাটারি ভোল্টেজ, কনফিগারেশনে VBAT সেন্সিংয়ের জন্য সংযুক্ত A/D নির্দেশক সহ, VBUS সেন্সিং সার্কিটের মতো। এই ক্ষেত্রে, গণনা সামান্য ভিন্ন;

V (ব্যাটারি-টু-এ/ডি) = 0.59V (ব্যাটারি); A/D (পরিসীমা) ∈ [000H: C03H]

পাওয়ার সাপ্লাই ইউনিট: -3.3V

নেগেটিভ ভোল্টেজ সাপ্লাই সার্কিট আমাদের 0V এর ডিসি ফ্যাক্টর (অর্থাৎ তরঙ্গাকৃতির গড় মান 0V হতে সক্ষম) দিয়ে প্রতিসম তরঙ্গাকৃতি তৈরি করতে দেয়। এই সার্কিটটি LM2662MX IC - DC/DC কনভার্টারের উপর ভিত্তি করে যা "চার্জ পাম্প" পদ্ধতিতে কাজ করে। সার্কিটের সর্বাধিক আউটপুট কারেন্ট 200mA যা আমাদের ডিজাইন প্রয়োজনীয়তার জন্য যথেষ্ট - আমরা প্রতিটি ডিভাইসের চ্যানেল থেকে 80mA আউটপুট কারেন্টের সাথে সীমাবদ্ধ।

আইসি সমস্ত প্রয়োজনীয় কাজ সম্পাদন করে, তাই আমাদের কেবল দুটি অংশ সংযুক্ত করতে হবে দুটি ইলেক্ট্রোলাইটিক ক্যাপাসিটার: সুইচিংয়ের জন্য C33 এবং -3.3V লাইন বাইপাসের জন্য C34 (শব্দ কমানোর বিবেচনা)। সুইচিং এর ফ্রিকোয়েন্সি ডিজাইনে নগণ্য যদি আমরা তরঙ্গাকৃতি প্রজন্মের অংশ থেকে সার্কিটকে যথেষ্ট দূরে রাখি (আমরা এটি পিসিবি লেআউট ধাপে আলোচনা করব)।

মাইক্রোকন্ট্রোলার ইউনিট - এমসিইউ

এটি আমাদের সিস্টেমের ম্যানেজার এবং সিইও - নিয়ন্ত্রণ, নেটওয়ার্ক পরিচালনা, বার্তা প্রেরণ এবং UI সমর্থন - সবকিছুই MCU দ্বারা হয়।

এমসিইউ যেটি বেছে নেওয়া হয়েছিল তা হল Atmel ATMEGA32L, যেখানে L মানে সমর্থিত ভোল্টেজ অপারেশন ∈ [2.7V: 5.5V]। আমাদের ক্ষেত্রে, অপারেটিং ভোল্টেজ হল +3.3V।

আসুন মূল অপারেশন ব্লকগুলি বিবেচনা করি, যা বোঝার জন্য প্রয়োজনীয়, আমাদের ডিজাইনে MCU এর সাথে কাজ করা:

  • বাহ্যিক অসিলেটর - একটি alচ্ছিক উপাদান, যেহেতু আমরা 8MHz অপারেটিং ফ্রিকোয়েন্সি নিয়ে আগ্রহী
  • পেরিফেরাল কন্ট্রোল, এসপিআই নেটওয়ার্ক - সমস্ত পেরিফেরাল ডিভাইস (ইএসপি 32 বাদে) এসপিআই এর মাধ্যমে এমসিইউ এর সাথে যোগাযোগ করছে। সমস্ত ডিভাইসের জন্য তিনটি ভাগ করা লাইন (SCK, MOSI, MISO) আছে এবং প্রতিটি পেরিফেরাল সার্কিটে তার ডেডিকেটেড CS (চিপ সিলেক্ট) লাইন থাকে। SPI ডিভাইস যা ডিভাইসের একটি অংশ:

    1. প্রশস্ততা নিয়ন্ত্রণের জন্য D/A - চ্যানেল A
    2. প্রশস্ততা নিয়ন্ত্রণের জন্য ডি/এ - চ্যানেল বি
    3. AD9834 ডিভাইস - চ্যানেল এ
    4. AD9834 ডিভাইস - চ্যানেল বি
    5. পক্ষপাত ভোল্টেজ নিয়ন্ত্রণের জন্য ডি/এ - চ্যানেল এ
    6. পক্ষপাত ভোল্টেজ নিয়ন্ত্রণের জন্য ডি/এ - চ্যানেল বি
    7. এলসিডি ব্রাইটনেস/কন্ট্রাস্ট সেটিংসের জন্য ডিজিটাল পটেন্টিওমিটার
  • LCD সাপোর্ট - যেহেতু LCD একটি জেনেরিক 20 x 4 ক্যারেক্টার ডিসপ্লে, তাই আমরা 4 -বিট ইন্টারফেস (লাইন D7: D4), কন্ট্রোল পিন (লাইন RS, E) এবং ব্রাইটনেস/কন্ট্রাস্ট কন্ট্রোল (লাইন V0 এবং Anode) ব্যবহার করছি।
  • আরজিবি এলইডি সাপোর্ট - এই মডিউলটি alচ্ছিক, কিন্তু এমসিইউ -এর সাথে সংযুক্ত যথাযথ প্রতিরোধক সহ সাধারণ ক্যাথোড আরজিবি এলইডি সংযোগকারী রয়েছে।
  • পাওয়ার কন্ট্রোল - এমসিইউ রিয়েল টাইম মোডে পাওয়ার সিস্টেম মনিটরিং করে এবং সমস্ত প্রয়োজনীয় পাওয়ার ইভেন্ট পরিচালনা করে:

    1. VBAT_ADC - ব্যাটারি ভোল্টেজ পর্যবেক্ষণ এবং তার অবস্থা নির্ধারণ (ADC0 চ্যানেল)
    2. PWR_IND - বাহ্যিক বিদ্যুৎ সরবরাহ সংযোগের নির্দেশ (ADC1 চ্যানেল)
    3. PS_HOLD - সমস্ত সংজ্ঞায়িত সিস্টেমের জন্য প্রাথমিক শক্তি সক্ষম লাইন। যখন MCU দ্বারা কম টানা হয়, ডিভাইসটি চালিত হয়
    4. স্মার্ট সুইচের ইন্টারাপ্ট টার্মিনাল - পুশ বাটন স্টেট মনিটরিং
  • ওয়াইফাই নেটওয়ার্ক ম্যানেজমেন্ট - ESP32: MCU UART ইন্টারফেসের মাধ্যমে ESP32 এর সাথে যোগাযোগ করে। যেহেতু 8MHz আমাদের অপেক্ষাকৃত ছোট ত্রুটির সাথে 115200 এর বড রেট বাস্তবায়নের অনুমতি দেয়, তাই আমরা বড রেটের পরিবর্তনের পূর্ব-সংজ্ঞা ছাড়াই সার্কিটে ESP32 ব্যবহার করতে পারি।

AVR ISP প্রোগ্রামার

আমাদের MCU রিসেট লাইন (/RST) দিয়ে SPI এর মাধ্যমে প্রোগ্রাম করা হয় একটি সঠিক অপারেশনের জন্য (যদি না হয় - MCU চিরতরে একটি রিসেট অবস্থায় নিজেকে খুঁজে পাবে)।

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

ওয়েভফর্ম জেনারেশন সার্কিট

ডিভাইসের মূল হল এই সার্কিটগুলি। AD9834 হল একটি নিম্ন-শক্তি DDS ডিভাইস যা আমাদের সমস্ত তরঙ্গাকৃতি সরবরাহ করে যা আমরা সিস্টেম থেকে পুনরুদ্ধার করতে চাই। সার্কিটে দুটি স্বাধীন AD9834 IC থাকে যার মধ্যে পৃথক বহিরাগত 50MHz অসিলেটর থাকে (যেমন এটি স্কিম্যাটিক্সে দেখা যায়)। পৃথক দোলকের কারণ হল একটি ডিজিটাল সার্কিট শব্দ হ্রাস বিবেচনা, তাই AD9834 সংলগ্ন স্থাপন করা অসিলেটরগুলির সাথে সঠিক 50MHz লাইনগুলি পরিচালনা করার সিদ্ধান্ত নেওয়া হয়েছিল।

এবার আসুন কিছু গণিত দেখি:

যেহেতু DDS ডিভাইসটি ফেজ হুইল প্রযুক্তিতে 28-বিট রেজিস্টারে ধারণকৃত আউটপুট ভ্যালুতে কাজ করে, তাই আমরা গাণিতিকভাবে তরঙ্গাকৃতি প্রজন্মের বর্ণনা দিতে পারি:

dP (ফেজ) = ωdt; = P '= 2πf; f (AD9834) = ΔP * f (clk) / 2^28; ΔP ∈ [0: 2^28 - 1]

এবং AD9834 ডেটশীট অনুযায়ী, সর্বাধিক ফ্রিকোয়েন্সি বিবেচনা করে, আউটপুট ফ্রিকোয়েন্সি রেজোলিউশন পাওয়া যেতে পারে:

Δf = k * f (অসিলেটর) / f (সর্বোচ্চ) = 0.28 * 50M / 28M = 0.187 [Hz]

AD9834 ICs ত্রিভুজ/সাইন ওয়েভ (IOUT টার্মিনাল) এবং বর্গ তরঙ্গের জন্য ডিজিটাল আউটপুট (SIGN_OUT টার্মিনাল) এর জন্য একটি এনালগ কারেন্ট আউটপুট প্রদান করে। সাইন বিটের ব্যবহার কিছুটা জটিল কিন্তু আমরা এটি পরিচালনা করতে সক্ষম - প্রতিবার যখন DDS তুলনা মূল্যের সীমা অতিক্রম করে, তখন SIGN_OUT সেই অনুযায়ী আচরণ করে। একটি 200Ohm প্রতিরোধক প্রতিটি চ্যানেলের আউটপুটের সাথে সংযুক্ত থাকে, তাই আউটপুট ভোল্টেজের একটি অর্থপূর্ণ মান থাকবে:

আমি (একক চ্যানেল) = ভি (আউটপুট) / আর (ভোল্টেজ নির্বাচন); V (আউটপুট) = R (VS)*I (SS) = 200I (SS) [A]

প্রশস্ততা নিয়ন্ত্রণ (ডি/এ) সার্কিট

AD9834 এর ডেটশীট অনুসারে, এর প্রশস্ততা DDS পূর্ণ স্কেল সিস্টেমে কারেন্ট প্রদান করে সামঞ্জস্য করা যেতে পারে, তাই দ্বৈত D/A IC এর সাহায্যে আমরা সেই কারেন্ট সামঞ্জস্য করে আউটপুট সিগন্যাল প্রশস্ততা নিয়ন্ত্রণ করতে পারি। আবার, কিছু গণিত:

আমি (পূর্ণ স্কেল) = 18 * (V_REF - V_DAC) / R_SET [A]

স্কিম্যাটিক্স অনুসারে এবং কিছু সংখ্যা সমীকরণে রাখা:

আমি (পূর্ণ স্কেল) = 3.86 - 1.17 * V_DAC [A]

ডিজাইনে ব্যবহৃত D/A মডিউল হল 12-বিট MCP4922, যখন কারেন্ট [0mA: 3.86mA] এর পরিসরে থাকে এবং রৈখিক প্রশস্ততা ফাংশন হল:

V (প্রশস্ততা নির্বাচন) = 1 - [V (D / A) / (2^12 - 1)]

ওয়েভফর্ম মাল্টিপ্লেক্সিং সার্কিট

স্কয়ার ওয়েভ এবং সাইন/ট্রায়াঙ্গেল ওয়েভ জেনারেশন আউটপুটগুলি AD9834 এ পৃথক করা হয়েছে তাই একক পৃথক চ্যানেল থেকে সমস্ত পছন্দসই তরঙ্গাকৃতি পুনরুদ্ধারের অনুমতি দেওয়ার জন্য আমাদের উভয় আউটপুটের জন্য একটি উচ্চ গতির মাল্টিপ্লেক্সিং সার্কিট ব্যবহার করতে হবে। মাল্টিপ্লেক্সার আইসি হল একটি ADG836L এনালগ সুইচ যা খুব কম অন-প্রতিরোধের (~ 0.5Ohm)।

MCU আউটপুটের জন্য যে সিলেকশন টেবিল ব্যবহার করছে তা হল:

মোড নির্বাচন [D2: D1] | আউটপুট চ্যানেল এ | আউটপুট চ্যানেল বি

00 | সাইন/ত্রিভুজ | সাইন/ত্রিভুজ 01 | সাইন/ত্রিভুজ | স্কয়ার 10 | স্কয়ার | সাইন/ত্রিভুজ 11 | স্কয়ার | স্কয়ার

বায়াস ভোল্টেজ কন্ট্রোল (ডি/এ) সার্কিট

তরঙ্গাকৃতি জেনারেটরের অন্যতম প্রধান বৈশিষ্ট্য হল এর ডিসি মান নিয়ন্ত্রণ করা। এই ডিজাইনে এটি প্রতিটি চ্যানেলের প্রতি পছন্দসই D/A ভোল্টেজ নির্ধারণ করে করা হয়, এবং এই বায়াস ভোল্টেজগুলি মাল্টিপ্লেক্সেড আউটপুটগুলির সাথে সংক্ষিপ্ত করা হয় যা আমরা একটু আগে আলোচনা করেছি।

D/A থেকে প্রাপ্ত ভোল্টেজ [0V: +3.3V] রেঞ্জের মধ্যে রয়েছে তাই একটি অপ-amp ভিত্তিক সার্কিট রয়েছে যা D/A রেঞ্জকে [-3.3V: +3.3V] ম্যাপ করে, ডিভাইসটিকে পূর্ণ পরিসর প্রদান করতে দেয় পছন্দসই ডিসি উপাদান। আমরা বিরক্তিকর বিশ্লেষণাত্মক গণিত এড়িয়ে যাব, এবং কেবল চূড়ান্ত ফলাফলের দিকে মনোনিবেশ করব:

V_OUT (চ্যানেল B) = V_BIAS_B (+) - V_BIAS_B (-); V_OUT (চ্যানেল A) = V_BIAS_A (+) - V_BIAS_A (-)

এখন, ডিসি কম্পোনেন্ট পরিসীমা [-3.3V: +3.3V] পরিসরে অবস্থিত।

সামিং সার্কিট - ডিসি কম্পোনেন্টস এবং ওয়েভফর্ম আউটপুট

এই মুহুর্তে আমাদের যথাযথ ডিভাইস আউটপুটের জন্য প্রয়োজনীয় সবকিছু আছে - পূর্ণ ভোল্টেজ পরিসরে বায়াস ভোল্টেজ (ডিসি কম্পোনেন্ট) এবং মাল্টিপ্লেক্সেড AD9834 আউটপুট। আমরা সংক্ষিপ্ত পরিবর্ধক - op -amp কনফিগারেশন ব্যবহার করে এটি করব

আসুন আবার গণিত এড়িয়ে যাই (আমরা ইতিমধ্যে অনেক গাণিতিক পদ্ধতির আচ্ছাদন করেছি) এবং সংক্ষেপিত পরিবর্ধকের আউটপুটের চূড়ান্ত ফলাফল লিখুন:

V (ডিভাইস আউটপুট) = V (পজিটিভ বায়াস) - V (নেগেটিভ বায়াস) - V (মাল্টিপ্লেক্সড আউটপুট) [V]

অতএব:

V_OUT = ΔV_BIAS - V_AD9834 [V]

BNC প্রকারের আউটপুট সংযোগকারীগুলি একটি নির্বাচন প্রতিরোধক (R54, R55; R56, R57) এর সাথে সংযুক্ত। তার কারণ হল যে নকশাটি অকার্যকর হতে পারে, আমরা এখনও সংক্ষিপ্ত পরিবর্ধক ব্যবহার করতে চাইলে নির্বাচন করতে পারি।

গুরুত্বপূর্ণ দ্রষ্টব্য: চূড়ান্ত সংযোজন পরিবর্ধকগুলির প্রতিরোধক নেটওয়ার্কগুলি ডিজাইনার দ্বারা সামঞ্জস্য করা যেতে পারে, যাতে ডিভাইস থেকে পুনরুদ্ধার করা সর্বাধিক প্রশস্ততা পরিবর্তন করা যায়। আমার ক্ষেত্রে, সমস্ত amps একই লাভ = 1 ভাগ করে, এইভাবে সর্বাধিক বাফার প্রশস্ততা ত্রিভুজ/সাইন তরঙ্গের জন্য 0.7Vpp এবং বর্গ তরঙ্গের জন্য 3.3Vpp। সুনির্দিষ্ট গাণিতিক পদ্ধতি ধাপের সংযুক্ত ছবিগুলির মধ্যে পাওয়া যাবে।

ESP32 বাহ্যিক মডিউল হিসাবে

MCU UART ইন্টারফেসের মাধ্যমে ESP32 এর সাথে যোগাযোগ করে। যেহেতু আমি ইএসপি 32 এর জন্য আমার নিজের পিসিবি চেয়েছিলাম, সেখানে সংযোগের জন্য 4 টি টার্মিনাল রয়েছে: ভিসিসি, আরএক্স, টিএক্স, জিএনডি। J7 হল PCBs এর মধ্যে একটি ইন্টারফেস সংযোগকারী, এবং ESP32 ডিভাইসের ভিতরে বাহ্যিক মডিউল হিসাবে বরাদ্দ করা হবে।

ইউজার ইন্টারফেস - এলসিডি এবং স্পিকার

ব্যবহৃত এলসিডি হল 4 -বিট ইন্টারফেস সহ একটি জেনেরিক 20 x 4 ক্যারেক্টার ডিসপ্লে, যেহেতু নকশা থেকে দেখা যায় LCD টার্মিনাল "A" এবং "V0" এর সাথে সংযুক্ত একটি SPI ডিজিটাল পটেন্টিওমিটার রয়েছে - এর উদ্দেশ্য হল সমন্বয় করা প্রোগ্রামগতভাবে এলসিডি মডিউলের উজ্জ্বলতা এবং বৈসাদৃশ্য।

স্পিকার এমসিইউ থেকে সাধারণ বর্গ তরঙ্গ প্রজন্মের মাধ্যমে ব্যবহারকারীর জন্য সাউন্ড আউটপুট প্রদান করে। BJT T1 স্পিকারের মাধ্যমে বর্তমানকে নিয়ন্ত্রণ করে যা কেবল দুটি অবস্থায় হতে পারে - চালু / বন্ধ।

ধাপ 5: হার্ডওয়্যার ডিজাইন - ESP32 মডিউল

হার্ডওয়্যার ডিজাইন - ESP32 মডিউল
হার্ডওয়্যার ডিজাইন - ESP32 মডিউল

ESP32 প্রধান PCB- র জন্য বহিরাগত মডিউল হিসেবে ব্যবহৃত হয়। ডিভাইস যোগাযোগ AT কমান্ডের উপর ভিত্তি করে, যা একটি জেনেরিক ডিভাইসের ফার্মওয়্যারে পাওয়া যায়।

এই নকশাটি বিস্তৃত করার জন্য খুব বেশি কিছু নেই, তবে ডিজাইনের জন্য কিছু নোট রয়েছে:

  • ESP32 এর সঠিক UART মডিউল ব্যবহারে ব্যর্থতার জন্য, আমি TX এবং RX উভয় লাইনের জন্য তিনটি নির্বাচন প্রতিরোধক সংযুক্ত করেছি। (প্রতিটি জন্য 0 ওহম)। স্ট্যান্ডার্ড কনফিগারেশনের জন্য, UART2 মডিউল AT কমান্ডের জন্য ব্যবহৃত হয় (R4, R7 সোল্ডার করা আবশ্যক)
  • ডিভাইসে 4 -লাইন আউটপুট আছে - VCC, GND, TX, RX।
  • IO0 এবং EN পিনগুলি ডিভাইসের ক্রিয়াকলাপ মূল্যায়ন করে এবং এটি পরিকল্পিত হিসাবে ডিজাইন করা উচিত

সমস্ত পিসিবি বৈশিষ্ট্য আমরা নিম্নলিখিত ধাপে কভার করব।

ধাপ 6: পিসিবি লেআউট

পিসিবি লেআউট
পিসিবি লেআউট
পিসিবি লেআউট
পিসিবি লেআউট
পিসিবি লেআউট
পিসিবি লেআউট

একটি পিসিবি ডিজাইন করার লক্ষ্য

  1. একই বোর্ডে সমস্ত সমন্বিত সার্কিটের জন্য এমবেডেড সিস্টেম তৈরি করুন
  2. একটি প্রধান পিসিবি ডিজাইনের মাধ্যমে ডিভাইসের কর্মক্ষমতা উন্নত করুন
  3. খরচ কমানো - যদি আপনি দাম সন্ধান করতে চান, কম খরচে ডিজাইন সত্যিই কম খরচে হয়
  4. ইলেকট্রনিক বোর্ডের আকার ছোট করুন
  5. সমস্যা সমাধান করা সহজ - আমরা প্রতিটি সম্ভাব্য ত্রুটিপূর্ণ লাইনের জন্য টিপি (টেস্ট পয়েন্ট) ব্যবহার করতে পারি।

প্রযুক্তিগত পরামিতি

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

A - প্রধান বোর্ড

  • আকার: 10 সেমি x 5.8 সেমি
  • স্তরের সংখ্যা: 2
  • পিসিবি বেধ: 1.6 মিমি
  • সর্বনিম্ন ট্রেস স্পেস/প্রস্থ: 6/6 মিলিলিটার
  • গর্ত ব্যাসের মাধ্যমে সর্বনিম্ন: 0.3 মিমি
  • পিসিবি প্রান্তে তামা সর্বনিম্ন দূরত্ব: 20 মিলিলিটার
  • সারফেস ফিনিশিং: HASL (বেশ ভালো লাগছে সিলভার কালারের সস্তা টাইপ)

খ - প্রধান বোর্ড

  • আকার: 3cm x 4cm
  • স্তরের সংখ্যা: 2
  • পিসিবি বেধ: 1.6 মিমি
  • সর্বনিম্ন ট্রেস স্পেস/প্রস্থ: 6/6 মিলিলিটার
  • গর্ত ব্যাসের মাধ্যমে সর্বনিম্ন: 0.3 মিমি
  • পিসিবি প্রান্তে তামা সর্বনিম্ন দূরত্ব: 20 মিলিলিটার
  • সারফেস সমাপ্তি: HASL

ধাপ 7: 3D ঘের

3D ঘের
3D ঘের

আমি নিজে থেকে এটি ডিজাইন করিনি, কারণ সেই সময় আমি এই ডিভাইসটিকে কাজ করার জন্য প্ররোচিত করছিলাম, তাই আমি 3D প্রিন্টিংয়ের সব বুনিয়াদি সম্পর্কে মোটেই সচেতন ছিলাম না। এইভাবে আমি Thingiverse থেকে একটি SCAD প্রজেক্ট ব্যবহার করেছি, এবং আমার ডিভাইসের স্পেসিফিকেশন অনুযায়ী সীমানায় বিভিন্ন অ্যাপারচার সংযুক্ত করেছি।

  1. প্রিন্টিং ডিভাইস: ক্রিয়েলিটি এন্ডার-3
  2. বিছানার ধরন: কাচ, 5 মিমি বেধ
  3. ফিলামেন্ট ব্যাস: 1.75 মিমি
  4. ফিলামেন্টের ধরন: পিএলএ+
  5. অগ্রভাগ ব্যাস: 0.4 মিমি
  6. প্রাথমিক গতি: 20 মিমি/সেকেন্ড
  7. গড় গতি: 65 মিমি/সেকেন্ড
  8. সমর্থন: N/A
  9. ইনফিল: 25%
  10. তাপমাত্রা:

    • বিছানা: 60 (ওসি)
    • অগ্রভাগ: 215 (ওসি)
  11. ফিলামেন্ট রঙ: কালো
  12. মোট অ্যাপারচার সংখ্যা: 5
  13. ঘের প্যানেল সংখ্যা: 4

    • শীর্ষ শেল
    • নিচের শেল
    • সম্মুখ প্যানেল
    • অস্ত্রোপচার

ধাপ 8: সফ্টওয়্যার বাস্তবায়ন - MCU

সফটওয়্যার বাস্তবায়ন - MCU
সফটওয়্যার বাস্তবায়ন - MCU
সফটওয়্যার বাস্তবায়ন - MCU
সফটওয়্যার বাস্তবায়ন - MCU
সফটওয়্যার বাস্তবায়ন - MCU
সফটওয়্যার বাস্তবায়ন - MCU

অ্যান্ড্রয়েড এবং এটমেগা 32 কোডের গিটহাব লিঙ্ক

সফটওয়্যার অ্যালগরিদম

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

চালু কর

এই পর্যায়ে, এমসিইউ অ্যান্ড্রয়েড ডিভাইসের সাথে সঞ্চিত যোগাযোগের ধরন নির্ধারণের সাথে সমস্ত প্রাথমিক ক্রম সম্পাদন করে: সরাসরি ওয়াইফাই বা ডব্লিউএলএএন নেটওয়ার্ক যোগাযোগ - এই ডেটা ইইপিআরওমে সংরক্ষিত থাকে। ব্যবহারকারী এই পর্যায়ে অ্যান্ড্রয়েড ডিভাইস পেয়ারিং টাইপের নতুন সংজ্ঞা দিতে পারেন।

সরাসরি অ্যান্ড্রয়েড ডিভাইস পেয়ারিং

এই ধরণের পেয়ারিং ফানজেন ডিভাইসের ওয়াইফাই নেটওয়ার্ক তৈরির উপর ভিত্তি করে। এটি একটি নির্দিষ্ট SSID (ওয়াইফাই নেটওয়ার্কের নাম) এবং একটি নির্দিষ্ট পোর্ট নম্বর সহ একটি স্থানীয় ডিভাইস আইপি তে AP (Access Point) এবং একটি TCP সার্ভার তৈরি করবে। ডিভাইসের অবস্থা থাকা উচিত - সংযোগের জন্য উন্মুক্ত।

যখন অ্যান্ড্রয়েড ডিভাইস FuncGen- এর সাথে সংযুক্ত থাকে, MCU সক্রিয় মোডে প্রবেশ করে এবং Android ডিভাইস থেকে ব্যবহারকারীর নির্দেশনা অনুযায়ী সাড়া দেয়।

WLAN পেয়ারিং

স্থানীয় ওয়াইফাই নেটওয়ার্কে যোগাযোগ করার জন্য, এমসিইউকে ইএসপি 32 এর জন্য এপি তৈরি করতে, অ্যান্ড্রয়েড ডিভাইসের সাথে যোগাযোগ করতে এবং গুরুত্বপূর্ণ নেটওয়ার্ক ডেটা বিনিময় করতে নির্দেশ দিতে হবে:

  • অ্যান্ড্রয়েড ডিভাইস FuncGen থেকে তার ম্যাক ঠিকানা গ্রহণ করে, মেমরিতে সংরক্ষণ করে।
  • FuncGen ডিভাইসটি অ্যান্ড্রয়েড ডিভাইসের নির্বাচিত WLAN পরামিতিগুলি পায়: SSID, নিরাপত্তা এবং পাসওয়ার্ডের ধরন এবং এটি EEPROM এ সঞ্চয় করে।

যখন ডিভাইসগুলি প্রকৃতপক্ষে একই WLAN- এর সাথে সংযুক্ত থাকে, তখন Android ডিভাইস WLCAN- এর সাথে সংযুক্ত সমস্ত ডিভাইসের MAC ঠিকানা স্ক্যান করে FuncGen অনুসন্ধান করবে। যখন অ্যান্ড্রয়েড ডিভাইস ম্যাক ম্যাচ নির্ধারণ করে, তখন এটি যোগাযোগের চেষ্টা করে।

সংযোগ এবং রাজ্য পরিচালনা - MCU

যখন ডিভাইসগুলি একে অপরের সাথে যোগাযোগ করে, তখন প্রোটোকল (প্রি-ফাইনাল স্টেপ দেখুন) একই থাকে এবং ফ্লোচার্ট একই থাকে।

ডিভাইস স্টেট মনিটরিং

টাইমড ইন্টারাপ্ট এমসিইউকে রাষ্ট্র পরিচালনার জন্য প্রয়োজনীয় বিবরণ প্রদান করে। টাইমার বাধা প্রতিটি চক্র, নিম্নলিখিত পরামিতি তালিকা আপডেট করা হয়:

  • বাহ্যিক বিদ্যুৎ সরবরাহ - চালু/বন্ধ
  • ব্যাটারি ভোল্টেজ অবস্থা
  • প্রতিটি কাস্টমাইজেশনের জন্য UI আপডেট
  • পুশ-বোতাম: চাপানো/চাপানো নয়

ধাপ 9: সফ্টওয়্যার বাস্তবায়ন - অ্যান্ড্রয়েড অ্যাপ

সফটওয়্যার বাস্তবায়ন - অ্যান্ড্রয়েড অ্যাপ
সফটওয়্যার বাস্তবায়ন - অ্যান্ড্রয়েড অ্যাপ
সফটওয়্যার বাস্তবায়ন - অ্যান্ড্রয়েড অ্যাপ
সফটওয়্যার বাস্তবায়ন - অ্যান্ড্রয়েড অ্যাপ
সফটওয়্যার বাস্তবায়ন - অ্যান্ড্রয়েড অ্যাপ
সফটওয়্যার বাস্তবায়ন - অ্যান্ড্রয়েড অ্যাপ
সফটওয়্যার বাস্তবায়ন - অ্যান্ড্রয়েড অ্যাপ
সফটওয়্যার বাস্তবায়ন - অ্যান্ড্রয়েড অ্যাপ

অ্যান্ড্রয়েড অ্যাপটি জাভা-অ্যান্ড্রয়েড স্টাইলে লেখা। আমি অ্যালগরিদমকে আলাদা কোড ব্লকে বিভক্ত করে আগের ধাপের মতোই এটি ব্যাখ্যা করার চেষ্টা করব।

পাওয়ার আপ সিকোয়েন্স

ডিভাইসের প্রথম ক্রম। এখানে অ্যান্ড্রয়েড ডিভাইসের জিপিএস এবং ওয়াইফাই মডিউল সক্ষম করার সাথে অ্যাপ লোগো উপস্থাপন করা হয়েছে (চিন্তা করবেন না, শুধু ওয়াইফাই সঠিক নেটওয়ার্ক স্ক্যানের জন্য জিপিএস প্রয়োজন)।

প্রধান সূচি

অ্যাপটি বুট হওয়ার পর স্ক্রিনে চারটি বোতাম আসবে। বাটন ক্রিয়া:

  1. সরাসরি সংযোগ: IOT_FUNCGEN এর SSID দ্বারা FuncGen এর AP এর সাথে সংযোগ শুরু করা। যদি সংযোগ সফল হয়, ডিভাইসটি প্রধান UI মোডে প্রবেশ করে।
  2. ওয়াইফাই সংযোগ: স্মৃতিতে সংরক্ষিত ডেটা প্যারামিটার আছে কিনা ডিভাইস পরীক্ষা করে: wifi.txt, mac.txt। যদি কোন ডেটা সংরক্ষিত না থাকে, তাহলে ডিভাইস ব্যবহারকারীর অনুরোধ প্রত্যাখ্যান করবে এবং পপ-আপ বার্তা দেবে যে WLAN পেয়ারিং প্রথমে করতে হবে।
  3. পেয়ারিং: সরাসরি সংযোগের মতো FuncGen এর সাথে যোগাযোগ করা, কিন্তু ক্রমাগত বার্তা বিনিময়ের পরিবর্তে, একক হ্যান্ডশেক রয়েছে। অ্যান্ড্রয়েড ডিভাইস চেক করে যে এটি ইতিমধ্যেই ওয়াইফাই নেটওয়ার্কে সংযুক্ত আছে কি না এবং ব্যবহারকারীর পাসওয়ার্ড দেওয়ার জন্য অনুরোধ করুন। পুনরায় সংযোগ সফল হলে, Android ডিভাইস wifi.txt ফাইলে SSID এবং পাসকি সংরক্ষণ করে। FuncGen এর সাথে সফল যোগাযোগের পর, এটি mac.txt ফাইলে প্রাপ্ত MAC ঠিকানা সংরক্ষণ করে।
  4. প্রস্থান করুন: যথেষ্ট বলেছেন:)

ওয়াইফাই স্ক্যানিং ম্যানেজার

আমি চেয়েছিলাম যে অ্যাপ্লিকেশনটি সম্পূর্ণ কার্যকর এবং অফ-অ্যাপ সমন্বয় ছাড়াই করা হোক। সুতরাং, আমি ওয়াইফাই স্ক্যানার ডিজাইন করেছি, যা একটি পরিচিত পাসকি এবং এসএসআইডি দিয়ে ওয়াইফাই নেটওয়ার্কের সাথে সংযোগ স্থাপনের জন্য প্রয়োজনীয় সমস্ত ক্রিয়াকলাপ সম্পাদন করে।

ডেটা ট্রান্সমিশন এবং টিসিপি কমিউনিকেশন

এটি অ্যাপের প্রধান কোড ব্লক। সমস্ত UI ইউনিটের জন্য একটি নির্দিষ্ট ফরম্যাটে (প্রি-ফাইনাল স্টেপ) একটি সংজ্ঞায়িত বার্তা থাকে, যা FuncGen কে চ্যানেলের জন্য কাঙ্ক্ষিত আউটপুট প্রদান করতে বাধ্য করে। ক্রিয়াকলাপে তিনটি ধরণের UI ক্ষেত্র রয়েছে:

  1. বারগুলি সন্ধান করুন: এখানে আমরা FuncGen আউটপুট প্যারামিটারের বাস্তব পরিসীমা নির্ধারণ করি

    1. প্রশস্ততা
    2. ডিসি অফসেট
    3. LCD উজ্জ্বলতা
    4. এলসিডি কনট্রাস্ট
  2. টেক্সট এডিট: পূর্ণসংখ্যার মানগুলি ভালভাবে সংজ্ঞায়িত এবং সুনির্দিষ্ট রাখার জন্য, ফ্রিকোয়েন্সি ইনপুট শুধুমাত্র টেক্সট বক্সের মাধ্যমে করা হয়
  3. বোতাম: উপলব্ধ তালিকা থেকে পরামিতি নির্বাচন:

    1. ওয়েভফর্ম টাইপ

      1. সাইন
      2. ত্রিভুজ
      3. ডিসি
      4. স্কয়ার
      5. বন্ধ
    2. তথ্য পেতে

      1. ব্যাটারির অবস্থা (শতাংশ)
      2. এসি অবস্থা (বাহ্যিক বিদ্যুৎ সরবরাহ)
    3. বুট অপশন (FuncGen MCU এর জন্য)

      1. কারখানা করুন
      2. আবার শুরু
      3. শাটডাউন
      4. সরাসরি - সরাসরি জোড়া মোড দিয়ে পুনরায় আরম্ভ করুন
      5. WLAN - WLAN পেয়ারিং মোড দিয়ে রিস্টার্ট করুন
    4. প্রধান মেনু থেকে প্রস্থান করুন: যথেষ্ট বলা হয়েছে:)

ধাপ 10: পরীক্ষা

প্রস্তাবিত: