電圧計・電流計の回路設計とマイコン
電気的な設計について考える.
菊水の安定化電源みたいに予め電圧と電流値がわかれば便利だと思った.
それ用の表示も必要だと考えると,パネルメータより液晶がよさそう.
そういえばいつだかaitendoで液晶買ったなあ…
ArduinoでグラフィックLCDを動かす(S12232ZA編)(1) - しなぷすのハード製作記
使えそう!!
↔でも角度によっては見えにくいかもなあ&グラフィックはオーバースペック…青バック白文字の16*2のほうがいいかも
ちょうどATMEGA328p積んでたしいろいろちょうどよさげ!
マイコン電源電圧5Vで10bitとなると,「単純に計算して」分解能はだいたい0.03[V]かな.
それに諸々誤差が積み重なると,う-ん….
実際に試してみて外付けも考慮しようかな.
MCP3425(16Bit ADC I2C 基準電圧内蔵)搭載モジュール: 半導体 秋月電子通商 電子部品 ネット通販
さらに,書き込み実験もしてみた.
まずはAtmel Studioをインストール.
最新版の7をインストールしようと思ったが,なんかビデオカードデバイスを更新しろと言われた.
最新のにしても文句を言われたので,結局6.2を入れた.
書き込みはいつぞやaitendoで買ったAVRライタ - aitendoを使う.
ここからドライバーをダウンロードして,デバイスドライバから更新したが,
案の定,署名がないので無理矢理動かした.
起動時にF8を押してブート画面を出し,「ドライバー署名の強制を無効にする」を選択した.(Windows 7 tips 1〜5)
さらにUSB-ASPをAtmel Studio6で動かすには,コマンドでごちゃごちゃやらないといけないらしい.
Setting up USBasp for use with Atmel Studio 6 | Shannon Strutz
AVR PERU: USBasp y ATMEL STUDIO 6.X
コマンドはこれ
avrdude -c usbasp -B 2.0 -p ATMEGA328p -U flash:w:"$(ProjectDir)Debug\$(ItemFileName).hex":a
- 「-c」のあとにプログラムのタイプ…ここではusbasp
- usbaspって厳密にいうとなんなんだ?
USBasp is a USB in-circuit programmer for Atmel AVR controllers.(USBasp - USB programmer for Atmel AVR controllers - fischl.de)
AVRマイコンに書き込めるUSBってことみたい. - 「-B」のあとにクロック周期…ここでは2.0???
- よくわかんない
- 「-p」のあとに書き込むマイコンの名前
…ここではATMEGA328p - 「-U」のあとにread|write|v(なんだこれ??)とファイル名を指定
…ここでは"$(ProjectDir)Debug\$(ItemFileName).hex"を書き込む
$()内は環境変数的なやつ
詳細
Usage: avrdude [options]
Options:
-p <partno> Required. Specify AVR device.
-b <baudrate> Override RS-232 baud rate.
-B <bitclock> Specify JTAG/STK500v2 bit clock period (us).
-C <config-file> Specify location of configuration file.
-c <programmer> Specify programmer type.
-D Disable auto erase for flash memory
-i <delay> ISP Clock Delay [in microseconds]
-P <port> Specify connection port.
-F Override invalid signature check.
-e Perform a chip erase.
-O Perform RC oscillator calibration (see AVR053).
-U <memtype>:r|w|v:<filename>[:format]
Memory operation specification.
Multiple -U options are allowed, each request
is performed in the order specified.
-n Do not write anything to the device.
-V Do not verify.
-u Disable safemode, default when running from a script.
-s Silent safemode operation, will not ask you if
fuses should be changed back.
-t Enter terminal mode.
-E <exitspec>[,<exitspec>] List programmer exit specifications.
-x <extended_param> Pass <extended_param> to programmer.
-y Count # erase cycles in EEPROM.
-Y <number> Initialize erase cycle # in EEPROM.
-v Verbose output. -v -v for more.
-q Quell progress output. -q -q for less.
-? Display this usage.avrdude version 5.10, URL: <http://savannah.nongnu.org/projects/avrdude/>