ロボットとか
ロボットとかのブログ



今いじっている対向二輪型のロボットなのだが,前からロータリエンコーダの返り値がおかしかった.
具体的には,まず左右とも同じロータリエンコーダのはずなのに同じ量回転させても返ってくる値が違う.
再起動するたびとまではいかないが,時々p/rが変わる.
プログラムを疑ってみても回路を疑ってみてもぱっと見おかしい点はない.
オシロでロータリエンコーダの波形を見る限り,ロータリエンコーダにも異常はないようだ.
おかしいおかしいと思いつつも検証機材が手元にないため放置状態になっていた.
やっと検証機材が手に入ったので検証を始めてみる.
検証機材は,今いじっているロボットとほぼ同じもの.
共にマイコンはSH7045,マイコンボードは秋月で売られているもの,モータはMaxon A-max22,ロータリエンコーダは付属のEnc22.
違いは,IOボードのみ.
検証機材でロータリエンコーダのカウントを見てみると返り値は計算通り.
どちらのロータリエンコーダでも返り値は計算通りだったので,ロータリエンコーダの異常はないと判断.
残るはプログラムとIOボードだが,プログラムはどちらもほぼ同じものを走らせている.
IOボードの関係で,一部のPIOが違うが,ロータリエンコーダ部分に関しては同一.
となれば,最もあやしいのはIOボードとなる.
実際このIOボードは寝ぼけながら作ったという話なので,可能性としては十分.
今日は時間がないので,要検証ということでまた明日.
[活動102]
具体的には,まず左右とも同じロータリエンコーダのはずなのに同じ量回転させても返ってくる値が違う.
再起動するたびとまではいかないが,時々p/rが変わる.
プログラムを疑ってみても回路を疑ってみてもぱっと見おかしい点はない.
オシロでロータリエンコーダの波形を見る限り,ロータリエンコーダにも異常はないようだ.
おかしいおかしいと思いつつも検証機材が手元にないため放置状態になっていた.
やっと検証機材が手に入ったので検証を始めてみる.
検証機材は,今いじっているロボットとほぼ同じもの.
共にマイコンはSH7045,マイコンボードは秋月で売られているもの,モータはMaxon A-max22,ロータリエンコーダは付属のEnc22.
違いは,IOボードのみ.
検証機材でロータリエンコーダのカウントを見てみると返り値は計算通り.
どちらのロータリエンコーダでも返り値は計算通りだったので,ロータリエンコーダの異常はないと判断.
残るはプログラムとIOボードだが,プログラムはどちらもほぼ同じものを走らせている.
IOボードの関係で,一部のPIOが違うが,ロータリエンコーダ部分に関しては同一.
となれば,最もあやしいのはIOボードとなる.
実際このIOボードは寝ぼけながら作ったという話なので,可能性としては十分.
今日は時間がないので,要検証ということでまた明日.
[活動102]


SH7045でモータの制御をしたことはあるが、PWMモード2での制御は初めて。
TekuRobo工作室を参考になんとか動作させることに成功。
だけれど、たまたまうまく噛み合っただけで偶然だった模様。
「C言語によるSH-2マイコンプログラミング入門(技術評論社:横山直隆)」を参考に動作させることに成功。
モード2がそのものズバリで載っていた。
モード1の時はTGRAをPWMにTGRBをサイクルに割り当てているのだけど、モード2の時はどちらもPWMになる。
だから、他のMTUと同期させてサイクルを作り出す。
今回はこのサイクルが問題だったらしい。
やはり文献は読むものだ。
[活動102][SH2]
TekuRobo工作室を参考になんとか動作させることに成功。
だけれど、たまたまうまく噛み合っただけで偶然だった模様。
「C言語によるSH-2マイコンプログラミング入門(技術評論社:横山直隆)」を参考に動作させることに成功。
モード2がそのものズバリで載っていた。
モード1の時はTGRAをPWMにTGRBをサイクルに割り当てているのだけど、モード2の時はどちらもPWMになる。
だから、他のMTUと同期させてサイクルを作り出す。
今回はこのサイクルが問題だったらしい。
やはり文献は読むものだ。
[活動102][SH2]


