ハードウェアUSB、DAC、外部ADC、32Mb DataFlashを備えた開発ボードMAT90USB162

こんにちは、Habr!



徐々に小規模生産に成長した卒業プロジェクトを紹介したいと思います。



他のプロジェクトはこちら



実際、これはハードウェアUSBを備えたAVR AT90USB162に基づくオープンソースのプロトタイピングボードです。

このボードは初心者向けであり、主な重点はUART、SPI、1-wireの周辺の研究です。







ドキュメント



Zipの例



主な機能:

1)AT90USB162ハードウェアUSB、8 MIPS

2)AD7811 ADC 10ビット、4チャンネル、350kSPS

3)メモリDataFlash AT25DF321A 32Mb

4)AD5300BRM DAC 10ビット、4usセトリング時間

5)入力ボックス3x3.5 cm



現在、マイクロコントローラ(MK)のプログラミングとエンジニアリング全般は、ほとんどすべての人が自分で試すことができ、困難はありません。 学校でC / Pascalの2次方程式を解いた人は、信頼性の高い組み込みシステムの開発者になる可能性があります。



MKのプログラミングにおける主な難しさは、「ああ、マイクロコントローラ、それは非常に困難です。回路、電子機器などを勉強する必要があります...」など、初心者をはじくステレオタイプです。 これはすべて間違っています! AVRマイクロコントローラー、場合によってはプログラマーでさえ動作するために、実用的なものは何も必要ありません。



たとえば、以下のボードを使用して、AVRでアプリケーションの作成を開始するために必要なことは次のとおりです。

1)USBミニケーブル

2)MKにファームウェアをダウンロードするための無料のFLIP3プログラム

3)C / C ++ gccコンパイラ

4)メモ帳:)



そしてそれだけです!



以下に、「バトル」で使用したいくつかの例を示します。このようにして、ボードの機能が実証されます。







1)HC05 Bluetoothモジュールの使用



中国のHC05 Bluetoothモジュールなど、追加のモジュールをボードに簡単に接続できます(ebayで使用する準備ができました)。 ここでの作業に問題はありません。スレーブモードでは、モジュールはuartポートの拡張として機能します。 デフォルト設定は、9600、8n1で使用されます。





モジュールの詳細については、こちらをご覧ください。

リンク



これは、コードの観点から、bluetoothを介して増加する一連の数字を挨拶して送信するコードです。これは、uartを介した通常のデータ送信です。



#include <avr/io.h> #include <avr/delay.h> #include "uart.h" #define FOSC 8000000 // Clock Speed #define BAUD 9600 #define MYUBRR (FOSC/(16*BAUD))-1 int main(void) { unsigned char i; DDRD=(0<<PD2)|(1<<PD3); // Rx,Tx UART' DDRB=0xFF; USARTinit(MYUBRR); //   8n1 // PD3 - Tx // PD2 - Rx sendString('Hello!\r\n'); while(1) { for(i=0;i<255;i++) { sendChar(i); _delay_ms(100); } } return 0; }
      
      







2)LCDモジュールuLCD-320-PMD2の使用



私はもともと、このボードを設計して、宇宙空間で向きを合わせることができる原始的な移動ロボットを作成しました(光、音などに対する反応)。 そのため、これらの目的のために、ロボットの状態を監視するSDカードをサポートする320x240カラーTFTモニターを購入しました。 それを操作するためのライブラリが実装されており、まもなくユーザーガイドに追加されます。





データシート



わずか5本のワイヤ(電源、グランド、Rx、Tx、RST)でUARTを介してボードに接続するため、モニターを操作するのは非常に便利でした。最大500Kの交換レートをサポートし、プリミティブを描画するコントローラーがボード上にあります。マウスレンダリングなど、他のコマンドもサポートされています。



3)DS18b20温度センサーの使用



ボードに基づいて、たとえば次のように、情報を収集するための自律システムを作成できます。

温度センサーは1線インターフェースを介してデジタルコードを生成し、コントローラーはパケットを生成し、UARTを介してBluetooth経由で端末のPCに送信します。温度は摂氏で表示されます。 しかし実際には、350kSPSのADCチャネルが4つあり、自律型測定または制御デバイスの小さな回路を組み立てることができる小さな組版フィールドがあるため、これはすべてとは程遠いものです。 アプリケーションの新しい例を間違いなく公開すると思います。





1-wireの詳細はこちらをご覧ください:

リンク1

リンク2

リンク3



デモプロジェクトには、PC端末からのDAC制御、ADCからのデータ収集の例があります。

さらなる使用例とコードはこのサイトに投稿されます。質問をすることができるフォーラムもあります。



プロジェクトは発展し、コメントでは、プロジェクトの改善に役立つ人々の意見と建設的な批判を聞きたいと思います。



All Articles