Skip to content

Latest commit

 

History

History
289 lines (220 loc) · 23.2 KB

README_v1.md

File metadata and controls

289 lines (220 loc) · 23.2 KB

DriveUnit Bseries(ver 1.0)のドキュメント

ver1.0の使い方,特性などについて解説していきます.
最初のバージョンなのでガバが多少見つかりました.
このドキュメントに書いてあること以外でこのバージョンにおけるガバが見つかれば僕に連絡するかIssuesを投げていただけると助かります.

基板外形図


DriveUnit_B-series(ver1 0)


DriveUnit_B-series(ver1 0)

基板サイズ:65.68[mm]×51[mm]

使い方

野獣にはない機能があるので使用者は必ず確認してください. 長くなるため折りたたみます.

使い方

まずはLAP/SM切り替えスイッチについて説明していきます.

  • LAP/SM切り替えスイッチ image このスイッチは名前の通り,LAP方式とSM方式を切り替えることできるスイッチです.
    基板にあるシルクの通り,スライドスイッチを"SM"の文字の方にスライドするとSM方式,"LAP"の文字の方にスライドするとLAP方式となります.
    SM方式を採用する場合にはPWMピンにはPWM信号を流し,DIRピンには回転方向の信号を流してください(下の表参照)
    LAP方式を採用する場合はPWMピンには何も繋げずにDIRピンにPWM信号を流してください.
    LAP/SM方式の場合の各ピンの真理値表は以下のようになっています.

    PWM DIR 出力(SM)
    1~100% 0 正回転
    1~100% 1 負回転
    0% $\phi$ ブレーキ
    DIR 出力(LAP)
    0~49% 正回転
    50% 無回転
    51~100% 負回転

    ※LAP方式についてはMD10C等一般的なモータードライバと正転・逆転が逆だと思うので注意してください.

    LAP方式とSM方式の違いはこのページを参照してください.
    安全性や効率の観点から基本的にはSM方式を採用してください.

  • 手動・テストボタン image

    このボタンを押すことで手動でモーターを動かすことができます.
    モータが駆動しないとき,このモータードライバの問題かその他の問題かを判別したり,機構がちゃんと動くかのテスト等に活用してください.
    SAボタンを押すと正回転,SBボタンを押すと負回転になります.
    このボタンを使用する際にはPWMピンをLOW,DIRピンをHIGHにして使ってください.それ以外の場合は正常に動作しません.

    Warning
    LAP方式の場合はSAボタンで正回転,負回転を一応切り替えられますが,モーター及びDUBに極めて大きい負荷がかかるため非推奨

  • ファルトフラグ,RESETボタン

    image
    image

    このLEDが光っているということはなにかこのモータードライバに不具合があるということです.
    なんの不具合があるかは下の表を参考にしてください.
    image

    ちなみに,この表のFault LatchedにYesがついているエラーは,もしエラーの状態が治ったとしてもリセットボタンを押さないとエラーが出力されたまま動作しなくなるので,リセットボタンを押してください.

    また,この表だけじゃ情報不足でわからないと思います.
    全部英語ですがA3921のデータシートのp12~p13に乗っています.A3921のデータシートは公式サイトからダウンロードしてください.
    ちなみに,このモータードライバを設計するときにA3921のデータシートを読むモチベのためにQiitaで記事を書いたので,A3921を使いたい!みたいなことがあればここから飛んでください.
    リセットボタンを押すとA3921がスリープモードに入り,動作しなくなります.(離すと再び動作します.)
    スリープモードに入ることで,A3921が検知していた異常が全てリセットされます.

  • 回転方向表示LED image
    このLEDの表示を見ることで,モーターがどちらの方向に回転しているかを知ることができます.
    PowerUnit BseriesのOUT+の電位がOUT-よりも高くなっているときの回転方向を正とすると,SAが光っているときは正回転を,SBが光っているときは負回転をしています.
    ちなみに,SM方式の場合は片方のみLEDが光りますが,LAP方式の場合は両方のLEDが光るはずです.
    LAP方式の場合はLEDの光の強さで回転方向を読み取ってください.(SAの光の方が強ければ正回転,SBの光の方が強ければ負回転です.)

  • 電源表示LED

    image
    DUBがちゃんと電源に接続されているなら,このLEDが光っているはずです.
    PowerUnit Bseriesか遠野に挿している場合で,電源に接続しているのにこのLEDが光らない場合は非常停止スイッチが接続されていない可能性があります.
    PowerUnit Bseriesか遠野の「SWITCH」に非常停止スイッチがしっかりと接続されているかを確認してください.

  • GitHub QRコード image
    このページにアクセスしているということはこのQRコードから飛んできたということは置いといて一応説明しておきます.
    このQRコードを読み込むことでこのページに飛ぶことができます.
    使用前には極力このページに飛んで仕様を再確認しておくと良いでしょう.
    ちなみに,レポジトリ名が「DriveUnit Bseries」ではなく「MoterDriver_v1」なのはリポジトリ名を変更するとURLが変更されるためこのQRコードからこのページに飛ぶことができなくなるからです......(ver1.0以降どうするんだこれ...)

    基本的には以上がver1.0のDUBの機能です.
    機能など,このモータドライバについて質問があれば何らかの手段で僕に連絡していただければ答えます.

