KCB-1
KCB-2
アクセサリ
イベント
- KHR 4th アニバーサリー
- 第二回ビーチフラッグ競技会
サイトマップ
シリアル通信
- RCB-1
- RCB-3
- シリアルサーボ
センサー
ソフトウエア
- アップデート
ハードウエア
未分類
自律ロボット
サーバーの移転のためのリンク切れについて
いつもKCBサポートページをご覧いただきありがとうございます。
近藤科学株式会社では、先日WEBサーバーを移転いたしました。その関係で現在ダウンロードできるファイルのリンクが切れているところがいくつかございます。ご面倒をおかけいたしますが、現在修復中ですので今しばらくお待ち下さいますようお願いいたします。
KCB-2アップデーターVer.1.1.0 Rev.20090410
KCB-2のアップデートファイルを公開します。
今回はタイマーを使ったカウンター機能が追加しました。PIO端子にパルスを入力すると、そのパルス数を読み取ります※。
使い方はKCB-2の各PIO端子にパルスを入力してグローバル変数を読み取るだけです。端子1つではアップカウントしかしませんが、両方に半位相ずれたパルスを入力するとダウンカウントも行います。
下記リンクを右クリックして、アップデートファイルをダウンロードしてください。ダウンロードしたファイルを解凍し、できたインストーラーをご利用ください。
KCB-2 アップデートファイル(KCB2_V11020090410.ZIP)
インストールを行うには、先にKCB-2 SDKをインストールをしておいて下さい。なお、インストール途中でKCB-2 SDK CDROMのジャケットに記載されたシリアル番号が必要となります。
※)注意事項: KCB-2のパルスカウント機能は1KHzタイマーを使った、ソフトウェアで読み取りですので、正確なパルス数を読み取るもの(いわゆるイベントカウンター機能)ではありません。またタイマー周期に依存しますので、非常に高速なパルス入力はカウントできません。あらかじめご理解の上ご利用なさいますようお願いします。
KCB-1アップデーターVer.1.1.0 Rev.20090410
KCB-1 SDKをアップデートしました。今回のアップデート内容は次のようになっています。
- counter.hが新設され、エンコーダーなどのパルスをカウントする16ビットイベントカウンター機能がつきました。
- イベントカウンターは1相モード(アップカウントのみ)が3系統で、2相モード(アップダウンカウント。A相・B相モード)が2つ使えます。2相モードでは4逓倍でカウントできます。
- これまでは決まった周波数のタイマーしか作成できませんでしたが、任意の周波数※でタイマーを動作させられるようになりました。
- ワンショットタイマーが追加されました。ワンショットタイマーと通常のタイマーを組み合わせると非常に細やかなサーボモーター制御が可能となります(サーボモーター制御サンプルプログラムは近日公開予定)。
パルスカウント機能が追加されたので、モーターやタイヤに赤外線センサーなどをつけることで、回転数を読み取ってDCモーターのPID制御なども使えるようになりました。
アップデートプログラムは下記リンク先のZIPファイルをダウンロードして解凍し、できたインストールプログラムでインストールをしてください。なおインストールにはKCB-1 SDK CDROMのジャケットに記載されたシリアル番号が必要となります。Ver.1.00 Rev.20080318、Ver.1.0a Rev.20080510のアップデート内容も含みます。
KCB-1 アップデートプログラム(KCB1_V11020090410.ZIP)
※基底となる周波数が20MHz、10MHz、1.25MHz、625kHzとなっていますので、これらを割り切れない周波数を指定した場合は割り算の余りの分だけ周波数がずれます。詳しくは付属のマニュアルを参照して下さい。
KCB-2解説
KCB-2はモータードライバー付きマイコンボードです。このボードの特徴は最大4つのモーターを制御できることです。
以下にKCB-2のスペックを記します。
CPU:R8Tiny/27
寸法:35×45
電源:単三電池三本
CPUは3.3Vの20MHz駆動です。
▼MOTER端子 × 4
FET6A対応のDCモーターを最大4つ制御することができますので車輪型ロボットにアームをつけることも可能です。
※FA130モーター推奨です。
▼AD端子 × 4
PSDセンサーや、超音波センサーを取り付け、ロボットを自律制御することができます。
▼PIO端子 × 2
通常のI/O端子です。この端子はあらかじめプルアップされています。
▼LED端子 × 4
回路に1kΩの抵抗が実装されているので、LEDを直接接続し光らせることができます。
▼COM端子 × 1
PCとの通信や、プログラムの書き込みに使用します。
▼MOOD/RES端子
MOOD端子に付属のジャンパーピンを接続したまま電源を入れることで、ボードを書き込みモードにします。RES端子をショートさせるとボードにリセットをかけることが可能です。
サンプルプログラムが付属していますので、各端子を簡単に使用するできます。また、KCB-1同様にソースを全て公開しているのでマイコン制御を学習できます。
これからロボットを始める方や、車輪型ロボットを作成方にお勧めです。是非お試しください!
KCB-1 回路図の公開
近藤科学株式会社ではみなさまのご要望に応え、この度、KCB-1の回路図を公開することになりました。
これからもKCB-1ならびに弊社製品をご愛顧下さいますようお願いいたします。
- インストールは管理者権限で行って下さい。
- インストールには、KCB-1 SDK CDROMのジャケットに記載されている、シリアル番号が必要です。
- ZIP形式で圧縮されたセットアップファイル「KCB1_Circuit.ZIP」をダウンロードし解凍して下さい。
- 解凍されたファイル「KCB1_Circuit.exe」をダブルクリックで実行するとインストールが開始されます。
- インストールの途中で表示される使用許諾および注意事項をよく読み、インストールを行って下さい。
ダウンロードはこちらから> KCB1_Circuit.ZIP
コネクターキャップ
KCBシリーズのみならず、RCBシリーズにも使える便利な商品「コネクターキャップ[10個入り]」が発売されました。
使い方はキャップを空いている端子にかぶせるだけです。未使用端子が他の金属部分がショートする恐れがなくなります。学校などでは、端子をあらかじめふさいでおくと、実験での指示がしやすくなります。
KCB-2のケースのコネクター取り付け穴にもぴったりはまります。是非、お試しください。
(クリックで拡大)
自律ロボット作例 ver.2
以前『自律ロボット作例』の記事で自律ロボットの制作例を紹介しましたが、第二回ビーチフラッグ競技会を開催するにあたって、進化した自律ロボットをご紹介します。

