2015-10-30 18:05 | カテゴリ:1/24モデル
8月初旬から製作していましたが、ようやく完成に至りました。
ライト類の電飾化に多少時間をとられたのと、同時進行のNゲージコントローラのプログラミングにかかっていたりで、3ヶ月も過ぎてしまいました。

電飾は、ようやく扱いに慣れてきたチップLEDを使用し、ポリウレタン線を半田付けして実現しましたが、このポリウレタン線の調達で余り調べないで注文したら、超極細の線が届いて、半田付けや配線の取り回しに苦労しました。
しかし、おかげで、後部から前部へテールライトの配線を引き廻す際に細いパーツの裏を通すことが出来て、良かったです。

ディテールアップに関しては、エンジン上部に細いビニール線でイグニッション配線を行いました。
また、塗装は、薄めの塗料を何回にも分けて吹き付け、仕上げにクリア塗装を何回も行い、ある程度の光沢を出しました。
今回は、墨入れは行っていません。

などなど、で、完成写真がこちらです。
まずは、ライトOFFの写真と、

DSC01328.jpg

ライトONの写真です。

DSC01329.jpg


チップLEDですが、結構光量があり、抵抗は1KΩで十分でした。
あまり明るいとプラパーツを透過して光が漏れるので、このくらいでよかったと思います。

DSC01331.jpg


方向によっては、スモールランプのオレンジ色が、上手く反射して、綺麗です。

DSC01333.jpg


テールランプの光量もちょうど良い感じで、ストップライト周りにも適度に明かりが漏れて、上手く行っています。

DSC01336.jpg


夜間の状態ではこの様になります。
多少オレンジ色が目立ちすぎの感がありますが、スルーします(汗)。

全体像を上から見ますとこんな感じです。

DSC01338.jpg


もうお分かりでしょうか?
すべて、エンジンカウルが開いた状態です。
閉めた状態が再現できないのです。

あの、オレンジ色のイグニッションケーブルを追加したせいで、エンジンの上部のスペースに収まりきらず、エンジンカウルが閉まらなくなってしまったのでした。
たぶんビニル線の太さがオーバースケールだったのでしょう。
1/24でなく、1/12くらいならちょうど良かったのでしょうが。

思い切って、エンジンカウルを支えるステーも瞬着で軽く固定しました。

という事で、随所に不本意なところがありますが、完成しました。
2015-10-28 18:03 | カテゴリ:1/24モデル
Nゲージコントローラにかかりっきりになってしまい、いささか間が空いてしまいました。
カウンタックも作業を進めました。

課題の、電飾ですが、テールライト、ヘッドライト(4灯)、およびフロントのスモールの計8灯を点灯式にしました。
いづれもチップLEDにポリウレタン線を半田付けして、それをボディーの裏側に沿って止め、フロントのボンネット裏まで引き伸ばし、最終的には、基板に1KΩの抵抗を8本半田付けした物に接続して、その後基板をボンネット裏に接着しました。

DSC01323.jpg

DSC01324.jpg


あとは、規定どおりに、スモールライトのカバーを取り付けました。
シャーシは室内部分とエンジンを接着し、あとは、ドアのヒンジ部分を取り付けた後、いよいよボディーとシャーシの組み立てになります。
後になって、「LEDが点灯しない!」と、ならない様に、今のうちにテストしておきました。(OKです)

リトラクトのヘッドライトは、今回はUPした常態で半固定にしてあります。(裏からマスキングテープで固定)
また、ドアですが、開閉選択式ですが、ヒンジを取り付ける際に、ドアを冶具代わりにして接着するような指示でしたので、その通りしたら、ドアまで着いてしまいました(汗)
仕方が無いので、ドアは、閉じた状態で固定としました。
ドアヒンジの設計に問題あると思います。

DSC01326.jpg



シャーシーとボディーを並べて見ました。
エンジンに取り付けたイグニッション配線も、オレンジ色が鮮やかです。

しかし、この後に予想もしないことが判明します。
恐るべし、1/24スケールの落とし穴!




2015-10-23 22:52 | カテゴリ:PIC応用回路
当初の第一目標まで完成にこぎつけました。


このNゲージコントローラーは、VVVF音をなんとか再現できないか?という所からスタートした話でした。
これまでPICを使用したPWMのコントローラーを自作して、時々Nゲージを走行させる時に利用していました。
基本回路は、WEBにあった、12Vのライトの明るさをを制御する回路をそのまま利用させてもらいました。
PICのPWMを利用し、その出力をTRで一次増幅した後、FETをドライブする回路です。

