12/3/2016

MOSトランジスタの「MOS」は、金属(M)、酸化膜(O)、半導体(S)の3層構造を意味します。酸化膜(O)は絶縁膜ですので、金属(M)に電圧を加えると金属(M)と半導体(S)の間に電流は流れません。電圧による電界が、半導体(S)に加わります。半導体内の電荷(キャリヤ)は、電界によって移動します。この性質をMOSトランジスタでは利用しています。 


図2 
図2:MOSトランジスタMOS FET)の構造

 MOSトランジスタは厳密には、「MOS FET(モスフェット)」と呼びます。FETは電界効果トランジスタ(Field Effect Transitor)の略号です。電界を利用することに由来した呼び名となっていることが分かります。 

 MOS FETの構造は、バイポーラ・トランジスタとは大きく違います。トランジスタの中央にMOS構造を配置してあり、その両側にMOS構造とは極性の違う領域をシリコン半導体の表面付近に局所的に形成した構造となっています。例えばMOS構造ではシリコン半導体の極性がp型だとします。その両側には、n型の半導体領域を形成するのです。

n型MOSトランジスタ

 ここで、シリコン半導体だけに眼を向けましょう。p型シリコンの両側を、n型シリコンが囲む形になっています。このような構造のMOSトランジスタを「n型(えぬがた)MOSトランジスタ」あるいは「nチャンネルMOSトランジスタ」と呼びます。 

 そして右側のn型シリコン領域を「ドレイン」、左側のn型シリコン領域を「ソース」と呼びます。ドレインとソースの位置関係は、回路構成によっては逆になることもあります。ただし1個のMOSトランジスタが描かれている場合は、左がソース、右がドレインとなるように表記するのが通例ですので、覚えておくと良いでしょう。 

 中央のMOS構造で「金属(M)」の部分は「ゲート」と呼びます。ゲートに加える電圧の高低で、MOSトランジスタのドレインとソースの間を流れる電流の量を制御します。

MOSトランジスタの電極はゲート、ドレイン、ソースの三つです。ここでソースを接地(グランド)電位に接続し、ドレインにプラスの電圧を加えます。 

 ゲートの電圧をゼロボルト、すなわち接地したときは、ソースとドレインの間に電流は流れません。トランジスタとしてはオフ状態になっています。 

 ゲートにプラスの電圧を印加すると、ドレインからソースに向かって電流が流れます。この電流を「ドレイン電流」と呼びます。トランジスタとしてはオン状態に変わりました。

図3 
図3:オン状態のn型MOSトランジスタ

 ゲートに加えるプラスの電圧を大きくすると、ドレイン電流が増加します。つまり、MOSトランジスタではゲート電圧を入力、ドレイン電流を出力としています。ゲート電圧の小さな変化を、ドレイン電流の大きな変化に変換することで、増幅作用を実現しているのです。

n型MOSトランジスタでは、電子がキャリヤです。ソースからドレインへと電子が移動することによって、ドレインからソースに向かって電流が流れます。電子が移動する領域は、トランジスタがオン状態になると一時的にn型半導体に変化します。この領域を「チャンネル」または「チャネル」と呼びます。

p型MOSトランジスタ

 n型MOSトランジスタと極性を逆にしたトランジスタは、p型MOSトランジスタとなります。n型MOSトランジスタでn型シリコン領域だったソースとドレインが、p型MOSトランジスタではp型シリコン領域に変わります。MOS構造の半導体はn型半導体です。キャリヤは電子ではなく、正孔となります。 

 p型MOSトランジスタを動かすための印加電圧は、n型MOSトランジスタと極性が逆になります。正孔がソースからドレインに向かって移動し、チャンネルを形成します。

上記に挙げたのは、サイト引用。

NMOS,PMOSトランジスタの動作について大体理解した。NMOSトランジスタによるNAND回路、CMOSインバータ回路についても大体理解。

11/30/2016 ロボ足駆動プログラム

① 足部モーター3つ駆動プログラム

int lefta = 8;
int righta = 9;
int leftb =10;
int rightb =11;
int leftc =12;
int rightc =13;

void setup() {
Serial.begin(9600);    
pinMode(lefta, OUTPUT);
pinMode(righta, OUTPUT);
pinMode(leftb, OUTPUT);
pinMode(rightb, OUTPUT);
pinMode(leftc, OUTPUT);
pinMode(rightc,OUTPUT);
}

