1 / 18

チャタリング, AD 変換

チャタリング, AD 変換. 新堀 押村 奥崎. ON. OFF. SW_OFF. SW_OFF. SW_ON. SW_ON. ON. OFF. キー処理. 押している間の処理 if (!P7DR.BIT.B7) 押した瞬間の処理. SW_OFF. SW_ON. ON. OFF. フラグを使用したキー処理. if (!P7DR.BIT.B7) { if (!flag) { 処理を記述 } flag = 1; } else flag = 0;. 0. 0. 0. 0. 0. 1. 1. 1. 1. 1. 1.

kipling
Download Presentation

チャタリング, AD 変換

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. チャタリング,AD変換 新堀 押村 奥崎

  2. ON OFF SW_OFF SW_OFF SW_ON SW_ON ON OFF キー処理 • 押している間の処理 • if (!P7DR.BIT.B7) • 押した瞬間の処理

  3. SW_OFF SW_ON ON OFF フラグを使用したキー処理 if (!P7DR.BIT.B7) { if (!flag) { 処理を記述} flag = 1; } else flag = 0; 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0

  4. SW_OFF SW_ON チャタリング • スイッチの接点がバウンドし、ON/OFFを繰り返してしまう現象 • スイッチを押した瞬間/放した瞬間に発生 • 簡単なフィルタ処理が必要となる チャタリング

  5. SW_OFF SW_ON 0 0 0 0 0 1 0 0 0 0 1 2 3 4 0 0 0 0 SW_OFF SW_ON 0 0 0 0 1 1 チャタリングの処理 • チャタリングの誤作動防止 • 簡単なフィルタリング処理

  6. 5.0V 2.5V 0.0V 0 512 1023 A/D変換 • 入力されたアナログ値を10bitのデジタル値に変換 • 0~5Vの電圧値を0~1023の数値に変換

  7. 5V 0V 0 1 2 3 4 5 6 7 逐次比較方式 • 3ビット変換機の例 5(V)/7×4=2.857(V) 5V 0V 入力値

  8. A/D変換の使い方 • 初期設定 • モードの設定 • 入力チャネルの設定 • A/D変換のスタート • メインループ • A/Dエンドフラグの確認 • A/Dデータレジスタの値の取得

  9. R/W 初期値 R/W* 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 0 R/W R/W 0 A/Dコントロールレジスタ • モードの選択 • 1 スキャンモードを選択 • チャネルセレクト • 011AN0,AN1, AN2, AN3を選択 ADCSR - - - SCAN - CH2 CH1 CH0

  10. R/W 初期値 R/W* 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 0 R/W R/W 0 A/Dコントロールレジスタ • A/D変換の開始/停止を選択します • 1にセットすると開始 • 0にクリアすると停止 ADCSR - - ADST - - - - -

  11. R/W 初期値 R/W* 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W 0 0 R/W R/W 0 A/Dステータスレジスタ • A/D変換の終了を確認 • A/D変換が終了するとフラグが1にセットされる. • 手動で0にクリアする必要がある. ADCSR ADF - - - - - - -

  12. A/Dデータレジスタ • A/D変換の結果を格納 • 左詰めの 10bit に格納される • ADDRA チャネル0(温度計) • ADDRB チャネル1(加速度計 X軸) • ADDRC チャネル2(加速度計 Y軸) • ADDRD チャネル3(加速度計 Z軸) ADDRA AD9 AD8 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 - - - - - - 初期値 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 R/W R R R R R R R R R R R R R R R R

  13. A/D変換を用いたもの • 温度センサ(サーミスタ) • 温度によって変化する抵抗値から、温度を測定するもの • 使用例:温度計など • 加速度センサ • 速度が変化するときの慣性力から、加速度を測定するもの • 使用例:Wiiリモコン、車のエアバックなど 「Wikipedia : Wiiのコントローラ」より転載

  14. 温度センサ(サーミスタ)の特性 y = -0.63x + 25.83

  15. サーミスタの回路 VCC(5V) A/D変換値が520のとき 520 : (1023-520) = y : 10kΩ 503y = 5200kΩ y = 5200 / 503 = 10.33kΩ 10.33= -0.63x + 25.83 0.63x = 15.50 x = 24.60℃ Resistor 10kΩ P70 Thermistor 可変 GND(0V)

  16. 加速度センサの軸 Z軸 Y軸 X軸

  17. 加速度センサの出力振幅、オフセット

  18. 加速度の求め方 加速度(G) = (A/D変換値 - 512) × 10000 / 2048 • A/D変換値 • センサから取得した値をA/D変換したもの • 512 • オフセット(0G時の電圧をA/D変換した値) • 10000 • 小数点を取るためにかける • 2048 • 1G当たりの数値である204.8を10倍して少数点を取ったもの

More Related