« 2014年3月 | トップページ | 2014年5月 »

2014年4月29日 (火)

「理想のポタ赤を作る」模型つくり

とりあえず、中身が良く分かるようにアクリルで模型を作っています。

1404291

基本構成は決まりましたが、詳細をもっと詰めないと試作機もまだできそうにありません。

1404292

ウエイトをバッテリーケースにするアイデアがあったのですが、バッテリーだと大きくなりすぎて、素直に鉄の塊にした方がコンパクトになります。ただ、バッテリーは絶対どこかに必要なので、どこかに必ず付けます。

| | コメント (0)

2014年4月18日 (金)

すみません

父親が逝きました。

しばらく休ませてください。

| | コメント (2)

2014年4月12日 (土)

「理想のポタ赤を作る」途中報告

ポタ赤づくり、更新が停滞してます。すみません。

別にサボっているわけでもありません。また、マイコン入門が忙しいわけでもありません。

毎日のようにやっているのですが、時間がかかっています。

まだ、基本構成が決まっていないのです。

実は、今、模型作りをしているのですが、一号機は、どうやら強度不足で、300mmクラスの望遠撮影には耐えられそうにないので、強度アップを考えているところです。

それと、最大の問題は極軸望遠鏡なのです。ポタ赤の極望といえば、いかにもとってつけたようなのが多いし、いかにも邪魔くさいつけ方のが多いのですが、運ぶのにかさ張るのはやだし、現地で組み立てるのも面倒だし。コンパクトにまとめたい。それと、直視ではなく、直角視が理想です。

実はこれらの問題がすべて解決しそうになったきたので、もうじき模型をお見せできそうです。

模型ができれば、それを元に、手作りで試作機をつくりテストし、製図をして、業者に金属加工を依頼する予定です。でもまだまだかかりそうですけど。気長に待ってやってください。

| | コメント (0)

天文屋のためのマイコン入門」スイッチをつけよう

LEDをつけたので、今度はスイッチを付けてみましょう。回路図はご覧の通りです。

1404121

RA5は、入力専用のポートなので、スイッチをつけるのはここがいいでしょう。スイッチを押すと、ポートには'0'の状態が入力されます。押さなければ'1'です。いわゆる負論理ですね。LEDが正論理なので、できれば統一した方が良いのですが、こちらの方が配線が楽だったのでそうしました。

配線図はご覧の通り。スイッチは予め、テスタでどことどこが接続されるか確認しておきましょう。

1404122

完成写真と、裏面の写真です。

1404123

1404124

基板が完成したら、プログラムを修正します。

MPLAB IDEを起動し、プロジェクトを開きます。ソースプログラムの赤い部分2行を追加してください。

1404125

プログラムの修正が終わったら、F10キーでビルドし、

[Programmer]->[Program]で書込みしてください。

書込みしたら、さっそく動かして見ましょう。電源を入れるとLEDが点灯します。ここまでは同じすが、スイッチを押すと、LEDが消えます。

| | コメント (0)

2014年4月 8日 (火)

伊豆に遠征に来ています

よく晴れてます
2時ごろ撮影開始します。

さそり座頭部を順調に撮影中

風が強いです。

今日は100mmマクロ
夏の星座を撮影するのは二年ぶり。嬉しいです。

もうじき薄明です。ダーク撮って帰ります。

| | コメント (0)

2014年4月 7日 (月)

「天文屋のためのマイコン入門」プログラムちょこっと解説

見事LEDを光らすことができました。ここでプログラム解説といきたいとこですが、わずか数行のプログラムでも、ちゃんと解説しようとすると大変です。いずれ、全部説明しますが、ここでは、重要な次の2行について説明します。この2行が、まさにLEDを光らせてるのです。

MOVLW  B'11111111'
MOVWF  5

B'11111111'というのは数値です。最初にBがあるのでこれは2進数です。10進数に直すと255です。マイコンでは2進数のままの方が分かりやすいので10進数に直しませんが、これは次と同じことです。

MOVLW  255
MOVWF  5

この2命令は、数値255をワーキングメモリに転送し、それをデータメモリの5番地に転送しています。つまり、この2行は、

データメモリの5番地に数値B'11111111'を書き込んでいる

と捉えることができます。

でも何でメモリの5番地にデータを書き込むとLEDが光るのでしょうか?

実は、このポート(RA0からRA7のAグループの8本)は、メモリの番地に最初から割り当てられているのです。(そのようなマイコンの設計になっている)

つまり、ポートに対する操作は、特定の番地に対するメモリへの操作とまったく同じなのです。

1404071

このように、ポートなど、マイコン内蔵の機能の操作をメモリに割り当ててあると次のようなメリットがあります。

●ポートやその他内蔵機能を操作する専用の命令が要らない。
つまり、メモリ操作に関する命令だけで、ポートや内蔵機能を操作できる。

これはとても便利なことです。

さて、まとめると、

