目次

スタート処理再考

 マシンのスタートは、スタートゲートのオープンを確認して
 から、自動かスイッチ押しになります。

 自動スタートは、超音波センサーを利用しています。



 自動スタートが出来ない場合は、スイッチを利用します。



 スイッチはメカを利用しているので、電子部品に比較して
 寿命が短くなっています。テストや本戦を含めて、相当な
 回数スイッチを押すことになるので、有接点を廃すること
 を考えてきました。

 リレーのような有接点を、半導体であるトランジスタや
 FETに置換え、無接点にすることは、PLCによる制御系の
 長寿命かつメンテナンスフリーに一役買っているので
 有接点から無接点にします。

 MCRでは光センサーを利用していますが、光により抵抗値が
 変化するCdSあるいはNaPiCaを使い、スイッチが押されたと
 判断できるようにしました。

 CdSを利用した昼夜判定回路を利用します。



 回路は簡単。



 CdSの受光面の光を遮断すると、トランジスタQ1から
 接続された電源電圧を伝達します。暗くなるとCdSの
 抵抗値が大きくなり、トランジスタQ2のベースを0.6V
 以上とし、コレクタからエミッタに電流を流します。

 スタートトリガースイッチを接続しているのは、3.3Vで
 動作するFPGAなので、CdSを含んだ回路に与える電圧は
 3V程度にします。

 スイッチはチャタリングを含んでいるとして
 シフトレジスタによるチャタリング除去回路
 を接続してあるので、その部分の改造は不要。

 マシンが動いてしまえば、120秒経過後にシステムの
 初期化が実行されるまで、スタートトリガースイッチ
 の状態判定はありません。これで有接点から無接点に
 なったと言えるでしょう。

 搭載重量は多少増えますが、単5電池1本程度の
 重量なので、問題ありません。

 有接点のスイッチをなくしたことで、システムの
 信頼性が上がったとみれば、単5電池1本の重量
 が増えることのデメリットはなくなります。

 有接点スイッチでは、定期的な動作確認をしても
 突然寿命が尽きることもあります。

 120秒の間、安定して走行できるかどうかはスタート
 トリガースイッチの問題ではなく、電力を有効活用
 できるかに関わります。このように判断しました。

 チャタリング除去しながら、トリガー電圧が0→1に
 なったことを判定する回路のVHDLコードは、以下。

  process (nRESET,CLOCK)
  begin
    if ( nRESET = '0' ) then
      iTRG_SFT <= "000" ;
    elsif rising_edge( CLOCK ) then
      iTRG_SFT <= iTRG_SFT(1 downto 0) & TRG ;
    end if ;
  end process ;
  iTRG <= '1' when ( iTRG_SFT <= "011" ) else '0' ;

 利用するレジスタ(フリップフロップ)数は、4個なので
 FPGAで使えるレジスタ数からみれば、雀の涙です。

 超音波センサーと光センサーから、各1ビットの情報が
 出力されるので、どちらかのトリガーでスタートと判断
 します。

 外部にOR回路を設ければよいので、ダイオードを利用した
 ある程度、電源電圧を自由に変更できる回路を使うならば
 次のようになります。



 FPGAの中にOR回路を入れる場合、次のVHDLコードにします。

  process (nRESET,CLOCK)
  begin
    if ( nRESET = '0' ) then
      iSTRG_SFT <= "000" ; -- sonic sensor
      iPTRG_SFT <= "000" ; -- photo sensor
    elsif rising_edge( CLOCK ) then
      iSTRG_SFT <= iSTRG_SFT(1 downto 0) & STRG ;
      iPTRG_SFT <= iPTRG_SFT(1 downto 0) & PTRG ;
    end if ;
  end process ;
  iPTRG <= '1' when ( iPTRG_SFT <= "011" ) else '0' ;
  iSTRG <= '1' when ( iSTRG_SFT <= "011" ) else '0' ;
  iSTART <= iPTRG or iSTRG ;

 FPGAの内部でスタートトリガーを処理するか、外部の
 ダイオードOR回路で処理するかになります。

 基板の実装面積を考え、FPGA内部にOR回路を含めることに
 します。半田付けの量が減るので、信頼度が上がります。


目次

inserted by FC2 system