So-net無料ブログ作成
検索選択

スピードメーターを作る [S88]

 S88 Masconの+アルファのお話です。
 以前にS88 Masconにスピードメーターと圧力計の機能をつけようと思って、100均の時計を買ってきたり、秋月のステッピングモーターを買って、とりあえず、ブレッドボードで動くものを作ってみたりしました。
 そして、少し前にElecrowに基板を発注するとき、S88 Masconにステッピングモーターの駆動回路も付けてみました。
 現状、こんな感じで、
re_DSC01968.jpg

 回路はここら辺のIC2,IC3にDRV8835基板を載せる感じです。
re_DSC01969.jpg

 で、そうなると、手作りな計器がかなり悲しい感じを醸し出しています。
 プラバンなどで何回か手作りしようかとも思いましたが、アクリル板をElecrowに頼んでみて、思ったことは金額の割にクオリティーが高い、いうことでした。
 ということで、計器周りをElecrowに頼むべく、作図をしました。大きさは90㎜×90mmです。
で、計器の部分はアクリル板だと印刷のサービスは無かった様に思えますので、まったく配線のないPCBを頼んでみます。(怒られないかなあ?)ステッピングモーターは秋月で売っているのSPG27-1101です。
スピードメーター
speed_meter.png

圧力計
pressure_gauge.png

 mbeは角度指定の作図機能がないので、エクセルで座標を手計算しながら目盛りを書きました。
 どちらの絵柄も実際の何かの電車のそのままをやっているというわけではありません。特に角度計算が面倒だったので、0km/h、最高速度の位置は実際の電車とは合っていないと思います。

 で、この上にスペーサーをかまして、透明アクリル板を付けます。2mmですかね?
speed_meter_acrylic1.png

そして、この上に特徴的な黒い枠をアクリル板でつけておきます。こっちも2㎜ですかね。
speed_meter_acrylic2.png

 なお、フォントのラスター画像の線幅が0.15㎜で大丈夫かの経験をDCC工作連合の皆さんに聞きまして、大丈夫そうです。0.1mmとかやった人もいるとのことでした。

 と、ここまでやって一つ思ったことは、このごろ、鉄道模型各社ともにスピードメーターはスマホで表示しているような気がすることです。
 実際の電車もE233系とかはなんかパソコンの液晶みたいなところにスピードメーターが表示されているような気もします。
 DesktopStationのソフトのスピードメーターの隣に圧力計も描画すればいいんじゃないのか?とかいろいろ疑問符も沸いてきました。あの画面をきせかえにできるというアイディアはありだと思います。今のソースがどうなっているかは、見ていないので知りませんが。
 でも、昔、鉄道模型シミュレータとかありましたが、やっぱり実際の物っぽい感じのほうが見てて楽しいかなあとその時も思いましたので、やっぱり実物で楽しもうと思います。(ステッピングモーターだから動きはカクカクだけど・・・。)
 国慶節近いので注文を急がないと・・・。

コメント(2) 

S88 Button Decoder 頒布開始のご案内 [S88]

 このごろは、なごでんの日記様のMp3V5でSLスケッチを入れるので四苦八苦しておりますが、まだ、Blogに上げられるような記事になっておりません。なお、誤解無きように書いておきますが、Mp3V5が手強いためではなく、入れようとしたHOゴードンが、ちょっと手強いです。
 さて本題ですが、Yaasan様から移管されましたS88 Button Decoderの頒布を開始いたします。こちらが案内ページになります。
 基板、部品セット、完成品共に頒布いたしますが、頒布需要が読めませんので、電子部品在庫を抱えておりません。頒布依頼を受け次第、部品注文を秋月電子などにするため、少しお時間をいただきます。
 よろしくお願いいたします。

 
コメント(0) 

S88 Mascon6面ケース_組み手部分について [S88]

 DXFだと楽な気がするのですが、持っていないので、画像で説明します。
 全体はこんな感じです。S88 masconの例。
S88_mascon_lcd_case6_説明用.png

 で、右上辺りを拡大して各指示寸法は下記になります。
