スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

MCUを使ったオシロスコープ、、まで行かない波形観測器

STマイクロのMCU STM32F417を使い、オシロスコープまでも行かない波形観測をしてみました。
秋月電子にもDSO138とゆうSTM32F1を使った簡易オシロスコープキットが販売されているので、ある程度の機能が必要な時はDSO138を購入したほうが良いと思われます^^;

まず、手持ちのebayで安価に入手できるSPIインターフェースな液晶パネルコントローラーにILI9341を使用した赤い基板のパネルでの表示。



通信速度等々、ほぼ何も調整していないので、結構遅いです。

次にちょっと調整したもの。



ダイレクトメモリアクセスとか、難しいことをせず、描画命令をそのままMCU内のSPIマスターに渡しているだけなので、あまり速くはなってませんが、それでも、繋いだだけよりは、、。





これは16bitパラレル入力タイプの液晶パネルコントローラーILI9325をSTM32F4のFSMC(フレキシブルメモリコントローラー)に接続した物の動画です。このFSMCを液晶パネル作動用に使うのは、STM32のアプリケーションノートにも有る使い方で、とんすけぶろぐのとんすけさんが、STBeeボード+2.4インチ液晶パネルYHY024006Aで動画再生60FPS超えるとゆうページの中で、仕組みと手順を公開されてます。
安価な小型TFT液晶パネルをMCUを使って動画再生されている方々に重宝されている機能のようで、この動画、更に下にある動画でも、非同期SRAMと同じような通信方法で、約10Mhzで通信しています。で、16bit幅で通信されているので、通信速度はSPI通信での速度を遥かに上回ります。




これは、STM32F4に載っているADCを使い、秋月電子で販売されているミニDDSファンクションジェネレーターからの出力を観測しています。ADCの設定とか、あまり触っていない状態ですが、案外綺麗に出力されています。
ADCで読み込んだ数値にしたがって、点を打っているだけの状態です。
ある意味リアルタイムでの出力です。



これはADCで連続で読み込んだ1表示画面分数値を一旦配列に入れて表示、少々Delayを入れて調整したものです。DMA等凝ったことしていません。表示自体、液晶パネル自体短手の240ピクセル内の128ピクセルしか使ってないので、ADC8bitの分解能でも余るほど。やはり肝となるのは、ADCの読取り速度ですね。。
案外な速度まで、信号が出ていることを観測することができました。

多分ですが、外部メモリコントローラーが載っているMCUで有れば、STM32に限らず、ほとんど同様な事が出来るのでは?と思ってます。たまたま、STM32での、作例や、サンプルコード等々がnet上に多く有ったので。。
基本8080とゆう昔からあるインターフェースなので、16bit幅でなくとも、8bit幅でも。。
実際の所PIC32などではPMP(パラレルマスターポート)とゆうインターフェースがあり、8(16?)bitと制御線でのコントロールが可能なようです。


特定用途用の、決まった信号が出ているか、、といった使い方であるならば、この程度の物でもチェッカーとしては使えるのでは?と思います。


追記。。

もうチョット高い周波数が見れると良いかなぁと思い、秋月電子で販売されている作動速度の速い8bit出力のADコンバータAD9286を超オーバースペックですがFPGAのMax10で20Mhzの8bitデータとし出力。STM32F4のGPIO Inputにて読み取って波形観測してみました。



ADCはパスコン等を取り付けたほぼ素のまま。アナログ電源用に別LDOを使用しています。きちんとADCを使うのならば、OPAMP等々を使用してもっときちんとした回路とせねばならないとは思うのですが、素のままでどこまでみれるのか?とゆう好奇心で試してみました。

FPGA側はFIFOとか、バッファリングとか、特別難しいことをせず、また、STM32F4側も単にGPIOを使って1画面分のデータ配列に入れて表示をしているだけです。
ADCをもっと高速に作動させて、FPGA側にFIFOを作って1画面分のデータを取得(加工もするとよいかも)、STM32F4の液晶パネルに表示、、だともっと高い信号を観測出来ると思います。

何に使うか、どこまで性能が必要か?により、色々と機能を追加出来るのではないかと思います。

FPGA側に読取り速度等々の設定を幾つか作っておき、MCUから設定変更とか、、。

更に追記。。



見やすくして、数値の表示も。
これでも200mSのウエイトを掛けているので、結構重そうな演算をさせてもイケるかも。


続きを読む

スポンサーサイト

テーマ : 自作・改造
ジャンル : コンピュータ

STMicroさんのステッピングモーターの基本

以前の記事STMicroのステッピングモーターの基本とゆう動画。にて英語でのステッピングモーター駆動の基本的な作動の動画を紹介させていただきましたが、コレとはまた違った切り口?で、更に日本語でのステッピングモーターの作動を解説されています。












3本あるうちの下の2本はL647x,8x系の作動に踏み込んでの解説となってますが、基本コマンドインターフェースなステッピングモータードライバが、STEP/DIRなパルス列制御のホビーNCコントローラーでは非常に使いづらいのが動画内の解説にて判ると思います。
もちろん、NCコントローラーのモーションプランなから、作動司令までを作成するのならば、、、、とは思いますがソコまではなかなか。。

逆に一定シーケンスにて作動させるような用途だととても便利なのかな、と思います。
また、説明しづらいのであまり他では説明されてないDecayモードに関しても解説されていて、とても良いと思います。

上記動画からも解るように、マイクロステップ自体がステッピングモータードライバ上に設定された分割比によって作り出されているとゆうことがよく解ります。
マイクロステップ自体、駆動分割数を増やすため、よりも、よりトルク変動の少ない滑らかな回転と、静音性を高めるための為のもので、分割数から来る高分解能化とゆう意味合いもありますが、正確にマイクロステップの1ステップが刻めているか?はまた別問題だとゆうことがよく解ります。

もちろん、ステッピングモーターの2相励磁時の正確さは、ステッピングモーター自体の磁極位置の正確さで、国産ステッピングモーターなら、かなりの正確度で作られているはずです。
マイクロステップとなると、2つの磁極でローターが吊られている状態で、相ごとの抵抗値インダクタンスの差で想定している位置との多少のズレが出ることは想像に難しくないと思います。

以前の中華2相ステッピングモーターなどはコイルの抵抗値、インダクタンス値共かなりの差がありました。。

特に小型、自作系のNCマシン、特に位置フィードバックの機構も無く、ステッピングモーター直結の直動機構なものが多いので駆動方式の選定やベルトに依るギヤダウン、駆動速度のかせぎ方とかNCマシンを運用、自作する場合は動力源であるものの具合と特性を理解しておくことは大事です。

定電流制御なステッピングモータードライバICは定電流制御をするために、電流フィードバック制御をしていますが、位置フィードバック制御はされていません。


もちろん、用途によって適したものはあるので、高マイクロステップが良いとか、リッチな制御が必ずしも良い選択であるとは思いません。
どのように制御されているかの理解が、適した物の選択への近道でもあるのでは??


一番上の動画内で解説されていますが、トルクは電流で、回転数は電圧って感じです。ユニポーラでもバイポーラでも、より高い電圧で電流を押し込む形で回すと、回転数は上がります(実用トルクが有るかどうかは別)

この事はステッピングモーターに限らず、DCモーターでもBLDCモーターでも同じです。


続きを読む

テーマ : 自作・改造
ジャンル : コンピュータ

ライセンス
アクセスカウンター
プロフィール

あきらひとし。

Author:あきらひとし。
木工用CNCルーターフレームと、ステッピングモータードライバを作ってみました。
たぶん記事は一般的な人には殆ど必要のない事ばかりなの、かも。

モーターは回るだけでも楽しい。制御(速度、トルク、位置)できるともっと楽しい!

メールフォーム

名前:
メール:
件名:
本文:

リンク
最新記事
カテゴリ
スポンサードリンク
スポンサードリンク 
スポンサードリンク
オンラインカウンター
現在の閲覧者数:
検索フォーム
RSSリンクの表示
最新トラックバック
最新コメント
月別アーカイブ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。