Attiny85 プログラミングと Attiny85 プログラミングの主な違い atmega328pプログラミング

Attiny85 プログラミングと Attiny85 プログラミングの主な違い atmega328pプログラミング

さまざまな電子機器を使用するマイクロコントローラーの著名なメーカーである Atmel は、Attiny85 と Atmega328P という 2 つの非常に人気のあるマイクロコントローラーを備えており、どちらも AVR ファミリに由来しています。 これらのマイクロコントローラーは、特定の類似点を共有しているにもかかわらず、プログラミングの点で顕著な違いを示します。これについては、この記事で詳しく説明します。

Arduino 開発回路基板がエレクトロニクスの初心者にとって頼りになる選択肢であることは広く受け入れられていますが、それには十分な理由があります。 これらのボードは他のコンポーネントとの簡単な接続を促進し、ユーザーフレンドリーな IDE とシンプルな USB ケーブルを介して簡単にプログラムできます。 さらに、それらはオープンソース形式であり、いつでも支援を提供できる広大でダイナミックな協会を誇っています。

ボード自体もサウンドデザインを重視して作られています。 重要な基本的な慎重さを備えていれば、Arduino ボードに永久的な損傷を与える可能性は低いでしょう。 回路設計やプログラミングに興味がある人にとっての出発点として、Arduino 回路プラットフォームは、これらの分野に最初に触れるのに最適な方法です。

プロジェクトがより複雑になったり、消費者向けに販売する製品を作成したりする場合、Arduino プラットフォームの限界がより明らかになります。

この記事では、Arduino ベースのプロトタイプを超えて、洗練または最適化されたプロジェクトに移行するために一般的に使用される Attiny84、ATtiny85、および ATtiny2313 AVR マイクロコントローラーについて詳しく説明します。 また、これらのチップを Arduino Uno に搭載されている ATmega328 と比較します。

Arduinoプログラミングを使用するデメリット

マイクロコントローラー IC と比較すると、Arduino 回路基板はかなりかさばるため、統合してプロジェクトに組み込むことが困難になります。 通常、シールドは Arduino の上部にあるヘッダーに接続することで、Arduino を大規模なプロジェクトに組み込みます。 ただし、このアプローチでは、多くの場合、プロジェクトの他の側面にシームレスに適合しない可能性のある、かさばるアセンブリが作成されます。

Arduino ボードの 2 番目の欠点は、マイクロコントローラー IC または関連する受動素子を備えたカスタム ボードを構築するのに比べてコストが比較的高いことです。 モデルにもよりますが、Arduino 回路基板の価格は 20 ~ 30 ドルですが、これらの回路基板に適用されるマイクロコントローラの価格は約 2 ドル以下です。 さらに、Arduino ボードの仕様は、一般的に使用されるアクティビティに対して過剰である可能性があります。 代表的な Arduino プロジェクトをいくつか調べてみると、Arduino の I/O ピンの多くが未使用のままであるか、ボード上で実行されているプログラムがマイクロコントローラーのフラッシュ ストレージを埋めるには不十分であることがわかります。

ATtiny85 マイクロコントローラーとその動作

これは、少数の I/O ピンのみが必要な小規模プロジェクトにおける ATmega328P の有力な代替品です。 ATmega328P の限られた I/O ピンを小規模プロジェクトに使用するのは効率的ではない可能性があるためです。 対照的に、ATtiny85 マイクロコントローラは、利用可能なすべての I/O ピンを必要とする小規模なプロジェクトに利用できます。 この記事では、ピン ダイアグラム、利点、仕様、欠点、アプリケーションなど、ATtiny85 マイクロコントローラの概要を説明します。

ATtiny85 は、RISC CPU を使用した高性能、コンパクトな AVR マイクロコントローラです。 これは、さまざまなセンサーやデバイスのインターフェースと制御に一般的に使用される 2 つのパッケージで提供されます。 このマイクロコントローラーは、MSSP と 10 ビット ADC による低消費電力も誇ります。 このマイクロコントローラーの命令コードは、RAM – 512 バイトと EEROM – 8kb に保存されています。 ATtiny85 マイクロコントローラの代替には、ATtiny45、ATtiny25、ATtiny25V、ATtiny45V、ATtiny85V があります。

