忍者ブログ
[1]  [2
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

さっきのエントリーで半年前がどうとか言ってるけど、
その半年前のことが何も書いてなかった。サボってたので。

うちの開発環境は、eclipceでGCCでSourcery G++ Liteで自作ボードで、今回から新しくARM-USB-OCDでOpenOCDです。


このボードを使って3月のロボットランサーにも出たんですが、無様なものでした。ボードの所為ではなく。

もっとこう、安くて簡単な開発環境はないかなぁ。ラクしたいなぁ。
PR
パソコンを新しくしたので、stm32の開発環境も新しく入れ直しちゅう。
半年前にも苦労したが、今やってもやっぱり苦労する。この半年でネット上にだいぶ情報が増えたような感じはするんだけどね。
で、なんとか、新しくプロジェクトを作ってそれをビルドして、ってところは出来たんだけど、以前の環境のときのプロジェクトがビルド出来ない。なんでじゃーー

今回初めてやってみたこととして、ARM-USB-OCDを買って、OpenOCDというものを使ってみた。
こちらもインストールにかなり苦労した。なにやら、バージョンが0.1.0と0.2.0があって?0.1.0は配布終了で?0.2.0はソースの配布のみで?懇切丁寧な解説サイトもあったのだけれど、それでもなにやってるのかわからんちんで。
結局、ARM-USB-OCDのCDに入ってた0.1.0を入れました。
そんなこんなで、なんとかLEDチカチカをステップ実行できました。やった。結構感動。

ただ、この複雑な開発環境を自分が常用出来る気がしない・・・
GCC-Developer-Liteがなつかしい・・・コンパクトでシンプルで素敵なシステムだ・・・

それに、JTAGというやつは、それのためだけに(nRESET端子は除いて)5本も端子を消費する。ちょっとこれをマウスとかに組み込んで使うのは難しいかなぁ。という、自分がこれを使わない理由を作っておく・・・

最後に参考文献を書いときます。
http://homepage3.nifty.com/zus/ARM_M3_Dev_Flame.html
http://www.kimura-lab.net/wiki/index.php/Category:STM32
http://www.teamknox.com/RoboLog03/RoboLog03j.html
http://www.s-m-l.org/dev/ezarm7.html
DWM2008年5月号、6月号
最近ARMの勉強を始めた.
STM32F103T8とか素敵デバイスだと思うが,まだ良く分からない.ちょっとピン数がカツカツすぎかな.ひとつのピンへの機能割り当ての重複が多く,ADC入力とタイマー関連の入出力がかぶってたりする.たぶん.

DWM6月号などを参考に,eclipseとgccで環境を構築して,サンプルプログラムをビルドするところまで出来た.ターゲット基板(DWM5月号の付録)への書き込みはまだ.

いままでのH8の開発はgcc developer liteにおまかせ状態だったから,このちゃんとした(?)gccの開発環境では何をすればいいのか分からないことだらけ.メモリ管理とかリンカとか意識したこと無かった.プログラムの基本的なところが分かっていない.
ターゲットCPUをちょっと変更するのにも,サンプルから何を変えれば良いのやら.メモリ容量を決めてるっぽいところをいじるだけで良いのかな.

最初はおとなしくKEIL社かIAR社の開発ツールを使って勉強したほうが良いかもしれない.それか,H8 + eclipse + gccで勉強とか.

JTAGはとりあえず置いといて,UARTかUSBで書き込みする予定.ゆくゆくはJTAGでデバッグとかもやってみたい.
ところで,USBでの開発って,USBで書き込みするためのバイナリ変換が必要とかで,返ってめんどくさそう.それともこれもeclipseから簡単に呼び出せたりするのかな.

そういえば,NiosII IDEってeclipseをベースに作られていたことに,最近初めて気付いた.プロジェクトの管理がしにくい印象があるのだけれど,きっと自分の使い方が悪いのだろう.
メールで質問を受けまして,私信なんですけどこっちのブログで回答しますね.

質問は大体,「ぷーちん太郎のモータ駆動のPWM周波数は電気的時定数の倍って言うけど,5倍以上が良いらしい・・・そこんとこどうなの?」って感じの内容でした.

まず,ぷーちん太郎のモータ(1319T-006SR)の電気的時定数は,L/R = 130u/8.26 = 15.7us です.そして,PWM周波数は129kHzです.15.7us→63.7kHzなのでPWM周波数はモータの電気的時定数の倍ちょっとですね.ちなみに,129kHzというのは,33MHzで動作しているCPLDで分解能8bitのPWMを生成しているので,33MHz/256 = 129kHzという理由からです.

で,5倍の話なんですが,5倍とか10倍とかにするのが良いというのはどこかで読んだんですけど,最低どれぐらいの周波数が必要なのかはちょっと私は分かりません.確かに,PWM周波数はできる限り高くしたほうが良いとは思います.ただ,マイコンやモータドライバの都合でそれは制限されてしまうので,どこまでも高く,というわけにはいきません.
ちなみに,ロボマガ45号の中島さんの記事では,電気的時定数24.7usのモータ(1331T006SR)を50kHzで駆動しているとあります.これだと1.24倍ですね.私も2倍ちょっとで駆動していて,特にモータもドライバも熱くならないので,これぐらいでも「まぁいいか」という認識です.

これはコアドモータでもコアレスモータでも同じだと思います.ただ,コアレスモータの方が電気的時定数は小さくなる傾向があるので,十分な速さでのPWM駆動はより厳しくなってきます.もし,十分な周波数のPWMを実現できないのなら,ご指摘の通り,モータに直列にコイルを挿入して,モータの見た目のインダクタンスを大きくしてやるという方法があります.PWM周波数低すぎで熱くなった誉やマクソンをこの方法でドライブできたという話を何回か聞いたことがあります(私は試したことありません).

こんなので回答になるでしょうか?
しばらくぶりです.前回の続きです.


基板のパターンを描いて,基板加工機で作りました.
久しぶりの基板加工機だったので,何回か失敗してしまいました.
写真の右が失敗作で,左が成功.
片面基板で作ったので,だいぶ大きくなってしまいました.


前回取り外したジャイロ(ADXRS300)に,細く切り出した銅箔を半田付けします.
ジャイロに羽が生えました.


で,さっきの基板に貼る.あといくつかのコンデンサと抵抗,ピンヘッダを半田付けして完成.
これで,このモジュールに電源とGNDを繋ぐだけで角速度が電圧で出力されます.
めでたし.
カレンダー
04 2024/05 06
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 31
ブログ内検索
プロフィール
世界中にたくさんいる
ぷーちんさんのひとり
カウンター
アクセス解析
忍者ブログ [PR]