একজন প্রোগ্রামার হিসাবে একটি আরডুইনো ব্যবহার করার সময় আমি এটিটিনি 85 তে কীভাবে ঘড়ির গতি ফিউজ সেট করব?


17

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

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


যাইহোক এটি সত্যিই দুর্দান্ত, ভাগ করে নেওয়ার জন্য ধন্যবাদ!
ভিসাতচু

সালাম জানানো! আমি কখনই আমার অ্যাটিনিউ 85৮ প্রোগ্রামটি পরিচালনা করতে পারি নি .. যখন অর্ডুড ফ্ল্যাশ লেখার চেষ্টা করে তখন আমার সর্বদা "সিঙ্কের বাইরে প্রোগ্রামার" থাকে errors বাস জলদস্যু দিয়ে আরডুইনো অদলবদল যদিও কাজ করে ...
জোনাথন

@ জন: আমি "প্রোগ্রামার সিঙ্কের বাইরে থাকা" এর মূল কারণ সম্পর্কে নিশ্চিত নই, তবে এভিআর স্টুডিওর সাহায্যে আপনি প্রোগ্রামিং ফ্রিকোয়েন্সি সামঞ্জস্য করতে পারেন। আরদুডে একই রকম অপশন থাকতে পারে, আপনি যদি আবার কখনও ঘূর্ণিঝড় দেন তবে তা দেখার মতো হতে পারে
নিক টি

উত্তর:


2

আমি বিশ্বাস করি যে আরডুইনো সফ্টওয়্যার (গ্রন্থাগার এবং সমস্ত) ধরে নিয়েছে আপনি 16MHz এ পরিচালনা করছেন। আপনি যদি সেই ধারণাকে ঘড়িটিতে প্রয়োগ করেন যা আপনি আসলে চালাচ্ছেন ... জিনিসগুলি কাজ করা উচিত। ধরে নিই যে আপনি টিনি 85 এর অভ্যন্তরীণ দোলকটিতে চালাচ্ছেন বলে আমি মনে করি এটি 1MHz এ চলেছে, সুতরাং আপনার সমস্ত বিলম্বিত বিবৃতিগুলি (এবং সময়ের অন্যান্য ধারণাগুলি) 16 দ্বারা গুন করুন।

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

আমি আরডুইনোআইএসপি স্কেচ সম্পর্কে খুব বেশি কিছু জানি না তবে আমার কাছে দেখে মনে হচ্ছে এটি আইএসপি প্রোটোকলকে টার্গেট চিপ (মেগা 328 বোর্ডে নয়) কোনও প্রোগ্রাম আপলোড করতে পারে, নিশ্চিত নয় যে এটি ফিউজগুলি সামাল দেওয়ার জন্য সজ্জিত। আরডুইনোআইএসপি এখানে নথিভুক্ত করা হয়েছে http://arduino.cc/en/Tutorial/ArdinoISP , fww। দ্রষ্টব্য যে আপনি বর্তমানে ইউএনও ব্যবহার করতে পারবেন না আরডুইনোআইএসপি স্কেচ চালানোর জন্য। আপনি আরডিউনোকে এভিআর স্টুডিও জিইউআই সরঞ্জামগুলি ব্যবহারের জন্য একটি কার্যকর ইন্টারফেস তৈরি করতে স্কেচটি ব্যবহার করতে পারেন এমনটি আমার মতো লাগে না।

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


ইউএনও সম্পর্কে শীর্ষস্থানীয়দের জন্য ধন্যবাদ, আমি আসলে একটি ডায়মিল্যানভ ব্যবহার করছি 168 চিপটি 328 এর জন্য অদলবদল করে, এবং আরডুইনোআইএসপির মাধ্যমে সঠিকভাবে আপলোড করার জন্য সাধারণ এটিটিইনি স্কেচগুলি পেতে পারি। আমি আপনার / 16 টিপ চেষ্টা করব!
ভয়ঙ্কর

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