ATtiny85マイクロコントローラの機能

ATtiny85 マイクロコントローラは、単一の IC 内で複数の機能を実行できます。 マイクロコントローラーの特定のピンは、複数の機能に役立ちます。 マイクロコントローラーの主な機能には、タイマー、BOD、I2C 通信、SPI 通信、割り込み、ADC などがあります。 ATtiny85 マイクロコントローラは、FLASH、EEPROM、SRAM などのさまざまなメモリ タイプも備えています。

ATtiny85マイクロコントローラの慎重な実行

 


マイクロコントローラーは繊細なコンポーネントであり、ソフトウェアで最適なパフォーマンスと寿命を実現するには慎重な取り扱いが必要です。

コントローラーへの電源供給が 5.5V を超えないようにすることが重要です。 コントローラをデジタル マルチメータに接続する前に、正確なデジタル マルチメータを使用して電圧源出力の精度を確認することが重要です。 各入出力ピンの DC 出力は 40mA を超えてはならず、GND ピンと正電源の DC 出力は 200mA を超えてはいけないことに注意することが重要です。

適切な電源供給を確保するには、事前にマイコンのピンの極性を確認することが重要です。 マイクロコントローラーの位置を特定するには、回路またはブレッドボード上の集積回路ソケットを利用できます。 これにより、はんだ付け時に発生する熱からマイコンを保護します。

このコントローラの保管温度制限は -65°C ~ +150°C であり、動作温度範囲は -55°C ~ -+125°C です。

ATtiny85マイクロコントローラの利点

ATtiny85 マイクロコントローラーを使用する利点をいくつか示します。

  • 消費電力が低くなります。
  • 簡単に入手可能
  • コスト削減
  • 小さくてコンパクトなサイズなので、小さなボード内に簡単に配置できます。
  • このマイクロコントローラーは、便利に使用できるように、すぐにアクセスできる参照データを提供します。
  • Arduino IDE経由で統合可能。
  • さまざまな省電力モードにより、このコントローラはバッテリ駆動のアプリケーションでも機能できます。
  • ピンの数が少ないにもかかわらず、これにより多くの機能が提供されます。
  • このマイクロコントローラは、さまざまなアプリケーションの要件を満たすために多くのプログラム メモリを備えています。

ATtiny85マイクロコントローラのアプリケーション

ATtiny85 マイクロコントローラの機能には次のようなものがあります。

  • 特定の要件に応じて、このマイクロコントローラーを利用してさまざまなエンジニアリング プロジェクトを設計できます。
  • 以下に、商用および教育用アプリケーションとして利用できる例を示します。
  • 用途はセキュリティや自動車関連。
  • 産業機械の制御システム。
  • 気象センサーを含むシステム。

Arduinoを使用したAVR ATmega328Pのプログラミング

Arduino Uno マイクロコントローラー ボードは、ATmega328P マイクロコントローラーを搭載しており、簡単なピン インターフェイスが可能です。 Arduino マイクロコントローラー ボードには、USB シリアル インターフェイスと 16 MHz クロックが含まれており、これはスタンドアロン マイクロコントローラーには見られない機能です。 Arduino ボードは、設計の迅速な反復を容易にするため、プロトタイピングに最適です。 ただし、完成したプロジェクトの場合、採用されている機能によっては過剰になる可能性があります。 公式の Arduino Uno ボードの価格は 20 ドルですが、スタンドアロンの ATmega328P マイクロコントローラの価格は約 2 ドルです。 したがって、Arduino を使用してプロトタイプ段階を完了した後、プロジェクトは独立した ATmega328P を使用するように移行できます。