●RA0からRA7のポートにデータ('1'か'0')を出力したい場合は、メモリの5番地に書き込む
●RA0からRA7のポートからデータ('1'か'0')を入力したい場合は、メモリの5番地から読み込む
(ただしRA5からは出力できない、入力専用なので)

ちなみにRB0からRB7のBグループのポートですが、これは6番地に割りついています。

| | コメント (4)

2014年4月 6日 (日)

「天文屋のためのマイコン入門」MPLAB IDEの使い方3

機械語プログラムができたので、それをPICマイコンに書き込みましょう。

まず、PICKit3に書き込みアダプタを接続し、PICマイコンを写真のように挿入します。16F88のような18ピンの場合は、下ずめで差し込みます。また書き込みアダプタはジャンパの設定をよく確認します。

14040510

準備ができたら、USBケーブルをパソコンに接続します。

MPLAB IDEのメニューの[Programmer]->[Select Programmer]->[6PICkit3]

を選択します。

途中、Cuationが出ますが、OKをクリックします。

1404055

このような画面が出ますが、次に、

[Progrmmer]->[Settings..]を開き、[Power]のタブを開きます。

1404056

Power target...のところをチェックします。[OK]をクリックします。次のような画面が出れば、OKです。

1404057

これでようやく、書き込める準備ができました。次に書き込みます。

[Programmer]->[Program]で書込みが始まります。

1404058

この画面が出れば、書込み終了です。

PICマイコンを書き込みアダプタから外し、基板にさし、電源を入れれば、プログラムが動作してLEDが光ります。

14040511

LEDが光らない場合は、どこかが間違っています。

| | コメント (0)

2014年4月 5日 (土)

「天文屋のためのマイコン入門」MPLAB IDEの使い方2

プロジェクトを作成したら、いつでもこのプロジェクトを開くことにより、プログラム開発を継続できます。ちなみに既存のプロジェクトを開く場合は、

[Project]->[Open]

です。

途中、次のようなメッセージが出る場合があります。

1404051

Aboluteは、単一ファイルでプログラムを作成する場合なので、[Abolute]をクリックしてください。

さて、前回、main.asmという空のソースファイルを作成しました。そこへ次のようなプログラムを記述してください。プログラムの解説はまた後でします。とりあえず、この通りプログラムを記述します。

1404052

間違えないように↓これをコピペすると良いでしょう。

__CONFIG H'2007', H'3F18'

BSF  3,5
CLRF 27
CLRF 5
BCF  3,5

MOVLW b'11111111'
MOVWF 5
GOTO 4

END

さて、プログラムは記述しただけでは、ワープロ文章と同じ単なる文字ファイルです。これをプログラムに変換する作業が必要です。これをビルドといいます。F10キーを押すとビルドされます。

1404053

これでプログラムが見事、ビルドされました。これでマイコンに読み込ませることができます。

上記赤丸のところが重要です。エラーの数が0、最後に「BUILD SUCCEEDED」と出れば正解です。

プログラムにエラーあるとどうなるか、試して見ましょう。プログラムの

「BCF  3,5」

の行をわざと、

「BCF  3」

に変えて見ます。そうすると次のようになります。

1404054

最後に「BUILD FAILED」と赤く表示され、途中、エラーメッセージが表示されます。

Error[128]   G:\PIC\SAMPLE\MAIN.ASM 6 : Missing argument(s)

この行をダブルクリックすると、エラーがあったソースファイルの行に移動できます。これは便利なのでぜひ覚えておいてください。

さて、このエラーの意味するところは、エラー番号128番、場所はファイルMAIN.ASMの6行目、エラーの内容は、Missing argument(s)ということですが、

Missing argument(s)の意味は分かるでしょうか?

慣れもありますが、エラーメッセージからエラー内容を把握するのはけっこう難しいです。単なる記述ミスの場合は分かりやすいのですが、そうでない場合は難しいです。

ただ、エラーメッセージが出るだけマシで、エラーなくビルドできたのに、実際動作しない場合があります。これがほんとに難しい。

結局、マイコンというのはちゃんと理解しないと難しいということです。だから、この連載では、手抜きなしでちゃんと解説したいと思います。

さて、

「BCF  3,5」

の記述を元に戻し、F10キーで再度、ビルドしてください。

マイコンに読ませるプログラムがどのようなものか、ちょっと覗いて見ましょう。

[View]->[Program memory]を開きます。

1404059

最初の1683 01A7 0185 1283 30FF 0085 2804

の部分がプログラムです。ちなみに3FFFとあるのは空の部分です。

プログラムをソースファイルと対応させて見ましょう。

__CONFIG H'2007', H'3F18'

BSF  3,5  ------>     1683
CLRF 27  ------>    01A7
CLRF 5   ------>    0185
BCF  3,5  ------> 1283

MOVLW b'11111111'   ------> 30FF
MOVWF 5  ------>0085
GOTO 4  ------>2804

END

左側を、ソースプログラムといいます。右側のビルドされたプログラムを機械語プログラムといいます。