コントローラの製作に当たって、基本的な方向性としてとして、

1、何より、カッコいい事。
2、VVVF音(なんちゃって)を再現できる事。
3、各種、関係する表示が出来る事。(カッコいい事に繋がりますが)
4、コストをかけなくて済む事。

をあげました。

1、に関しては、素人工作ですから、性能より外見!ですね。

まずは、自由な発想で、理想的な発想でデザインを考えました。
基本は、表示部にLEDを用い、マスコンや各種データ表示を行うものです。

DSC01191.jpg


この場合、多くのLEDを制御する為に、表示用にPICを1個、PWMとVVVF制御用に1個と計2個のPICが必要になります。
また、この2台のPICを通信(私の場合はRS232シリアル)で接続し、表示する情報を送信します。
結構、大変な工作になりそうです。
基本的にはLED表示を専用にするPICを増設するだけですので、このアイデアで考えていくことにしました。

2、はWEBで先輩諸氏の作品を拝見し、これはなんとか実現したいと思いました。

VVVF音を再生するには、予め周波数を設定し、その数値テーブルにしたがって、周波数を上下させつつ、必要に応じてその数値テーブルにそって、順次周波数を変更していくことが必要です。
周波数の決定や、どの程度周波数を上下するのか、そのタイミングで周波数のステップアップをするのか?
いろいろ検証していくことが必要になりそうです。

まずは、PICのPWMとVVVF音を発生させるスピーカーを動作させる回路を含めて、ブレッドボード上に製作しました。
これを利用して、PWMの動作や、課題のVVVF音の具合を確認しました。

DSC01199.jpg


いろいろなデータをEXCELで計算しつつ試して見ました。
ポイントは、実車の様に聴こえると言うことが大事なんですが、小さな模型のモーターを駆動するので、周波数が大きく変化する際に、供給される「電力」が変化すると、モーターの回転が変化し、列車の挙動がかわります。
したがって、周波数切り替え時には、周波数が変わっても単位時間当たりの電力が変化しないように、デューティー比を変える様にしました。

周波数やデューティー変化の様子は、手持ちのオシロスコープで確認しましたが、思ったとおりの動作をしているようです。

とりあえず一つの加減速パターンが出来たので、それを元にして、残りの回路の製作とそれに伴うソフトを組み上げることにしました。

3、は、「電飾大好き」な私としては、操作に応じて、LEDやメーターがピカピカする方が楽しいですよね。

当初の計画で、LEDのピカピカをどの様に実現するか、考えていました。
実際に、基板にLEDを取り付けて、どの様な情報をどの様に表示すれば「カッコイイ」かを考えて、検討。
実際に基板にLEDを差し込んで考えて見ましたが、問題が。
LEDの数が多く、配線も「ダイナミック点灯」しなければ40ピンPICのI/Oポートを使用しても厳しそうです。

それから、LEDで表示した場合、単なる点灯ではなく、当然ですが、表示内容を裏側から「バックライト風」に照明したいですよね。
それも考えると、素人工作ではちょっとしんどいかなぁ?と。


4、は、出来れば手持ちの部品やジャンク品で製作できればと、

そこで、他で何か利用できないかと、探してみると、数年前に購入して、しまいこんでいた、LCDパネルを思い出しました。
このLCDパネルは、基板内に、CPUを内蔵し、シリアル通信をはじめ、I/Oポート、ビジュアルオブジェクトを簡単に扱えるC言語を備え、専用無料開発環境でプログラミングできるのですが、以前は、C言語の経験がほとんど無く、数回トライして挫折していました。

DSC01268.jpg


今回、PICのC言語も勉強することだし、このLCDパネルにも挑戦してみることにしました。
上手く行けば、アニメーションを利用したビジュアルオブジェクトを使用して、カッコイイパネルが出来るはずです。

まずは、簡単な仕様でテストプログラムを書き込んで、LCDのプログラミングを勉強しました。
このパネルは相当細かい事まで、簡単なプログラミングで出来るようです。

DSC01227.jpg


