সুচিপত্র:

EZProbe, একটি EZ430 ভিত্তিক লজিক প্রোব: 4 টি ধাপ
EZProbe, একটি EZ430 ভিত্তিক লজিক প্রোব: 4 টি ধাপ

ভিডিও: EZProbe, একটি EZ430 ভিত্তিক লজিক প্রোব: 4 টি ধাপ

ভিডিও: EZProbe, একটি EZ430 ভিত্তিক লজিক প্রোব: 4 টি ধাপ
ভিডিও: Amar Desh Amar Gram Part 1003 2024, জুলাই
Anonim
EZProbe, একটি EZ430 ভিত্তিক লজিক প্রোব
EZProbe, একটি EZ430 ভিত্তিক লজিক প্রোব

এটি টিআই ইজেড 430 ডংলের উপর ভিত্তি করে একটি সহজ লজিক প্রোব প্রকল্প। আমি সেপ্টেম্বর 2010 সালে TI থেকে ez430s এর একটি দম্পতিতে একটি বিনামূল্যে অফারের সুবিধা গ্রহণ করেছি। তারা ছোট কোড স্নিপেটগুলি চেষ্টা করে এবং নেতৃত্বের ঝলক দেখার জন্য খুব সহজ এবং মজাদার। তারা তখন থেকে আমার ডেস্কের চারপাশে শুয়ে আছে এবং আমাকে তাদের জন্য কিছু নিয়ে আসতে হবে। এবং আমি লোকদের আসা বন্ধ করতে চাই এবং আমার "মেমরি স্টিক" ধার করতে চাই। ভাল, এটি কোন মেমরি স্টিক নয়, 16bit MCU w/ মাল্টি-চ্যানেল ADCs, পর্যাপ্ত 2K প্রোগ্রামিং মেমরি এবং 16Mhz পর্যন্ত চলে। একটি চমৎকার ইউএসবি ডিভাইস প্যাকেজে ডিবাগিং প্রোগ্রামিং ইন্টারফেস বোর্ডের সাথে সমস্ত বস্তাবন্দী। আমার মূল নকশা লক্ষ্য আমার হস্তক্ষেপকে মূল ez430 এর মধ্যে সীমাবদ্ধ করা। আমি এটিকে শারীরিকভাবে খুব বেশি পরিবর্তন করতে চাই না এবং আমি অন্যান্য টার্গেট বোর্ড প্রকল্পগুলির জন্য এটির প্রোগ্রামিং / ডিবাগিং ফাংশনটি ধরে রাখতে চাই। এই সব অতিরিক্ত দরকারী উদ্দেশ্যে পরিবেশন করার সময়। এটি একটি লিনাক্স প্রকল্প, যথারীতি, আমি আমার সর্বোত্তম জ্ঞান দিয়ে বিধান করার জন্য মনোযোগ দিয়েছিলাম যাতে এটি জানালার নিচে তৈরি করা যায়। তবে আমার জানালার নিচে সবকিছু চেষ্টা করার সময় এবং সংস্থান নেই। আমার বেশিরভাগ ইলেকট্রনিক্স প্রকল্পগুলি খুব ছোট ব্রেডবোর্ডে করা হয় এবং আমি সাধারণত শক্ত জায়গায় কাজ করি (রান্নাঘরের টেবিল, অর্ধেক ধার করা ডেস্ক ইত্যাদি)। এমন অনেক উদাহরণ রয়েছে যা আমাকে সার্কিট লজিকের মাত্রা পরীক্ষা করতে হবে এবং আমি জিনিসগুলি পরীক্ষা করার জন্য একটি মাল্টিমিটার (একটি ইটের আকার) ব্যবহার করছি। এটি সর্বদা আমাকে বিরক্ত করে কারণ আমার প্রকল্পগুলি আমার মাল্টিমিটারের চেয়ে অনেক ছোট এবং আমি দেখেছি এটি সর্বদা আমার পথে আসে। আমার একটি বিকল্প দরকার, একটি ছোট লজিক প্রোব করবে। ez430 এই কাজের জন্য নিখুঁত। শুরু করার জন্য, এটি ইতিমধ্যে একটি প্রোবের মতো আকৃতির, আমার কেবল একটি পেরেক এবং কিছু লেড যুক্ত করতে হবে। যেমনটি আমি আগে উল্লেখ করেছি, আমি এই প্রকল্পটিকে সহজ এবং ধ্বংসাত্মক করতে চাই। এবং আমি ইতিমধ্যে যা পাওয়া যায় তা ব্যবহার করেছি। একটি পিসিবি / প্রিফ-বোর্ডে প্রকল্পটি নির্মাণের পরিবর্তে, আমি এটি একটি লক্ষ্য msp430f2012 বোর্ডে তৈরি করি, আমার প্রোটোটাইপিং এলাকা হিসাবে 14 টি পিন হেডার থ্রু হোল ব্যবহার করে। এই যেখানে ছোট leds যায়। আমি প্লাস্টিকের আবরণে ছিদ্র করতে চাই না, আমি খুব বেশি তার চালাতে চাই না বা অতিরিক্ত যোগাযোগের পয়েন্ট যোগ করতে চাই না। আমার যা দরকার তা হল একটি প্রোব আইও যোগাযোগ এবং ফাংশন নির্বাচনের জন্য একটি বোতাম ইনপুট, প্লাস gnd এবং vcc। ইউএসবি সংযোগ এই কাজের জন্য নিখুঁত দেখায়। আমি ইউএসবি এর মাধ্যমে প্রোবকে ক্ষমতা দেব (প্রোগ্রামার সার্কিট আমার জন্য প্রায় 3v সম্ভাব্যতা নিয়ন্ত্রণ করবে) এবং আমার প্রোব এবং সুইচের জন্য ডি+ এবং ডি-ইউএসবি সংযোগ ব্যবহার করবে। যেহেতু ez430 হল স্লেভ / ক্লায়েন্ট ডিভাইস, আরম্ভের পরে, এটি D+ তে একটি পুল-আপ ছাড়া কিছু করবে না (এটি একটি "হাই-স্পিড" ইউএসবি নির্দেশ করে)। আমি ভাসমান D- কে আমার প্রোব io এবং D+ আমার স্পর্শযোগ্য বোতাম ইনপুট হিসাবে ব্যবহার করি (এর জন্য আমার একটি পুল-আপ প্রতিরোধক সেটআপ করার দরকার নেই, এটি ইতিমধ্যে রয়েছে) অতিরিক্ত তথ্য এখানেও পাওয়া যাবে।

ধাপ 1: বৈশিষ্ট্য এবং অ্যাপ্লিকেশন

বৈশিষ্ট্য এবং অ্যাপ্লিকেশন
বৈশিষ্ট্য এবং অ্যাপ্লিকেশন

বৈশিষ্ট্য * ইউএসবি কানেক্টরের মাধ্যমে সার্কিট থেকে সরবরাহ * লজিক রিড, পালস আউটপুট, পিডব্লিউএম আউটপুট * লম্বা বোতাম প্রেস (প্রায় ১.৫ সেকেন্ড) এর মধ্যে ঘোরানো operating টি অপারেটিং মোডের মধ্য দিয়ে ঘোরায় * পি ১.০ আসল সবুজ মোড ইন্ডিকেটর হিসেবে বন্ধ, প্রোব, অন - আউটপুট, ব্লিঙ্ক - পিডব্লজিক প্রোব * লজিক প্রোব লাল - হাই, সবুজ - কম, কোনটিই নয় - ভাসমান * লজিক প্রোব লাল / সবুজ ঝলকানি ক্রমাগত নাড়ির উপর পড়ে হাই-রেঞ্জ নির্দেশ করুন (অর্থাত্ ধাপ 5-8) * 100hz+, 500hz+, 1khz+, 5khz+, 10khz+, 50khz+, 100khz+, 500khz+ * এর জন্য নির্ধারিত পালস ফ্রিকোয়েন্সি দেখায়, অবিচ্ছিন্ন একক পালস ফেটে যাওয়ার জন্য, লাল / সবুজ লেডগুলি এবং পরে থাকে পালস গণনাগুলি ক্রমবর্ধমানভাবে এলইডিগুলিতে প্রদর্শিত হয়, 8 টি ডাল পর্যন্ত গণনা করা হবে অবিরাম পালস আউটপুট, ফ্রিকোয়েন্সি সেটিং * p1.0 মূল সবুজ দ্বারা নির্দেশিত * 4 হলুদ এলইডি 9 ধাপে আউটপুট পালস ফ্রিকোয়েন্সি দেখায়, জ্বলন্ত হলুদগুলি হাই-রেঞ্জ নির্দেশ করে (যেমন ধাপ 5-8) * পালস ফ্রিকোয়েন্সি 100hz, 500hz, 1khz, 5khz, 10khz, 50khz, 100khz, 500khz, 1mhz * শর্ট বাটন প্রেস 9 ভিন্ন ফ্রিকোয়েন্সি সেটিংস ঘোরায়। অবিরাম পালস আউটপুট, pwm সেটিং * p1.0 আসল সবুজ নেতৃত্বে জ্বলজ্বলে * পূর্বের মতই নির্দেশিত অপারেশন মোড, pwm মান ব্যতীত ফ্রিকোয়েন্সি দেখানো হয় (এবং সেটআপ করা হয়) ধাপ 5-8) * 0%, 12.5%, 25%, 37.5%, 50%, 62.5%, 75%, 87.5%, 100% * শর্ট বাটন প্রেস 9 ভিন্ন পিডব্লিউএম সেটিংস ঘোরায়। দুটি অংশ থেকে গঠিত, যেখানে তারা ইউএসবি সংযোগকারীর একটি জোড়া দিয়ে সংযুক্ত। বাম দিকের পরিকল্পিত একটি F2012 টার্গেট বোর্ড সহ EZ430 ডংগলের সংযোজন দেখায়। ডান দিকের স্কিম্যাটিক হল লজিক প্রোব-হেড এবং স্ক্র্যাচ থেকে নির্মাণ করা হবে।

ধাপ 2: অংশ তালিকা এবং নির্মাণ

অংশ তালিকা এবং নির্মাণ
অংশ তালিকা এবং নির্মাণ
অংশ তালিকা এবং নির্মাণ
অংশ তালিকা এবং নির্মাণ

অংশের তালিকা * ti ez430-f2013 (প্রোগ্রামার অংশ ব্যবহার করুন) * ti ez430 f2012 টার্গেট বোর্ড * এলইডি 1.2 x 0.8 মিমি, 4 হলুদ, 1 লাল, 1 সবুজ * এক পেরেক, প্রায় 3/4 ইঞ্চি, সমতল মাথা * একটি স্পর্শযোগ্য বোতাম * 1 গ্রাম সুপার-আঠা থেকে ক্যাপ (সুপার-গ্লু নিজেও প্রয়োজন) * ইউএসবি টাইপ করুন একটি সংযোগকারী (পিসি সাইড) * তারের নির্মাণ আমি f2013 টার্গেট বোর্ডের পরিবর্তে msp430f2012 টার্গেট বোর্ড ব্যবহার করছি যা w/ ez430 ডংগলের সাথে আসে কারণ আমার আছে এর মধ্যে কয়েকটি। যদি আপনি মূল f2013 টার্গেট বোর্ড ব্যবহার করতে চান, তাহলে আপনাকে কোডের একটি খুব ছোট অংশ পুনরায় লিখতে হবে যা ভাসমান অবস্থা সনাক্ত করতে adc ব্যবহার করে। আমি আমার নির্মাণে যে 10 বিট ব্যবহার করছি তার পরিবর্তে f2013 আরও 16 বিট এডিসি আছে। আপনি একটি সূক্ষ্ম ঝাল টিপ এবং একটি তাপমাত্রা নিয়ন্ত্রণ সোল্ডারিং লোহা (বা স্টেশন) ব্যবহার করতে হবে, আমি কল্পনা করতে পারি না যে কেউ একটি নিয়মিত লোহা/ এলইডি বিক্রি করতে পারে। আমি যেভাবে এটি করেছি তা হল প্রথমে হেডার প্যাড টিন করা, তারপর এসএমডি এলইডি রাখার জন্য এক জোড়া সূক্ষ্ম টুইটার ব্যবহার করুন। লাল এবং হলুদ লেডগুলিকে সারিবদ্ধ করার পরে, আমি 1/8 ওয়াটের প্রতিরোধক এবং সোল্ডারের একটি পা পিসিবিতে টিন করি, এক প্রান্ত একটি সাধারণ জিএনডিতে যায়। সবুজ নেতৃত্ব শেষ হয়। এটি খুব টাইট এবং আপনি জিনিসগুলিকে একসাথে আটকে রাখার জন্য পর্যাপ্ত ঝাল প্রয়োগ করতে চান। এছাড়াও প্রবাহ একটি আবশ্যক। আপনার জয়েন্টগুলোতে পরীক্ষা করার জন্য একটি মাল্টি-মিটার ব্যবহার করুন। আপনি তারপর বোতাম তারের এবং প্রোব তারের সেতু প্রয়োজন হবে। আমি cat5e cut offs ব্যবহার করি কিন্তু যে কোন হাই গেজ তারের কাজ করবে। পরিকল্পিত এবং ছবিতে দেখানো হয়েছে, তারা টার্গেট বোর্ড থেকে ইউএসবি সংযোগকারী পর্যন্ত চলে। এটা ভাল হবে যদি আমি একটি ছোট সংযোগকারী খুঁজে পেতে পারি যাতে তারা ইচ্ছামত নিযুক্ত হতে পারে, কিন্তু এটি আপাতত করবে।

ধাপ 3: প্রোব হেড কনস্ট্রাকশন

প্রোব হেড কনস্ট্রাকশন
প্রোব হেড কনস্ট্রাকশন

নীচে আপনি বিটগুলি দেখতে পাবেন যা আমি প্রোব হেড অ্যাসেম্বলি "নির্মাণ" (সুপার-আঠালো) ব্যবহার করেছি। আমার ধারণা এটি একটি ইউএসবি সংযোগকারীতে তৈরি করা যাতে এটি ফার্মওয়্যার আপডেটের জন্য আলাদা করা যায়। সবকিছু একসাথে রাখার জন্য আমি সুপার-আঠালো ব্যবহার করেছি। খুব দ্রুত মোড স্যুইচিং এবং ফ্রিকোয়েন্সি / পিডব্লিউএম সেটিংয়ের জন্য "নখ" সরাসরি স্পর্শযোগ্য বোতামের উপরে আঠালো হয়। আপনি অন্যথায় করতে চাইতে পারেন যদি এটি আপনার জন্য কাজ না করে। স্পর্শকাতর বোতাম প্রক্রিয়া থেকে কিছু ঝাঁকুনি হবে, একটি নকশায় আমি কাগজ ক্লিপ ব্যবহার করে ওঠানামা সীমাবদ্ধ করেছি এবং আরেকটি প্রোব হেড আমি নখের অবস্থান সুরক্ষিত করার জন্য সুপার-আঠা থেকে টুপি ব্যবহার করেছি। আপনি এটিতে সুরক্ষা প্রতিরোধক / ডায়োড যুক্ত করতে চাইতে পারেন। ইউএসবি সংযোগকারীর এই সংযোগগুলি রয়েছে, (1) 5v, (2) D-, (3) D+, এবং (4) Gnd, D- কে পেরেকের সাথে সংযুক্ত করতে হবে, D+ স্পর্শযোগ্য বোতামের সাথে সংযুক্ত হবে, অন্যটি স্পর্শযোগ্য বোতামের শেষটি মাটির সাথে সংযুক্ত করা দরকার। এই প্রোব-অন-কানেক্টর স্ট্র্যাটেজি আমাকে অনেক নমনীয়তা দেয়, প্রোব হেডে পাওয়ার লাইন দিয়ে, আপনি সার্কিটটি প্রসারিত করতে পারেন এবং এই প্রকল্পটিকে শুধু "হেড" এবং ফার্মওয়্যার পরিবর্তন করে অন্য কিছুতে পরিণত করতে পারেন, যেমন। একটি ভোল্ট মিটার, একটি টিভি-বি-গোন (ডাব্লু/ ট্রানজিস্টার এবং প্রোবের মাথায় ব্যাটারি) ইত্যাদি হতে পারে, আমি এর পরে একটি সাদা নেতৃত্বাধীন "হেড-লাইট" যুক্ত করব।

ধাপ 4: বাস্তবায়ন নোট এবং বিকল্প অ্যাপ্লিকেশন

বাস্তবায়ন নোট এবং বিকল্প অ্যাপ্লিকেশন
বাস্তবায়ন নোট এবং বিকল্প অ্যাপ্লিকেশন

বাস্তবায়ন নোট

* ডব্লিউটিটি (ওয়াচডগ টাইমার) বোতাম টাইমিং (ডি-বাউন্স এবং প্রেস-এন-হোল্ড) প্রদান করতে ব্যবহৃত হয়, এছাড়াও পালস লাইটিং এলইডি। এটি প্রয়োজন কারণ লেডগুলিতে সীমাবদ্ধ প্রতিরোধক নেই এবং ক্রমাগত চালু করা যায় না। * 3v টার্গেট সার্কিট মিটমাট করার জন্য 12mhz এ dco ক্লক সেট। * আমরা একটি ভাসমান পিনে অনুসন্ধান করি কিনা তা নির্ধারণ করতে adc ব্যবহার করা হয়, থ্রেশহোল্ড মানগুলি সোর্স কোডের মাধ্যমে সামঞ্জস্য করা যায়। * ফ্রিকোয়েন্সি নির্ণয় প্রান্ত সনাক্তকরণের জন্য ক্যাপচার করার জন্য টাইমার_এ সেট করে এবং একটি সময়ের মধ্যে পালস গণনা করে করা হয়। * আউটপুট মোড টাইমার_এ ক্রমাগত মোড ব্যবহার করে, আউটপুট মোড 7 (সেট/রিসেট), উভয়ই ক্যাপচার এবং তুলনা রেজিস্টার (CCR0 এবং CCR1) পালস প্রস্থ মডুলেশন অর্জন করতে।

