初級者用マウス二式

初級者用マウス二式について

初級者用マウス二式は福井大学のロボットサークルI.Sysに所属していた岸本氏が北陸同好会

の初心者の会員用に開発したステッピングモータを用いたマイクロマウスです。

以前に清水氏が開発した初級者用マウスを改良したものです.

主な変更点は以下になります.

・マイコンをH8からRX220へ変更

・モータードライバを入手性の良いものへ変更

・板マウス化

・UI用LEDを3個から4個へ

・ブザーの搭載

・ポリスイッチ,逆差し防止回路による安全性の向上

森永英一郎さんのベーシックマウスから、ニックネームとして「ニューベーシックマウス2」と呼んでいます.

主な仕様

基板データ

初級者用マウス二式 基板データ ver.1.2(zip,モーターコネクタ用サブ基板付き)

初級者用マウス二式 基板データ ver.1.2.1(zip,モーターコネクタ用サブ基板無し)

初級者用マウス二式はEAGLEを用いて設計されています.

Elecrowのデザインルールで設計されていますが,スイッチサイエンスPCB,Fusion PCB,PCB GOGOでも製造可能だと思います.

推奨する板厚は1.6mmです.

もしモーターコネクタ用サブ基板付きのもので発注をし,面付け扱いになり基板の料金が上がるようでしたらサブ基板無しのものをご利用ください.

回路

初級者用マウス二式 回路図 ver.1.2(pdf)

壁センサ用LEDとフォトトランジスタの向きがおかしいのはEAGLEのpinswap機能によるものです.

初級者用マウス二式には5Vレギュレータと3.3Vレギュレータの二種類のレギュレータが載っています.

バッテリ→5Vレギュレータ→3.3Vレギュレータと,2段階に電圧を落としています.

5Vは壁センサ用LEDとUI用LEDにのみ使用しています.

基板にはユニバーサルエリアがあり,VCC,GND,SPI通信機能をもつIOポートが引き出されています.

部品

初級者用マウス二式 部品リスト ver.1.2(Excel)

電子部品のほとんどは秋月電子で手に入ります.

壁センサ用のLEDとフォトトランジスタはRT Robot ShopもしくはRSで入手可能です.

モータ

推奨するモータはオリエンタルモーターのバイポーラステッピングモーターのPKP213D05Aです.

ホイール

ホイールはご自分で加工,製作してください.

参考例として,圧入用ホイールの寸法図を以下に示します.

初級者用マウス二式 ホイール 寸法図(pdf)

タイヤ

京商のミニッツシリーズ用のノーマル幅(8.5mm)のタイヤが最適です.

バッテリ

リチウムポリマーバッテリの2セル or 3セルで動作します.

容量は400~600mAh程度を想定しています.

サンプルプログラム

初級者用マウス二式 サンプルプログラム ver.0.1(zip)

RX220用のクロック設定,タイマ割り込み,AD変換,DataFlashなどのサンプルプログラムです.

このサンプルプログラムでは高度な迷路の探索,最短走行を行うプログラムは含まれません.これらはご自身で実装してください.

このサンプルプログラムでは電源を入れるとモード選択の状態になり,タクトスイッチのUPとDOWNでモードを選択し,EXECで決定することができます.モードは0から15まであり,サンプルプログラムでは0から9にサンプル動作を行うプログラムが入っています.

モード0:タクトスイッチを押すとLEDが光ります.

モード1:バッテリ電圧をTera Termに表示します.

モード2:ブザーが鳴ります.

モード3:壁センサの値をTera Termに表示します.

モード4:タクトスイッチを押すとモータが回ります.

モード5:タクトスイッチで入力した数字の区画分前進します.

モード6:その場旋回を行います.

モード7:左手法で迷路を走ります.

モード8:データフラッシュのサンプルプログラムです.Tera Termに迷路データを表示します.

モード9:ログ取りのサンプルプログラムです.2区画走行し,その間の壁センサ値と速度のログを取得します.

LED3が点滅している時はEXECボタンが押されるのを待っている状態です.

このサンプルプログラムにはバッテリの過放電を防ぐため,バッテリの電圧を監視する機能が入っています.

使用するバッテリのセル数に合わせて,Mouse_Data.hのBAT_CELLを書き換えてください.

もしバッテリ電圧が基準値を下回った場合は,LED1が点滅し,ブザーが鳴ります.

Tera Termに文字を出力するxprintf関数はChaN様の組み込み用printfモジュールを改造したものを使わせて頂いています.

開発環境

開発環境はe² studioを想定しています.

マイコンへのプログラムの書き込みはRenesas Flash Programmerを使用してください.

また,これらのソフトウェアのDLには会員登録が必要です.

USBシリアル変換モジュールのドライバのインストール

    1. FTDI社のHPからドライバをダウンロードしてインストールします.

    1. USBシリアル変換モジュールをPCに接続し,デバイスマネージャーからCOMポートとして認識されていることを確認してください.このとき,COMのうしろの数字を覚えておいてください.

Tera Termのインストール

    1. Tera Termをダウンロードし,インストールしてください.

    2. Tera Termを起動し,USBシリアル変換モジュールがPCに接続されている状態でファイル→新しい接続→シリアル→ポートを選択→OKで接続できることを確認します.

    1. 設定→端末で改行コードの受信をAUTOにします.

    1. 設定→シリアルポートでボー・レートを38400に設定します.

    1. 設定→設定の保存より,適当な名前で設定ファイルを保存します.これにより,次回起動時にも同じ設定でTera Termが起動します.

e² studioの導入

e² studioセットアップ方法(pdf)

    1. ルネサスのHPから「RXファミリ用C/C++コンパイラパッケージ V2 (統合開発環境なし)」と「統合開発環境 e² studio インストーラ」をダウンロードしてインストールします.

    2. e² studioを起動するとワークスペースの場所を指定するよう求められるので,適当な場所を指定します.このとき,パスに2バイト文字が入らない場所を指定してください.

    3. ファイル→インポートからインポートダイアログを開き,一般→アーカイブファイルを選択し次へを押します.次に参照を押し,サンプルプログラムをインポートします.

    4. ctrl+Bでビルドが正常に行えることを確認します.

    5. e2 studio 統合開発環境 ユーザーズマニュアル 入門ガイドという資料もあります.こちらも参考にしてください.

Renesas Flash Programmerの導入

Renesas Flash Programmerセットアップ方法(pdf)

    1. ルネサスのHPから「【無償版】Renesas Flash Programmer」をダウンロードしてインストールします.

    2. 製作手順の3まで基板をはんだ付けし,スライドスイッチをBOOTへ設定し,基板の電源をONにしてからUSBシリアル変換モジュールを基板に接続します.

    3. ファイル→新しいプロジェクトを作成を押し,新しいプロジェクトの作成ダイアログを開きます.

    4. マイクロコントローラをRX200,プロジェクト名に適当な名前,作成場所に適当な場所を指定し,ツールをCOMにします.このとき,番号の隣に表示される番号が合っていることを確認します.

    1. 接続を押し,緑色の文字で「操作が成功しました」と表示されるまで待ちます.このとき,IDコードを入力するように求められたら「52000000000000000000000000000000」と入力してください.(52と入力してから入力できなくなるまで0を入力します.)

    1. ブロック設定タブでdata Flash 1のチェックボックスを2つ外します.

    1. 接続設定タブでIDコードボタンを押し,「52000000000000000000000000000000」と入力してOKを押します.

    1. 操作タブでプログラムファイルを指定します.e² studioのワークスペースフォルダ/プロジェクトファイル名のフォルダ/Debugの中に拡張子がmotとなっているmotファイルがあるので,それを指定します.

    2. ファイル→プロジェクトを保存を押し,設定を保存します.

製作手順

注意

モータを基板に直接取り付けるいわゆる「板マウス」にする場合は,はんだ付け部分が段差などに引っかからないように,部品の足を切断してからはんだ付けしましょう.

また,電源スイッチ周辺の部分がショートしないよう,カプトンテープなどで絶縁しましょう.

以下の画像は基板のバージョンが古いので一部部品が異なったり部品の配置が異なってたりします.

    1. レギュレータ(REG1,REG2),レギュレータ周りのコンデンサ(C1~C4)バッテリーコネクタ,電源スイッチ,ポリスイッチ(R5),PchFETをはんだ付けし,それぞれのレギュレータから3.3Vと5Vが出力されることを確認します.

    1. はんだ付けが難しくなるため,先にトランジスタアレイ,LED用の抵抗(R10~R13),壁センサLED用の抵抗(R6~R9),ブザー用抵抗(R18)をはんだ付けします.

    1. マイコンボードのピンソケットと書き込み用のピンソケット,バッテリ分圧用抵抗(R1,R2),プルアップ抵抗(R3,R4),書き込み用スイッチ,リセットスイッチをはんだ付けし,マイコンボードに書き込みができることを確認します.(マイコンボードのパターンカットモードチェンジスイッチの変更を忘れずに!)スライドスイッチをBOOTにした状態で基板の電源を入れてからUSBシリアル変換モジュールを接続し,Renesas Flash Programmerの操作タブのスタートボタンを押して書き込みます.(USBシリアル変換モジュールに付属しているピンヘッダは細ピンヘッダのため,接触不良が起こりやすいです.通常の太さのピンヘッダを使用することを推奨します.)

    1. タクトスイッチ(UP,DOWN,EXEC)とUI用LEDをはんだ付けし,モード0でタクトスイッチを押すとLEDが点灯することを確認します.また,モード1でTera Termにバッテリ電圧が出力されることを確認します.

    1. ブザー,半固定抵抗(R19)をはんだ付けし,モード2でブザーが鳴ることを確認します.

    1. 壁センサ用LED,フォトトランジスタ,フォトトランジスタ用抵抗(R14~R17)をはんだ付けし,モード3で壁センサー値が出力されることを確認します.SFH4550は足が短いほうがアノードなので注意してください.

    1. モーターのケーブルにピンヘッダをはんだ付けします.

    1. モータードライバ,モーター接続用のピンソケット,周辺のコンデンサと抵抗をはんだ付けします.

    1. モータを基板に両面テープで取り付けます.ナイスタック強力タイプがおすすめです.このとき,2つのモータをテープで接着してから基板に取り付けるとうまくいきます.モード4でモータが回転することを確認します.DOWNを押すと左のモータが,UPを押すと右のモータがそれぞれ前進する向きに回転するはずです.もししない場合は,Motor.cのdefine定義を変更してください.

    1. ホイール,タイヤを取り付け,基板の裏側にカグスベールを貼り付けたら完成です.

機能説明

    • リセットスイッチはマイコンのリセットを行うスイッチです.うまく書き込めない場合は押してから再度書き込みをしてみてください.

    • スライドスイッチはマイコンのモードを切り替える場合に使います.書き込み時はBOOTモード,プログラム実行時はRUNモードにした上で電源を入れるもしくは電源を入れた状態でリセットスイッチを押して下さい.

    • 書き込みコネクタの横にはTX,RX,GNDとシルク印刷してあります.USBシリアル変換モジュールのRXをマウス側のTX,変換モジュールのTXをマウス側のRX,GNDはGNDに接続して下さい.

    • 半固定抵抗はブザーの音量調整用です.時計回りに回すと大きく,反時計回りに回すと小さくなります.

    • マウスの先端中央についているパッドはチップLEDのパッドです.電源は5Vから取っており,マイコンボード上のLEDは3.3Vから取っているので2つ合わせると2系統の電源が監視出来ます.

    • 初級者用マウスの足回りに取り付けられるよう,同じ位置に穴があります.

RX631ボード

初級者用マウス二式 RX631マイコンボード 基板データ(zip)

初級者用マウス二式 RX631マイコンボード 部品リスト(Excel)

RX220マイコンボードの互換ボードとして,RX631マイコンボードを開発しました.

RX631ではより高速な演算,より大容量のRAM,浮動小数点演算が可能になります.

こちらは自分で基板を発注し,マイコンをはんだ付けする必要があります.

一部のIOポートの対応が異なります.

関連情報

北陸同好会に所属する伊藤が,ブログにて初級者用マウス二式のサンプルプログラムを解説しています.

連絡または問い合わせ

北陸同好会事務局(Twitter) @kouhei_kanazawa