今回は頭部のセンサーをPSD測距センサーからUSRX-1超音波センサー(受信部)に変更しました。このセンサーでフラッグから発信されている超音波を受信し、フラッグの位置を検出します。
前回、KRS4013シリアルサーボに変更していた頭部は、KRS-788に戻しKCB-1のPIOポートに接続して制御しています。KCB-1でのPWMサーボの制御は『KRS-788HVをKCB-1で動かす① ②』で紹介した方法で行っています。
サンプルプログラムでは最初の起き上がりからフラッグを倒すまでのプログラム例を公開しています。
内容:
・kyoris_s02_cc.c ― コントロールコード再生で制御する自律ロボットのプログラムです。
・kyoris_s02_mp.c ― コマンド再生で制御する自律ロボットのプログラムです。
・sonic_search2.h ― バブルソートなど、自律ロボットに必要な関数をまとめたヘッダーファイルです。
作例のように、KCB-1とRCB-3を使用すれば簡単に自律ロボットを製作することができます。是非お試しください!
新レギュレーション発表
第二回ビーチフラッグ競技会の新レギュレーションを特設ページで公開いたしました。
レギュレーションの主な変更点は以下の4点です。
・学生部門とエキスパート部門の部門分けができた
・エキスパート部門では使用できるマイコンボードが自由になった
・フラッグの形が変わった
・足裏が大きくなった
前回と大きく変わった点は、コントロールボードの使用制限についてです。学生部門はKCB-1とRCBシリーズ、モーションプロセッサーシリーズを使用していただきます。それに対してエキスパート部門では、使用ボードは自由です。おなじみのRCB-3での参加も可能ですが、もしかしたら自作マイコンボードで参加するツワモノが現れるかもしれません。
また、フラッグは前回の箱型から円柱型になり、超音波センサーは2つになりました。
ちなみに、今回も参加できるロボットはKHRシリーズのみです。
詳しくは特設ページに掲載しておりますレギュレーションをご覧ください。
第二回 ビーチフラッグ競技会開催決定!!
KHR 4th アニバーサリーで大好評だった自律ロボットによる競技『ビーチフラッグ競技会』ですが、その第二回競技会の開催が決定いたしました!
日時:11月23日(日)
場所:千葉工業大学津田沼キャンバス
今回の会場は、千葉工業大学津田沼キャンパスで開催される「津田沼祭」の一角で競技を行います。
前回との変更点として学生部門とオープン部門を用意しました!
フラッグの形も変わる予定です。
レギュレーションなどの詳しい情報は近日公開いたします。
特設ページもご覧ください。
http://www.kondo-robot.com/beachflg.html
KRS-788HVをKCB-1で動かす②
前回の続きです。ここを読む前に必ず「KRS-788HVをKCB-1で動かす①」を読んで下さい。
今回はPWM信号をKCB-1で作成し、KRS-788HVを実際に動かすプログラムを作成します。
・PWM信号を作るための基礎知識
下の図はPWM信号を図示したものです。上に出っ張っている部分は信号がHIGHになっていることを表しており、へこんだ部分がLOWです。電気的にはHIGHは5VでLOWが0Vです。
図のように一定間隔で繰り返しHIGHとLOWを切り替えると、サーボモーターに繰り返し命令を送ったことになります。この切り換え間隔をPWM周期と呼びます。また、HIGHの時間の長さでサーボモーターに回転角度を命令します。

