সর্বনিম্ন বিদ্যুত ব্যবহারের জন্য কীভাবে অব্যবহৃত আই / ও পিনগুলি এটিএমইগা 328 পিতে কনফিগার করা উচিত?


15

আমি তৈরি একটি আরডিনো বোর্ডে যতটা সম্ভব শক্তি হ্রাস করার চেষ্টা করছি। অব্যবহৃত ইনপুট পিনগুলি কীভাবে কনফিগার করা উচিত? এর জন্য ইতিমধ্যে কয়েকটি উত্তর রয়েছে ( এখানে , এখানে ), তবে আমি এটিএমটিগা 328 পি নির্দিষ্ট কিছু পরে এসেছি।

  1. ইনপুটটিতে পিন সেট করুন, অভ্যন্তরীণ পুল-আপকে জড়িত করতে হাই পিন ড্রাইভ করুন
  2. ইনপুট করতে পিন সেট করুন, ড্রাইভ পিন কম করুন
  3. ইনপুট এ পিন সেট করুন, বাহ্যিক টান আপ
  4. ইনপুট এ পিন সেট করুন, বাহ্যিক টান ডাউন
  5. আউটপুট কম পিন সেট করুন
  6. আউটপুট উচ্চ পিন সেট করুন
  7. আউটপুট কম এ পিন সেট করুন, বাহ্যিক টান ডাউন

উত্তর:


12

ডেটাশিটটি খননের পরে , আমি এটি পেয়েছি:

14.2.6 সংযোগযুক্ত পিনগুলি

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

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

মন্তব্য / প্রশ্নের সাথে সম্পর্কিত আপডেট করুন:

সারণী 14-1 অনুসারে, নিম্নলিখিত শর্তগুলি সন্তুষ্ট হলেই টান আপ প্রতিরোধক সক্রিয় থাকে:

  1. পিনটি ইনপুট হিসাবে সেট করা হয়েছে (ডিডিএক্সএন বিটটি লজিক কম)
  2. PORTxn লজিক উচ্চ সেট করা হয়
  3. পিইউডি লজিক কম

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

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


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

আপডেট উত্তর। আউটপুট হওয়ায় আপনার খুব বেশি সমস্যা হবে বলে আমি মনে করি না, তবে সেরা বাজি হ'ল অটমেলের পরামর্শ নেওয়া।
helloworld922

10
  1. ইনপুটটিতে পিন সেট করুন, অভ্যন্তরীণ পুল-আপ জড়িত করতে হাই পিন ড্রাইভ করুন : আমার মনে হয় এটি পড়তে হবে: " অভ্যন্তরীণ পুল-আপকে জড়িত করে ইনপুটটি উচ্চ করুন "। (আপনি যদি ভিসি বা গ্রাউন্ডের কোনও এফইটি মাধ্যমে সক্রিয়ভাবে এই কাজটি করেন তবে আমি "ড্রাইভ" শব্দটি ব্যবহার করব)) এটি স্পষ্ট যে আপনি একটি নির্ধারিত স্তর চান, এবং টান আপ সেটির যত্ন নেয়। নিশ্চিত করুন যে রিসেটের পরে আপনি প্রথম কাজটি করতে সক্ষম হন। এটি সাধারণভাবে I / O আরম্ভের জন্য যায় for একমাত্র বর্তমান হ'ল পুশ-পুল জোড়ার এনএফইটি এর ফুটো বর্তমান এবং ইনপুট এফইটি-র গেট ফাঁস হবে। 1 µA এর চেয়ে কম: ঠিক আছে।
  2. ইনপুট এ পিন সেট করুন, পিন কম করুন : ভাল ধারণা নয়। যদি সফ্টওয়্যার কলা হয়ে যায় এবং পিনটি আউটপুট উচ্চে স্যুইচ করে আপনি পিনটি সংক্ষিপ্ত করছেন, পরিপূরক জুটির পিএফইটি ক্ষতিগ্রস্থ করে।
  3. ইনপুটটিতে পিন সেট করুন, বাহ্যিক টান আপ : 1 এর সমান) কেবল আরও ব্যয়বহুল। তবে এই সুবিধাটি রয়েছে যে টান আপ সর্বদা থাকবে; আপনি অভ্যন্তরীণ পুল-আপ সক্ষম করতে ভুলে যেতে পারেন (যা ডিফল্টরূপে অক্ষম থাকে)। যদি I / O দুর্ঘটনাক্রমে আউটপুট কমতে স্যুইচ করে তবে আপনার কাছে একটি ছোট বর্তমান ড্রেন থাকবে।
  4. ইনপুটটিতে পিন সেট করুন, বাহ্যিক টান ডাউন করুন : আবার একটি প্রতিরোধকের ব্যয় (হ্যাঁ, আমি জানি তারা সস্তা, তবে সস্তা + অপ্রয়োজনীয় = ব্যয়বহুল।) 3 এর মতো একই বর্তমান) যদি পিনটি সক্রিয় উচ্চে চলে যায়।
  5. আউটপুট কমতে পিন সেট করুন : ইনপুট হিসাবে কনফিগার করা হওয়ার চেয়ে আরও বেশি ফুটো বর্তমান রয়েছে, তবে এখনও 1 belowA এর নীচে রয়েছে, তাই চিন্তার কিছু নেই nothing আমি এখনও অভ্যন্তরীণ টান আপ সক্ষম করব। এটি আউটপুট হিসাবে I / O দিয়ে সক্রিয় হবে না, তবে এটি যদি দুর্ঘটনাক্রমে ইনপুটটিতে পরিবর্তন করা হয় তবে পিনটি ভাসমান থেকে যায় না।
  6. আউটপুট উচ্চ পিন সেট করুন : 5 হিসাবে একই)
  7. আউটপুট কমতে পিন সেট করুন, বাহ্যিক টান ডাউন করুন : টান-ডাউন প্রতিরোধক একটি অপ্রয়োজনীয় ব্যয়: এটি একটি আউটপুট কম করবে, যা ইতিমধ্যে কম low তবে 5 এর সাথে তুলনা করে) এর সুবিধা রয়েছে যে আপনি নিশ্চিত যে ইনপুটটিতে অনিচ্ছাকৃত পরিবর্তন করা হলে পিনটি ভাসবে না।

আমি 1 এর জন্য যাব): অভ্যন্তরীণ পুল-আপ সহ ইনপুট; কোন বাহ্যিক অংশ প্রয়োজন। একটি এফএমইএ 5) আরও বেশি ভাড়া নেওয়া যেতে পারে তবে আপনি অভ্যন্তরীণ পুল-আপ সক্ষম করতে ভুলে যাওয়া ঝুঁকিটি কতটা উচ্চমানের তার উপর নির্ভর করে। একটি সফ্টওয়্যার ডিজাইন পিয়ার পর্যালোচনা আপনাকে বীমা দেওয়া উচিত।


1

পিনগুলি সাধারণত নিজের মধ্যে একটি বিশাল পার্থক্য তৈরি করে না। আপনি প্রতিটি পিনের একটি নির্দিষ্ট ফাংশন দেখতে পাবেন - পিনের কার্যকারিতাটি অক্ষম করুন

volatile uint8_t timer2sum; // see interrupt handler

void Initialize()
{
    // configure pin for output
    DDR_LED |= LED;

    // set Power Reduction Register
    PRR = (1<<PRTWI)     // turn off TWI
        | (1<<PRTIM0)    // turn off Timer/Counter0
        | (1<<PRTIM1)    // turn off Timer/Counter1 (leave Timer/Counter2 on)
        | (1<<PRSPI)     // turn off SPI
        | (1<<PRUSART0)  // turn off USART (will turn on again when reset)
        | (1<<PRADC);    // turn off ADC

    // select POWER SAVE mode for sleeping, which allows Timer/Counter2 to wake us up
    set_sleep_mode(SLEEP_MODE_PWR_SAVE);

    // configure Timer/Counter2 to wake us up as infrequently as possible
    TCCR2B |= (1<<CS22) | (1<<CS21) | (1<<CS20); // clock at 14400 Hz
    TIMSK2 |= (1<<TOIE2);                        // interrupt on overflow, 56.25 Hz
    timer2sum = 0;                               // see interrupt handler
    sei();                                       // enable interrupts
}

http://www.nerdkits.com/library/lowpowerexample/ থেকে নেওয়া যারা একই চিপগুলি ব্যবহার করে।

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