1
@ ফিয়ার অফস, এছাড়াও আমি বুঝতে পেরেছি (এবং পোস্টটি আপডেট করে) 16 দিয়ে ভাগ করার পরিবর্তে 16 দ্বারা গুণিত করা (আপনার ধীর গতিতে চলতে একই সময়কাল পেতে আরও বেশি টিক লাগবে)
ভাসাচাকু

আমি জানি এটি এক বছর পরে গেছে, তবে আমি সফলভাবে এবং ইউএনওকে এভিআর প্রোগ্রামার হিসাবে ব্যবহার করি। (যাইহোক, আমি ArduinoISP স্কেচ করতে পরিবর্তন করেনি delay(20)এর insted delay(40)তার সংজ্ঞা void heartbeat()।)
JellicleCat

আমি জানি এটি আরও পরে কিন্তু স্কেচের কোনও পরিবর্তন না করেই আমি আমার ইউনোকে এভিআর প্রোগ্রামার হিসাবে সফলভাবে ব্যবহার করেছি।
ingh.am

4

আমি আরডুইনো ইউএনও + আরডুইনোআইএসপি সফলভাবে ব্যবহার করছি।

তিনটি এটিটিইন ফিউজের কোনও বা সমস্ত সেট -Uকরতে আপনার avrdudeআদেশে পতাকা যুক্ত করুন ।

avrdude -p attiny85 -P com8 -c stk500v1 -b 19200 -U lfuse:w:0x6f:m -U flash:w:main.hex

ঘড়ির বাছাইটি তৃতীয় ফিউজে ('ফিউজ লো বাইট') বিট [3: 0] এ সম্পন্ন হয়। একটি বাহ্যিক স্ফটিক (8 মেগাহার্টজ বা দ্রুত) এর ব্যবহার করতে নিম্নলিখিত হিসাবে সেগুলি সেট করুন:

-U lfuse:w:0x6f:m

এর সংজ্ঞা (আমি অনুমান করি) অবশ্যই এর মতো কিছু হতে পারে: [ফিউজ লো বাইট]: [লিখুন]: [হেক্স মান]: [ম্যানুয়ালি সেট করুন]

এই বাইটের চারটি উচ্চ বিটের জন্য ডিফল্ট মান হ'ল, সুতরাং এটি যেমন রয়েছে তেমন 0110ছেড়ে যান এবং কেবলমাত্র দ্বিতীয় অঙ্কটি পরিবর্তন করুন (এর ডিফল্ট মানটি হয় )।60x6ff2

নোট: আপনার প্রক্রিয়াগুলি যদি আপনার প্রত্যাশার চেয়ে বেশি সময় বা কম সময় নেয় তবে আপনার ক্লক প্রেসকেলার এবং এফ _ সিপিইউর সংজ্ঞাটি পরীক্ষা করে দেখুন


আমি সাবধান করতে চেয়েছিলাম যে উপরের -U lfuse:w:0x6f:mঅর্ডুড অপশনটি ব্যবহার করে আমি আমার অ্যাটটাইনি 85 কে কেবল ব্রিট করেছি । আমার হাই-ভোল্টেজ সেটআপ ব্যবহার করে এটি পুনরায় সেট করতে হবে। সুতরাং লোকেরা (আমার মতো) যারা তাদের কী করছে তা না জেনে ফিউস পুনরায় সেট করার চেষ্টা করছে তাদের কাছে সতর্কতার একটি শব্দ।
এমভি

@ এমভি আপনি ফিউজটি পুনরায় সেট করার চেষ্টা করার সময় সত্যিই এটি ইট করেছিলেন বা কেবল বাহ্যিক এক্সও ব্যবহার করেন নি?
অভিশপ্ত

ব্যবহারের জন্য কোনও বাহ্যিক ঘড়ি নেই। কঠোর অর্থে ব্রিকিংয়ের অর্থ কী?
জেলিকেলকিট

