335. STM32マイクロコントローラーに基づく赤外線リモコンスマートIoT家庭用一酸化炭素ホルムアルデヒド温湿度制御システムの設計(プログラム+回路図+コンポーネントリスト+サポート情報など)

卒業設計ヘルプ、問題作成指導、技術ソリューション(有料)は以下の通りです。

目次

1. デザイン機能

2. 物理的な写真

3. 概略図

4. プログラムのソースコード  

情報には次のものが含まれます。

完全な情報が必要な場合は、下の名刺をクリックして私を追加し、Baidu ネットワーク ディスクのダウンロード アドレスとリソース圧縮パッケージの抽出コードを聞いてください。​ 


MCUメインチップ選定プラン

オプション 1: AT89C51 は、米国の ATMEL Corporation が製造する低電圧、高性能 CMOS 8 ビット マイクロコントローラです。このデバイスは、ATMEL Corporation の高密度、不揮発性ストレージ技術を使用して製造されており、標準の MCS-51 命令システムと互換性があり、このチップには汎用 8 ビット中央処理装置 (CPU) と強力なフラッシュ ストレージ ユニットが組み込まれています。オンチップの4KプログラムメモリはFLASH技術で作られており、この種のマイコンは開発設備の要件が非常に低く、開発期間も大幅に短縮されます。マイクロコントローラーに書き込まれるプログラムも暗号化できるため、私たちの労働の成果はしっかりと保護されます。また、AT89C51は8031よりも現在の価格が安く、市場供給量も十分にあります。 AT89C51 は、真のマイクロコントローラの最小アプリケーション システムを形成し、システム サイズを縮小し、システムの信頼性を高め、システム コストを削減します。プログラムの長さが 4K 未満である限り、ユーザーは 4 つの I/O ポートをすべて使用できます。 5Vの電圧でプログラムでき、消去と書き込み時間はわずか10msしかかかりません。 AT89C51 チップは 3 レベルのプログラム メモリ暗号化を提供し、プログラムやシステムがコピーされないことを完全に保証できる、便利で柔軟かつ信頼性の高いハード暗号化方式を提供します。 PO ポートはスリーステート双方向ポートであり、一般にデータ バス ポートとして知られています。これは、このポートだけが外部メモリの読み取り/書き込み操作に直接使用できるためです。
オプション 2: STM32 シリーズ マイクロコントローラ制御。このタイプのマイクロコントローラは LQFP44 にパッケージされており、内部リソースはこの設計には十分です。 STM32F103 シリーズ チップの最大動作周波数は 72MHZ に達し、メモリの 01 待機サイクルをシミュレートする場合は 1.25Mip/MHZ (Dhrystone2.1) に達します。フラッシュ プログラム メモリを 128k バイト内蔵しているため、書き込み可能なコード量は 128k バイトであり、最大 20K バイトの内蔵 SRAM を備えた十分な設計です。

この2つの選択肢を比較したのですが、私は学校でデジタル回路やマイコンの原理、C言語プログラミングなどを学び、マイコン各部のリソースや学生が利用できるリソースなどを総合的に考慮し、今回の設計要件を比較した結果、こちらを選択しました。 STM32シリーズを使用するためのチップが完成しました。さらに、学校は実際の操作に便利な対応するハードウェア オペレーティング プラットフォームも提供しているため、STM32 を選択するのがより合理的です。

1. デザイン機能

1. stm32 をメイン制御コアとしてコントローラーとして使用し、センサー データの収集、データ アルゴリズムの計算、および人間とコンピューターの対話を担当します。

2. DHT11温湿度センサーによる温度と湿度の収集と表示を実現します。

3. MQ7 一酸化炭素センサーを通じて環境中の一酸化炭素濃度を収集します。

4. ホルムアルデヒドセンサーを通じて環境中のホルムアルデヒド濃度を収集します。

5. 表示画面には、温度、湿度、一酸化炭素濃度、ホルムアルデヒド濃度がリアルタイムで表示されます。

6. リモコンから自動モードまたは手動モードを設定できます。

7. 手動モードでは、浄化ファンと紫外線滅菌器を赤外線で遠隔制御できます (リレー シミュレーション)。

8. 自動モードでは、ガスが設定されたしきい値を超えると、デバイスが自動的にオンになります。

2. 物理的な写真


STM32STM32 の概要
        STM32 シリーズは、高性能、低コスト、低消費電力を必要とする組み込みアプリケーション向けに特別に設計された ARM Cortex-M3 コアです。性能に応じて「エンハンスド」STM32F103シリーズと「ベーシック」STM32F101シリーズの2つのシリーズに分かれています。エンハンスド シリーズのクロック周波数は 72MHz で、類似製品の中で最も高い周波数に達し、ベーシック シリーズのクロック周波数は 36MHz で、同価格の 16 ビット製品よりも優れたパフォーマンスを提供し、16 ビット製品の中で最高の性能を発揮します。 -ビット製品をお選びください。両シリーズとも32Kから128Kまでのフラッシュメモリを内蔵していますが、違いはSRAMの最大容量と周辺インターフェースの組み合わせです。クロック周波数が 72MHz の場合、フラッシュ メモリの実行コードの観点から見ると、STM32 は 36mA を消費します。これは、32 ビット市場で最も消費電力の低い製品であり、0.5mA/MHz に相当します [6]。
プロセッサとしては、32 ビット プロセッサである STM32103C8T6 マイクロコントローラが使用されています。コアは Cortex-M3 で、パラレル バス構造、ネストされた割り込みベクトル制御ユニット、デバッグ システム、および標準メモリ マップを備えています。ネスト ベクトル割り込みコントローラ (NVIC) は、Cortex-M3 プロセッサの重要なコンポーネントです。これは、Cortex-M3 ベースのマイクロコントローラに標準の割り込みアーキテクチャと優れた割り込み応答機能を提供し、240 を超える割り込みソースに専用の割り込み入口を提供します。また、各割り込みソースには個別の優先順位を割り当てることができます。 NVICの採用により、割り込み応答速度が非常に速く、割り込み要求を受信して​​から割り込みサービスの最初の命令を実行するまでの所要時間はわずか12サイクルです。この極めて速い応答速度の一部は、CPU 内に固化されたマイクロコードによって実装される Cortex-M3 コアの自動スタック処理メカニズムによるものです。一方、割り込み要求が連続して発生する場合、NVIC は「テール チェーン」と呼ばれる技術を使用して、連続する割り込みを 6 クロック サイクル以内に処理できます。割り込みプッシュ段階では、追加の CPU サイクルを消費することなく、優先度の高い割り込みが優先度の低い割り込みを埋め込むことができます。具体的な内容についてはまた後ほどまとめていきたいと思います。ユーザーは、CPU が自動的に低電力状態に入り、割り込みを使用してウェイクアップするように設定でき、割り込み時間が来るまで CPU はスリープ状態を維持します [7]。
  Cortex-M3 CPU は、スレッド モード (スレッド モード) と処理モード (ハンドラー モード) の 2 つの動作モードをサポートしています。これら 2 つのモードには独立したスタックがあることに注意してください。この設計により、開発者はより高度なプログラミングを実行できるようになり、リアルタイム オペレーティング システムのサポートが強化されます。 Cortex-M3 プロセッサには、コア (RTOS) に定期的な割り込みを提供できる 24 ビットの自動リロード可能なタイマーも含まれています。
命令セットに関しては、ARM7 と ARM9 の両方に 2 つの命令セット (32 ビット命令セットと 16 ビット命令セット) があり、Cortex-M3 シリーズ プロセッサは Thumb-2 命令セットをサポートしています。 。 Thumb-2 命令セットは Thumb 命令セットと ARM 命令セットを組み合わせているため、32 ビット命令セットのパフォーマンスと 16 ビット命令セットのコード密度のバランスが保たれています [5]。専門的な組み込みおよびマイクロコントローラー技術のトレーニング。さらに、ARM Thumb-2 は C/C++ コンパイラ用に特別に設計されているため、Cortex-M3 シリーズ プロセッサの開発とアプリケーションを C 言語環境で完了できます。
  STM32 マイクロコントローラーの発売は、ST Company が 2 つの主要製品ライン (低価格のメインラインと高性能のメインライン) において講じた大きな一歩を示しています。 STM32 は当初 14 種類のモデルがリリースされ、最大 CPU クロック 72MHZ の「Enhanced」と最大 CPU クロック 36MHZ の「Basic」の 2 つのバージョンに分かれていました。これらのさまざまな STM32 モデルの内蔵フラッシュは最大 128KB、SRAM は最大 20KB です。STM32 のリリース当初、より大きなフラッシュ、RAM、およびより複雑なペリフェラルを備えたバージョンがすでに計画されていました。 STM32 デバイスのバージョンやモデルに関係なく、ピン機能やアプリケーション ソフトウェアの点で互換性があります。これにより、開発者は、STM32 シリーズ マイクロコントローラを使用するときに、PCB を変更せずに、必要に応じてデバイス モデルを変更できます。 STM32 の機器構成は、一見すると昔おなじみの 51 マイコンに似ています。一般に、STM32 には、マルチチャネル ADC、汎用タイマー、I2C バス インターフェイス、SPI バス インターフェイス、CAN バス インターフェイス、USB コントローラ、リアルタイム クロック RTC などの一般的な周辺機器が装備されます。ただし、それぞれの外部デバイスには独自の機能があります。たとえば、12 ビット精度の ADC には複数の変換モードがあり、内部温度センサーが備わっています。デュアル ADC を備えた STM32 デバイスでは、2 つの ADC を同時に動作させることもでき、その結果、さらに 9 つの高度な変換モードが得られます。STM32 の各タイマー4 つのキャプチャ比較ユニットがあり、各タイマーは他のタイマーと連携して、より正確なタイミングを生成できます。STM32 は、モーター制御用に特別に設計された高度なタイマーを備えています。プログラム可能なデッドタイムを備えた 6 つの PWM 出力チャンネルがあり、緊急ブレーキ チャンネルは、異常状態が発生した場合、PWM 信号出力を強制的に所定の安全状態に維持します。SPI インターフェイスにはハードウェア CC8 ユニットが含まれており、8 ビット バイトおよび 16 ビット ハーフワード データの CC8 計算をサポートします。 SD や MMC などのストレージ メディアからデータにアクセスする場合に非常に便利です。さらに、STM32 には 7 つの DMA チャネルも含まれています。デバイスとメモリ間で 8 ビット、16 ビット、および 32 ビットのデータを転送するためにスプーフ チャネルを使用することはできません。各デバイスは、DMA コントローラにデータの送受信を要求できます。 STM32 内部バス アービタとバス マトリックスは、CPU データ インターフェイスと DMA チャネルの間の接続を大幅に簡素化し、これは、DMA チャネル ユニットが非常に柔軟であり、その使用がマイクロコントローラ アプリケーションで一般的なデータを処理するのに十分簡単であることを意味します。

3. 概略図

この設計のプロセス中に、ハードウェアとソフトウェアの両方で多くの問題が発生しました。ただし、ソフトウェアと比較すると、ハードウェアはソフトウェアよりもエラーの検出が容易であるため、依然として高速な解決策です。曖昧でわかりにくい。
ハードウェア デバッグに関しては、物理コンポーネント ボードを溶接した後、まずマルチメータを使用して産業用ボードの電源を測定します。電源は最も重要な問題であり、特に確認する必要があります。電源のショートや正負極性の間違いを防ぎます。その後、回路の接続に問題がないか、はんだ付けの甘さや部品の欠品がないかをよく確認し、部品の取り付けに問題がないか、規定に適合しているかを確認してください。私は大学で 4 年間この作業を行っており、多くの実践的なトレーニングを経て、今でもこれらに慣れていますが、コンピュータでデバッグすると、まだ多くの問題が見つかりました。

4. プログラムのソースコード  

Keil 5 は、米国 Keil Software 社の 51 シリーズおよび STM32 シリーズ互換マイコン用の C 言語ソフトウェア開発システムで、アセンブリに比べて機能、構造、可読性、保守性の点で明らかに優れており、学習が容易です。使いやすい。 Keil は、C コンパイラ、マクロ アセンブリ、リンカ、ライブラリ管理、強力なシミュレーション デバッガなどを含む完全な開発ソリューションを提供し、統合開発環境 (μVision) を通じてこれらの部分を組み合わせます。 Keil ソフトウェアを実行するには、WIN98、NT、WIN2000、WINXP およびその他のオペレーティング システムが必要です。 C 言語を使用してプログラミングする場合は、Keil がほぼ最良の選択ですが、C 言語を使用せずにアセンブリ言語のみを使用してプログラミングする場合でも、その便利で使いやすい統合環境と強力なソフトウェア シミュレーション デバッグ ツールにより、Keil が最適です。半分の労力で2倍の結果が得られます。

情報には次のものが含まれます。


完全な情報が必要な場合は、下の名刺をクリックして私を追加し、Baidu ネットワーク ディスクのダウンロード アドレスとリソース圧縮パッケージの抽出コードを聞いてください。
 


 

おすすめ

転載: blog.csdn.net/ENGLISH_HHZ/article/details/132911208