void loop() {
  if(Serial.available()){
  char cmd = Serial.read();
    
switch (cmd){  
case 'w':
analogWrite(righta, 200);
analogWrite(lefta, 0);
analogWrite(rightb, 200);
analogWrite(leftb, 0);
analogWrite(rightc, 200);
analogWrite(leftc, 0);
Serial.print(F("a\n"));
break;

case 's':
analogWrite(righta, 200);
analogWrite(lefta, 0);
analogWrite(rightb,200);
analogWrite(leftb, 0);
analogWrite(rightc, 200);
analogWrite(leftc, 0);
break;

case 'd':
analogWrite(righta, 200);
analogWrite(lefta, 0);
analogWrite(rightb,200);
analogWrite(leftb, 0);
analogWrite(rightc, 200);
analogWrite(leftc, 0);
break;

case 'a':
analogWrite(righta, 200);
analogWrite(lefta, 0);
analogWrite(rightb,200);
analogWrite(leftb, 0);
analogWrite(rightc, 200);
analogWrite(leftc, 0);
break;

case 'z':
analogWrite(righta, 200);
analogWrite(lefta, 0);
analogWrite(rightb,200);
analogWrite(leftb, 0);
analogWrite(rightc, 200);
analogWrite(leftc, 0);
break;

default://case'o':
analogWrite(righta, 0);
analogWrite(lefta, 0);
analogWrite(rightb, 0);
analogWrite(leftb, 0);
analogWrite(rightc,0);
analogWrite(leftc, 0);
break;
}
   }

Serial.print("righta = ");
Serial.print(digitalRead(righta));
Serial.print("   lefta = ");
Serial.println(digitalRead(lefta));
}

11/30/2016

トーイックの締め切り迫ってて頑張りました😓

ロボ実験について

まず、ブレッドボードを新しいのに変えるために配線し直した。モーターの線とかブレッドボードに直接刺さらないのでワニ口、とかオスオスの廃材とか使って配線して足駆動部モーター3つ動かす。動きに合わせて、出力をプログラムでいじるとする。


ロボットワークとしては以下のようなものである。

①足部 モーター駆動

②アームを回す 2つ同時 回転

                                      逆回転

③手を異動する   正転、逆転   力覚センサ

(③の力覚センサでモーター動かすっちゅうのはどうなるんだろう)

しかしながら、ゆうき君のpspコントローラーから動かすので、arduino一個で全部のモーターを動かす必要がある。これにより、一個のプログラムに①の足駆動部だけでな
く、②のアーム回す、③のハンドを異動するところまで組まなければならない。
どうする〜?

11/29/2016

今後やってみたい事を書き上げてみた♪


①Atmega328Pをarduino unoとして使えるようにする。led光らせる。


②赤外線受信で小型mmc作ってみる。


③センサを使ってみる。


今日の活動内容


上記に挙げた項目①をやってみた。

ATmega328Pを駆動させる回路は以下のサイト通り組んでいたが、5VとGNDを組んでいなかったので、mmcのネコ型コントローラーから電源をもらってきて回路を組んでみた。


結果

正しく動作した。オッケー‼︎


ロボ実験について

コントローラーは結城君がやってくれるであろう!


電気電子回路について

NMOSトランジスタ回路の動作とか説明してるけど全く分かんない〜

11/27/2016 mmc世界大会当日

今日は風邪を引きしんどいがなんとか、6:00から森君の車に乗り込み、学校で稲村君の車に乗り込み名古屋に向かった。

名古屋大学到着〜〜〜〜〜〜‼︎‼︎

mmc大会の場所に着き、作業場に荷物を降ろす。大会前作業開始。

しかし、右前後は動くようになったが左前後は動くが途中で止まる。あれ????私も葵ちゃんと一緒になって考えるが、よく分からない。左の足の方はオレンジの板が両面テープで剥がれるか剥がれないかという状態になっていて、オレンジの板は足の回転に合わせて、ゆらゆらと振動している。葵ちゃんが修正してくれて、上手くできた。しかし、左前後は動こうとするが途中で止まる。

なぜ??? ちょっと観察していたら右前後の機構はピン頭が外に向いていてなんとなく滑りがよく上手く動いている感じがする。左の方はピン頭が内側に取り付けられている。葵ちゃんにきくと取り付け間違えしたらしい。ピン頭とギアボックスが当たらなかったら上手くいくだろうと思い気にしていなかった。でも上手く動かない。ある時動かないところで止めて観察してみると、ピン頭がオレンジの板が足の動きに引っ張られ上に動いた時に、ピン頭がオレンジの板に接触し、動かない。葵ちゃんと修正はするが上手く動かない。あれ?というのを繰り返しつつ時間は迫る。ふと以前に私が共立で買っ大会二足歩行のミニロボットの事を思い出す。この機構は今回の機構とよくにている。検索し、説明書を見る。どうもこれによると、一番外側の足はネジと固定するがネジの締めをきつくしてしまうと動かなくなるらしい。これを今回の機構に適用して考えるとななるほど右脚の部分はピン頭が外側に出て固定されているためにボンドで固まっておらず、外側の足だけ少し押すとブランブランと回転するようになっている。左足の方もそうしなくてはと思っていたら葵ちゃんが外しますかというので分解しピン頭が外側になるように取り付け。

そうすると、左足前後も動くようになった‼︎‼︎‼︎‼︎‼︎‼︎‼︎‼︎‼︎‼︎‼︎‼︎‼︎‼︎‼︎‼︎‼︎‼︎

Victory!!!!!!!!

大会ぎりぎりに動くようになったが練習する時間はそんなになく、焦りだけ募り困る。やがて順番になり操縦者として出場する。上手く前に動きません😓 少しずつ前に動きながら、進むが動かず超困る😓ついにタイムアップになり、終了。ふーーーーーーーーーーーーー。