・今回のプログラム設計手順
- PWM周期が細かいほど命令をたくさん送ることと一緒なので、周期を速くすると反応は良くなる。しかし、ある程度以上になると違いは分からないので、今回はPWM周期を8[ms]とします。
- HIGHの時間(700[us]~2300[us])も細かいほど詳細な角度を指定することになりますが、細かすぎても違いが分からないので、今回は0度~180度を50分割ぐらいで指定できるようにします。つまり最小角度は3.6度。
・KCB-1でPWM信号を出力するために必要な計算
1) 周期の決定
KCB-1ではPWM信号を送るために8bit PWMモードと16bit PWMモードの2種類があります。おおまかな違いは、8bit PWMモードではHIGHの時間指定の細かさは255段階ですが、命令を送る間隔(PWM周期)の指定は255×4段階から選ぶことができます。一方16bit PWMモードでは、HIGHの時間指定の細かさは65535段階から選べますが、命令を送る間隔の指定は4種類(3.27675[ms]、6.5535[ms]、26.214[ms]、104.856[ms])しか選ぶことができません。16bit PWMモードの詳細についてはKCB-1のマニュアルをお読み下さい。
今回は8[ms]周期にするために、8bitモードを選択します。
2) 周期の計算
周期は下の式で計算できます。fqが周期を決定する変数0~255の間で選ぶことができます。Fjは分周比と言って、20MHz(PWM_F1)、10MHz(PWM_F2)、2.5MHz(PWM_F8)、625kHz(PWM_F32)のいずれかとなります。
周期=(fq + 1) × 255 / Fj
例えば、分周比Fj=PWM_F1=20MHzを選択すると、
周期=(fq + 1) × 255 / 20000000 ≒ (fq + 1) × 0.00001275
となります。fqの最大値255を代入すると、周期=3.25125[ms]となり、8[ms]に足りません。また、PWM_F2を選択しても6.5025[ms]となり少し足りませんので、今回はFj=PWM_F8を選択します。このときの周期決定変数fqを次のように計算で求めます。
fq = (周期 x Fj)/255 - 1
= (周期 x PWM_F8)/255 - 1
= (8ms x 2.5MHz)/255 - 1
= (0.008 x 2500000)/255 - 1
= 78.43 - 1
≒ 77
この計算から、KCB-1でPWM周期を決定する命令は、次のようになります。
pwm8_init (PIO0, PWM_F8, 77);
PWM8_init関数に、出力する端子"PIO0"、メインクロックの分周比"PWM_F8"、fqの"77"を指定して準備は完了です。
・HIGH時間の計算
8bit PWMモードでの周期8[ms]に対して、HIGHを指定できる細かさは255段階です。図のように、8[ms]と255を対比させると、角度を指定する有効なHIGH時間の長さ(700[us]~2300[us])は、だいたい22~72となり、ちょうど50段階となります。したがってサーボモーターを180度の位置へ回転させるには、KCB-1のプログラムでは、次のようになります。
pwm_out (PIO0, 72);
動作させる場合は、命令を送った後にサーボが目標角度へ到達するまで、必ずwait関数で待つようにして下さい。
より細かく角度を指定したい場合は、周期を狭くすることで可能になります。解説図のように8ms周期を4ms周期にすると、
44~144の100段階で設定できますので、約1.8度間隔でサーボを制御することができるようになります。
・サンプルプログラム
サンプルプログラムでは、サーボモーターを0度の位置へ回転させた後で、180度の位置へ回転させています。pwm_out関数の中の数値をいろいろ変えてみると、対応する角度へ移動します。
<プログラム ダウンロード (3KB)>
KCB-1はPWM信号を4つ同時に出すことができますので、KRS-788HVを4つ同時に制御することができます。
ぜひお試し下さい。



