2016-03-03 12:28 | カテゴリ:1/8モデル
やっと出来ました。

電飾と発声の基板を胴体内に入れるのに一苦労でした。

FRD1.jpg

事前に、ある程度基板の大きさや、LED配線の引き回しを計画しましたが、基板上の部品があとから変更になったりして、結構苦労しましたが、最後は、「ホットボンド」のお世話になって、接着しました。
胴体に入れた後は、回路の修正や部品交換はきわめて難しいので、取り付け前に再度動作確認をしました。

FRD2.jpg

胴体に回路が入れば、あとは、足や頭部を接着し、細かな部品を取り付けて、細部の塗装と、全体的なウェザリングをして、完成です。

FRD3.jpg

FRD4.jpg

唯一気になったのは、発声の音量でした。
これまでもテストして、大きな音になるように、アンプの利得を変更しましたが、胴体内にスピーカーを入れて、結局はふたをして閉じてしまう構造になるので、音がかなり小さくなりました。
アンプ回路の定数を変えるわけにもいかず、結局もう一つスピーカーを追加して、8Ω+8Ω=4Ωの負荷として、音が多少でも大きくなるようにしましたが、感覚的には、ちょっとマシかなぁ?
と言うくらいでした。

と言うわけで、フライデーの雄姿をご笑覧ください。
まだ、デカールは貼っていません。(疲れました)

【ジャンル】:趣味・実用 【テーマ】:ホビー・おもちゃ
コメント(4)
2016-02-20 20:40 | カテゴリ:1/8モデル
紆余曲折を経て、フライデー電飾の部分が完成しました。
一部、頭部のLEDは、組み立ての都合上、接続していませんが、胴体部分のLEDは配線し、動作確認が出来ました。
思ったとおりに一応動作しましたので、記念にビデオを撮影しましたので、ご笑覧ください。



今後は、プラモデル本体の塗装と組み立てになります。

あと一息でしょうか。



2016-02-18 15:16 | カテゴリ:1/8モデル
電子回路の基板作成の仕上げと、プログラム作成を検討しています。

実は、また、はまってしまいました。
昨日までちゃんと動作していたプログラムに、カラーLED点滅を追加すべく、プログラムの整理をしました。
そのとたん、音声が出ない状態に。

また、はまりました。
一体なのがどう悪さしているのか見当もつきません。
昨日までのハードにソフトを見やすく整理しただけです。

ハードの半田付け不良は無いか?
ICがソケットにちゃんと入っているか?
2時間掛けて調べました。
問題ありません。

後はソフト。もう一度じっくり見たら、問題ありました。
リセット後に、コマンドを送る前に、最初に音声モジュールにダミーのコマンドを送ることを前提でプログラムしていましたが、それを忘れて、ダミーのコマンド送信部分を消去していました。
その部分に説明を記述していなかったので、不要コマンドと勝手に考えていました。

ダミー

で、今日は、フライデーが喋ると、音声モジュールの信号を検知して、LEDを細かく点滅させる部分を製作しました。
まずは、ロジックが上手くいくか、モニター用のLEDを変わりに点滅させてみました。
今後はこれをカラーLEDで、しかも、話す内容に合わせてカラーを変化させるようにしたいと思います。

と、書いた後で、諸問題が発生しました。

PIC-16F877に先日、カラーLEDを駆動させて成功したプログラム(C言語とアセンブラ)を組み入れて、コンパイルしましたが、うまくありません。
エラーメッセージが多く出て、よく理解できないのですが、要するに、このクラスのPICではメモリーをバンク切り替えで使用しているのですが、その境界を超えてデータのやり取りをしている、と言っているようです。
アセンブラにC言語からパラメータを渡し、それを処理するのですが、今回は、渡すパラメータを、配列の色指定から、LED駆動の配列に移しているところが悪さしているようです。
はっきり分かりません。

いろいろプログラムの場所やメモリー領域の位置を調整しても、コンパイルできません。
もっとも原因がはっきり理解できていませんので(汗)

何か解決策は無いかと考えましたが、唯一、思いついたのは、もう一つPICを搭載して、それにカラーLEDの制御をさせればよいのでは?
と言う考えです。

早速、一番標準のPIC-16F84Aをブレッドボードにセットして、先日のカラーLEDを駆動したプログラムをセットし、電源オン!
当たり前ですが、ちゃんと動きました。
あとは、ここに、メインのPIC基板から、何色にカラーLEDを発色させるかのデータを3か4ビットで入力して、喋っている時に光らせればOKです。

で、ふとXC8の画面を見るとリソース(データメモリーとプログラムメモリー)が90%使用中となっています。
なんとXC8では、16F84Aのメモリーはあっという間に消費してしまうようです。

memory.jpg


仕方が無いので、16F873というメモリーに余裕があるPICを使用することにしました。

先は見えてきました。

早速、PICを用意して回路をブレッドボード上に組んでテスト。
ちゃんとフルカラーLEDも点灯します。よしよし。

次に、メイン基板から送られる色指定の番号に従って、カラーLEDの色を変化させます。
まずは、ブレッドボード上で、指定したポートBの0-2番の3ビットで、7色の色を指定するようにプログラム。
ところが、これがビット指定とは無関係に色が変化します。
プログラムも確認し、ブレッドボード上に組んだ回路も、ちゃんとポートB0-2に繋がっています。
そこで、ポートBではなく、ぽーとCのビット0-2につなぎかえることにしました。
すると今度はちゃんと正しく色が点灯します。

あれーっ!
と言うことは、ポートBが壊れたか?
もう一度回路を戻して、新しいPICに交換してみました。
やっぱり、動作が変です。

ポートCではちゃんと動くのにポートBではだめ。
ここではまりました。
一日悩んで、考えて、一晩寝て。
そして、今朝、なんの気なしにPICのピン配列を見ていると、気づきました。
「大ボケ」でした!
ポートBのピン配列をRB0-7と思っていたのが、RB7-0の逆でした。
これでは、ビット0-2に与えた電圧の色信号が読み取れるわけはありません。

もー、イヤになります。

ようやく、サブ基板が出来ました。

17-1.jpg

17-2.jpg


これをメイン基板と接続してテスト。
結果は上々。

17-3.jpg


ちょっと気分が良いので、胴体部分に仮セットして、光らせてみました。
ご笑覧ください。
なかなか雰囲気が出ているのではないかと、自画自賛です(笑)







2016-02-14 21:49 | カテゴリ:1/8モデル
ブレッドボード上で電子回路の動作確認が出来ましたので、ロボットに内蔵する基板を製作しました。
基板を胴体内部にセットした場合のその他のLEDやパーツなどとの干渉が無いか胴体部分を仮組みして確認しました。

16-2.jpg

16-3.jpg

スピーカーも胴体の最下部にちょうど納まります。

16-1.jpg

先に製作していた、口を発光させるカラーLEDモジュールも収まりそうです。

16-5.jpg

16-4.jpg

汎用の基板を胴体の断面に収まるように切削し、PICと音声LSIのICソケットを取り付け、基板回路図を作成して、回路の半田付けを行いました。

16-7.jpg


で、ここで電源ON、、、、、おや???


PICに電源が入るのですが、音声モジュールが発声しません。
うーん、ブレッドボードではちゃんと動作していたのに。
そのままを基板に組み上げて、半田付けしただけです。


また、PCの通信ソフトを用いてRS232のシリアル通信を確認しました。
PICからは、初期化コマンドが送られているのに、音声LSIから、ちゃんとした受信コマンドが返されません。
電源SWをぱちぱちすると、時々動作します。
これで、また2時間悩み。

結果、製作した基板のVDDとVSS間に電解コンデンサーを入れて、音声LSIのリセット端子を単にオープンにしておくのではなく、抵抗とコンデンサーで、電源ON時にゆっくり+になるようにしたら、電源立ち上がり時にちゃんとリセットされて、起動するようになりました。

16-8.jpg


この二つのコンデンサーで、正常に動作するようになりました。

2016-02-12 17:30 | カテゴリ:1/8モデル
気になっていることがあります。

ロボットの音声を出せるようになりましたが、なんとも小さな声です。
虫の鳴くような。
そこで、アンプ回路を取り付けることにしました。
以前に購入した汎用のオーディオアンプICがありました。

AMP.jpg

ゲインは20で十分かと思って、回路をセットしましたが、まったく不十分で、結局ゲイン50の回路となりました。

KAIRO.jpg

ブレッドボードに回路を追加しました。
もう配線がすごいことになっています。
実際は汎用基板に半田付けしますが。

TORITUKE.jpg


そして、音声も大きく、クリアーになりました。