当り前な人には当たり前のこと.
論文や発表などはスタンダードとなる定型があるので,先の例に学ぼう.
エンジニアは主観を排して客観的に見ないといけない.
言葉遣いにも気をつけよう.
話し言葉や主観的な言葉は避けること.
発表はあくまで肯定的に.
否定的な発表は評価が下がる.
ただし,出来ていないことは下手に言わない.
研究目的の数=研究の数
だから発表の主題は一つに絞るのが無難
絞ることで聴者にもわかりやすくなる.
話は大から小に話していくなど,流れを作ると理解しやすい.
聴者が知っていると思わないこと.
前提となる情報がなければ,いくら訴えても伝わらない.
専門用語も聴者の知識を考えて.
知らなきゃ伝わらない.
ビジュアルはうまく使おう.
文字だけよりも伝わりやすくなるし,疲れにくい.
図は理解を助け説明のためにある.
例えば.CADと写真を同じ構図で並べるとわかりやすいし,穴埋めにも有効.
行動には何らかの裏付けがあるはず.
そこをちゃんと説明しよう.
省電力化とか小型化とかそういうことを書くのなら,比較対象との数字で比べよう.
論文や発表などはスタンダードとなる定型があるので,先の例に学ぼう.
エンジニアは主観を排して客観的に見ないといけない.
言葉遣いにも気をつけよう.
話し言葉や主観的な言葉は避けること.
発表はあくまで肯定的に.
否定的な発表は評価が下がる.
ただし,出来ていないことは下手に言わない.
研究目的の数=研究の数
だから発表の主題は一つに絞るのが無難
絞ることで聴者にもわかりやすくなる.
話は大から小に話していくなど,流れを作ると理解しやすい.
聴者が知っていると思わないこと.
前提となる情報がなければ,いくら訴えても伝わらない.
専門用語も聴者の知識を考えて.
知らなきゃ伝わらない.
ビジュアルはうまく使おう.
文字だけよりも伝わりやすくなるし,疲れにくい.
図は理解を助け説明のためにある.
例えば.CADと写真を同じ構図で並べるとわかりやすいし,穴埋めにも有効.
行動には何らかの裏付けがあるはず.
そこをちゃんと説明しよう.
省電力化とか小型化とかそういうことを書くのなら,比較対象との数字で比べよう.


Visual Studio 2008でシリアル通信をしようとしたところ
'CreateFileW' : 1 番目の引数を 'const char [5]' から 'LPCWSTR' に変換できません
とでた.
調べてみたところ解決方法は,プロジェクト→プロパティ→構成のプロパティ→全般→文字セット→「マルチバイト文字セットを使用する/設定なし」を選択で解決.
'CreateFileW' : 1 番目の引数を 'const char [5]' から 'LPCWSTR' に変換できません
とでた.
調べてみたところ解決方法は,プロジェクト→プロパティ→構成のプロパティ→全般→文字セット→「マルチバイト文字セットを使用する/設定なし」を選択で解決.
”VSでシリアル通信”のソースはこちら


プロフィール
名前:H238/ながつき |
このブログについて: |
ロボットについての勉強などを中心に勝手に書いていきます.あくまで本人のメモなので期待しないように. ちなみにブログデザインは趣味. |


ブログ内検索
[活動101] [活動102] [活動103]
[SH2] [マイコン]
[電子回路]
[プログラム] [VS] [OpenCV]
[知能ロボ]
[プレゼン] [CAD]


カレンダー
03 | 2025/04 | 05 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
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 |


カテゴリー


最新CM
[11/13 SLT-A65]
[12/01 siawase]
[05/01 H238]
[05/01 H238]
[05/01 ねこう]


アーカイブ


