N.Yamazaki's blog

主に音声合成について思ったことを書いてみようと思います。
<< 音声合成LSIで「オリジナルの音声時計」を作ろう!- その1 概要編 | main | 音声合成LSIで「オリジナルの音声時計」を作ろう!- その3 ソフト編 >>
音声合成LSIで「オリジナルの音声時計」を作ろう!- その2 ハードウェア編
前記事では何を作るかで終わってしまいましたが、今回は「オリジナル音声時計」のハードをウェアを組み立てます。

■用意するもの

[パーツ一式]

使用する電子部品は次のとおりです。
基本、秋月電子で入手できます。なお、スピーカーにφ20mmを使うならマルツかAitendoで売ってました。

■パーツリスト
  • IC1    AVRマイコン    ATmega328P-PU
  • IC2    RTCモジュール    AE-RX-8025NR
  • IC3    音声合成LSI    ATP3011F1-PU(他の声種でもOK)
  • Q1    セラロック    muRata 8MHz
  • R1    抵抗    1MΩ
  • R2    抵抗    1KΩ
  • C1    コンデンサ    0.1uF
  • C2    コンデンサ    0.047uF
  • C3    コンデンサ    0.1uF
  • C4    コンデンサ    22uF
  • T1    トランジスタ    2SC1815または同等品
  • S1    振動(傾斜)スイッチ 丸型(AT-407)
  • -    ICソケット 28P 300milタイプ 2個
  • SP    スピーカー  8Ω (LOTTORPで使うならφ20mm)

ほかに、次も必要です。
  • 基板(専用基板またはユニバーサル基板)
  • ケース(IKEAの時計「LOTTORP」¥299で購入。任意のケースでも可
  • プッシュスイッチ 2個 (ケースにあれば不要)
  • 電池ケース 乾電池2本用 (ケースにあれば不要)
  • Arduiino Uno
  • ブレッドボード

Arduiino Uno、ブレッドボードはブートローダーやスケッチの書き込みに使います。

現在のLOTTORPは、基板にスイッチと電池の電極が一体化されサイズも奥行きが8mmほど短くなってます。残念ながら今回作成した専用基板は使えません。今回使用したLOTTORPは2011年のロットでした。パネルのデザインも違うので区別できます。 比較画像 この古いほうもネットではまだ入手できるようです。

■ブートローダーの書き込みとFuse設定
この設定にセラロックを使いますので、半田付けの前にこの作業を行っておきます。

ブートローダーの書き込みは、新品のAtmega328P-PUをArduino Unoで使える(スケッチを書き込める)ようにするための儀式です。Fuseは、クロックソース選択などAtmega328P-PUデバイスの基本動作を規定するもので、デバイスのプログラムとは別の領域に設定を書き込みます。今回は乾電池2本で動かすために、Arduino Unoのデフォルトとは異なる値を設定する必要があります。

1. boards.txt 編集
Fuseの値をカスタマイズする方法はいくつかありますが、今回はArduino IDEの設定ファイルの「boards.txt」を一部追記する方法で行います。boards.txtは、通常、C:¥Program Files¥arduino¥hardware¥arduino¥avr にあります。Arduino Unoのセクション全体をコピーして次のように修正します。(今回使用したArduino IDEのバージョンは 1.6.1)


[boards.txt](一部抜粋)

2. ブレッドボード配線
boot_write_brd
図のように配線します(オレンジの部品は8MHzセラロック)。
(2015/04/27 ピン接続がずれてた間違いを修正)

3. 書き込み
  1. メニュー : ファイル > スケッチの例 > ArduinoISP
  2. メニュー : ファイル > マイコンボードに書き込む
  3. メニュー : ツール > ボード > Yukkuri Clock
  4. メニュー : ツール > 書き込み装置 > Arduino as ISP
  5. メニュー : ツール > ブートローダを書き込む
ステータスが「ブートローダーの書き込みが完了しました」になればOK。
これでスケッチが書き込めるようになります。

Atmega328PにはBODという電源電圧が規定値より下がるとソフトリセットをかけて暴走を防ぐための機能がついています。Arduino Unoは5V動作が前提なので、この電源電圧の規定値ガ2.8Vとなっているため乾電池2本動作で使うには高すぎます。そこで、今回はBODの機能を切るようにFuse設定を行います。


■ハードウェアを組み立てます

・基板の半田付け
RTCモジュールに付属の細ピン接続します。RTCモジュールのジャンパーJ1/J2/J3すべてオープンのままです。
基板にパーツをすべて半田付けします。音声合成LSIとATmega328P-PUは差し替えの可能性があるのでICソケットを使います。
注意点は、セラロックはATmega328P側に取り付けること。また、振動スイッチは、リードを2-3mm浮かせて半田付けして、その後、45度程度RTC側に傾けます。

[基板にパーツを実装したところ]

・プッシュスイッチ/スピーカー/電池ケースの配線
基板の端子INTのS(SET)とG(GND)間と、U(UP)とG(GND)間に2つのプッシュスイッチを配線します。
次に、基板の端子SPにスピーカーを配線します。極性は気にしなくてかまいません。
最後に、基板の端子BATTの+に電池ケースのプラス。もう一方にマイナスを配線します。

・LOTTORPをケースに使う場合(ロット違いに注意:上記「用意するもの」参照
LOTTORPの分解は、前面の薄いパネル(接着されている)をカッター等でゆっくり剥がせば、4本のネジが出てくるので、あとは簡単にバラせます。基板につながっている配線をすべて外し、ネジ止めされている基板も外します。LCDやLEDパネルはあとでスペーサーとして利用するので捨てません。使わないのは元の基板だけです。

ケースと基板の配線は、次のように配線しました。
    スイッチ:赤->GND 黄->SET 茶->UP
    電池:    赤->+  黄->GND

スピーカーは、微妙に収まらなかったのでケースのツメをカットして装着。その後、接着剤で固定します。
また、液晶の電極と基板の間をテープ等で絶縁します。当初、基板のランドが一部重なってLCDの一部が表示されてしまったので・・・。LED端子は未接続です。カットせずに将来のハード改良のためそのまま残します。


[ケースに配線後]

このあとは、ATmega328Pにスケッチを書き込んだ後、ケースを元通りに組めば完成です。
その3 ソフト編につづく

■LINK
音声合成LSIで「オリジナルの音声時計」を作ろう!

■参考
『簡単!ATmega328Pにブートローダを書きこむ(第2弾)』
http://blog-yama.a-quest.com/?eid=970164

 
| 電子工作 | 18:59 | - | - |
PROFILE
Follow
CATEGORIES
LATEST ENTRIES
SEARCH THIS SITE
RECOMMEND
RECOMMEND
RECOMMEND
Arduino Uno
Arduino Uno (JUGEMレビュー »)

AquesTalk pico LSIの評価ボードとして最適
RECOMMEND
Raspberry Pi Model B+ (Plus)
Raspberry Pi Model B+ (Plus) (JUGEMレビュー »)

これと AquesTalk pi で簡単にテキスト音声合成!
RECOMMEND
RECOMMEND
RECOMMEND
SONY MDR-CD900ST
SONY MDR-CD900ST (JUGEMレビュー »)

普段これで開発しています。
RECOMMEND
RECOMMEND
RECOMMEND