しかし、グラフィカルオブジェクトに関する変更を行う度に、そのグラフィカルデータ(数十MBから数百MBの大容量!)をマイクロSDカードに出力し、それをLCDパネルに差し込むと言う、面倒な一連の動作が必要になるのです。
プログラムそのものは、シリアル通信で、直接書き込めるのですが。
実は、このグラフィカル表示に関しては、グラフィクスデータをドットや線、あるいは塗りつぶしで表示するのではなく、「パラパラ漫画」の要領で、多数の静止画を連続表示して、動画を表現する仕組みなのです。したがって、パラパラ漫画の元になる大量の画像データが必要になり、それをSDカードに記憶しているのです。
シリアル通信では、この大量のデータを転送する時間が長く必要になるため、やむを得ず、直接PCからSDカードに記録するようです。

ともあれ、操作には慣れてきました。

ここまで来ると、本番で利用するPIC基板に実際の回路を組み上げて、LCDパネルを接続し、通信部分のソフトとマスコン代わりのロータリースイッチの読み込みなどのプログラミングを組み上げる必要があります。
そこで、PIC基板を組み上げて、更なるプログラミングとバグ取りに進んでいきます。

DSC01316.jpg


詳細は既にこのブログでお話しましたので割愛しますが、PICのハードウェアスタックの制限で、タイマールーチンで暴走したり、C言語の記述ミスで、なかなかバグが取れなかったりと、紆余曲折しながら、ようやく完成しました。

最終形のコントローラでビデオを取りました。
どうぞご笑覧ください。(ビデオアリアが大きくなっています。音声も入れました)


【ジャンル】:趣味・実用 【テーマ】:鉄道模型
コメント(4)
2015-10-22 22:08 | カテゴリ:未分類
マスコンの操作を組み込みしました

先日、何とか動作したNゲージコントローラですが、マスコンの操作に応じて、加減速度の調整までは出来ていませんでした。
加減速度を調整する為には、VVVFの周波数の上昇(あるいか下降)をマスコンの操作に応じて、ゆっくり行ったり、早く行ったりする様に、内部にカウンターを入れて行うように考えていました。
しかし、この方法では、VVVFの周波数の上昇の差分を加算していく場合に、差分の下限値が災いして、上手く行きませんでした。
そこで、今度は、タイマールーチンをループに差しいれて、マスコンの操作分だけDelayをかけることにして、上手く行きました。

次に、これまでは、マスコン操作を急に行うとスイッチ操作を読み込めず、ハングしてしまうことが時々ありました。
色々検討した結果、「あるマスコンの位置から動くときは、その前か後になるはずなので、それ以外になった時は、この条件に合致するまで、マスコンをもう一度読み出す」という条件設定が、逆に悪さをしていることが分かりました。
つまり、マスコン操作が急で、あるスイッチ位置を読み飛ばした際に、無限ループに陥ることが分かりました。
そこでこの条件文を削除しました。
今のところ、急に操作してもちゃんと読み込んでいます。

ここまで出来れば、後は、LCDディスプレイのメーター以外の表示を見直して、仕上げるだけです。
もう一息。

LCDパネルの計器や表示ランプの配置を再考し、決定しました。

DSC01319.jpg
【ジャンル】:趣味・実用 【テーマ】:鉄道模型
コメント(2)
2015-10-19 16:39 | カテゴリ:未分類
メータのテストドライブが上手く行きました!!


過去1週間くらい、ずーっと悩んでいた、上手く行かなかった、タイマールーチンでLCDディスプレイのメーター表示をRS232でPICからコントロールするテストにやっと成功しました。
原因は、タイマー割り込みルーチン内で整数=>文字列変換の内蔵関数を使用して、PICのハードスタックの制限を越え、コンパイラーが出す、そのエラーメッセージを見落としていたことに有りました。
お恥ずかしい。
もっとも、コンパイラーが警告としてスタックオーバーを出すだけで、コンパイルを成功させていたことにも、私は疑問です。
だって、実行できないわけですから。

というわけで、当初の企画どおり、PICでVVVFサウンドを出しつつ、その際のスピード、電流、あるいは、減速時の制動圧力などをディスプレイ上のメータにアニメーション表示することが出来ました。
まだ、メーターのスケールや、針が示す値の検証をしなければなりませんが、まずは動作そのものは確認できました。

じつは、もう一つ、気になっていることがあります。
VVVFで加速する際に、マスコンの数値(1-5)に応じて、加速度を変化させる様に、ソフトを組んでいるはずなのですが、それが上手く動作しません。
これからその辺りのバグ取りになります。

まずは、一段落です。(ホッ)

ということで、動画を撮りました、ご笑覧ください。(細部が分かるように大きめにしましたので、はみ出ます)






【ジャンル】:趣味・実用 【テーマ】:鉄道模型
コメント(4)
2015-10-17 19:27 | カテゴリ:PIC応用回路
光明がさしかかっています!!

先日来、PICのプログラミングで、なかなか希望通りに動作しない問題が続いていました。
今日、その問題の解決の糸口らしきものが見えてきました。

PICプログラミングの問題点は、下記のものでした。

1)スイッチを急にパチパチ動かすと、PICがフリーズする。
2)LCDのメータを動作させるためにRS232信号を送信する部分をタイマールーチン内に記述すると
  プログラムが予期せぬ動作をして、LCDのメータ表示が誤動作する。

1)に関しては、その後、スイッチの番号を持ち帰るサブルーチンに、スイッチ番号を制限する部分を設けた事と、ADの取り込みを数msecおいて二度変換し、同じ値を得るまで、繰り返すと言うルーチンを追加して、かなり読み取り確度が上がりました。

しかし、2)に関しては、同じLCDへRS通信のサブルーチンを、メインの最初の所では上手く動作するのに、タイマールーチンの中では、動作しません。
同じルーチンなのに、です。

上手く行かない事態を繰り返していて、PICの開発環境のMPLAB-Xのコンパイル画面を何気なく見ていると、
「ハートウエアスタックを超えている」旨のメッセージが表示されていることに気づきました。
コンパイル自体は、正常終了していたので、今まで全く気づきませんでした。

XC8.jpg


要するに、PICにあるハードウエアスタック(確か記憶では、7か8段階しかなかったと思います)を超えてネスティングしているとの警告です。
これでは、PICが暴走するはずです。

プログラムを見てみると、自分のプログラムでのネスティングは、2-3段なのですが、「整数を文字列に変換する」内蔵関数を使用していますが、どうやらそれがスタックを多用しているようです。
念のため、その関数をコメントアウトして再度コンパイルしてみると、警告は出ませんでした。

原因がはっきりしましたが、この関数を使用しないわけには行かないので、他の部分でスタックを節約するように、再度プログラミングしなければなりませんので、ちょっと大変です。


【ジャンル】:趣味・実用 【テーマ】:鉄道模型
コメント(4)
2015-10-16 20:54 | カテゴリ:PIC応用回路
悪戦苦闘が、、、


Nゲージコントローラの製作ですが、PICのVVVF関連のプログラミングは、ほぼ出来ましたが、ロータリースイッチを読み取るルーチンで、苦戦中です。
理由は分かっているのですが。
ロータリースイッチの各接点に抵抗を取り付けて、廻すごとに0-5Vの間の電圧を取り出して、PICでAD変換する仕組みです。
しかし、このロータリースイッチは、接点をまたぐときに、一旦、回路がオープンになりますので、それを避けるために、抵抗で5Vにプルアップしています。
したがって、PICでは、AD変換でスイッチの位置が検出できるはずですが、スイッチをゆっくり廻せばちゃんと動作するのに、カチカチっと急に廻すと、うまくありません。

いろいろ、ソフト的に、条件を定義して、たとえば、4の次は3か5しかありえない、と言うものや、2度読みして一致したら決定するとか、試してみましたが、完璧ではないようです。

DSC01316.jpg


この写真の、開発ツールで、

1、PCでプログラム修正

2、PICライターでPICに書き込み。

3、回路に搭載して、動作確認。

の繰り返しで、、日に何十回とトライして、いい加減飽きてきました。
頭を切り替えて、良いアイデアが浮かぶと良いのですが。

【ジャンル】:趣味・実用 【テーマ】:鉄道模型
コメント(4)
2015-10-15 22:32 | カテゴリ:1/24モデル
カウンタックの電飾スタートしました。


塗装がほぼ完成しました。
いよいよ電飾に入ります。
以前に製作していたポリウレタン線を半田付けしたチップLEDをボディーに取り付けます。
ボディーは、シャーシと上下で組み合わされて、完成になりますが、LEDがボディーの方(上)で、配線を引き出して、シャーシ側から電源に接続する考えですが、極細のポリウレタン線を上下のボディー間に渡らせるのは切断のリスクがあります。
そこで、後部のテールライトの配線をボディーの内側のドアステップの裏側を通して、ちょうど前部のボンネット裏にまわし、ヘッドライト、スモールライトの配線をあわせて、抵抗を搭載した小さな基板までもってくることにしました。

今回は、そのボディー裏の配線を実施。
小さく切ったマスキングテープで仮止めしながら、瞬間接着剤でボディーに固定しました。

DSC01315.jpg

DSC01314.jpg

取り付け前に通電テストはしましたが、本番で点灯しなかったら、最悪です(汗)
2015-10-12 18:33 | カテゴリ:1/24モデル
カウンタック製作、ぼちぼち。


今日は、晴天、秋晴れの一日でした。
朝から、RC飛行場へ。

久しぶりに、オンボードカメラで、空撮をしてきました。(画面からはみ出ますが、、、、)
青空を飛んでいる気分を味わって頂ければ幸いで。




帰宅後に、カウンタックのテールのコンビネーションランプを製作しました。
小さなパーツが、指から落ちて、探すこと数回。無事取り付け完了しましたが、テールランプをはめ込む際、またまた、Aピラーにひび割れを生じさせてしまいました。
フロントガラスをとりつけていたのに、ピシッといって、、、、
なんとか取り繕えました。

見えている細い線は、ポリウレタン線で、赤色チップLEDを付けました。
ストップランプ部分のみ光らせる予定です。
テールランプは、テールレンズ全体が光るようなので、今回は見送りました。
2015-10-10 18:45 | カテゴリ:PIC応用回路
ケースを製作しています。

Nゲージコントローラの計画が。自分の実力からかなりかけ離れた壮大なプランのため、プログラムが相当複雑になりそうです。
デバッグも考えると、ある程度実際の機器を使用して、プログラミングをしなければ難しいと考えて、ハードをある程度製作することにしました。
スイッチ類を操作してのプログラミングになりますので、スイッチも取り付けます。
また、LCDディスプレイも取り付けて、動作確認しつつ、製作していきます。


まずは、昔製作した、コントローラのアルミケース(中古)を加工します。
細かいSWやLEDの穴が多数開いていますので、思い切って糸鋸で、ざっくりと穴を開けます。

DSC01272.jpg

計画では、パネル面には、左側にLCDディスプレイ、左下にスイッチ、右に「マスコン」用のロータリースイッチ等が並びますので、その部分のアルミを切り取ってしまいます。

DSC01275.jpg

次に、1.5mm厚のスモークのアクリル板と0.5mm厚の透明アクリル板を所定の寸法に切り出します。
これを重ねて、ケースに取り付ければ、操作パネルになります。
スイッチなどは、このアクリル板に穴を開けて、取り付けます。
アルミ板の穴あけを避けた理由は、加工の簡易化です、強度的には問題ありません。

DSC01276.jpg

DSC01277.jpg


さて、スモークアクリル板にあらかじめ考えておいたデザインに沿って、マスキングテープを貼り、裏から、黒色スプレーで塗装します。

DSC01282.jpg

マスキングテープをはがした後に、今度は、白色で塗装して、最終的に、全てマスキングテープをはがすと、こんな感じでパネルができました。

DSC01283.jpg

DSC01284.jpg


これに、シールにパネルデザインを印刷して、それを透明アクリルに張りつけて、重ねると、こんな感じで、それをケースに取り付けます。

DSC01287.jpg

DSC01288.jpg

DSC01295.jpg

スイッチ類をパネルに取り付けて、だいぶそれらしく見えてきました。

DSC01297.jpg

今度はパネル裏面にLCDを取り付けます。
パネルの表面にLCDの取り付けねじの頭を出したくないので、パネルの裏面に、皿小ねじをエポキシでとりつけ、そのねじに、LCDパネルを差し込んで、ナットで固定しました。
強度的には、若干不安要素はありますが、4個のねじが同時に取れることは無いので、大丈夫だと。

DSC01299.jpg

で、LCDを取り付けて、最終形がこんな形に。

DSC01304.jpg


動作確認を兼ねて、デバッグ時に、PICのソフトの動作確認時、LCDに状態などが文字で表示されるとデバッグもやりやすいと思い、とりあえず、パネルスイッチの状態をLCDに表示させる簡単なプログラムを製作し動作確認しました。

ビデオ参照ください。
今後は、いよいよPWMでVVVF音の制御のプログラミングに入ります。