カテゴリ:ヤード 一括転換 の記事一覧

【電気は】ヤード改修 目指せ一括転換【苦手】

本線から分岐の先に、

IMG_8591.jpg

普段は囲いを被せ、作業台となっている町中総合車両所があります(^^)

IMG_8592.jpg

が、囲いを取ると中はカオスww

IMG_8594.jpg

てか、ポイントの転換不良と通電不良が続き、

治すのも馬鹿らしく長い間放置していました。。。

IMG_8597.jpg

が、私も物作りを生業とする者の端くれww
壊れたままではプライドが許しません ヾ(ーー )ォィ

何か良い方法は無いものか?と調べたところ、
”Arduino”なるマイコンを使いラジコンの“サーボ”を制御。
TomixやKatoポイントの手動レバーをロッドで操作するか、
もしくは直接ポイント裏の転換部分を操作すれば良いことを知りました。

とは言うものの、そのやり方では通電不良まで解決する見込みは無くww
だったらポイント自体を内部接点を使わないPecoに交換。
転換はArduinoでサーボを制御して操作すれば全て解決するのでは???
※ Pecoは純正のソレノイドコイルも用意されていますが、
  社外品のポイントモーターも組み合わせることが出来るらしいです。

なおかつ操作盤を作ったものの、
TomixやKatoのSwボックス同様ポイントを一つずつ転換するタイプのため、
ヤードの入替には作った本人でさえ間違うような複雑な操作が必要で、
お世辞にも使いやすいとは言えないため、
TomixからPecoのポイントへの交換に加え、
長年の夢だったポイントの一括転換にも挑戦してやろうということになりました(^^)

で、とりあえず地元の書店に行きたくさんのArduino解説本の中からサーボについて記述が多く、
かつ、素人にも読みやすい本(コレ重要)を購入。
じっくり読んで予備知識を仕入れてから、、、のつもりでしたが、
やはり読むだけでは内容を理解することが出来ずww、
とにかく習うより慣れろと、PecoポイントとサーボにArduino入門キットを注文しました(^^;)

IMG_8327.jpg

Pecoの中型ポイント・SL-E395とSL-E396(長さ123.7mm 半径457mm)が到着し、、、
tomixのポイント(長さ140mm 半径541mm)に重ね、交換出来る?であろうことを確認。。。

※ Pecoには品番の数字の前に“E”のある“選択式”と“E”のない非選択式があり、
  DCCへ進まないなら“選択式”、DCCが視野にあるならが“非選択式”が良いそうです。
  (がおう☆さん お世話になりましたm(_ _)m

IMG_8599.jpg

で、サーボとPecoポイントの接続は得意な工作なため、たぶん大丈夫wだろうと先送り、
苦手な電気、すなわちサーボの制御に全力を投入することになりました(^^;)
※ 書き忘れましたが、私は電気は嫌いです!

IMG_8604.jpg




現時点で知り得た知識です(^^)

購入したサーボ(SG-90)は1コ400円の安物だが、トルクは“1.8kgf・cm”
回転中心から1cm離れたところで1.8kgの力がありポイントを転換するには十分。
それどころか、もし誤作動するとポイントを壊してしてしまうかもしれないw

IMG_8610.jpg

サーボはPWM信号で動く

0度から180度まで回転する角度を指定できる。

動くスピードも指定出来るので、スローアクションなポイント転換ができる♪

パソコンでスケッチ(プログラムのこと)を作りUSBケーブルを経由してArduinoへ転送する。

スケッチはたくさん公開されているので使えそうなやつをコピペ。
数値を入れ替えればなんとかなりそうww

IMG_8647.jpg

USBを外してもArduinoに書き込んだスケッチは残り、
それ以降は電源さえあればArduino単独で作動する。

作動のテスト程度ならPCからUSB経由の電源で大丈夫だが、
レイアウトに組み込むならArduino 9V・サーボ 5VのACアダプターが必要。

今回購入した“Arduino UNO”には“~3・~5・~6・~9・~10・~11”の6つのPWM端子あり、
最大で6台のサーボを動かすことが出来る。

IMG_8649.jpg

ちなみに今はまだ試作の段階で上手くいくか自信が無いため、安いUNOを購入しました。
上手くいく目処が立てばヤードは10線以上あるため、
その時はArduino上位機種を購入することになると思います(^^;)

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村
スポンサーサイト

目指せヤードの一括転換 Arduinoとサーボの接続

Arduinoのセットアップが終わり、解説本の通りジャンパワイヤーを接続(^^)
PCからUSBケーブルで電源を送りサーボを作動させました。
※ サーボの線は左から順に、茶のGND・赤の5V電源・オレンジのPWM信号線です。

てか、サーボを止めるには別途スイッチを設定する必要があるようです。
ギュインギュインと回転を繰り返し、止まる気配はありませんww

IMG_8661.jpg

と言う訳で実験2回目。

ネット上からスイッチのあるスケッチ(プログラムのこと)をコピペ。
キットに付属していたブレッドボードやタクトスイッチを使いON/OFFの確認。。。

IMG_8664.jpg

さらに3回目の実験として、サーボの回転角や回転速度の変更。
4回目の実験として、複数(3個)のサーボそれぞれの作動も確認しました♪

※ USB電源での作動中は、サーボが静止状態なのにピクピク振動?していましたがww
  USBを抜き、ACアダプターから別電源を送ると正常になりました♪
  何故治ったのか原因は不明ですが。。。(^^;)

IMG_8665.jpg

そしてここからが本題。
購入したサーボは3個なので、ポイント3個あるヤードを設定。

1番線から4番線まで、その転換パターンを表にしました(^^)

IMG_8666.jpg

さらに最終目標はロータリースイッチを使ったヤードの一括転換ですが、

仮に押しボタンスイッチで操作するとしたらたぶんこういうので大丈夫だろうと、
意味が解らないまま、それらしい回路図を設計ww

IMG_8667.jpg

秋月で各パーツを購入し、、、

IMG_8674.jpg

5回目の実験へ進みました(^^;)

IMG_8675.jpg

てか、スイッチのどの端子を繋げば良いのかすら解らず、極々初歩の初歩からスタートです。
※ しつこいですが私は電気は苦手w

IMG_8680.jpg

回路図wwをもとにブレッドボード上で各パーツを接続、、、

IMG_8681.jpg

これまた意味が解らないまま下記の条件に書き換えたスケッチ、

1番線開通 SW(1)ON:サーボ(A)左・サーボ(B)左・サーボ(C)左
2番線開通 SW(2)ON:サーボ(A)右・サーボ(B)左・サーボ(C)左
3番線開通 SW(3)ON:       サーボ(B)右・サーボ(C)左
4番線開通 SW(4)ON:             サーボ(C)右

を使い実験を繰り返すのですが、、、

IMG_8686.jpg

例えばスイッチ(1)を押している時、
押してない(2)(3)(4)の信号と干渉するのでしょうか?

サーボが正転反転を繰り返し止まりません。。。



今回の記事は、こちらを参考にさせていただきましたm(_ _)m

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

目指せヤードの一括転換 ハイブリッドを試す

何度もスケッチを書き換えても思うように動いてくれないサーボ(^^;)

スケッチが悪いのかもしれませんが、
もしかしてスイッチのせいではと八つ当たりしww、

IMG_8691.jpg

押したときだけONになる“モーメンタリ型スイッチ”から、
押すたびにON・OFFを繰り返す“オルタネート型スイッチ”に取り替えてみました。

てか、そんな筈ある訳ないですね。。。

IMG_8695.jpg

そして何日も悩み、もう駄目かなぁというときに妙案wが浮かびました♪
Arduinoからサーボに送る信号が干渉するのなら、信号が逆流しないようにすれば良いのです(^^)

で、取りだしたのは、かつて鉄コレ点灯化に使ったスイッチングダイオード・1n4148。

IMG_8698.jpg

コレを1番線から3番線まで、各ジャンパワイヤーに挟んでみました(^^)

IMG_8717.jpg

ちなみに4番線のスイッチは必要ありません。

何故なら、どのスイッチもOFFのとき、
すなわち信号が流れないときは、サーボが定位の右で止まるようになっているので、
自然と4番線が開通するからです。

IMG_8719.jpg

で、押しボタンからロータリースイッチに交換し、
ドキドキしながらスイッチおーん!

期待通り、、、

1番線開通 SW(1)ON:サーボ(A)左・サーボ(B)左・サーボ(C)左
2番線開通 SW(2)ON:サーボ(A)右・サーボ(B)左・サーボ(C)左
3番線開通 SW(3)ON:       サーボ(B)右・サーボ(C)左
4番線開通 SW(4)  :             サーボ(C)右

と動くようになりました♪

が、サーボの動きをじっくり観察すると、
例えばSW(1)からSW(3)を選択した時、サーボ(B)だけ右に振れば良いのに、
サーボ(C)まで一度右に振ってから左に戻っていますww
なんじゃこりゃ?って、試しに再びモーメンタリ型の押しボタンに戻し、
複数のスイッチを“同時押し”すると私の期待通りに転換します。

と言うことは、原因はたぶんスイッチかもしれません。
ノンショーティングタイプのロータリースイッチなので、端子の間に無電部分があり、
Arduinoへの信号が遮断するからでしょう。

IMG_8720.jpg

と言う訳で、電話でも済む用件なのに、
ちょっと打合せに行ってくると嫁に言い、片道1時間かけ車で大阪市内まで移動w

帰りに日本橋のパーツ屋に寄り道し、
ショーティングタイプ・1回路12接点のロータリースイッチを買いました(^^)
(RSL25-1-1-12-20KC)

IMG_8749.jpg



日本橋でのお昼はマドラスのカレー♪

前は大でも平気でしたが、今は中で限界です (* ̄◇)=3 ゲプッ

IMG_8736.jpg

擦り傷(謎)ができ修理中のセブンくん。

なかなか傷が癒えないのか?、まだ板金から戻ってないようでした。

IMG_8738.jpg

今年中に治るんだろうか。。。(^^;)

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

目指せヤードの一括転換 ハイブリッドな基板を作る

親爺ぃさんのお陰で、Arduinoを使った完全一括転換が進んでいます(^^)

が、迷走の末試したハイブリッドなやり方も、
TomixやPecoなど、ソレノイドを使われている方のお役に立てるかもと、
記事にすることにしました(^^;)
(早い話、他に書くことが無いのです。

てか、突っ込みどころ満載です。
真似をして火を噴いても関知しませんので悪しからずww

IMG_8753.jpg

と言う訳で、
ノンショーティングからショーティングタイプのロータリースイッチに交換。

予定通り、サーボが正常に動くことを確認。。。

IMG_8757.jpg

要領を忘れないうちに練習を兼ね、基板として残すことにしました♪
(ブレッドボードは抜けば終わりですから

IMG_8761.jpg

が、人生初基板ww

どっちが裏か表かすら解らない超がつく初心者 (゚Д゚;)

IMG_8767.jpg

スイッチングダイオードの足を曲げ、

画像検索しながら見よう見まねでハンダしていきますw

IMG_8768.jpg

そしてピンソケット。

長かったのでピラニア鋸で切りましたが、

IMG_8775.jpg

これって切って使うものなのでしょうか? (゚Д゚;)

IMG_8777.jpg

サーボのコネクタを差し込むよう、3Pのピンヘッダもハンダ付けしました(^^)

IMG_8779.jpg

ちなみに配線に使うべく、すずメッキ線も用意していましたが、

ダイオードの切った足が廃材利用で使えました♪

IMG_8780.jpg

そして最後にArduinoからのジャンパワイヤーを挿すピンソケットと、

IMG_8782.jpg

サーボに給電するDCジャックを取り付け、今回はお終いです(^^;)

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

目指せヤードの一括転換 なんちゃって基板の完成

私の我がままから始まったヤードの一括転換化計画(^^;)

舞台裏では、親爺ぃさんlofthonsenさんを巻き込み、
Arduinoだけで制御できる完璧なものの完成が目前に近づいているのですが、


IMG_8784.jpg

とりあえず私の考えた、サーボ自体の作動はArduino。

一括転換はマトリクスというハイブリッド?な回路が出来上がりましたww

IMG_8787.jpg

そしてショーティングタイプのロータリースイッチにピンヘッダを取り付け♪

IMG_8790.jpg

基板とArduinoは手抜きしてジャンパワイヤーで接続ww

IMG_8794.jpg

1番線から4番線まで、、、

IMG_8666.jpg

正しく動くことを確認しました(^^)


IMG_8796.jpg

てか、暑くなってきました。

IMG_8804.jpg

毎年、30度をこえた辺りから遊園地前駅の樹脂フェンスが曲がってきます。

水色で囲ったフェンスのように真鍮線で作り直そうかしら。。。

IMG_8806.jpg

さらに暑くなるとKatoの交差点が盛り上がってきます。

涼しくなったら平らに戻るんですけどね(^^;)

IMG_8807.jpg

そしてちびちゃん。
夏バテしないようずっとエアコンの効いた部屋で過ごしていますがww、

冷えた身体を温めるのか、、、

IMG_8820.jpg

時々外に出て、灼けたコンクリの上で寝転がっています(^^;)



今回のスケッチです。
親爺ぃさんのスケッチがベースになっています。

#include

#define SW_1 2
#define SW_2 4
#define SW_3 7

Servo servo_A;
Servo servo_B;
Servo servo_C;
int pos;

void setup()
{
servo_A.attach(9);
servo_B.attach(10);
servo_C.attach(11);

pinMode(SW_1,INPUT_PULLUP);
pinMode(SW_2,INPUT_PULLUP);
pinMode(SW_3,INPUT_PULLUP);

servo_A.write(90);
servo_B.write(90);
servo_C.write(90);
}

void loop()
{

int angle_1 = servo_A.read();
int angle_2 = servo_B.read();
int angle_3 = servo_C.read();

if(digitalRead(SW_1)==HIGH){
if(angle_1==90)
for(pos = 90; pos>=50; pos-=1)
{
servo_A.write(pos);
delay(60);
}
}

if(digitalRead(SW_1)==LOW){
if(angle_1==50)
for(pos = 50; pos<=90; pos+=1)
{
servo_A.write(pos);
delay(60);
}
}

if(digitalRead(SW_2)==HIGH){
if(angle_2==90)
for(pos = 90; pos>=50; pos-=1)
{
servo_B.write(pos);
delay(60);
}
}

if(digitalRead(SW_2)==LOW){
if(angle_2==50)
for(pos = 50; pos<=90; pos+=1)
{
servo_B.write(pos);
delay(60);
}
}

if(digitalRead(SW_3)==HIGH){
if(angle_3==90)
for(pos = 90; pos>=50; pos-=1)
{
servo_C.write(pos);
delay(60);
}
}

if(digitalRead(SW_3)==LOW){
if(angle_3==50)
for(pos = 50; pos<=90; pos+=1)
{
servo_C.write(pos);
delay(60);
}
}

}


にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村