PICの種類によって CONFIG ワード の設定が違います。私は、この謎の呪文についてマニュアル等を調べても、記述が無く困り果ててしまいました。
インターネットの検索を使って調べても、確かな回答が出てきません。
ふと、思い出したのが、PICマイコンの基本データーが include ファイルに書かれている事を・・・
早速調べて見ると、HI-TECH C プログラムがインストールされている場所の include フォルダーの中のファイルを見てみると・・・
[ 12F629 の場合 ]
有りました。!!! CONFIG ワード の設定法が・・・
これで、PICの CONFIG ワードの設定が出来る様になりました。
しかし、PICの種類によっては、CONFIG1、CONFIG2・・・と何種類かある場合が有ります。
ここでは、CONFIG ワードの個別の説明は、省略します。・・・
[ 楽釣119 CONFIG ワードの設定 へ移動 ]
[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ 楽釣119 へ移動 ]
楽釣工房では、小魚用しゃくり機、わかさぎ用しゃくり機、Picマイコン制御による自動しゃくり機(しゃくりパターン制御)、赤外線リモコンの応用回路(電気機器のON/OFF、温度制御、リモコンに依る数値設定など)、電子回路について書いて行きます。
ブログの投稿記事に画像データを多く使用している為、他の投稿記事を読む事に不便をかけると思われます。
ホーム・ページ [ 楽釣119 ] では、今までの記事の内容を整理し、内容の不具合を修正し、又、記事の追加をして、ホーム・ページで公開しています。
[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ 楽釣119 へ移動 ]
___________________________________________________________________________________________________________________
2011年1月24日月曜日
2011年1月18日火曜日
MPLAB IDE の使い方 / I/Oの設定
PICマイコンを動作させる為に、まず、初期設定をしなければなりません。
必要な項目だけを設定する事で、動作をさせることが出来ます。
おおまかな設定は、色々公開されているプログラムを参考にして、後は、自分でアレンジしてプログラミングしてください。
データー・シートで表示されてる項目は、PICマイコンごとに違う場合が有ります。
例えば、
上記の表の 16F57 の I/O ポートの名称は、 PORTA、PORTB、PORTCです。
又、各ビット名は、 RA0、RA1、RA2・・・、RB0 ・・・、 RC0 ・・・ です。
- include ファイルの設定
- CONFIG wordの設定
- 動作周波数の宣言
- I/Oの設定
- その他
必要な項目だけを設定する事で、動作をさせることが出来ます。
おおまかな設定は、色々公開されているプログラムを参考にして、後は、自分でアレンジしてプログラミングしてください。
データー・シートで表示されてる項目は、PICマイコンごとに違う場合が有ります。
例えば、
上記の表の 16F57 の I/O ポートの名称は、 PORTA、PORTB、PORTCです。
又、各ビット名は、 RA0、RA1、RA2・・・、RB0 ・・・、 RC0 ・・・ です。
上記の表の 12F629/675 の I/O ポートの名称は、 GPIOです。
又、各ビット名は、 GPIO0、GPIO1、・・・・ GPIO5です。
以上のように、PICマイコンの種類によって呼称が違うので注意が必要です。
[ プログラミング例 (16F57) ]
ポートAが出力に設定されている場合
TRISA = 0x00; // A ポートをすべて出力にセット
PORTA = 5; // PORT Aに5をセット
・
・
RA2 = 1; // PORT Aのビット2をセット
[ プログラミング例 (12F629/675) ]
ポートが出力に設定されている場合
TRSIO = 0x00; // I/Oをすべて出力にセット
GPIO = 5; // GPIOに5をセット
・
・
GPIO2 = 1; // GPIOのビット2をセット
上記のように表記が違うので、他のPICマイコンに移植する時は、この事を頭に入れて修正してください。
データ・シートで表記されている大文字のアルファベットは予約語 なので、変数名として使う事が出来ません。 プログラムで使う変数を自分で定義する時、この予約語とダブらない様にして下さい。
又、変数名のつけ方で次のような場合、
test-2 = 3;
test-2 と言う変数を設定したつもりが、
test - 2 = 3;
数式と判断される事があります。
この場合は、_アンダーバーを使います。
test_2 = 3;
変数名はなるべく小文字を使う方が良いでしょう・・・
[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ 楽釣119 へ移動 ]
MPLAB IDE の使い方 / ライン・ナンバーの表示
MPLAB-IDEを使ってコンパイルしデバックする時、頼りになるのがテキストのライン・ナンバーです。
マニュアルはすべて、英文なので何処に何が書かれているのか解りません。
誰かに聞くか、自分で調べる他はありません。
私自身、使い方がまだ解っていません・・・はっはっは~笑い・・・
後は、使い慣れて行くしか無いでしょう・・・
MPLAB-IDEを起動しても、ライン・ナンバーは表示されません。自分でMPLAB-IDEの設定をしなければなりません。
コンパイルした時に表示される警告文、エラー文の意味を少しでも理解する為の、重要なアイテムです。
前回、サンプルとして使った 電子フラッシャー① を例にして説明します。
まず、PROJECT を開きます。
ソース・ファイルのテキスト・エリアの上にマウス・カーソルを持って行き、右クリックしてポップアップ・リストを表示させます。
Properties をクリックします。
表示されたら、C File Types タブを選択します。
この中の、Line Numbers にチェックを入れOKをして終了します。
これでライン・ナンバーが表示されるようになりました。
これをコンパイルすると、エラーが表示されます。
コンパイル : 失敗
エラー・コード : 192
エラー・ライン・ナンバー : 20
エラー原因 : 未定義の識別子
と、表示される。
後は、エラーの原因を調べて修正します。
マニュアルは、タスク・バーの Project をクリックすると、プルダウン・リストが表示され、この中の
HI TECH C Manual をクリックすると、表示されます。
また、F11キー を押しても表示されます。
エラー・コードの説明はマニュアルの後半の方に書いてあります。ただし、英文です。
google 、Yahoo 等の翻訳を利用する方法もあります。
TRISB は、16F57の予約語です。必ず、大文字で記述します。
[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ 楽釣119 へ移動 ]
マニュアルはすべて、英文なので何処に何が書かれているのか解りません。
誰かに聞くか、自分で調べる他はありません。
私自身、使い方がまだ解っていません・・・はっはっは~笑い・・・
後は、使い慣れて行くしか無いでしょう・・・
MPLAB-IDEを起動しても、ライン・ナンバーは表示されません。自分でMPLAB-IDEの設定をしなければなりません。
コンパイルした時に表示される警告文、エラー文の意味を少しでも理解する為の、重要なアイテムです。
前回、サンプルとして使った 電子フラッシャー① を例にして説明します。
まず、PROJECT を開きます。
ソース・ファイルのテキスト・エリアの上にマウス・カーソルを持って行き、右クリックしてポップアップ・リストを表示させます。
Properties をクリックします。
表示されたら、C File Types タブを選択します。
この中の、Line Numbers にチェックを入れOKをして終了します。
これでライン・ナンバーが表示されるようになりました。
試しに、プログラムの一部にワザとエラーが起こる様に書き換えます。
TRISB = 0x00 ;
の B を小文字の b にします。
これをコンパイルすると、エラーが表示されます。
コンパイル : 失敗
エラー・コード : 192
エラー・ライン・ナンバー : 20
エラー原因 : 未定義の識別子
と、表示される。
後は、エラーの原因を調べて修正します。
マニュアルは、タスク・バーの Project をクリックすると、プルダウン・リストが表示され、この中の
HI TECH C Manual をクリックすると、表示されます。
また、F11キー を押しても表示されます。
エラー・コードの説明はマニュアルの後半の方に書いてあります。ただし、英文です。
google 、Yahoo 等の翻訳を利用する方法もあります。
TRISB は、16F57の予約語です。必ず、大文字で記述します。
[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ 楽釣119 へ移動 ]
2011年1月16日日曜日
RC サーボ・モーターの駆動方法
以前、友人との話の中で、共同で小魚用しゃくり機を作る仕様を決める際に、おもちゃみたいなワカサギ用しゃくり機を作る事になった。
駆動方法は低価格の模型のギヤー・ボックスを使って試作品を作ってみた。
意外とメカが面倒なので、中止・・・
そこで、次に考えたのが、ラジコン用サーボ・モーターを使うことを考えた・・・
しかし、サーボ・モーターの規格も駆動方法も知らない有様・・・
色々な本などで調べても、使い方を説明しているだけで駆動方法を解説してはいない・・・
後は、自分で実験で確かめる他はありませんでした。
PICマイコンで一つ一つ動作を確認して、大体の駆動方法が解った。ただし、自己解釈なので間違っているかも知れませんので、あしからず。
下記の図のパルス幅は、個々のサーボ・モーターの特性およびメーカーの仕様によって異なり、
( 0.9 ~ 2.1ms )の範囲に収まっているようです。
ある動作をする場合、PWMと呼ばれるパルスをサーボ・モーターに送ります。
サーボ・モーターはパルスの立ち上がりを検出してサーボ・モーターの内部モーターが動き始めますが、このパルス幅を検出してサーボ内部のポテンション・メーター回路から発するパルスとの比較を行います。(ポテンション・メーターは、回転軸と連動しています。)
これらのパルスの位相が一致するまで内部モーターは動こうとしますが(フィドバック制御といいます。)、モーターが目的の位置まで動くのに時間がかかります。
ところが、1個の PWMパルス を送っても、モーターは目的の位置まで移動できません。移動が完了する前に比較するパルスが無くなっているからです。
サーボ・モーターが予定した動作をしない原因の一つです。
では、どうすれば良いか・・・
モーターの動作時間を考慮して、目的の位置に到達するまでモーターにPWMパルスを送り続ける必要があります。
また、繰り返しタイムはそれほど重要ではなく、 16 ~ 20msの範囲であれば問題ありません。
ただし、短すぎると動作が不安定になるので、注意が必要です。
目的の位置に移動が完了した時、モーターは動作を停止しますが、フィドバック制御は実行し続けています。この時に、サーボ・モーターに力が掛かって動こうとすると、フィドバック制御によってその位置を保持しようと働きます。
目的の位置に来たらPWMパルスを送らなくても良いと言う事ではありません。
PWMパルスと軸の回転角との関係は、必ずしも100%の比例関係を保障していません。従って、精密な位置制御は無理なのです。
あとは、貴方の使い方次第です。・・・・
[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ 楽釣119 へ移動 ]
駆動方法は低価格の模型のギヤー・ボックスを使って試作品を作ってみた。
意外とメカが面倒なので、中止・・・
そこで、次に考えたのが、ラジコン用サーボ・モーターを使うことを考えた・・・
しかし、サーボ・モーターの規格も駆動方法も知らない有様・・・
色々な本などで調べても、使い方を説明しているだけで駆動方法を解説してはいない・・・
後は、自分で実験で確かめる他はありませんでした。
PICマイコンで一つ一つ動作を確認して、大体の駆動方法が解った。ただし、自己解釈なので間違っているかも知れませんので、あしからず。
下記の図のパルス幅は、個々のサーボ・モーターの特性およびメーカーの仕様によって異なり、
( 0.9 ~ 2.1ms )の範囲に収まっているようです。
サーボ・モーターはパルスの立ち上がりを検出してサーボ・モーターの内部モーターが動き始めますが、このパルス幅を検出してサーボ内部のポテンション・メーター回路から発するパルスとの比較を行います。(ポテンション・メーターは、回転軸と連動しています。)
これらのパルスの位相が一致するまで内部モーターは動こうとしますが(フィドバック制御といいます。)、モーターが目的の位置まで動くのに時間がかかります。
ところが、1個の PWMパルス を送っても、モーターは目的の位置まで移動できません。移動が完了する前に比較するパルスが無くなっているからです。
サーボ・モーターが予定した動作をしない原因の一つです。
では、どうすれば良いか・・・
モーターの動作時間を考慮して、目的の位置に到達するまでモーターにPWMパルスを送り続ける必要があります。
これは、サーボー・モーターの個々の特性によって、送り続ける時間が違う事を意味しています。
また、繰り返しタイムはそれほど重要ではなく、 16 ~ 20msの範囲であれば問題ありません。
ただし、短すぎると動作が不安定になるので、注意が必要です。
目的の位置に移動が完了した時、モーターは動作を停止しますが、フィドバック制御は実行し続けています。この時に、サーボ・モーターに力が掛かって動こうとすると、フィドバック制御によってその位置を保持しようと働きます。
目的の位置に来たらPWMパルスを送らなくても良いと言う事ではありません。
PWMパルスと軸の回転角との関係は、必ずしも100%の比例関係を保障していません。従って、精密な位置制御は無理なのです。
あとは、貴方の使い方次第です。・・・・
[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ 楽釣119 へ移動 ]
2011年1月15日土曜日
お知らせ / ページ・タブを更新しました
投稿記事とは別にページ・タブを更新しました。
- しゃくり機 [ V.5,V.6,V.7(暫定仕様),V.8(暫定仕様) ]
- わかさぎ機 [ わかさぎ 機の外観写真 ]
- PIC [ 主要PICマイコンの仕様 ]
- プログラム [ ブログで紹介した私のPICマイコンのプログラム ]
2011年1月14日金曜日
PIC 16F57 電子フラッシャー②
低価格で低機能であるが、I/Oポート数が多いのでこの様な回路に使用するのに、最適だと思います。(秋月電子通商 100円!)
----------------------------------------------------------------------------------
[ ディレイタイムの制限 / プログラム解説 ]
クロック周波数 10Mhz の場合
#define _XTAL_FREQ 10000000
・
・
・
for (i =1; i <=8 ; i++){ // for 文により 8 回繰り返す
__delay_ms(10); // 8×10 = 80 ms
}
・
・
上記の様に設定しますが、使われるクロック周波数によってディレイタイムに上限があります。
それ以上のディレイタイムが必要になる時は、 for 文などによるループ・プログラムを作って実現するか、自分でループ・プログラムを作成してタイマー・プログラムを起動する等して下さい。
動作周波数 | 最大時間 | __delay_ms(x) | __delay_us(x) |
20Mhz | 39,424μs | __delay_ms(39) | __delay_us(39424) |
16Mhz | 49,280μs | __delay_ms(49) | __delay_us(49280) |
10Mhz | 78,848μs | __delay_ms(78) | __delay_us(78848) |
8Mhz | 98,560μs | __delay_ms(98) | __delay_us(98560) |
4Mhz | 197,120μs | __delay_ms(197) | __delay_us(197120) |
---------------------------------------------------------------------------------
ACアダプターで動作しています。
2011年1月12日水曜日
MPLAB IDE の使い方 / 16F57 電子フラッシャー①
テスト用プログラムを使って HI-TECH C プログラムの手順を説明します。
まず、
適当なプログラムを メモ帳 , TeraPad 等を使って、プログラムを打ち込みます。
新規にフォルダーを作り、打ち込んだプログラムをこのフォルダーにセーブします。
ただし、拡張子は c です。
フォルダー名、ファイル名は必ず半角英数字を使って下さい。漢字やカタカナ等を使うと
ファイル・パスが認識されずエラーとなります。
画像が見にくいので拡大して見て下さい。画像をクリックすると拡大します。
TEST用プログラム
初心者でもわかりやすくする為、ビット・パターン表記でプログラミングしています。
プログラムを見るのは、こちら ・・・>
プログラム・ダウンロード F57-5.c
MPLAB IDE を起動します
Project タブをクリックして Project Wizart をクリックします。
[ Project Wizart ]
次へ進みます。
Device を選択します。
次へ進みます。
Active Toolsuite のプルダウン・リストから HI-TECH Universal Toolsuite を選択します。
次へ進みます。
MPASM アッセンブラーを使うときは、
Microchip MPASM Toolsuite を選択して下さい。
Browse ボタンを押して、フォルダーを選択します。
保存する場所に最初に作成したフォルダーを選択します。
ファイル名の処に適当な名前を入力します。この時、拡張子は付けません。
次へ進みます。
作成したフォルダーの下に打ち込んだプログラム・ファイルが有るのでファイル名をクリックします。
Add ボタンを押して右の欄にファイルが追加されます。
次へ進みます。
これでプロジェクトの作成が終了しました。
次へ進みます。
Source Files の下に打ち込んだファイルが有るので、これを
ダブル・クリックするとソース・ファイルが表示されます。
それでは、コンパイルします。
上部のタスクバーにある HI-TECH C の黒・赤のアイコンのどちらかをクリックします。
すると、
********** Build successful! **********
が、表示され、コンパイル成功です。!!!
コンパイルして作成された Hex ファイル は、最初に作成したフォルダーの中に有ります。
PIC プログラマー等でPICにプログラムを書き込んで終了です。
すでに、作成されたプロジェクトを開くときは、MPLAB IDE を起動してタスクバーにある プロジェクトを開く アイコンをクリックします。
作成されたプロジェクトのプログラムを変更・修正する時は、表示されているプログラムリストを直接書き換えます。
次に、タスクバーの右側にある上書き保存アイコンをクリックします。後は、コンパイル開始ボタンを押してコンパイルします。
注意 ) コンパイルを開始した後、プログラムを元の状態に戻す事が出来なくなりますので、変更するときは、この事を考えてバックアップ・ファイル等を取って下さい。
注意 ) MPLAB IDE Editor のウィンドウをアクティブにしないと、Undo,Redo出来ないので注意して下さい。
[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ 楽釣119 へ移動 ]
まず、
適当なプログラムを メモ帳 , TeraPad 等を使って、プログラムを打ち込みます。
新規にフォルダーを作り、打ち込んだプログラムをこのフォルダーにセーブします。
ただし、拡張子は c です。
フォルダー名、ファイル名は必ず半角英数字を使って下さい。漢字やカタカナ等を使うと
ファイル・パスが認識されずエラーとなります。
画像が見にくいので拡大して見て下さい。画像をクリックすると拡大します。
TEST用プログラム
初心者でもわかりやすくする為、ビット・パターン表記でプログラミングしています。
プログラムを見るのは、こちら ・・・>
プログラム・ダウンロード F57-5.c
MPLAB IDE を起動します
Project タブをクリックして Project Wizart をクリックします。
[ Project Wizart ]
次へ進みます。
Device を選択します。
次へ進みます。
Active Toolsuite のプルダウン・リストから HI-TECH Universal Toolsuite を選択します。
次へ進みます。
MPASM アッセンブラーを使うときは、
Microchip MPASM Toolsuite を選択して下さい。
Browse ボタンを押して、フォルダーを選択します。
保存する場所に最初に作成したフォルダーを選択します。
ファイル名の処に適当な名前を入力します。この時、拡張子は付けません。
次へ進みます。
作成したフォルダーの下に打ち込んだプログラム・ファイルが有るのでファイル名をクリックします。
Add ボタンを押して右の欄にファイルが追加されます。
次へ進みます。
これでプロジェクトの作成が終了しました。
次へ進みます。
Source Files の下に打ち込んだファイルが有るので、これを
ダブル・クリックするとソース・ファイルが表示されます。
それでは、コンパイルします。
上部のタスクバーにある HI-TECH C の黒・赤のアイコンのどちらかをクリックします。
すると、
********** Build successful! **********
が、表示され、コンパイル成功です。!!!
コンパイルして作成された Hex ファイル は、最初に作成したフォルダーの中に有ります。
PIC プログラマー等でPICにプログラムを書き込んで終了です。
すでに、作成されたプロジェクトを開くときは、MPLAB IDE を起動してタスクバーにある プロジェクトを開く アイコンをクリックします。
作成されたプロジェクトのプログラムを変更・修正する時は、表示されているプログラムリストを直接書き換えます。
次に、タスクバーの右側にある上書き保存アイコンをクリックします。後は、コンパイル開始ボタンを押してコンパイルします。
注意 ) MPLAB IDE Editor のウィンドウをアクティブにしないと、Undo,Redo出来ないので注意して下さい。
[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ 楽釣119 へ移動 ]
2011年1月10日月曜日
HI-TECH C コンパイラーのインストール
PIC C コンパイラーの種類がたくさん有りますが、その中の HI-TECH C コンパイラー のインストールについて説明します。
このコンパイラーはマイクロチップ社から無償でダウンロード出来、他のコンパイラーと統合する事が出来る優秀なソフトであると言えます。
まず、最初にマイクロチップ社のホーム・ページにアクセスします。
マイクロチップ社の MPLAB IDE v8.6(最新版) をダウンロードしますが、この中に HI-TECH C コンパイラーも同梱されていますので、簡単にインストールする事が出来ます。
マイクロチップ社・・・こちら >
マイクロチップ社のホーム・ページにアクセスしたら、英文なので日本語の表記になるように、右上の Japanese をクリックして切り替えます。以下、写真を参照して下さい。
MPLAB IDEのダウンロード
設計 ⇒ MPLAB IDE
ダウンロードが終わったら次に、インストールします。
インストール開始
HI-TECH Cをインストールします
途中、質問されますが PRO mode にチェックして下さい。
Lite mode でも構いませんが・・・。これで、完了です。
HI-TECH C PIC18 のインストール を見て下さい。
このコンパイラーはマイクロチップ社から無償でダウンロード出来、他のコンパイラーと統合する事が出来る優秀なソフトであると言えます。
まず、最初にマイクロチップ社のホーム・ページにアクセスします。
マイクロチップ社の MPLAB IDE v8.6(最新版) をダウンロードしますが、この中に HI-TECH C コンパイラーも同梱されていますので、簡単にインストールする事が出来ます。
マイクロチップ社・・・こちら >
マイクロチップ社のホーム・ページにアクセスしたら、英文なので日本語の表記になるように、右上の Japanese をクリックして切り替えます。以下、写真を参照して下さい。
画像をクリックして拡大して見て下さい。
MPLAB IDEのダウンロード
設計 ⇒ MPLAB IDE
ダウンロードが終わったら次に、インストールします。
インストール開始
HI-TECH Cをインストールします
途中、質問されますが PRO mode にチェックして下さい。
Lite mode でも構いませんが・・・。これで、完了です。
おまけで HI-TECH C の PIC C18 もインストールします。
ただし、 ユーザー登録 をしないとダウンロード出来ないので、注意が必要です。
ただし、 ユーザー登録 をしないとダウンロード出来ないので、注意が必要です。
ダウンロード後、そのままインストールすると HI-TECH C が解凍された場所に、自動的に追加配置されるので簡単です。
途中、質問されますが PRO mode にチェックしてください。 Lite mode でも構いませんが・・・。
次回は、 HI-TECH C コンパイラーの使い方を、簡単なプログラムを使って説明をする予定です。
[ 追記 ]
MPLAB IDEを起動してもロゴ画面が一瞬表示されるだけで、プログラム本体が起動しない。
と、云った事象が起こる場合が有るようですが、この場合の対処法を説明しているサイトが
あるので、参考にして下さい。
http://www.cqpub.co.jp/toragi/contents/dsPICFAQ/FAQ3/faq3.htm
[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ 楽釣119 へ移動 ]
途中、質問されますが PRO mode にチェックしてください。 Lite mode でも構いませんが・・・。
次回は、 HI-TECH C コンパイラーの使い方を、簡単なプログラムを使って説明をする予定です。
[ 追記 ]
MPLAB IDEを起動してもロゴ画面が一瞬表示されるだけで、プログラム本体が起動しない。
と、云った事象が起こる場合が有るようですが、この場合の対処法を説明しているサイトが
あるので、参考にして下さい。
http://www.cqpub.co.jp/toragi/contents/dsPICFAQ/FAQ3/faq3.htm
[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ 楽釣119 へ移動 ]
登録:
投稿 (Atom)