সোর্স কোড

এগুলি কেবল লিনাক্সের জন্য নির্দেশাবলী, আমার পরিবেশ উবুন্টু 10.04, যতক্ষণ না আপনি msp403 টুলচেন এবং mspdebug সঠিকভাবে ইনস্টল করেছেন ততক্ষণ অন্যান্য ডিস্ট্রোস কাজ করবে।

আপনি একটি ডিরেক্টরি তৈরি করতে পারেন এবং তাদের মধ্যে নিচের ফাইলগুলো রাখতে পারেন ezprobe.c ডাউনলোড করতে ক্লিক করুন

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

অথবা আপনি নিম্নলিখিত করতে পারেন

msp430 -gcc -Os -mmcu = msp430x2012 -o ezprobe.elf ezprobe.c msp430 -objdump -DS ezprobe.elf> ezprobe.lst msp430 -objdump -h ezprobe.elf msp430 -size ezprobe.elf

ফার্মওয়্যার ফ্ল্যাশ করতে, আপনার ez430 ডংগল সংযুক্ত করুন এবং করুন

mspdebug -d /dev /ttyUSB0 uif "prog ezprobe.elf"

বিকল্প অ্যাপ্লিকেশনের সম্ভাবনা

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

* servo tester, এই আমি ezprobe_servo.c ডাউনলোড করার জন্য ক্লিক করেছি মাথা * পং-ঘড়ি, w/ 2 প্রতিরোধক টিভি-আউট প্রোব-হেড

সমস্যা সমাধান

* আপনি সত্যিই একটি তাপমাত্রা নিয়ন্ত্রণ লোহা / স্টেশন এবং সূক্ষ্ম ঝাল টিপস প্রয়োজন, leds (সব একসঙ্গে) ধানের একটি দানা চেয়ে ছোট। * ফ্লাক্স ব্যবহার করুন * ডিবাগ করার সময় D- এবং D+ তারের সংযোগ বিচ্ছিন্ন করার জন্য প্রস্তুত থাকুন, তারা w/ স্বাভাবিক ইউএসবি অপারেশনে হস্তক্ষেপ করতে পারে। যদি আপনি পরিবর্তিত ডিভাইসে ফার্মওয়্যার লিখেন, আপনার ফার্মওয়্যার শুরু হওয়ার সময় এই দুটি পিনে আউটপুট করবেন না। এবং যদি আপনি তা করেন, তাহলে আপনি আর ফার্মওয়্যার ডাউনলোড করতে পারবেন না (অবশ্যই যদি এটি ঘটে থাকে তবে সেগুলি আন-সোল্ডার করতে পারেন)। যদি আপনি ইউএসবি কেসিংয়ের সাথে মানানসই ছোট সংযোজক খুঁজে পেতে পারেন, সেগুলি ব্যবহার করুন। * টার্গেট বোর্ডের জন্য পাওয়ার সাপ্লাই প্রোগ্রামার বোর্ড থেকে রেগুলেটরের মাধ্যমে টানা হয়, যা ইউএসবি থেকে 5v নেয়। সার্কিটে ইজপ্রোব ব্যবহার করার সময়, আমার সাধারণত আমার টার্গেট প্রজেক্ট সাপ্লাই 3v যমজ 1.5v AAAs থেকে থাকে, এটি পর্যাপ্ত কিন্তু প্রকল্পটি 12mhz বা তার নিচে থাকতে হবে। 16mhz dco এর জন্য পূর্ণ 5v সোর্স পাওয়ার লাগবে। * আমি প্রোব সুরক্ষার জন্য সীমাবদ্ধ প্রতিরোধক বা জেনার ডায়োড ব্যবহার করিনি। আপনি এটা করতে চাইতে পারেন।

প্রস্তাবিত: