カレンダー(月別)
07 ≪│2017/08│≫ 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
プロフィール

Suma

Author:Suma
東北の田舎でロボット開発に励んでいます。
現在のメインはマイクロマウス。目指すは東北地区大会優勝!!

ご注意
・当ブログはリンクフリーです ・当ブログの掲載情報を元に行った行為によって何らかの損害が生じたとしても管理人は一切責任を負いません。予めご了承ください。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

--/--/--(--) --:-- |
ジャイロセンサMPU6500と通信するためにSPI通信を使用する
RX621の時はRSPIを使用したが、今回はSCIの簡易SPI機能で実現してみる

MPU6500との接続は以下の通り
 PA1(SCK5):MPU6500_CLK
 PA3(SMISO5):MPU6500_DO
 PA4(SMOSI5):MPU6500_DI
 PA6:MPU6500_CS

1.SCI初期化(簡易SPIモード) (114~123行目)
 SCIのクロック同期モードとして初期化
 CS端子の制御は手動で行う
 通信のボーレートは500kbps

2.ポート初期化 (132~135、141~144、151~153、159~161行目)
 入出力方向の設定、端子モード切替を実施



おまけで送受信処理部分を載せておく
簡易SPIモードはLSBファースト送信しか対応していないため、自作の関数を使ってMSBファースト送信を実現


以下はMPU6500相手にWHO AM Iコマンドを送信する例
受信したデータはSCI通信でPCへ送信している
スポンサーサイト

2016/02/09(火) 21:49 | コメント:0 | トラックバック:0 |
RX631 PWM出力 できない
という状態で長井合宿に参加
まわりのメンバの協力もあって、合宿中に何とかPWM出力ができるようになった

1.タイマ初期設定 (66~80行目)
 RX62系とほぼ同じ。MTU3をPWMモード1で使用するように設定

2.マルチファンクションピンコントローラ (110~115行目)
 今回一番苦戦したのはこのレジスタ設定
 PMCレジスタに対して、このピンはこのリソースで使う、と設定するのだが、ただ設定しただけではうまくいかない
 PMCレジスタ書き込み許可(110~111行目)→PMCレジスタ設定(112~114行目)→PWCレジスタ書き込み禁止(115行目)、とする必要がある

3.ポートモードレジスタ (119行目)
 最後にPWM出力したいポートを周辺機能として使う設定にする

これでPWM出力ができるようになる
同様にシリアル通信を行う際も、上記のPMCレジスタの設定が必要

もちろんユーザーマニュアルにちゃんと記載がある


2016/02/03(水) 20:53 | コメント:0 | トラックバック:0 |
RX621の時とかなり違っていて苦戦
キーポイントは以下の部分
・レジスタライトプロテクション(13行目)
 クロック設定レジスタ、動作モード関連レジスタへの書き込み禁止/許可を行うレジスタ
 一番最初にこのレジスタで書き込みを許可にしておかないと、クロック設定や各リソースのストップモード解除ができない

・サブクロック停止(16~25行目)
 48Pin版ではサブクロックが無いためサブクロックを停止させること、と記載があった
 どうやら初期状態では関連するレジスタが不定値となる模様
 趣味のプログラムなので無視してもいいが念のため停止設定を行う

・メインクロック発振設定(26~38行目)
 外部クロックは12MHzを使用
 その外部クロックを発振させて、発振安定待ち処理を行う必要がある
 待ち時間の処理にはTMR0(8bitTimer)を使用
 初期状態ではPCLKBが125kHzで動いているので、TMR0を合わせて設定する

・PLL設定(40~45行目)
 外部クロックの12MHzを逓倍してfPLL=192MHzを作るように設定(fPLLは104~200MHzとすることと記載あり)
 外部発振子と同じくPLLにも発振安定待ちが必要

・各クロックの設定(47~49行目)
 fPLLからICLK, PCLKB等へ供給するクロックを設定する
 この時は各クロックの上限を超えないように注意
 ICLK=96MHz, PCLKB=48MHzと設定
 各タイマーやADCなどに供給されるのはPCLKBのクロック

・1ms割り込み用タイマー設定(55~60行目)
 ここまでで設定したPCLKBをベースにTIMR0を使って1ms周期割り込みを設定



2016/01/10(日) 16:13 | コメント:0 | トラックバック:0 |
RX631の48Pin版を試すテストボードを作成
RX631 48Pin版のテストボード
電源、モード変更、ダウンロードのための通信回路、LED、スイッチと最低限の構成

USB-シリアル変換モジュールは、マルツのMPL2303SAモジュールを使用
ただ私のPCでは相性が良くないようでたまに動かなくなる
いつものFT232あたりを使えばよかったかも

CS+を使用してビルド環境を構築し、最初にLチカのプログラムを作成
 マイコン:R5F5631MCDFL
 LED:P27とP31に接続、Loで点灯
(1)11行目でIO定義ファイルをインクルード
(2)30、31行目でLEDのポートを出力に設定
(3)39~45行目でLEDチカチカ


2016/01/09(土) 13:54 | コメント:0 | トラックバック:0 |
2016年がスタート
今年も知能ロボコンとマイクロマウス頑張ります
マイクロマウスと知能ロボコン機体
写真上2台:SHまるさんず(知能ロボコンマスターズコース)、写真右下:東北マウス爽2015(ハーフサイズマウス)、写真左下:東北マウス赫(ハーフサイズマウス)

かなーり遅れてしまったが2015年のマイクロマウスはこんな結果でした
<金沢草の根大会>
 北陸新幹線の開業もあり初の金沢遠征。東北マウス爽2015で参戦。最短走行できずに終了。でものどぐろ最高でした。

<マイクロマウスキット大会 第1回Pi:co杯>
 Pi:coは持っていなかったが大会2週間前にレンタルPi:coが届く。宮城育ちのPi:coさんとして参戦。結果はぴいこじまうすに及ばないものの東北支部名物?精神と時の部屋効果で優勝。久々のクラシックマウスは迫力が違った。機会があればまた参戦したい。

<北陸信越地区大会>
 初めて3台のマウスをエントリー。SaharaMouse09Mは数年ぶりの走行となったがまともに走れずリタイア。東北マウス爽2015はやはり最短ができず。東北マウス赫は壁の誤読み多発でゴールすらできず。壁有る無しの閾値の設定が悪かった模様。

<東日本地区大会>
 東北マウス爽2015と東北マウス赫で参戦。迷路が鬼だったが2台とも最短走行でゴール。ただし東北マウス爽2015はおしくもタイムアウト。モーター冷やしてる場合ではなかった。

<東北地区大会>
 東北マウス爽2015と東北マウス赫で参戦。通過済み区画の判断ミスで壁につっこむも、2台ともにベストに近い走りができた。東北マウス赫はシード権をゲット。

<全日本大会>
 東北マウス爽2015が予選から参戦。ゴール前の壁が少ないエリアで撃沈。予選は突破できず。東北マウス赫は決勝に参戦。探索走行に時間がかかるものの、つぶしたハズのバグが運良く?発動。最短走行は減速処理にバグがあるようだったが何とか完走。13位で特別賞をいただく。ピンセットありがたや。


2016年はマウスは新機体で、知能ロボコンは昨年の機体のソフトウェア強化の予定
現在は新作マウスの設計中

区切りがついたら知能ロボコンモードに移行の予定
今年は一次予選は突破したい

2016/01/04(月) 11:55 | コメント:0 | トラックバック:0 |
探索済み区画
これまで
区画を探索
検索フォーム
夢を叶えるための名言集


presented by 地球の名言
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。