Changes between Version 2 and Version 3 of epics/arduino/simpleRead


Ignore:
Timestamp:
09/25/18 19:31:32 (6 years ago)
Author:
obina
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • epics/arduino/simpleRead

    v2 v3  
    1717 
    1818== 方針 == 
    19 [!RasPi (epics IOC)] --(USB)--[Arduino AnalogIN] -- 可変抵抗に5V印加 [[br]] 
     19最終的には[[br]] 
     20EPICS Client --(Ethernet)-- [!RasPi (epics IOC)] --(USB)-- [Arduino AnalogIN !#0] <-- 可変抵抗に5V印加 [[br]] 
     21という構成にする。 
    2022 
    2123* アナログ入力を読み込み、シリアル経由でホストに通信。最初はPCを使って動作検証し、その後でEPICS化する。 
    2224* Arduino Uno の場合、0-5Vを 10bit(0-1024)で読み込むことが可能 
    2325* 5V 電圧+可変抵抗+固定抵抗(破損防止)で 
    24   * 今回は手元にあった 1kΩの可変抵抗+1kΩの固定抵抗 
    25 * ブレッドボードに配線[図] 
    26  
     26  * 今回は手元にあった 1kΩの可変抵抗(半固定抵抗)+1kΩの固定抵抗 
     27* ブレッドボードに配線 
     28[[Image(DSC05620s.jpg, 40%)]][[Image(circuit.png, 30%)]] 
    2729 
    2830= 動作確認 = 
    2931== PCを使ってスケッチの検証 == 
    30 構成としては 
    31 [PC] --[USB]--[Arduino]--AnalogIN 
    32 という単純な構成。[[br]] 
     32最初に[[br]] 
     33[PC] --(USBケーブル)-- [Arduino] <-- AnalogIN[[br]] 
     34という単純な構成で確認する。[[br]] 
    3335 
    34361秒に1回、ADCの値をシリアル経由でホストPCに送るスケッチを作成する。 
     
    4850}}} 
    4951Arduinoにダウンロードし、IDEで「シリアルモニター」を開くと、1秒に1回ADCのカウント値が表示される。[[br]] 
    50 この状態で可変抵抗を動かすと、カウント値が変わることを確認する。 
     52この状態で可変抵抗を動かして、カウント値が変わることを確認する。 
    5153 
    5254 
     
    7476}}} 
    7577正常に接続できれば、1秒ごとにターミナル上にADCカウント値が表示される。[[br]] 
    76 GNU Screenを終了するにはホットキー(デフォルトではCTRL-a)を押してから、kを押せば良い(killコマンド)。 
     78GNU Screenを終了するにはホットキー(デフォルトではCTRL-a)を押してから、kを押せば良い(killコマンド)。[[br]] 
    7779※分からなければgoogleで 「GNU Screen の使い方」を検索 
    7880 
     
    186188 
    187189※ 以上の動作が確認できたら、Arduinoスケッチで Delay 1000 としているところを、 100 ms に設定すると 
    188 可変抵抗を動かしたときの応答が滑らかになる。Arduinoは高速で動いているのに対して、EPICSを使うことで 
    189 camonitor 機能があるため値が変化したときのみデータ通信を行うことが実現できている。 
    190  
     190可変抵抗を動かしたときの応答が滑らかになる。Arduinoは10Hzという一定速度で電圧を測定しているのに対して、 
     191EPICS IOC は値が変化したときのみクライアント側に通知する camonitor 機能がある。 
    191192[[Image(aruduino004b.png, 40%)]][[Image(aruduino005.png, 40%)]]