特性

このモータードライバの特性についてはここに示します.
どちらかというとモーターの特性になってるかもしれないです.
これも長くなるため折りたたみます.

ver1.0の特性
  • 逆起電力の特性

    使用モータ:RS-555VC-5524
    使用マイコン:NUCLEO-F401RE
    印加電圧:12V
    PWM方式:Sign Magnitude(SM)
    PWM周波数:10kHz

    上記のものを使用してこの特性の調査を行いました.
    また,調査の流れとしてはマイコンとこのモータードライバを使って一定のペース(これをx[ $ms$ ]とします)で加速→定格(12V)で運転→急減速の流れでモータを運転し,急減速の際の電源ラインの波形を読み取る,といった感じです.

    • x=100の時の波形
      x=100
      画像の通り,リップルは発生してないです.

    • x=50の時の波形
      x=50
      最大で電源ラインが15Vになっています.

    • x=25の時の波形
      x=25
      最大で電源ラインが23V程度になっています.

    • x=13の時の波形
      x=13
      最大で電源ラインが28V程度になっています.

    • x=7の時の波形
      x=7
      x=13の時と同様に最大で電源ラインが28V程度になっています.

    • x=3の時の波形
      x=3
      x=7の時に比べるとかなり発生する逆起電力が小さくなっていることがわかります.

    • x=0の時の波形
      x=0
      逆起電力が見られなくなりました.(多分回生ブレーキに使われるから?)

    ちなみに野獣でも同じ条件でこの実験をすると,最大の電源ラインの電圧はほぼ変わりませんでしたが,野獣は耐圧がこのモータードライバよりも低いため逆起電力で壊れる可能性があります.(実際に実験の最中に壊れました...)
    なので,急停止するような動作が必要な場合には12[ $V$ ]でもこのモータードライバを使用することを推奨します.

  • 周波数-回転数特性

    使用モータ:RS-555VC-5524
    使用マイコン:NUCLEO-F401RE,NUCLED-F411RE
    印加電圧:12V
    PWM方式:Sign Magnitude(SM)

    上記のものを使用してこの特性の調査を行いました.
    また,調査の流れとしては特定のPWM周波数(これをfとします.)で,0[ $V$ ]から10[ $s$ ]で定格(12V)になるようにduty比を一定間隔で増やしているPWM信号をこのモータードライバに送り,エンコーダから算出した回転数をマイコンからPCにprintfで出力しTera Termから値を読み取ってそれを折れ線グラフにします.
    このとき,モータを駆動するマイコンと,エンコーダのパルスを読み取り回転数をprintf出力するマイコンを分けているため,printfの処理時間等は以下のグラフで見られる非線形性の要因とは無関係と言えます.

    • f=500Hz
      500Hz

    • f=1kHz 1kHz

    • f=2kHz 2kHz

    • f=5kHz 5kHz

    • f=10kHz 10kHz

    • f=20kHz(HAL不使用) 20kHz(HAL不使用)
      グラフを見てわかるように,20kHzになるとギザギザなグラフになっており,線形性が保たれていません.
      これはPWM分解能が落ちている証拠です.なので,これ以降はHALを用いて計測していきます.

    • f=20kHz(HAL使用) 20kHz(HAL使用)

    • f=40kHz 40kHz

    • f=80kHz 80kHz
      周波数が増えるにつれて,duty比が大きいところの線形性が保たれなくなってきています.

    • f=160kHz 160kHz

    • f=250kHz(最大) 250kHz

      グラフから,明らかに周波数が増えるにつれてduty比が0.9程度のところで回転数が一度落ちています.
      これの原因は不明ですが,モーターの出力をオシロスコープで確認すると回転数が落ちるところで周波数が3kHz程度まで落ちることから,ブートストラップからチャージポンプに昇圧方式を変える時にコンデンサの容量が異なることでなにか問題が起きていると考えられます.
      また,モータの両端にプロープをつけて波形を見てみたところ,ギブス現象の正弦波4本程度で矩形波を近似したときのような波形が得られ,電流が振動していました.
      とりあえず,10kHzが一番線形性が保たれており,効率もいいので10kHzで使用するのが一番いいということがグラフから読み取れます.(あくまでこれは,RS555の場合です.)
      <追記>RS-775を同じように250kHzで回してもギブス現象のような波形が得られず与えたPWM波形と同じ波形を出力していたことから,これはモータ側の問題であることが分かりました.しかし,duty比が0.9程度のところで回転数が落ちるのはこのモータードライバの問題のようです.
      <追記>実験をしたところ,モータを接続したときのみ(高周波では)duty比0.9以上で電圧が12Vから10Vに落ち,またRS-775に変えるとこのような現象は起こらなかったことから,これもモータが原因だと思われます.