潜在的な課題の 1 つは、プログラムを直接アップロードするために ATmega328P をコンピュータにリンクできないことです。 この問題に対処するには、別のプログラマが必要です。 幸いなことに、Arduino が利用可能であれば、ATmega328P のプログラマとして利用できます。 したがって、このガイドでは、Arduino または Arduino 開発環境を活用し、Arduino 開発環境によって提供される組み込み機能を除いた純粋な C コードを使用して、スタンドアロン ATmega328P をコーディングする方法を概説します。

Arduinoの準備と接続

Arduino Uno が ISP として機能するには、特定のスケッチをアップロードする必要があります。 アップロードすると、Arduino Uno で ATmega328P をプログラミングできるようになります。 Arduino Uno を ISP として設定するには、次のプロセスを実行する必要があります。

ArduinoISP ソフトウェアにアクセスするには、[ファイル] -> [例] -> [ArduinoISP] -> [ArduinoISP] に移動します。

追加のスケッチに使用される一般的な方法で、ArduinoISP スケッチを Arduino にアップロードします。

Arduino を ISP として設定したら、ATmega328P のコーディングに利用できるようになりました。 SPIバスは、SPIコネクタを正確にリンクすることでArduinoをATmega328Pにリンクします。 ただし、ピン番号を考慮する必要があるため、これは複雑な作業になる可能性があります。 Arduino ではピン番号と直接対応しません。 ただし、Arduino は ATmega328P チップ自体を採用しています。 適切なピンが接続されていることを確認するには、Arduino の PIN と ATmega328P の PIN を比較する必要があります。 下の画像は、SPI に必要なピン接続を示しており、これらの Arduino コネクタが ATmega328P のコネクタとどのように対応するかを示しています。

Attiny85 プログラミングとの違い atmega328pプログラミング

1. フラッシュメモリ:

Atmega328P と Attiny85 の主な違いは、アクセス可能なフラッシュ ストレージの量です。 Attiny85 のフラッシュ メモリはわずか 8 KB ですが、Atmega328P のフラッシュ メモリは 32 KB です。 したがって、Attiny85 は Atmega328P よりも少ない数のコマンドに対応できます。 したがって、プログラマは、より最適化されたコードを作成し、Attiny85 の限られたメモリ容量を最大化する必要があります。

この制約を克服するために、Attiny85 を使用するプログラマは、関数パフォーマンスの最適化、データ構造パフォーマンスの最適化、ループ展開などの最適化手法をよく使用します。 これらのメソッドは、コードに必要なメモリの削減に役立ち、Attiny85 がより複雑なアプリケーションを管理できるようになります。

ピン:

Atmega328P と Attiny38 の大きな違いは、ピン数にあります。 Attiny85 には 8 ピンしかありませんが、Atmega328P には 28 ピンがあります。 これは、Attiny85 の入出力ピンの数が限られており、リンクされている要素の数が制限される可能性があることを意味します。

ピンの数が限られているため、Attiny85 プログラマはコンポーネントをマイクロコントローラに接続する革新的な方法を見つける必要があります。 マルチプレクサを使用して I/O ピンを強化したり、出力ピンを拡張したり、アナログ信号マルチプレクサを使用して複数のコンポーネント間でピンを共有したりする場合があります。

2. クロック速度:

Attiny85 の高速性は 20 MHz ですが、Atmega328P は 16 MHz です。 したがって、Attiny85 は Atmega328P よりも高速に命令を実行できます。 ただし、クロック速度が高いという利点は、Attiny85 が使用できるフラッシュ メモリが Atmega328P よりも少ないという事実によって無効になります。

Attiny85 プログラマーは、マイクロコントローラーのエネルギー使用量に影響を与える可能性があるため、クロック レートの選択には注意する必要があります。 クロック速度が速いと電力消費量が増加する可能性があり、バッテリ駆動のアプリケーションでは問題になる可能性があります。

3. 周辺機器のサポート:

Attiny85 と比較して、USART、API、I2C インターフェイスなどのペリフェラルを備えており、コンポーネントを追加することなく、通信プロトコルとデバイスに対するより包括的なサポートを提供します。 Attiny85 には当てはまりません。Attiny85 は内蔵ペリフェラルが限られているため、デバイス サポートの汎用性が低くなります。

