ガレスタさんのDIY日記

電子回路、Web、組み込み、自作エフェクターを語るblog

プログラムスイッチャーについて戯言を述べる

最近プログラムスイッチャーってつくれるんすか?みたいなつぶやきが多かったのでいろいろ書いてみる。

まず前提

  • 安くは作れん!
  • どこで妥協するか?
  • 前提知識が結構いっぱいあるぞ


まあ一個づつ見ていこうとする。

安くは作れん

これについて断言するがたとえ完成しても利益分はコンビニの時給より安くなっちゃうと思う。

厳しい言葉から始まったがこれは嘘ではない


  • それなりなマイコン
  • 基板
  • 筺体
  • スイッチとか

まずはマイコンだが単価は250円ぐらいだろうが最初っから生チップに書き込める人がいますか?→まあ多分無理
開発環境+勉強費含めて 8000円で済めばいいね。(Arduinoなら4000円程度で行けるか?!

基板デジタル回路なんでユニバーサルは非推奨→それなりなサイズで組んだら12000円ぐらいは飛ぶよね

筺体→出来合いのもので済ませればいいけど専用で設計したら20000円ぐらいかねぇ

スイッチとか→モーメンタリーって一個400円で済めばいいけど5LOOPならそれだけで2000円・・・・


よしざっと見積もろう(5LOOPバンクなしだとしよう

パーツ 個数 単価 金額
マイコン 1 8000円 8000円
基板 1 12000円 12000円
筺体 1 20000円 20000円
スイッチ 5 400円 2000円
LED 5 20円 100円
合計 42100円

あららprototypeでこの値段かぁ・・・・そして人件費としていくらか載せたらもうね・・・・うん察しですよね
安くする話は次の妥協の欄に譲る

どこで妥協するか?

前項で結構かかるということが分かったわけだが・・・・・
じゃあ妥協点で何処まで安くできるかなぁということをやってみよう

  • Arduinoを使う→4000円(教材はネットに頼る
  • 基板→手間は増えるがユニットごとに分割して海外で外注
  • 筺体→既存のもので探す
  • スイッチ→多分これは買えないほうが良い?・・・


という感じで再度見積もってみる。

パーツ 個数 単価 金額
マイコン 1 4000円 4000円
基板 1 9000円 9000円
筺体 1 2000円 2000円
スイッチ 5 400円 2000円
LED 5 20円 100円
合計 17100円

随分と安くなったわけだが穴あけ加工は自分だし、細長いケースってタカチの板金ケースしかないから結構強度面で不安・・・・

基板面はユニット分割はいいけどコネクターとかその辺考えないといけないから結局予算が増えるし・・・CADで工夫しないとだし

マイコンArduinoだからいいとは思うけど・・・・・

17000円かけてなんだかなぁはひじょうにヨクナイ・・・・

前提知識が結構たくさん

多分これが一番重要だと思う。
まず考えられる問題というか必要な知識を書きだしてみた。

  • マイコンである程度のプログラム経験がいる(C言語C++など
  • メモリーしくみを知っている(揮発性、不揮発性など
  • チャタリング対策法を知っている(誤動作、バグつぶし
  • リレー駆動に心得がある
  • 電源及びアナログエンド回路にある程度の知識がある。

ひねり出せばいくらでも出てくるがまあハード、ソフトともにかなりの知恵が必要であると理解できると思う。

まあ違った視点(スイッチャーのしくみ)からも見てみよう

主な仕組み

プログラムスイッチャーとパッシブスイッチャーの大きな違いは動作の種類における多彩さにあると思う。

パッシブスイッチャーは回路構成がアナログなわけで、単一動作となる。

一方プログラムスイッチャーは複数の指令に対応して動作しないといけないわけである。

簡単に言えばスイッチ一個推した時の複数の動作が行われるということである。

一方アナログスイッチャーは3PDTスイッチでループONOFFを切り替えるわけだが細かく見ると3回路が一気に切り替わるタスクを処理していることになる。
例えばLOOP1のスイッチを押した時のタスクを比較してみよう

単なるパッシブスイッチャーの場合

  • Sendの切り替え
  • Returnの切り替え
  • LEDの切り替え

プログラムスイッチャーの場合

  • おされたスイッチの判断
  • LOOP1に保存されている情報の読み出し
  • 読みだされた情報からループの切り替え(複数)
  • 読みだされた情報からLEDの切り替え(複数)
  • 次の動作への待機


このように一気に複数のループを操作するのでタスクの処理数が圧倒的に違う
また、複数動作に対応するために分岐処理が必須となる。
そのためハードウエアで単一動作するパッシブスイッチャーに比べて不安要素(リスク)増えるわけである。

まとめ

結構長々と話してしまったが簡単に構成をまとめるとこんな感じになってしまういうことである。

もちろん初心者がここで止まってしまうのもよくない

ここで勝手な提案だが

  • メモリー決め打ちでプログラムパターンはベタ打ち(スタンドアロン動作は慣れてから
  • バンク機能はなし


みたいな構成で作れば良いと思う。
そうすることで長押しで保存とかそういうことはしなくていいわけだから結構プログラム量は減ると思う。
あとは僕が良くやる手法だがブレッドボードでLEDのみでテスト基板を作るとかも有効だと思う。

今回は戯言が長くなり過ぎたけど結局はこゆことだ

一歩一歩勉強することを楽しんでほしい!

じゃあの!