現在分かっている設計のガバ

使用者は必ずこれを見てください!!

基板を発注する前にブレッドボードで回路が正しいかを確認するのが普通なのですが,A3921が極めて小さくて手はんだできないのもあり,実はブレッドボードで試作せずに基板を発注しています.
しかも,A3921周りの回路は参考にできる記事や回路が見つからず,殆ど自分で組んでいます.
そのため,実際に動かしてみてわかった設計のガバが少しあったのでそれを書いていきます.
また,このガバは極力バージョンアップで無くしていきます.

  • 入力が浮くと全力で正回転する
    マイコン側にノイズがいかないようにするためにフォトカプラで信号の入力線を絶縁しているのですが,フォトカプラはTLP2366(またはTLP2367)を使用していて,このフォトカプラは内部でNOTがかかり,内部のLEDが光っている(信号が入力されている)時にLOW,内部のLEDが光っていない(信号が入力されていない)時にHIGHになります.
    従って,普通に繋ぐとPWM信号がHIGHの時にLOW,PWM信号がLOWの時にHIGHとなってしまい,仮にDuty比を20%にすると80%の出力になるため,制御性が悪くなってしまいます.
    そのために,下の画像のようにマイコンのVCCとPWMピンに繋げることで,フォトカプラのNOTを打ち消すNOTを掛け,PWM信号が0の時に入力が0,PWM信号が1の時に入力が1となるようにしています.(DIRを反転していないのはA3921が「1で正転,0で逆転」になり,これは前モータードライバと逆であるので,前モータードライバと同じ入力で正転となるようにするためです.)

    image

    ※修正前の回路なのでフォトカプラのLEDに抵抗が付いていませんが,実際には付いています.

    ここで,マイコンからの信号線を取り外し,入力が浮いている状態を考えてみましょう.
    入力が浮いているので内部のLEDは当然光りません.
    すると,下の画像のようにPWMへの入力が1になってしまいます.
    すなわち,この状態で電圧をかけるとモータが全力で回転し始めます.

    image

    これが,1つ目のガバです.
    ロボットが暴走する原因になるので,以下のことを絶対に守ってください.

    • マイコンをリセットする際は非常停止スイッチを押してからリセットを行う.
    • 入力を浮かせた状態でこのモータードライバを使用しない.

    ただ,以下のように回路を組めばこのガバをなくすことができます.

    リセット時に暴走するガバを修正する回路

    image

    ちなみに,このガバは出力がNOTではないフォトカプラを選べばいいのですが,高速なフォトカプラは自分が探した限り全て出力がNOTで,これを低速なものに変えると前モータードライバと同じくらいの周波数までしか対応できなくなることが予想されます.

  • ボタンスイッチを使用できる入力の状態が制限されている
    これも上記のガバに関連しているのですが,ボタンスイッチを正常に使用できるのは入力が浮いていない状態で,PWMピンが0,DIRピンが1である状態です.
    このときの内部の状態は下の画像のようになっています.
    image

    入力が,浮いている状態を含むその他の状態ではPWMやDIRに既に1が入ってしまうので,SW1を押すと正転,SW2を押すと逆転,といった正常な動作をすることができなくなります.
    けど,このスイッチの需要って大体入力が浮いている時,すなわちDIRとPWMが1の時にあると思うので....
    回路の組み方を変えて全力で回転する問題と一緒に治す予定です.

