2013年6月26日水曜日

TJ3Bのセンサを増やしたいけど3

TJ3Bのセンサを増やしたいけど3
このブログの実験の内容や結果につきましては、ダイセン電子工業様の
サポート外の事ですのでダイセン電子工業様には絶対にお問い合わせ
なさらないようにして下さい。これを承諾出来なければ、このブログをご覧
にならないでください。
このブログの内容を追試なさる場合は、自己責任で行ってください。
未成年者は、保護者メンターに確認を取ってください。
このブログの内容の良不良についての判断は、読者ご自身でなさって
下さい。未成年者は、保護者メンターに相談して下さい。
私の立場は、公開されているプログラムであることと、コンフィギュレーション
の設定や割り込みを設定することが法に触れることとは考えおりません。
この考え方が違うと思われる方は、ダイセン電子工業からローダー付き
マイコンをお買い求めください。ダイセン電子工業様の商売を妨害する
意図は全くありません。
技術の継承の無い、個人で参加している低学年の子どもたちの次の
ステップを低価格で用意したいだけです。
理論を知りたい方、教えたい方は、ブートローダの仕組みやC言語、
I2Cの使い方を勉強なさって独自プログラムをお創りになり是非公開して
ください。いろいろ逃げ口上を述べましたが、では 始めましょう。

調べたこと
ブートローダー・プログラム・エリア推定
0000 ~ 07FF 
ユーザー・プログラム・エリア推定
0800 ~ 使用するマイコンにより異なる    
コンフィギュレーション推定
C-Styleのデフォルトだといいな。
割り込み
0000h -> 0800h リセット・ベクタ 違うのかな082Ahかな
0008h -> 0808h 高優先度割り込み
0018h -> 0818h 低優先度割り込み
関係しそうなファイル
18f2520.lkr
p18f2520.h
cl2520s.bat
c018i.c
Ds_Main.c
Ds_Main.h
C18は、直接コンフィギュレーションを書けない。

結論
Ds_Main.cとかのCのプログラムも.lkrもコンフィギュレーションの書き方
や読み方も私にはさっぱりわからないのでHEXファイルに出来あい
のHEXファイルから切り貼りして無理やり動かしてみます。
まず、次のファイルの一部書換えを行います。必ずバックアップを取っておいて下さい。

Build_V130515の中のSlvの中にある、
18f2520.lkrの
CODEPAGE   NAME=boot0      START=0x0               END=0x7FF          PROTECTED
CODEPAGE   NAME=vectors    START=0x800             END=0x829          PROTECTED
CODEPAGE   NAME=page       START=0x82A             END=0x7FFF

CODEPAGE   NAME=page       START=0x0                 END=0x7FFF
の一行だけに書き換えます。

c018i.cの
#pragma code _entry_scn = 0x000800
//static void _entry (void)

#pragma code _entry_scn = 0x000000
//static void _entry (void)
に書換えます。

Ds_Main.hの
// 割込みベクター
#define USER_ISRH 0x808
#define USER_ISRL 0x818

// 割込みベクター
#define USER_ISRH 0x008
#define USER_ISRL 0x018
に書換えます。

書換えが終わったら、C-StyleのSetupコマンドでスレイブのI/O番号の設定と各入出力の
設定を行います。他にプログラムは、無条件ループを入れました。これをビルドします。
フォルダにHEXファイルができます。これに切り貼りして加工を行います。
HEXファイルはメモ帳で開きます。

コンフィギュレーションは、HEXファイルの最後の行
:00000001FF
の前に次の行を貼り付けます。
PICの書き込みソフト等に読み込ませれば設定を確認出来ます。
:020000040030CA
:0100010008F6
:0100020018E5
:010003001EDE
:010005008377
:010006008178
:010008000FE8
:010009008076
:01000A000FE6
:01000B00A054
:01000C000FE4
:01000D0000F2
:00000001FF

加工の終わったHEXファイルをPIC18F2420などの生PIC
http://akizukidenshi.com/catalog/g/gI-03554/
http://akizukidenshi.com/catalog/g/gI-03602/
にPIC専用の書き込み器で書き込めば、拡張センサ・ボード用のマイコン
として使用出来るかと思います。、だめみたい。はぁ~。
ボードの作成加工は各自で工夫なさってください。
これで、超音波距離センサ、ボールセンサ、ラインセンサをめいっぱい
登載することが出来るようになると思いますよ。
ただし、重量制限に注意してくださいね。オムニ車両ではすぐに重量
オーバーになるかもしれませんね。
また、車体の形状や電源の容量も再検討が必要になってくるでしょうね。
あたらしいことをひとつ増やすと考えないといけない事は何倍にもなって
返ってくることを忘れないでください。
センサの数の差が戦力の決定的差ではありません。
つづく。

0 件のコメント: