定本 トランジスタ回路の設計 第1章 トランジスタ回路への誘い

仕事のすきま時間で進めているD論執筆の、
それまたすき間時間に息抜きとして定本 トランジスタ回路を読んでいる。

1章のメモ

トランジスタ回路の設計法

仕事のすき間時間に進めているD論執筆のすき間時間に
電子工作の素のトランジスタの章を読んだメモ

トランジスタの機能

  • ベース電流のどこを中心にして変化するように工夫すれば、ちょうどよい出力が得られる増幅になるかということが設計課題
  • ベース電圧をほんのわずか変化させるだけでベース電流は大きく変化し、トランジスタが壊れる。抵抗が必要。

トランジスタのドライブ回路での使い方

  • 最近はオペアンプが安価で使いやすいのでアナログ増幅にトランジスタはあまり使われない。トランジスタの用途としては大電流や高電圧の負荷をドライブするのがほとんど
  • ドライブ用に使うときの選択方法
    • 何ボルトまで使えるかを、コレクタ・エミッタ間最大定格電圧で見る
    • 何アンペアまで流せるかを、コレクタ最大定格電流と最大全損失を見る
    • 何倍の増幅ができるかを、直流電圧増幅率で見る
    • どれくらいの周波数まで使えるかを、利得帯域幅積で見る

ドライブ回路の基本構成

  • ドライブ回路は大別して負荷の電流を引き込んでやるか、流し込んでやるかの2パターン

電流増幅率の高いトランジスタが必要なケース

注意点

  • ベースに電流が流れすぎないようにすること
  • 電源ON時に出力が不安定にならないようにすること
  • コイル(モータやリレーなど)の逆起電圧に注意すること
    • コイルの電流をONからOFFにする場合にあ、逆向きの高い電圧がコイルの両端に発生する。これによりトランジスタのコレクタエミッタ間に逆起電圧が加わり壊れる。これを防ぐために、ダイオードをコイルの両端に並列に接続する。
  • トランジスタの発熱に注意

TacHammerで遊ぶ

ざっとユーザガイドを読む

  • TIのDRV2605で制御される前提でユーザガイドは記述されている
  • TacHammerの片方の端には磁石、もう一方の端には素材が入っている

  • 鉄心の移動方向により2つの異なる触感が発生
    (電流方向によって鉄心の移動方向を変えられるのでそれでモード切替可能と見える)
    • Hit
      • 鉄心が素材に衝突する方向に移動する時に発生
      • 衝突感
      • 音も発生
    • Pulse
      • 鉄心が電磁ブレーキがかかる方向に移動する時に発生
      • 衝突感ではない
      • 音は発生しない
      • 通常のERMやLRAで発生する触感に近い

周波数特性測定

仕様書に載ってなかったのでモータの周波数特性を測定してみた。
なお個体差があるのであくまで参考値です。

測定環境
  • 振動子は糸で吊られた状態で静止させる。
  • 振動子には加速度センサ(MPU-6050)を貼付する。
  • 振動子への入力はM系列信号とする。
  • 振動子の主軸方向の加速度の実効値(RMS)が、0.2G~3.0Gまで0.1刻みごとになるようM系列信号を増幅し入力する
  • アンプ(LP-2024A)や加速度センサの重みや糸の張力などのもろもろ含めたシステムの特性を評価する。
結果

f:id:yusuke_ujitoko:20191001214347p:plain

TacHammerライブラリによる駆動

TacHammerの公式が配布しているarduinoライブラリで 以下のAPIが公開されている.

  • 上記のHitやPulseに相当するAPI (hitpulsehitpulseの中身はPWMの範囲が違うだけ.なぜ逆方向に動くかよくわからない)
  • Pulseを連続させて振動を提示するAPIvibration
  • さらに高級なエフェクトを提示するAPI

お手軽に扱えるが,入力波形の指定や位置制御などはできない.

DRV2605Lによる駆動

DRV2605には以下のような機能が備わっている。

  • Waveform library effects
  • Input trigger option
  • Audio-to-vibe IF
  • Real-time playback IF

adafruitのarduinoライブラリではすべてカバーしていて色々試せる。 例えば、waveform library effectはImmersionがライセンスする100超のエフェクトを 選択するだけでエフェクトを試せる。以下はエフェクトのリスト(データシートからの引用)。 しかしImmersionのライセンス契約の関係か、 それぞれのエフェクトがどのような信号波形に対応しているのかはわからない。

f:id:yusuke_ujitoko:20200325204318p:plain

CentOS7にAnacondaをインストール

anacondaのインストールの方法として,
pyenv経由のやり方しかネットで見つけられなかったので,
そうでない方法をメモ.

  1. 公式(https://www.anaconda.com/)からシェルスクリプトをダウンロードし実行
  2. ~/.bashrcとかにexport PATH=$HOME/anaconda3/bin:$PATHを追記

なぜかconda activate ~~はできないが source activate ~~で環境に入れる.
何かが間違っているのだろう...