Archive for 7月, 2011

土曜日, 7月 30th, 2011

試運転(動画)

試運転(動画)

受信機を箱に入れて、シールド線でつないで動かしてみました。

PIC自体いまさらいろんな書籍も出てて目新しくもないし、こんなもの出すのすごく恥ずかしいのだけど、
エゾマツに使ったプログラム、参考までに晒しときます。
エゾマツ作る前からのアセンブリの作りかけもあるけど、Cで作ったやつが完成版なのでそのまま貼り付けておきます。

Cでやったっていっても、高性能マクロアセンブラー程度?にも使い切れないので…
マイコンの内部の設定周りビットごと操作したりレジスターごと操作したりいろいろ統一してないところもあるので
みにくいです。操作データも送信側と受信側で別々に加工してるし。

リストは送受別々にMicrochip MPLAB IDEに只でくっついてくる、Hitec-Cでコンパイルしてやってください。
デバイス(品種)の定義は、ソースリストに入れてないのでMPLAB IDEのほうで設定します。
送信側のタイミングはソフトウェアでやってますが、部分的に最適化される、liteモードでうまくいくように設定しています。
プロジェクトをzipに固めたのと、回路図と、機械語コードのHEXファイル、行内コメントの修正などの補足は、後日します。

送信はナビシステムのNVT200、受信はNVR200を使いましたが、シリアル通信に対応した無線モジュールや
赤外線モジュールなら、たぶんほかのやつでも使えると思います。
38kHz赤外線リモコン用のモジュール使う人は、伝送速度を2400bps位にしたほうがいいかも。

リストは、ページ「ソースリスト(エゾマツ)」に移しました。

日曜日, 7月 24th, 2011
仮配置

仮配置

エゾマツ本体に仮止めして、うごかしてみたら、近くじゃ動かないちょっと離れて背を向けるとうごく、パソコンにつないで調べてみたら9600bpsでも、ちゃんと電波入ったときは受信機からデータ出てるようなのだけど、受信機の資料が4800bpsだったので4800bpsに変えてやってみても、同じ。ツンデレに作った覚えはないけど、アースの仕方が悪いのとアンテナが悪いのと配線が悪いのかツンデレにできてしまいました。で、受信機の2本のGND端子の間を銅板でつないで見たり、アンテナ短くしてみたらそこそこ入るようになったのだけど、クレーンの向きによって入らないときがある。制御盤から微弱モジュールまでの15cm位のひょろ長い配線が、隠れアンテナになってて本当のアンテナの邪魔しているのかもしれません。ちゃんとした測定環境用意して定量的に検討すれば、研究になりそうです?
写真は、中央付近の灰色い箱が制御盤、本体前端付近の黒いぽっちがついた小さな板が、受信機です。

金曜日, 7月 22nd, 2011

送信機

送信機


動作

動作


プログラム書き込み

プログラム書き込み

送信機は、こんな感じです。巻上起伏旋回の3チャンネルなので8ピンのマイコン1個ですみました。最初巻上だけ2段の予定でしたが、けち臭いので全部2段のスイッチにしてしまいました。
微弱電波モジュールの信号入力から線を引き出して、パソコンに接続して動作確認しました。
プログラムの書き込みは、送信機の基板に用意した書き込み信号接続用のコネクターに、書き込み機のソケットから引き出した信号線をつないでやります。

ICは、一個だけ。アナログ入力つきの8ピンのマイコンPIC12F675ですべてやっています。
ピン数省略のためスイッチをデジタル入力に接続(ON-OFF)にせず、抵抗の切り替えで電圧を選択するようにしたので、ハード的にもソフト的にもすべて可変速にもできる仕様です。回路としては可変抵抗式のジョイスティックつなぐのが、一番簡単だったりします。
送信データは、識別符号1バイト(16進AA)のあとに操作量が1バイトずつ3つ、そしてデータ確認用の符号1バイトの5バイトになってます。データの確認用の符号は、単純に識別符号と操作量3つを足し算した結果の下1バイトになっています。制御盤のほうでほうでは受け取ったデータを検算して、間違っていれば捨ててしまい、間違いがなければ採用するわけです。送信受信両方ともタイミングに余裕があるのでもう少し複雑な方法で確認する事もできそうです。
転送速度は、一番上限が低い部分の速度以下なら、適当に決めてもいいのですが、パソコンのシリアルポートが対応している速度にすると動作確認しやすいので、一秒当たり9600ビットとか4800ビットにします。
パソコン側の動作確認のプログラムは、データを簡単に作成して送信できる、「シリアルコマンドエクスプローラ2」というフリーソフトを使用しました。