使用電子部品,値段

チップ抵抗等大量に使用する部品の場合は1個あたりの値段を算出し,値段の横に個数を括弧で示します.
又,同様の部品がある場合は部品番号をXと表記し,まとめて示します.
(例:3813-HA,3813-LAはどちらもIRLB3813PBFを使用しているため部品番号を3813-XXと示します.)

部品番号 部品名称 リンク 値段(一個)
IC1 A3921KLPTR-T https://www.digikey.jp/en/products/detail/A3921KLPTR-T/620-1523-6-ND/4318336?curr=usd&utm_campaign=buynow&utm_medium=aggregator&utm_source=octopart ¥476.3(10個)
3813-XX IRLB3813PBF https://akizukidenshi.com/catalog/g/gI-06270/ ¥140 × 4
SW1,SW2 TVAF06-A020B-R https://akizukidenshi.com/catalog/g/gP-14888/ ¥22 × 2(5個)
SW3 THAF01-NC-R https://akizukidenshi.com/catalog/g/gP-14887/ ¥24(5個)
SW4 SS-12D00G3 https://akizukidenshi.com/catalog/g/gP-15707/ ¥20
TRX 2SC3325 https://akizukidenshi.com/catalog/g/gI-00628/ ¥5 × 2(20個)
TLPX TLP2366 https://akizukidenshi.com/catalog/g/gI-11342/ ¥120 × 2
LED1,LED2 SML-E12P8WT86(緑) https://akizukidenshi.com/catalog/g/gI-11878 ¥10 × 2(10個)
LED3 SML-E12Y8WT86 https://akizukidenshi.com/catalog/g/gI-11880 ¥10(10個)
LED4,LED5 SML-E12V8WT86 https://akizukidenshi.com/catalog/g/gI-11879 ¥10 × 2(10個)
DX GS1010FL https://akizukidenshi.com/catalog/g/gI-06014/ ¥10 × 3(10個)
C1,C2,C3,C4,C5,C7,C8 GCM188L81H104KA57D https://www.digikey.jp/en/products/detail/murata-electronics/GCM188L81H104KA57D/2591908 ¥11.5 × 7(100個)
C6 GCM21BR71H474KA55L https://www.digikey.jp/ja/products/detail/murata-electronics-north-america/GCM21BR71H474KA55L/1641707 ¥26.2(10個)
C9 GRT31CC81H225KE01L https://www.digikey.jp/ja/products/detail/murata-electronics/GRT31CC81H225KE01L/5416844 ¥39.4(10個)
C10,C11 35PZJ330M10X9 https://akizukidenshi.com/catalog/g/gP-16867/ ¥90 × 2
C12 GRM32ER71H106KA12 https://akizukidenshi.com/catalog/g/gP-16113/ ¥40(5個)
C13 GRM21BC72A105KE01 https://akizukidenshi.com/catalog/g/gP-13699/ ¥15(10個)
R1,R9,R11,R15,R16,R18,R19 RG2012-N-103-B-T5 https://akizukidenshi.com/catalog/g/gR-11797/ ¥20 × 7(5個)
R2 RG2012N-332-W-T1 https://www.digikey.jp/ja/products/detail/susumu/RG2012N-332-W-T1/600888 ¥107.9(10個)
R3,R22 RG2012P-681-B-T5 https://www.digikey.jp/ja/products/detail/susumu/RG2012P-681-B-T5/1266877 ¥36.7 × 2(10個)
R5,R6 RG2012-N-102-B-T5 https://akizukidenshi.com/catalog/g/gR-11796/ ¥20 × 2(5個)
R4,R7,R8,R17 RG2012N-201-W-T1 https://www.digikey.jp/ja/products/detail/susumu/RG2012N-201-W-T1/600671 ¥107.9 × 4(10個)
R10,R12,R20,R21 RG2012Q-100-D-T5 https://jp.rs-online.com/web/p/surface-mount-resistors/6379813 ¥47 × 4(50個)
R13 RG2012P-302-B-T5 https://www.digikey.jp/ja/products/detail/susumu/RG2012P-302-B-T5/1240739 ¥48.7(10個)
R14 RG2012N-222-W-T1 https://www.digikey.jp/en/products/detail/susumu/RG2012N-222-W-T1/600696 ¥107.9(10個)
総額 ¥2972.9
回路図(Eagle)

schematic edit

今見つかっている不具合はこんなところです.
このモータードライバを使用して何か不具合などが出てきたら教えてくださると助かります.