@ জেলিকেলকিট, আপনি যদি কোনও বাহ্যিক এক্সও ব্যবহারের জন্য ফিউজটি সেট করেন তবে আপনাকে এমসিইউতে সংযুক্ত একটি বাহ্যিক এক্সও ব্যবহার করতে হবে তখন থেকে প্রোগ্রাম / সেট / রিসেট ফিউজে। এটি না করে, আপনাকে এমসিইউ ব্রিক করা হবে এমন ধারণাটি দেবে (anymore আর কাজ করছে না) কারণ এটির এক্সট প্রয়োজন। এক্সও কাজ করতে, এমনকি আইএসপি এর মাধ্যমে প্রোগ্রামিংয়ের জন্যও।
30:54

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

3

একই গ্রুপ (এমআইটি-র হাই-লো টেক) শিরোনামের সাথে সম্পর্কিত টিউটোরিয়ালটি ব্যবহার করার চেষ্টা করুন প্রোগ্রামিং একটি এটিটিনি ডাব্লু / আরডুইনো 1.0

একটি দ্রুত সংক্ষিপ্তসার: আরডুইনো আইডিইতে সরঞ্জাম-> বোর্ড মেনু থেকে, এটিটিনি 85 এবং আপনি যে ফ্রিকোয়েন্সিটি চালাতে চান তা নির্বাচন করুন (1 বা 8 মেগাহার্জ অভ্যন্তরীণ ঘড়ি, বা 20 মেগাহার্জ বাহ্যিক স্ফটিক) এবং তারপরে সরঞ্জামগুলি ব্যবহার করুন -> বুটলোডার বার্ন করুন " আমি বিশ্বাস করি যে ঘড়ির গতির সাথে সিঙ্ক আপ করার জন্য পছন্দসই গতি বোর্ড নির্বাচন করা বিলম্ব () এবং অন্যান্য সময়-সম্পর্কিত আরডুইনো ফাংশনগুলি যেভাবে কাজ করে তা সংশোধন করে।

কিছু ATtiny84 চিপ ব্যবহার করে আমি নিজেই এই পদ্ধতির সাথে সাফল্য পেয়েছি। সরল ঝলক প্রোগ্রাম স্থির করা হয়েছে, পাশাপাশি বিলম্বমাইক্রোসেকেন্ডস () ব্যবহার করে কোনও সার্ভে পাঠানো ডালগুলি ম্যানুয়ালি নিয়ন্ত্রণের জন্য আরও সংবেদনশীল সময় প্রয়োজন।


1

দেখা যাচ্ছে আপনি আরডুইনোআইএসপি ব্যবহার করছেন, এভিআর স্টুডিও বা এর জন্য কমান্ড লাইন বিকল্পগুলি ব্যবহার করে দেখুন avrdude। আরডুইনোআইএসপি কীভাবে লেখা হয়েছিল তার উপর নির্ভর করে এটি ঠিক একটি আটল এভিআরআইএসপি এমকিআইআই বা এর মতোই কাজ করতে পারে।


আমি আরডিনো নিজেই একজন আইএসপি প্রোগ্রামার বলে মনে করি নি - আমি ভেবেছিলাম এটিতে এটির একটি আইএসপি শিরোনাম রয়েছে যাতে আপনি একটি নতুন বুটলোডারকে সার্কিটের একটি নতুন এটিএমএগ 328 এ জ্বালাতে পারেন ...
ভিসটাকু

নিবন্ধটি আরও ঘনিষ্ঠভাবে পড়া, দেখে মনে হচ্ছে আপনি এটি করার জন্য আরডুইনোআইএসপি স্কেচটি ব্যবহার করতে পারেন - আপনি প্রতিদিন নতুন কিছু শিখেন! :)
ভিসাতচু

আপনি উইন্ডোতে থাকলে AVR স্টুডিও ঠিক আছে। জেনে রাখুন যে গ্রহণের জন্য একটি এভিআর প্লাগইন রয়েছে (এটি স্লোবার হিসাবে পরিচিত আরডুইনো প্লাগইন থেকে পৃথক)। সম্পত্তি -> AVR এর অধীনে একটি নিফটি ফিউজ সংলাপ রয়েছে। তবে হ্যাঁ ওপি কেবল "মূল" ফ্রিকোয়েন্সি এবং "বার্ন বুটলোডার" ব্যবহার করতে চায়।
mckenzm

1