火曜日, 7月 19th, 2011

部品

部品


制御盤

制御盤

エゾマツ1号の制御盤、だいたいできてきました。マッチ箱くらいの大きさのケースに、部品を入れて空中配線しています。無線モジュールも一緒に収めたかったのですが、モジュールの突起が大きくてきれいに収まらなかったので、外につけます。
ケースは、ふたのつめを少し削って、片側にテープでちょうつがい作ってドアにして、中身は大体制御盤っぽく見えるように配線とか部品とかおいてみたんですが、どうでしょう。。。?色つきのエナメル線で組むと、もう少し配線がコンパクトになって、スケール感(?)増したかもしれません。

ICは、ワンチップマイコンPIC16F648Aを中心に、モータードライバーはLB1948を3つ、それと電源ICの2905、の5つだけです。648の通信機能使って、命令受け取って、それを基にモーター回します。パソコンのシリアルポートで使える通信速度にあわせておくと、動作確認簡単にできます。
モーターの速度は、今の仕様では3つともほぼ無断階といえる程度(127段)で制御できます。制御は、一定の周期の中で、通電する時間の長さを変更することで、モーターにやる電力を制御するPWM(パルス幅変調)つかうのが普通です。でも今回はいい感じの動作音が出せそうな方法として、PWMの代わりに一定の長さのパルスを発生させる頻度を変更することで電力を制御する、PFM(パルス頻度変調)にしてみました。ソフトでやってるので時々パルスの間隔はずれますが、問題にはならないでしょう。この方法、出力上げると周波数もあがってしまうのでモーターのインダクタンスが問題になってきそうだけど、そこはモーターにやる電源の電圧を高めにして、十分に電流を流すことで解決することにします。
で、動かしてみたら、遅いほうはともかく速いほうはギヤボックスの騒音が大きくてあんまり意味ないようなのが残念。

送信側は、ボタン読み取ってだいたい一定間隔でデータを垂れ流す感じになります。

土曜日, 7月 16th, 2011

電池とか

電池とか


もうすこし買い物しときました。クレーンに使わないものもいっぱいありますが。

月曜日, 7月 11th, 2011

箱


箱


オープン

オープン

引越し前までメインに使っていたタブレットPCもどきが、改装しつつ9年使ってくたびれ果ててしまったので、市内のアプライドに行って新しいの適当に見繕ってきました。パーツセットで売られているもの、店に組み立て頼んでおいたのが、納品されました。
一緒についてきた中途半端に大きい箱に、インストール用ディスクやらオプションの専用リカバリーディスクと一緒にパーツの元箱やら内袋まで送られてきました。元箱は、保証の問題と、ごみ(?)処分は購入者側でするってことでしょうか。内袋はまだ新しい帯電防止袋だから、カマキリやエゾマツやほかの作りかけの一時保管に再利用できそうです。
箱入りのCPUって相当前にMicroPGA2タイプのMobile Celeronを買ったとき以来ですが、梱包よくなったのか、心理的問題?を解決して小さな箱でよくなったのか、箱は小さくなってるようで。
で、広い台がないので、装置一式たたみの上に広げて、確認とデータ移ししておきました。ゲームやらない限りメモリー増設程度で5年くらい大丈夫だと思います。 ワープロ表計算ごくたまに動画の編集だけなら、職場のCeleron搭載機でも5年は十分もちそうですが。
今まで使っていた、タブレットPCもどきは、タッチパネルのコントローラーがUSB対応で、ドライバーもWindows Vista用のがあるようなので、何かしら入力装置に使えそうです。引っ越してから新しいの買うまでつなぎに使っていた一体型は、電気いじりの道具として使います。