ソースプログラムを機械語プログラムに変換する作業をビルドと言います。

今日はここまで、プログラムが完成したので、次回、書込みを行います。

| | コメント (0)

2014年4月 3日 (木)

「天文屋のためのマイコン入門」MPLAB IDEの使い方1

MPLAB IDEを起動したら、最初にプロジェクトを作成します。[Project]->[Project Wizard]でプロジェクトウイザードを開きます。

1404021_2 

次へをクリック

1404022

デバイスにPIC16F88を選択します。

1404023

この画面は、プログラム言語を選択する画面ですが、上記設定のまま次へをクリックします。

1404024

ここで、プロジェクトファイルを作成しますが、まず[Browse]ボタンをクリックします。

1404025

まず、どこかにフォルダを作成します。フォルダ作成ボタンでフォルダを作成します。名前は何でも良いです。その作ったフォルダを開き、ここにプロジェクトファイルを作成します。プロジェクトファイル名は何でも良いのですが、この例ではLedとしています。

1404026

プロジェクトに登録するソースファイルを聞いてきますが、まだないので、ここはそのまま「次へ」をクリックします。

1404027

「完了」をクリックするとプロジェクトが完成です。

1404028

これがプロジェクト画面です。まだ何もありません。

次にソースファイルを作ります。[File]->[New]で白紙のソースファイルができます。

1404029

[File]->[Save As]で、名前をつけて保存します。ファイル名は何でも良いのですが、拡張子は「.ASM」にしてください。この例では、main.asmとしました。それで、ここからが重要なのですが、一番下の「Add File To Project」にチェックを入れてください。こうすることにより、このソースファイルが名前をつけて保存されると同時にプロジェクトに登録されます。

14040210

ソースファイルはプロジェクに登録されて始めて意味を持ちます。これを忘れないように。なお、ソースファイルが確かにプロジェクトに登録されているか確認するには、このウインドウの[Source File]のところを見てください。

14040211_2 

確かにmain.asmが登録されているのがわかります。ちなみに、このmain.asmをダブルクリックすれば、いつでもこのファイルを開くことができます。

続く

| | コメント (0)

2014年4月 2日 (水)

「天文屋のためのマイコン入門」プログラム作成の流れ

それでは、実際にプログラムを作成してみますが、その前に全体的な流れを説明します。

まず、プログラムを作成するために開発ツールソフトをインストールしなければなりません。このソフトはPICKit3にもCD-ROMで付属してします。なお、このソフトはMPLAB IDEといいますが、メーカーのホームページを見るとMPLAB X IDEという新しい製品に生まれ変わっています。

今回は旧製品のまま、開発を進めます。

さて、この開発ツールはMPLAB IDEといいますが、IDEとは、「統合開発環境」の略です。何が統合されているかというと、プログラムを作成して書き込むための一連のソフトウェアです。たとえば、プログラムを記述するためのエディタソフト、プログラムを翻訳して、マイコンに読ませるための数字の列に変換するアセンブラというソフト。それを書き込むためのライターソフトなどです。これらを統合したソフトウェアということです。

統合されているのは当たり前ではないかと思いますが、大昔は別々だったのです。

MPLABでプログラムを作るには次の流れに従います。

1403311_2

●プロジェクトの作成
 プロジェクトとは、プログラムを含む、そのプログラムの開発に必要なオプションや設定など、もろもろの状態を保存したファイル群です。プログラム作成中は、このプロジェクトを保存したり、開いたりして、開発を継続していきます。

 プロジェクトを開くことにより、以前の作業状態は完全に復元されます。

 プロジェクトは複数のファイル群からなりますから、必ずそのプロジェクト専用のフォルダを作成し、そのフォルダの中に作成します。

 一つのフォルダの中に複数のプロジェクトを作らないようにします。

●ソースファイルの登録と作成
 ソースファイルとは、プログラムを記述するファイルのことを言います。ソースファイルは一つの場合もありますし、複数の場合もあります。

 ソースファイルは作っただけでは、プロジェクトの一員にはなれません。ソースファイルは作成したら、前述したプロジェクトに登録する作業が必要です。

●プロジェクトのビルド
 ソースファイルにプログラムを記述したら、プロジェクトをビルドします。ビルドとは、プログラムを翻訳して、誤りがないかチェックし、問題がなければ、マイコンが読み込む機械語のファイルを作成することをいいます。

 誤りがある場合はエラーメッセージが出ますが、エラーメッセージからエラーの内容を把握して、原因をつきとめるのは、けっこう実力がいります。中途半端にプログラムを理解している人は、ここでつまずきます。これに関してはまた後で詳しく説明します。

●プログラムの書込み
 
エラーなく、プロジェクトのビルドができたなら、最後にプログラムをPICマイコン内部に書き込みます。

最後に動作を確認して終了です。

次回はMPLAB IDEの使い方を説明しますので、インストールしておいて下さい。

| | コメント (0)

« 2014年3月 | トップページ | 2014年5月 »