PIC 84A アッセンブラソフト焼き込み済みをおわけ致します。  300円だと思ったけど
いくらでも良いですが、下記のURLの回路図理解できる方限定です。(当方は3個配布:終了11/03)

http://www.hobby-elec.org/step.htm

部品の調達は秋月電子かサトー電気をご利用ください。
以下URLです。

http://akizukidenshi.com/

http://www2.cyberoz.net/city/satodenk/jindex.html

秋月ではモーターもありますよ。 めんどくさい人は、秋月のキットを買った方が早いでしょう。
(10/30現在 キット1200円 モーター700円 でした。カウンターなし、リミッターなし。)

詳細必要な方、当方へはメールにてご連絡ください。

どうも、アッセンブラは体に合わない服のようで、理解しがたい。
basicはその点昔慣れ親しんだN8の応用で理解しやすい。年寄りはこちらですな。
マグネットループは小型高性能ですが、VCを制御するのが面倒です。しかし、これを
使えば簡単に行きそうです。 また、発展的にプログラムを変更しやすく思います。
もうしばらくすると、PIC−BASICのURLができます。ご期待ください。

pic-BASIC用プログラム完成 カウンター&リミッター付き 秋月モータ用 (単層モータ)プログラムZIP

秋月のキット(pic-basic開発キット)とTRがあれば完成します。 キット4400円 TR100円×4個 送料等別途かかる。モーター700円

PIC-BASIC は簡単に作れる、使えるが、裏がある。
マニアルに結構間違い(記入不足)が多い。しかし、開発に使う時間はアセンブラに比べれば
1/10から1/5と私は思います。
アマチュア無線関係で何か制御しようとするときとても便利です。
デジタル不得意な、おっさん(小生)でも簡単に利用できます。

PCが不得意な方は無理です。PCでソフトを書き込みますから、ワープロ程度が、使えなければ難しい、
どころか使えません(あきらめてください)。

PCとは  RS232Cで連結します。   小生は、USB→RS232Cアダプター(秋月)利用 :1400円

モータは5V1A〜2A流れます。
それに見合った2SDかなんかのTR必要。
picの各ピンからの出力は5V程度 電流最大10mA
TR駆動には十分。
モーターが5Vなので試験の結果両立するには8Vとなった
電源は8V OK
電源は8V2A程度あればFB
pickitは12V動作です。 (3端子付きです。)
(LCD の背面に蛇の目基板十分余裕あり。)

普通の単層ステッピングモータです。  2層の場合はプログラムちょっと修正 簡単!:2進数の桁数が8個に成るだけか?。)

(書き込用ソフトなど付属します。)

(フラッシュメモリ 1M付きですから電源を切った状態を保持します。:多少裏技あり。ソフト組み込み済みOK)

組み込み済み写真

こんな物、1から作ったのでは、小生の寿命は尽きてしまいます。 やりたいのは
バリコンのコントロールで、制御装置は手段ですから時間をかけないことが寛容!!?
貴方はプログラムをダウンして組み込むだけ。

箱に入れるだけ。

(回路等不要なぐらい簡単ですが必要な方)

30mのLANケーブルが最適デス
ケースにコネクタを取り付けモーターに
6芯をを使います。
LANケーブルなら2A程度平気です。
(LANケーブルは8芯)

結局、モーター電源を別につけるのが面倒
なので、左上に三端子レギュレターをつけ
5vにしてます。

電源はTRX用の12Vを直接供給します。
かなりの発熱のため放熱板がついてます。

ケースに組み込んだところ、ケースはいつもの100円ケース

カウンターと回転数表示されます。

'真空バリコンの回転限界は何回転か必要です。
'回るすぎないように、cの数値を入れます。
'200setpですと1回転は50カウントぐらいです。1カウント7.5度
'当方は13回転で左右300カウントにして、0〜300で限界にしてます。
'内蔵メモリーは電源切ったり入れたりすると変化するおそれあり。
'限界値を超えた数値が入っても良いように 限界表示c=300にしてます・
'修正できるようにです。




Dim pattern As Byte
Dim i,k,w,w1,l
Dim c As Long
Dim d As Byte
Dim e As Byte
'debug実行で内蔵メモリを初期化します・初めだけ行う。
'以下初期化のためのプログラムです。
'd=10  
'e=0
' Write &h01,chr$(d)
' Write &h02,chr$(e)

'ここまでを(「’」を外した状態で)デバッグモードで動かした後「'」を入れて
'書き込みを行うこと。


Initlcd
Clearlcd

'前回までのメモリー読み込み
Read &h01,d
Read &h02,e
'数字を元に戻します。4桁へ
c=(d*100)+e
'表示のルーチンに飛びます・
Gosub hyouzi
'電流を流す時間の設定 ms
w = 3
'回転速度の設定
w1 = 10
' 面倒なので、RDポートすべてを出力にする。
tris_rd = 0
'設定の初期値だと1なので0にして電流を
'流さないようにする・
'出力はTR使うので反転ですよ・1でONです。
rd =1100000

kakiko:
Setpos 0,1
Putlcd " JO7NLI"
'2桁に変更しないと入らん。情報を
'メモリーに書き込んでおきます。
'回転が終了時点で書き込みます。
'書き込み回数を減らす目的です。
d=c/100
e=c-(d*100)
'chr$にしないと受付ねーんだね。?
Write &h01,chr$(d)
Write &h02,chr$(e)
handan:
'モーター電源カット
rd =01100000
'rb1とra4を監視
If rb.Bit0=0 Then Goto kaiten1
'どこでも良いが使っていないra4を入力ピンとした
If ra.Bit4=0 Then Goto kaiten2
'ループします
'ボタンが押されると回転のラベルへ
Goto handan
kaiten1:
'リミット設定 約7.5回転
If c=1380 Then Goto LTD
'4つのパターンで正回転 1サイクルで7.2度
For i=0 To 4
'ここは1カウント1/200度です
'2進数一発で複数ポートの出力。RDポート0〜3・便利ね。
Lookup i,pattern, &b1010,&b0110,&b0101,&b1001
rd = pattern
' w秒電流を流す。
Sleep w
'電気を切る。
'rd =01100000
Next
'回転速度設定してます
Sleep w1

'ここは1サイクル(4回)=1カウント (4/200step7.5度)
c = c + 1
Gosub hyouzi
If rb.Bit0=0 Then Goto kaiten1 Else Goto kakiko
'ボタンを押してるか判断
kaiten2:
If c=630 Then Goto LTD
For i=0 To 4

Lookup i,pattern,&b1010,&b1001,&b0101,&b0110
rd = pattern
Sleep w
'rd =01010000
Next
Sleep w1
c = c - 1
Gosub hyouzi
If ra.Bit4=0 Then Goto kaiten2 Else Goto kakiko
'ボタンを押してるか判断
LTD:
'回転のリミットがきたら停止を設定する。
Clearlcd
Homelcd
Putlcd " Now !! "
Setpos 0,1
Putlcd " - LMITs-STOP-"
Goto handan
hyouzi:
Clearlcd
Homelcd
If c<1000 Then Putlcd "cunt -",(1000-c)," R- ",(1000-c)/50
If c>1000 Then Putlcd "cunt +",(c-1000)," R+ ",(c-1000)/50
If c=1000 Then Putlcd "cunt = ",0

Return

以下はPIC-Basicのソースです。

完成と総合評価

(気の短い人用)

完成までの詳細写真集

磁界ループ各種実験中

11月25日変更
モーターを大型にし12V供給としました。(完成型)

アマチュア無線関連

バリコン制御器簡単製作PIC−BASIC(2時間もあればできるよ。)

to TOP

<注意> 内部ROMの信号は敏感です。電源をリード線でつないだりすると誤ったデーター
などが入ります。必ず初期化してから使わなければ成りません。

2007/01/25修正