Attiny85 マイクロコントローラーには、USART、SPI、I2C インターフェイスなど、Atmega328P よりも小型の統合ペリフェラルが搭載されています。 このため、Attiny85 がコンポーネントを追加せずにさまざまなデバイスや通信プロトコルをサポートすることが困難になります。 したがって、Attiny85 の動作では、外部シリアル ペリフェラル インターフェイス (SPI) インターフェイスまたはソフトウェア ベースの集積回路間 (I2C) プロトコルを使用して他の機器と対話する必要がある場合があります。

4. プログラミング言語:

C は Attiny85 /Atmega328P の両方でサポートされているプログラミング言語ですが、コードがマイクロコントローラーごとに最適化およびコンパイルされる方法には違いがあります。 Attiny85 を使用するプログラマは、AVR-GCC コンパイラのような特殊なコンパイラを必要とします。 AVR アーキテクチャに役立ちます。

マイクロコントローラー上で適切に動作するには、プログラムのメモリ使用量を減らし、より高速に実行する方法を知っている必要があります。 また、マイクロコントローラーのどの部分を使用できるか、またプログラムを適切に動作させるためにそれらをどのように使用できるかを知る必要もあります。

5. プログラミング環境:

Attiny85 と Atmega328P は異なるプログラミング環境を使用します。 Arduino 統合開発環境は、コードをコンパイル、書き込み、またはマイクロコントローラーに更新するための使いやすいインターフェイスを提供するため、Attiny85 プログラマーにとって一般的に役立ちます。 Arduino 統合開発環境 (IDE) には、事前に構築されたサンプルとライブラリもあります。

結論

要約すると、Attiny85 または Atmega328P は、さまざまな機能を持つ一般的に使用されるマイクロコントローラーです。 Attiny85 はメモリが少なく、ピンの数も少なく、またはクロック速度が高速です。 したがって、Attiny85 プログラマーは、コードを最適化し、コンポーネントの接続に創造的な方法を使用し、クロック速度を選択するときに消費電力を考慮する必要があります。

Atmega328P には Attiny85 よりも多くの機能が組み込まれているため、より多くの種類のデバイスや通信方法で動作する必要があるアプライアンスに適しています。 どちらのマイクロコントローラーも同じ言語を使用してプログラム可能ですが、Attiny85 プログラマーは特定のコンパイラーを必要とし、最適化テクニックを効果的に使用する方法を知っています。

要約すると、Attiny85 と Atmega328P のどちらを使用するかの決定は、ツールの特定のニーズによって決まります。 追加のメモリ容量とより多くの周辺機器のサポートが不可欠な場合は、Atmega328P の方が優れています。 ただし、より小さいサイズが不可欠な場合は、Attiny85 が良い選択肢になる可能性があります。 どちらのマイクロコントローラーも、さまざまなアプリケーションに対して優れた機能や柔軟性を開発者に提供します。

 

 

関連記事

無料見積もりをする

プリント基板製造・組立サービス

おすすめの記事

PCB にツーリング穴が必要なのはなぜですか?

PCB の工具穴がデバイスの優れたパフォーマンスにとって重要である理由を想像したことがありますか? まだ? この記事では、ツーリングホールを完全に理解するためにあらゆる手段を講じるつもりです。 ツール穴、別名取り付け穴は、PCB

パッドの BGA ビアとは何ですか?

ビアインパッドを使用した PCB 設計を検討したことがありますか? パッド内ビア設計はますます人気が高まっており、BGA パッド上のビアの概念に詳しくない場合は、人気が高まっていると思われるこの新しいプリント基板設計オプションを検討することが最も有益かもしれません。

プラグドビアによる PCB プロセスの合理化

基板には、異なる層上のトレース間の電気的接触を確立するためにビア ホールが含まれている必要があります。 しかし、ビアがこれらの穴を塞ぐのに役立つ可能性があることに気づいていましたか? 驚くべきことに、ビアプラグとは、PCB ビアを保護するために大多数の