詳細_拡大.png

 じわじわ進む様のブログでElecrowのレーザーは0.2mmの太さだということでしたが、キチキチにして入らないのは避けたかったので、ゆるゆるにする方向で考えました。(というか入ればいいやという適当な感じで)
・凹部(上面板、3mm厚)はx*y=11.0*2.0としています。これで加工後の穴はx*y=11.2*2.2になっていると思われます。外周部とは一応2mm取るようにしました。(加工後は1.9mmとなっていると思われます)
・凸部(側面板、2mm厚)はx*y=11.0*2.0厚としています(y側はアクリルの厚み)。レーザー加工でx*y=10.8*2.0となっているはずです。
→結局、組手部分は、X方向は0.4mm、Y方向は0.2mmの隙間ができるように作っており、確かに組み立てたらスカスカでした。
・次に側面部の高さZですが、理論上の中身の厚みは21.6mm(=秋月のプラスペーサ10.0mm*2+基板厚み1.6mm)です。側面がぐらぐらするのは避けたかったので、こちらはレーザーの加工減り分0.2mmをそのまま足して、高さ21.8mmで指示しています。
 実際は基板の側面と基板の端がぶつかるなどいろいろなところで接触するため、割とかっちりはまりました。
とこんな感じです。
>プリント基板の面付けみたいに、スリットを付けてアクリル1枚に複数枚作り込むズル?ってできるかなぁ。
→ぜひ聞いてみてください。(私は英語の交渉をしたくなくって)。文字が書けないかも気になっています。(いや、お前が聞けって?)。自分でプラ版系を加工するのって、難しいですよね。
皿穴加工ができると、ネジが隠れて、すっきりしますね。
→そうですね。Elecrowでできるのか?それとも、鉄道模型用のボール盤を買うか?でしょうかね。
コメント(3) 

S88 Mascon用6面アクリルケース [S88]

 さて、またケースの件です。ちょっとマイブームだったりします。
 少し前に基板の上下にアクリル板をつける簡易ケースを作りましたが、今度は一応6面覆うケースを作ってみました。
 ElecrowのAcrylic Laser Cutting Serviceを使用して、5.8ドルで1種5枚ですので、送料が20ドルぐらいなので、お買い物だけで1200円/個ですね・・・。高い。いやオリジナルケースなら安いか?
 まあ、S88 Mascon用とS88 Analog用を一緒に頼んでいるので7000円超えていますが。すでに前回の上下だけアクリルケースなどと合わせて考えるとHOクモハ40がそろそろ買えるんじゃないのか?という事は考えなかったことにしています。
 で、今回も適当にMBEで作図して、Gerberファイルに変換して、KicadでSVGファイルに変換して、InkSpaceでEPSファイルに変換してを6面分繰り返して、上下面は3㎜、側面は2㎜のアクリルで頼みました。
 できたものはこんな感じです。およその大きさはW*D*H=100㎜*100㎜*28㎜とちょっとアメリカチックなサイズです。
前から
re_DSC01947.jpg

後ろから
re_DSC01948.jpg

S88 Masconの組み立て前。
re_DSC01946.jpg

S88 Analogの組み立て前(アクリルだけなんとなく組み立て)
re_DSC01945.jpg

 基板の下と上をそれぞれ10㎜のスペーサーにしているのですが、このせいで、下はスカスカ、上はLANコネクタなどのもろもろのコネクタのために切り欠きを入れるという、少々ケースとしてどうかなあという感じではあります。
 この部分を変えよう(上板を切り欠きなしにして全部コネクタを側面出しにする)と思うと、側面を作り直しして、5㎜のスペーサーを探す感じでしょうか。今よりも厚みが大きくなりそうですが、そっちの方がいいかあとも思います。
 あと、残念なことに、Mascon用、Analog用と5セットずつ作ろうと思っていたのですが、側面の左右板(共通)を5枚しか頼んでおらず、2セット作って、もうパーツが足りません。かなり残念です。Elecrowガチャ的には、小さい部品を頼んだにも関わらず規定枚数程度しか来なくてちょっと残念でした。
 仕方がないので、家族にだけ、「俺が設計したんだ!」と自慢しておきました。
 ケースはこうしたほうが良いみたいな意見がありましたら、コメントかメールかで教えていただけると嬉しいです。
 透明アクリルは機能上必要な上面だけがいいのかなあ。考え出すと切りがないです。
  