এটিটিনি 85 এর ডিফল্ট ফিউজ সেটিংস হ'ল lfuse 0x62, hfuse 0xdf, efuse 0xff। এটি "8 বিভাজন" সহ অভ্যন্তরীণ আরসি (8 মেগাহার্টজ) দোলক ব্যবহার করে তাই ঘড়িটি 1 মেগাহার্টজ।

আরও ফিউজ সেটিংসের জন্য http://www.engbedded.com/fusecalc দেখুন ।

প্রোগ্রামার হিসাবে কোনও আরডুইনোআইএসপি ব্যবহার করার পরেও আপনি এখনও আপনার এটিটিনি 85 এর ফিউজ সেটিংস পরিবর্তন করতে সরাসরি অর্ডুড ব্যবহার করতে পারেন।

আপনি যদি ঘড়ির পরিবর্তনের জন্য ম্যানুয়ালি ফিউজ পরিবর্তন করেন তবে সম্পাদনা করতে ভুলবেন না attiny85.build.f_cpu আপনার [arduino_folder] \ হার্ডওয়্যার \ attiny45_85 \ boards.txt ফাইলের লাইনটি ।


+1 এটি সত্যিই দরকারী, ঘড়ির গতি 1 মেগাহার্জ হ'ল ধন্যবাদ, ধন্যবাদ
10:58

0

আমার মনে হয় আপনি আরডুইনোআইএসপি দিয়ে ফিউজ সেট করতে পারবেন তবে আরডুইনো আইডিই দিয়ে নয় তবে আর্দুডের সাথে, এই লিঙ্কটি পরীক্ষা করুন । এটি নিজেই পরীক্ষা করিনি।

টিউটোরিয়ালটি স্পষ্টতই বলেছে যে আপনি আরডুইনো ইউএনও ব্যবহার করতে পারেন এবং আমি এটি পরীক্ষা করে কাজ করেছি, তাই আমি এটি নিশ্চিত করতে পারি, সুতরাং আরডুইনোআইএসপি পৃষ্ঠাটি পুরানো এবং ইউএনওর সতর্কতা উপেক্ষা করা উচিত। যদি আপনার ইউএনও প্রথম ব্যাচ থেকে একজন হয়ে থাকে তবে সম্ভবত আপনার কোনও ত্রুটিযুক্ত বুটলোডার রয়েছে, আপনাকে বুটলোডার পুনরায় চাপিয়ে দিতে হবে। চেক এই পৃষ্ঠার আরও তথ্যের জন্য (সিরিয়াল নম্বর উপেক্ষা, আমার সব UNOs যে সিরিজ থেকে ছিল না এবং সমস্যার ছিল)।

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

আন্তরিক শুভেচ্ছা


0
  1. "বোর্ড ম্যানেজার" থেকে একটি এটিটিইনি বোর্ড চয়ন করুন যার মধ্যে এটিটিইএন 85 রয়েছে। এটি "সরঞ্জামগুলি" মেনুতে রয়েছে। আমি মনে করি এটিতে এখন "16MHz অভ্যন্তরীণ PLL" অন্তর্ভুক্ত রয়েছে। (আপনি http://drazzy.com/package_drazzy.com_index.json থেকে একটি ইনস্টল করতে পারেন )

  2. প্রয়োজনে স্পষ্টভাবে এটিটিইএন 85 নির্বাচন করুন।

  3. একটি ঘড়ি চয়ন করুন। যতক্ষণ না আপনি আরও জানেন, একটি অভ্যন্তরীণ ঘড়ি চয়ন করুন।

  4. মেনু আইটেম হিসাবে "বার্ন বুটলোডার" এ ক্লিক করুন।

সতর্কতা, আপনি যদি খুব কম মান পছন্দ করেন তবে আপনি আর এমসিইউ প্রোগ্রাম করতে পারবেন না। যদি এটি আপনার অভিপ্রায় হয়, তবে অবশেষে এটি করুন যদি না আপনার কাছে ফিজগুলি পুনরায় সেট করার জন্য অতিরিক্ত বা ভোল্টেজ প্রোগ্রামার থাকে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.