AVR マイコンを 用 いた 交 通 信 号 機 制 御 佐 藤 哲 也 麓 裕 太 妹 尾 淳 暉 1. 研 究 概 要 近 年, 様 々なワンチップマイコンが 登 場 し ており, 電 子 工 作 を 行 う 上 で 身 近 な 存 在 とな っている 私 たちはその 中 の1つである,AVR マイコンの 活 用 について 研 究 し, 道 路 にある 交 通 信 号 機 模 型 の 製 作 を 通 じて AVR マイコン について 理 解 を 深 めることを 目 的 とした 2. 研 究 内 容 私 たちは 次 の 3 つのことについて 研 究 した (ア) AVR についての 学 習 と 理 解 (イ) 信 号 機 模 型 の 製 作 (ウ) AVR マイコンプログラミング 開 発 環 境 と 制 御 プログラムの 作 成 1.ワンチップマイコンと AVR マイコン ワンチップマイコンとは,IC という 小 さい 部 品 の 中 に CPU,ROM,RAM の 他,I/O ポート コントローラを 内 蔵 しているもので, 特 定 の 動 作 を 行 うプログラムを 組 み 込 むことができ, 主 に 電 化 製 品 の 様 々な 制 御 に 用 いられる そ の 他 にも 自 動 車 の 燃 料 供 給 制 御, 携 帯 電 話 な どに 使 われており 我 々の 生 活 を 便 利 に, 快 適 にしてくれるものである その 中 でホビーユ ーザが 使 いやすいものとして,PIC,AVR,H8 等 があげられる ワンチップマイコンは 発 売 当 初 マスク ROM や PROM が 中 心 であったが 現 在 は EEPROM が 主 流 となり 大 変 使 いやすいものとなった また, CPU のクロック 周 波 数 や 向 上 により 大 型 にな り, 大 きなメモリが 自 由 に 利 用 できるように なった また 8bit だったものが 32bit まで 拡 張 されている その 中 で 今 回 は,AVR につい て 研 究 を 行 った AVR はアメリカの Atmel 社 が 1997 年 にアー キテクチャを 発 表 したワンチップマイコンで, PIC と 同 じようにプログラムを 書 き 込 むこと で 制 御 する AVR は PIC のライバルマイコン として PIC の 欠 点 を 補 う 構 成 である そのな かでも PIC より AVR の 利 点 は 主 に 2 つあり, (1) AVR は 入 出 力 に 対 して 完 全 な read( 読 み 込 み ) -modify( 修 正 ) -write( 書 き 込 み)が 出 来 ること AVR は 特 定 のビットにのみ ON-OFF 制 御 する 命 令 があり, 他 のポートと 関 係 なく 独 立 した 動 作 ができる (2) 1 クロックで 1 つの 命 令 を 実 行 できる こと PIC は AVR と 違 い 4 クロックで 1 つの 命 令 を 実 行 する そのため AVR と PIC を 比 べると 5~8 倍 差 が 出 る この 2 つの 利 点 を 生 かし AVR での 開 発 に 取 り 組 んだ 現 在,Web ページを 見 ると PIC と AVR の 情 報 量 の 差 は PIC のほうが 歴 史 が 長 いため, 日 本 では 断 然 PIC に 分 がある しかし,AVR マ イコンの 資 料 が 増 えてきた 今,PIC に 負 ける とも 劣 らない 性 能 を 持 っていると 言 えるだろ う 2. 信 号 機 回 路 の 製 作 まず, 信 号 機 の 動 作 を 確 かめるための 試 験 回 路 を 製 作 した 主 な 部 品 としては,インバ ーター, 信 号 機 の 点 灯 には LED を 使 用 した AVR は ATtiny2313 を 使 い,マイコンの ON-OFF 制 御 で 道 路 にある 交 差 点 が 再 現 できるように プログラミングをしていく
この ヒダピオ 学 習 回 路 を 使 ったのは, 今 回 私 たちがはじめてプログラミング 環 境 を 開 発 することにあたり, 初 めてでもわかりや すいものにしようと 考 えたとき,この ヒダ ピオ 学 習 回 路 を 発 見 した またこのソフト に 対 応 したライタが 自 作 できると 分 かり,ぜ ひ 利 用 してみようと 考 えた 図 1 交 通 信 号 機 実 験 回 路 図 1 に 示 すように, 右 上 に AVR, 左 側 の LED は 上 にある 4 つが 歩 行 者 用,その 他 が 普 通 自 動 車 用 信 号 である 図 2 回 路 図 3. 開 発 環 境 AVR マイコンのプログラムを 作 成 する 方 法 として 一 般 的 には AVR Atmel mkii ライタを 使 用 し AVR Studio というソフトでプログラム を 作 成 する しかし 今 回 は,なるべく 簡 単 に 行 うために, ja_hidapio 通 称 ヒダピオ 学 習 回 路 を 用 い てプログラミングを 行 った このプログラミ ングツールは 中 学 校 の 技 術 家 庭 科 の 制 御 計 測 教 材 として 主 に 利 用 されており, 株 式 会 社 トップマンより 販 売 されている 教 材 のライタ をつかってプログラミングを 行 う 図 3 HIDaspx と 書 き 込 みの 様 子 このライタは HIDaspx といい, HIDaspx の HID はヒューマンインターフェースデバイスの 略 で, 付 属 の USB ケーブルをパソコンにつな げ る だ け で ド ラ イ バ を イ ン ス ト ー ル し な く て も, コ ン ピ ュ ー タ が 自 動 認 識 す る こ と で, ja_hidapio から AVR に 書 き 込 む こ と が で き る このライタはライタ 動 作 用 に HIDaspx のフ ァームウェアを 書 き 込 んだ AVR をライタ 回 路 に 接 続 している つまりライタ 動 作 させるた めに AVR を 使 用 する 図 4 の 回 路 図 でライタ と 書 き 込 む 用 の AVR をつないでいる 図 4 HIDaspx 接 続 回 路 図 図 3 に 示 したように 今 回 は 回 路 図 の 右 側 の AVR はブレッドボードに 接 続 した
4.プログラム 応 したプログラム 命 令 が 図 8 のようにプログ ラムエリアに 挿 入 されることで,プログラム を 作 成 していく 図 5 ヒダピオ 学 習 回 路 この 簡 易 プログラムによるプログラム 作 成 手 順 を 説 明 する 図 6 簡 易 プログラム 入 力 画 面 図 6 に 示 すところに,プログラムを 入 力 し ていく 図 8 プログラム 挿 入 図 7 で 選 択 した 要 素 は, 上 記 のように 上 の テキストボックスに 格 納 される そこで 必 要 な 修 正 を 加 え, 追 加 挿 入 することでプログ ラムを 書 いていく ちなみに,このソフトの 使 用 言 語 は BASIC で 初 心 者 にもわかりやすい ものとなっている プログラム 完 成 後, 図 9 にあるファイル 名 を 指 定 し, コンパイラへ をクリック コンパイルと, 指 定 した bas フ ァイルを bascompi.bas として 保 存 する 図 9 コンパイラ 部 (20 個 まで 保 存 可 能 ) 図 7 GUI 入 力 フォーム( 中 級 モード) 図 7 はプログラムに 必 要 な 要 素 を 選 択 する ものである 今 回 は, 中 級 モードの 丸 で 囲 ん だ 部 分 の 要 素 を 使 った この 図 の 上 部 にある モード 設 定 を 選 ぶとレベルによって 使 用 でき る 命 令 アイコンが 表 示 される 次 にプログラ ムの 命 令 アイコンをクリックしていくと, 対 図 10 bas ファイル 保 存 完 了 画 面 図 11 バスコンピ 実 行 同 じ ja_hidapio の 中 に 付 属 されているバ
スコンビというソフトをダブルクリックし, 先 ほどの bas ファイルを hex ファイルに 変 換 する (この hex ファイルを AVR に 書 き 込 む ) 図 12 HAG_mini( 書 き 込 みソフト) AVR への 書 き 込 み 方 法 はまず,HIDaspx が USB ポートに 接 続 されているかを 確 認 し 読 み 出 し ボタンをクリック このとき,デバ イス 名 に ATtiny2313 と 表 示 されれば 良 い その 後,プログラム 欄 に 書 き 込 む hex ファイ ルを 指 定 する (... は 参 照 ボタンである ) それから プログラム 書 き 込 み ボタンをク リックすれば AVR に 書 き 込 める この 書 き 込 んだ AVR を 図 1 の 信 号 機 回 路 にセットして 動 作 を 確 認 する portb=12,4000 portb=10,2000 Loop End 説 明 portb= 数 1, 数 2 とは 数 1 AVR の PB0 から PB7 を 使 い,PB0 を 最 下 位 ビッ トとして 10 進 数 で 表 している 数 2 表 示 させる 時 間 を ms(ミリ 秒 )であらわす その 動 作 条 件 を 表 などに 書 き 出 し, 点 灯 点 滅 を 行 うよう LED につながる 端 子 に 1 を 設 定 する 3. 研 究 のまとめ ワンチップマイコンである AVR について 理 解 を 深 め,その AVR を 使 ってのものづくりの 1 つとして,ごく 一 般 的 な 交 差 点 を 今 回 は AVR で 実 現 させることを 目 標 として 研 究 を 行 った この 交 通 信 号 機 はシーケンス 制 御 といい,LED が 点 灯 する 順 番, 時 間 を 制 御 するものである それを 今 まで 使 ったことのない AVR を 用 いて 書 き 込 み 環 境 を 開 発 し, 制 御 を 行 った 今 回 構 築 した 開 発 環 境 は 電 子 工 作 をやった ことのない 人 でも 簡 単 にあつかうことのでき るものである この 研 究 で 学 んだことや,も のづくりの 大 切 さ, 楽 しさを 電 子 工 作 のやっ たことのない 人 に 伝 えていければと 思 う 図 13 今 回 再 現 した 交 差 点 のイメージ 実 際 の 簡 易 プログラム 例 ddrb=255 Do portb=9,1000 portb=33,4000 portb=17,2000 portb=9,1000 参 考 文 献 ヒダピオ 学 習 回 路 http://hidapio.jp/ いますぐ PIC をやめて AVR に 移 行 すべき 10 の 理 由 http://d.hatena.ne.jp/yaneurao/20080228 交 通 安 全 教 室 用 信 号 機 http://siva.cc.hirosaki-u.ac.jp/usr/koya ma/signal/ 株 式 会 社 トップマン http://www.topman.co.jp/
12 月 7 日 ( 金 )~15:00 提 出 文 書 の 清 書 はWordを 使 用 し, 紙 に 出 力 したものと 電 子 ファイルの 両 方 を 提 出 1 月 22 日 ( 火 ) 情 報 技 術 科 課 題 研 究 発 表 会 ( 書 式 ) 余 白 段 組 間 隔 上 下 左 右 全 て20mm 2 段 組, 段 幅 80mm 10mm 書 体 10.5ポイント,MS 明 朝 体 段 落 20 文 字 40 行 サイズ 英 数 字 は 原 則 として 半 角 1 桁 の 数 字 の 場 合 は 全 角 半 角 カナは 使 用 しない 文 字 機 種 依 存 文 字 は 使 用 しない,1,2,3,ミリなど 写 真 解 像 度 150dpi 以 上 図 図 記 号 ( 図 の 下 側 ) 表 表 番 ( 表 の 上 側 ) 写 真 写 真 番 号 ( 写 真 の 下 側 ) 語 尾 ~である, ~した 1. 研 究 概 要 2. 研 究 の 具 体 的 内 容 3. 研 究 のまとめ 参 考 文 献 の 各 項 目 名 はそのまま 使 用 する