コメント(2) 

タクトスイッチが届いた。 [S88]

 冷静に考えると、何のために作ったのかわからないS88 Analog(ロータリーエンコーダ仕様)ですが、長いタクトスイッチ(15mm)が届きました。8/12に注文して、送料無料の中国郵便で8/22に届きましたので優秀だと思います。秋葉原をふらふら1時間ぐらい探したけど、長いタクトスイッチどこにも売っていなかったし・・・。写真は14mmと15mm品、100個ずつで合計で600円しないぐらいです。そりゃあ、秋葉原のパーツ屋さんも少なくなるよなあと思いました。
re_DSC01893.jpg
 高さを見ながら、15mm品にしました。
re_DSC01894.jpg
 これで、各ボタンの説明を付けたらひとまず完成です。方向ボタンがないから一方向にしか動かないですけど・・・。
 あとは、
・方向変更機能ボタンを付ける
・ボタンの説明を付ける
・マスコンモード(EB~P5)機能を考えてみる。
・側面もアクリルにするのを考えてみる。
ぐらいやったら自分的にいいかなあという感じです。
 
コメント(5) 

S88 Analog(ロータリースイッチ)を試す。 [S88]

 で、S88 Analogのロータリーエンコーダ版です。
 ネットでロータリーエンコーダのスケッチを探して、sakura87.net様のページを参考に入れたら、何の問題もなく動きました。割り込みを使っていないので、高速に回すと取り込みミスをしているような気もしますが、まあ、もっと回せばいいだけなので、何の問題もないです。多分。
 で、こちらがDCC/MMシールドに付けたものです。DCC/MMシールドとこのS88 Analog(ロータリーエンコーダ)の組み合わせ、どうも、何かのバッタモンの匂いがプンプンしますが、まあ、工作は個人の自由です。
re_DSC01891.jpg

 せっかくなので、動画です。


 とりあえず適当に作ったスケッチなので、前進しかしません・・・。
 128ステップにしたので、最高速にするためにはロータリエンコーダ(24クリックタイプ)を5回転ぐらいさせないと最高速に到達しません。もちろん、もっとスピードを粗く調節するのも可能ではありますが。
 あとは、他の方のを見ていたらエンゼル・エクスプレス様がロータリーエンコーダをマスコンのように使っていました。
 この動画ですね。
 こういう風なコントロールも良いかなあとも思いました。 5回転ぐるぐる回して最高速というのも、まあ、やった感があって楽しいんですけど、運転はかなり雑になります。

コメント(0) 

アクリル板が届いた。 [S88]

 あやのすけ様のBlogを参考アクリル板を頼んでおりましたが、注文から一週間後8/19に佐川急便が届けてくれました、が、不在で受け取れず、20日に受け取りました。
 Elecrowからは特に大きさのメールは来ませんでしたが、アクリルのサイズはぴったりでした。よかったよかった。
 で、S88 Masconと記念撮影です。
re_DSC01888.jpg

 アクリルの色ですが、一瞬悩んで、考えるのが面倒になり、あやのすけ様と全く同じ、裏は白、前面は透明にしました。前面は透明以外では液晶見えないのでダメですけどね。
 で、既存のS88 Masconに付けてみました。干渉もないし、私てきには満足です。
re_DSC01889.jpg

 次に、S88 Analogもアクリル板を買いつつ、基板も改版しました。
re_DSC01890.jpg

 どっかで見たものの、巨大版に見えるかもです。ええ、今度はロータリーエンコーダを付けてみました。あやのすけさんのLocoスロットルのパクリに近づいています。こっちのほうが倍以上の大きさありますけどね。
 で、Aliに頼んだ長いタクトスイッチが届かないので、こんな感じですよという、仮組写真です。送料無料で頼んだので、いつに着くのでしょう。土曜日に秋葉原でタクトスイッチで長いのないかなあと探してみたのですが、どこも9.5mmぐらいが一番長くて、それ以上はありませんでした。まあ、来るのを気長に待ちましょう。
re_DSC01892.jpg

 
コメント(0) 

EPSファイルでレーザーカット? [S88]

 あやのすけ様のBlogで、GerberファイルからEPSファイルに変換してElecrowに注文と書いてあったので、私も試してみました。
 ですが、私はKicadじゃないし、Macでもないので、かなり一日中右往左往していました。
 まず。Gerberファイルを用意します。私はmbeで作っているのでこんな画面ですが、
Gerber_1.png

そのうち作っていないコメント層(DOC)に適当に基板外形を作ってみます。
Gerber_DOC.png
見やすくしようと思って、背景を白に一瞬しています。

で、Gerber出力します。
Gerber書き出し.png

次にKicad(ver4.0.2でした)を立ち上げて、とりあえず適当なプロジェクトを作っておきます。
以下の例ではTest4というプロジェクトです。
で、GerbViewをクリックして立ち上げます。
Kicad_1.png

 ガーバーファイルを読み込みます。読み込みたいのはDOCファイルですが、そのままでは出てきませんので、ファイルダイアログの右下のファイルフィルターは「すべてのファイル(*)」にしておきます。
 読み込んだら、PCBNewにエキスポートを選びます。
Kicad_3.png

 ここが大切ですが、ボードファイル名は先ほどのKicadのプロジェクトのファイル名を指定して上書きしてしまいます。例ではtest4.kicad_pcbです。
Kicad_4.png

 GerbViewは閉じて、PCBNewを開きます。そして、SVGファイルのエクスポートを選びます。
Kicad_6.png

 書き出し設定が現れますが、SVGページサイズで、ボードの範囲のみを選んでおきました。
Kicad_7.png

 これで、Test4のフォルダにめでたくSVGファイルが出来上がりました。Chromeなどで普通に見ることができるファイルです。
 これをEPSファイルに変換するのは、あやのすけ様のBlogの通りで、InkScape(Win版もある)というソフトを使って開いて、名前を付けて保存でEPSファイルを指定して保存すれば完成です。

 そして、ここからが重要ですが、このファイル、ちゃんとしているのかどうかよくわからないのですが、ElecrowのLaser Cutting Serviceに出してしまいました。大丈夫だといいなあ。すごいちっちゃいアクリル板がきたら、どうしよう。

 あと、Elecrow、なんかいつの間にか基板が4,9ドル(5枚)と半額!になっていたので、適当に青や白の基板でS88 Mascon,Analogの改造基板を頼んでみました。

コメント(2) 

Masconにスピードメーターと圧力計をつける [S88]

 明日はJNMAフェスティバルを見に行こうかなあと思っております。
 さて、5月からS88 Masconにスピードメーターと圧力計をつけようとずるずるとやっております。
 最初はダイソーの100円時計でやってみて、まあ、それなりですが、360°が60分割のため、2km/hごとパタパタ値が変わるのと、時計の逆回転はスピードが遅いため、自己満足レベルでは満足レベル高いのですが・・・という感じでした。
 ということで、角度をちゃんと制御するならステッピングモーターだということで、秋月でステッピングモーターを買ってきて、制御実験を繰り返していたのですが、MDP-35Aは48ステップで時計より回転角が荒く、DRV8835を使用して、適当なPWMを使用したマイクロステップのスケッチを書いて、どうかなあとやっていました。
 しかし、マイクロステップ時に角度が等間隔にならず、出来が100円ショップ時計未満でしたので、ボツとしました。
 で、SPG27-1101が360°で120ステップということで、こっちを採用することにしました。100km/hまでの目盛りなら、1km/hで1ステップ動かすことになります。(本当はこのSPG27-1101でもマイクロステップを試してみたのですが、こっちもダメでした。ステッピングモーターではなく、私のスケッチかドライバの問題かと思います)
 そして、一応完成です。
 システムは、DSMainR5、S88 Masconと繋ぎ、S88 Masconからスピードメーター、圧力計を制御します。
re_DSC01645.jpg

 実験中ですので、ブレッドボードがスパゲティのようになっています。
re_DSC01646.jpg

 前回の時計流用品はメーター一つあたり108円(ダイソー)でしたが、今回は650円(モーター350円+ドライバ300円)です。二つで1300円。このごろ散財が激しいので、基板を作るかどうかは未定です。

 で、動画です。今回のは前のよりもいい感じです。子供も、「100キロ!」とか言いながら喜んで遊んでいました。やっぱり液晶と違ってアナログメーターは直感的にスピードが分かるような気がします。ただ、子供が「スピードが変わるとカタカタって聞こえるの?」と聞いてくるので、これは偽物だからね、と本物と違うことを断っておきました。(ステッピングモーターの音が結構うるさい)



参考に以前の100円時計のものの動画です。

S88 Analogと鉄コレのコントローラをつなぐ(pin change interruptを使う) [S88]

 複数の話題を一緒に書くと、後で探しづらいことに、このごろやっと気づいたので、単発の記事にしていきます。
 S88 Analogですが、鉄コレの101系コントローラとつないで実験をしていますが、あまり芳しくありません。
 いまはこんな感じに繋いでいて、すでに鉄道模型ですらありません。re_DSC01584.jpg
 DS One(DSJoyスケッチ)のS88端子にS88 Analogをつないで、DCC出力にはみるだけ君(DCCパケットの解析をしてくれる基板)をつないでいます。
 鉄コレのコントローラの波形はDU202(常点灯の12Vパルスとモーター駆動用の直流パルスの組み合わせ)と違い、12Vのパルス(周期は50us)のみでの駆動です。
 このため、スピードの検出が少々難しくて、まず、1ms周期のAD変換でスピードに変換してみたところ、ふらついてしまい、吊りかけ音がかなりふらつきます。(音無しのデコーダでは問題ないかもです)。平均化を入れるなどやり方はありますが、余り良くありませんでした。
 次に、今回、パルス幅を割り込みを使って検出してみることにしてみました。Arudinoには割り込みがいくつかありますが、サポートされていない、全てのIOピンに対しての割り込み(Pin Change Interrupt)とかいうのがあるということを調べていて知りました。コントローラからの信号はA3ピンに入れており、ここはArudinoの標準の割り込みでは使えないピンですが、この割り込みなら使用可能です。
 参考にしたページは、こちらこちらです。
 で、めでたく割り込みを使ってパルス幅を正確に検出することはできました。
こんなコードです。
セットアップで
  //pin change interrupt
  PCMSK1 |= (1 << PCINT11);  // A3(D17)ピンからのピンチェンジ割込みを使う
  PCICR  |= (1 << PCIE1);     // PCIE1グループからの割込み許可

割り込みは
//鉄コレコントローラパルス幅計測
ISR(PCINT1_vect)
{
  static int pulse_width_temp = 0;
  //A3(D17)のChangeで割り込みがかかる(はず)
  if(digitalRead(A3)==HIGH)
  {
    //開始
    pulse_width_temp = micros();
  }
  else
  {
    //終了
    A3_pulse_width += micros() - pulse_width_temp;
  }
}

 A3_pulse_widthにパルス幅をある程度溜め込んでから、平均化するようなルーチンです。
 で、パルス幅ですが、50us周期の信号は上記では12us~40usぐらいまでしか測れず、おまけにmicros()は4usの解像度しか持っていないようです・・・。
 なので、かなり離散的な値が出てきてと、書きながら、割り込み時に回数を記録して平均を取ろうと思いました。
 まあ、もう少し頑張んないとろくなものにはならなさそうです。