楽釣工房では、小魚用しゃくり機、わかさぎ用しゃくり機、Picマイコン制御による自動しゃくり機(しゃくりパターン制御)、赤外線リモコンの応用回路(電気機器のON/OFF、温度制御、リモコンに依る数値設定など)、電子回路について書いて行きます。

 ブログの投稿記事に画像データを多く使用している為、他の投稿記事を読む事に不便をかけると思われます。
従って、投稿記事の前文をブログで公開し、全体の記事は ホーム・ページ [ 楽釣119 ] で公開する事にしました。
ホーム・ページ [ 楽釣119 ] では、今までの記事の内容を整理し、内容の不具合を修正し、又、記事の追加をして、ホーム・ページで公開しています。
  
___________________________________________________________________________________________________________________

2011年2月24日木曜日

しゃくり機 V.6 / PIC マイコン制御

2個の PICマイコン を使用したしゃくり機 (バージョン 6.0)の動作テスト。

1個のPICマイコンは、リモコンの制御。残りのPICマイコンは、モーターの制御に使用しています。しゃくりパターンは 9パターン です。テレビのリモコンを赤外線方式ではなく、有線式にてコントロ-ルしています。これによって明るい昼間でもリモコンでしゃくり機をコントロールできます。



 試験機の様子  
  試験機の為、雑・・・

フルブリッジ・ドライバーICが発熱する為、ヒート・シンク2個でフィーンをサンドイッチにして取り付けています。
ストローク、スピードの可変範囲は 64 ~ 254 まで、それぞれのしゃくりパターン毎に設定することが出来ます。
一度変更すると、データーをメモリーに記憶します。次回変更するまで有効です。
しゃくり機の電源を切って、再度、電源を入れるとパターン番号、ストローク、スピード等のデーターを自動的に読み込むので、スタート・ボタンを押すだけで、しゃくり機が動きます。
ストローク、スピードは、疑似 PWM 波を発生させて、モーターの ON/OFF を繰り返す事によってコントロールしています。


一般的に良く使用するフルブリッジ・ドライバー


半導体製品なので、いい加減な使い方をすると、すぐ、破損します・・・・・
パワー MOS FET を使って、フルブリッジ・ドライバーを構成した方が良いかも知れません。




[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ  楽釣119 へ移動 ]

2011年2月15日火曜日

お知らせ プログラムの一部修正

前回の投稿記事のプログラムで、信号読み取りのタイミングを調整するプログラムを入れるのを忘れていました。

プログラムの一部変更と、プログラムの追加をしました。
赤字部分が変更箇所です。

プログラムを見るのは・・・ こちら ・・・>


プログラム・ダウンロード Remocon-1.c

2011年2月3日木曜日

リモコン信号受信プログラム / PIC C Lite によるプログラム

以前、2010年8月18日に投稿した「赤外線テレビリモコンを有線式リモコンにする」で使われたアッセンブラープログラムを、PIC C Liteで C 言語版に移植しましたので、公開します。

C 言語は若葉マークなので、色々なサイトで公開されているプログラムを参考にしていますが、私が望むプログラムは何処を探しても見つけ出せません。

やはり、自分の頭を使って自分で作る他はありません・・・・

赤外線リモコンの電気的仕組みは解りますが、それをプログラムするのは至難のワザです。
プログラムを格好良くする為に、タイマー割り込み等を使おうとする人が多いですが、果たして効率良く動くのでしょうか?・・・

ある本の解説によると、プログラムが複雑になり動作のフロ―・チャートを把握出来無くなる恐れがあります・・・と、書いてあった。

やはり、シンプルにプログラムするのが一番です。

私のプログラムは、リモコンの信号を受信して PIC マイコンで LED ライトやリレー等を動かすものですが、リモコン信号処理、他の電気回路の複雑なコントロールは無理です。
何故なら、リモコン信号は100ms程の処理時間が必要なので、タイマー割り込みを使って他の処理をしてもメリットが有りません。

複雑な処理が必要な時は、それ専用のマイコンを使うべきです。私が開発しているしゃくり機 V.6 は1個のPIC マイコンでコントロールしましたが、リモコンの処理に時間が掛ってしまい思うような動作ができませんでした。

テスト基板を3種類使って、色々、実験しましたが・・・・だめでした・・・・

次に、考える事は、2個のPIC マイコンを使うことです。

  • リモコンのみを処理するPIC マイコン。
  • しゃくり機のモータをコントロールPIC マイコン。

それぞれのPIC マイコンがお互いに信号をやり取りして制御する方式がベストでしょう・・・
(昔のコンピュータ用語でハンド・シェークと言います。)

只今、開発中です・・・ 

下記の図の信号は便宜上、反転した信号を表示しています。


公開するプログラムは、完全オリジナル・プログラムです。

プログラムを見るのは・・・ こちら ・・・>

プログラム・ダウンロード Remocon-1.c

移植に掛った時間は、約4時間ほど・・・

2011年1月24日月曜日

MPLAB IDE v8.6 の使い方 / CONFIG ワード の設定

PICの種類によって CONFIG ワード の設定が違います。私は、この謎の呪文についてマニュアル等を調べても、記述が無く困り果ててしまいました。
インターネットの検索を使って調べても、確かな回答が出てきません。

ふと、思い出したのが、PICマイコンの基本データーが include ファイルに書かれている事を・・・
早速調べて見ると、HI-TECH C プログラムがインストールされている場所の include フォルダーの中のファイルを見てみると・・・

 [ 12F629 の場合 ] 




















有りました。!!! CONFIG ワード の設定法が・・・





















これで、PICの CONFIG ワードの設定が出来る様になりました。
しかし、PICの種類によっては、CONFIG1、CONFIG2・・・と何種類かある場合が有ります。

ここでは、CONFIG ワードの個別の説明は、省略します。・・・

[ 楽釣119 CONFIG ワードの設定 へ移動 ]

[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ  楽釣119 へ移動 ]

2011年1月18日火曜日

MPLAB IDE の使い方 / I/Oの設定

 PICマイコンを動作させる為に、まず、初期設定をしなければなりません。

  • 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;

変数名はなるべく小文字を使う方が良いでしょう・・・

MPLAB IDE の使い方 / ライン・ナンバーの表示

 MPLAB-IDEを使ってコンパイルしデバックする時、頼りになるのがテキストのライン・ナンバーです。
マニュアルはすべて、英文なので何処に何が書かれているのか解りません。
誰かに聞くか、自分で調べる他はありません。
私自身、使い方がまだ解っていません・・・はっはっは~笑い・・・
後は、使い慣れて行くしか無いでしょう・・・

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 へ移動 ]

2011年1月15日土曜日

お知らせ / ページ・タブを更新しました

投稿記事とは別にページ・タブを更新しました。

  1. しゃくり機    [ V.5,V.6,V.7(暫定仕様),V.8(暫定仕様) ]
  2. わかさぎ機  [ わかさぎ 機の外観写真 ]
  3. PIC           [ 主要PICマイコンの仕様 ]
  4. プログラム  [ ブログで紹介した私の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 文などによるループ・プログラムを作って実現するか、自分でループ・プログラムを作成してタイマー・プログラムを起動する等して下さい。

プログラムを見るのは、こちら ・・・>

 プログラム・ダウンロード F57-4-2.c

動作周波数 最大時間 __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 へ移動 ]

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 の PIC C18 もインストールします。
ただし、 ユーザー登録 をしないとダウンロード出来ないので、注意が必要です。

HI-TECH C PIC18 のインストール を見て下さい。


ダウンロード後、そのままインストールすると HI-TECH C が解凍された場所に、自動的に追加配置されるので簡単です。
途中、質問されますが PRO mode にチェックしてください。 Lite mode でも構いませんが・・・。

次回は、 HI-TECH C コンパイラーの使い方を、簡単なプログラムを使って説明をする予定です。

[ 追記 ]
MPLAB IDEを起動してもロゴ画面が一瞬表示されるだけで、プログラム本体が起動しない。
と、云った事象が起こる場合が有るようですが、この場合の対処法を説明しているサイトが
あるので、参考にして下さい。

http://www.cqpub.co.jp/toragi/contents/dsPICFAQ/FAQ3/faq3.htm


[ 楽釣工房・ホームへ戻る ] [ ホーム・ページ  楽釣119 へ移動 ]

2010年12月30日木曜日

AKI-PIC プログラマー Ver.4 / プチ改造

 PICマイコンにプログラムを書き込むのにプログラマーと言う物が必要ですが、電子回路の知識の有る人は、自分で部品を買い集めて自作する事も可能です。安価で作れる。
又、プログラマー・キットとして半完成品として売っている物もあります。各社から様々なプログラマーが有るのでどれを選んで良いのか迷うところです。

私が使用しているプログラマーは、秋月電子製の「AKI-PIC プログラマー Ver.4」です。
使い勝手は、プログラムするたびに ICチップを抜いたり、挿したりしないとならないので、少々、面倒です。
この抜き差しを頻繁に行わないで、プログラミングが出来るICSP方式と言うやり方も有ります。
マイクロチップ社の純正「PIC kit2」「PIC kit3」がそれです。
詳しい事を知りたい方は、マイクロチップ社のホーム・ページを訪問するか、秋月電子のホーム・ページをご覧ください。

マイクロチップ社 ・・・> こちら  英文です。

秋月電子通商  ・・・> こちら

 さて、AKI-PICプログラマーは、通常RS232Cと言うケーブルをパソコンと接続してプログラムしますが、VISTAにRS232C端子が付いていないので、RS232Cから USBに変換をして接続する必要があります。
秋月電子にこれらを変換するケーブルが売られていますが、コネクターの形状から余分なケーブルが必要で意味の解らない接続方法です。

  単純にオスとメスのコネクターを接続できないのです。

そこで、このヘンテコな方法に改造を加える事にしました。

改造後は、RS232Cケーブルは不要となります。写真を見てもらえば、解ると思います。



 この写真が標準の部品構成です。







 改造完了 


2010年12月20日月曜日

ワイパー・モーターの電圧制御 / 定電圧インバーター制御

一般的に、しゃくり機のスピードのコントロールは、巻き線型抵抗器をモーター回路に直列に入れて、電圧をコントロールするやり方が多いと思いますが、つい、うっかりして抵抗器を焼いてしまう事があります。
抵抗器は意外と高価で焼いてしまうと、配線を逆にして何とかできますが、何度も修復できません。
そこで、電子回路に依って電圧をコントロールすれば、失敗も無く、軽快に釣りを楽しむ事が出来ると思います。
ここで、紹介するユニットは,
「可変型定電圧インバーター」です。
可変型定電圧ICと違い、ほとんど発熱をしません!。又、ショート等による故障もほとんど有りません。
価格が安いので、安心して使用できます。だいたい
 定電圧インバーター・ユニット 

1000円前後です。
写真で紹介している物は、現在発売されていないと思われます。が、同程度の物も有るので次のサイトを訪問して確かめて下さい。

秋月電子・・・>こちら

但し、組み立てキットなので、半田ごて等で配線しますので、心得の有る方は使ってみて下さい。
電圧可変範囲 4~25Vです。






売り切れの場合、

放熱器付DCDCコンバータ 単体ユニットを参照して下さい。