Changes between Version 1 and Version 2 of epics/bbb/debian/voltmon


Ignore:
Timestamp:
06/21/17 18:35:56 (2 years ago)
Author:
michkawa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • epics/bbb/debian/voltmon

    v1 v2  
    11= INA226を使用した簡易電圧モニタ = 
    22 
    3 某所で、0-5V程度の出力電圧を監視したいとの依頼があったので、BBBでEPICS内蔵の簡易電圧モニタを作成することになった。[[br]] 
     3某所で、1-5V程度の出力電圧を監視したいとの依頼があったので、BBBでEPICS内蔵の簡易電圧モニタを作成することになった。[[br]] 
    44電圧の測定は、I2C通信ができるモジュールやIC、Serial通信が可能なテスタなどが候補に挙がった。[[br]] 
    55 
    6 || モジュール  || 測定範囲[V] || bit数 || 
    7 || BBB内蔵     || 0~1.8       ||   12  ||   
     6 
     7|| モジュール                                                               || 測定範囲[V] || bit数 || 
     8|| BBB内蔵                                                                  || 0 ~ 1.8       ||   12  ||   
     9|| Arduino uno                                                              || 0 ~ 5         ||   10  || 
     10|| [https://www.switch-science.com/catalog/1138/ Adafruit ADS1115]          || 0 ~ VDD       ||   16  || 
     11|| [https://strawberry-linux.com/catalog/items?code=12031 INA226 I2Cディジタル電流・電圧・電力計モジュール] || 0~36 || 16(15) || 
     12|| [http://akizukidenshi.com/catalog/g/gK-08018/ MCP3425]                    || VSS-0.3 ~ VDD+0.3 || 16 || 
     13 
     14 
     15今回の目標としては 
     16 
     17 * 安く作ること 
     18   * テスタやPLCのADCモジュール、マルチメーター等は使えない 
     19 * 分解能は12bit以上 
     20 * スピードは考慮しない 
     21 
     22としたので、 
     23 
     24 * [https://www.switch-science.com/catalog/1138/ Adafruit ADS1115] 
     25 * [https://strawberry-linux.com/catalog/items?code=12031 INA226 I2Cディジタル電流・電圧・電力計モジュール] 
     26 * [http://akizukidenshi.com/catalog/g/gK-08018/ MCP3425] 
     27 
     28が候補となった。 
     29 
     30 
     31== I2C 接続試験 == 
     32 
     33始めに通信が簡単そうな[https://strawberry-linux.com/catalog/items?code=12031 INA226 I2Cディジタル電流・電圧・電力計モジュール]で実験してみた。 
     34 
     35ブレッドボードにINA226モジュールを差し、4.7kΩのプルアップ抵抗をSCL,SDAに接続、電源は3.3Vを接続した。モジュールのI2Cアドレスは0x40になるように設定。[[br]] 
     36BBBとはI2C-2(P9-19,P9-20)にSCL,SDAをそれぞれ接続した。[[br]] 
     37 
     38BBBのI2C用のコマンドで確認。[[br]]入力した電圧は、VCC(3.3V) 
     39 
     40{{{ 
     41root@beaglebone:~# i2cdetect -y -r 2 
     42     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f 
     4300:          -- -- -- -- -- -- -- -- -- -- -- -- -- 
     4410: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
     4520: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
     4630: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
     4740: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
     4850: -- -- -- -- UU UU UU UU -- -- -- -- -- -- -- -- 
     4960: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
     5070: -- -- -- -- -- -- -- -- 
     51root@beaglebone:~# i2cget -y 2 0x40 0x02 w 
     520x720a 
     53}}} 
     54 
     550x720aはリトルエンディアンなので、LSB,HSBを反転。(0x0a72 -> 2674)[[br]] 
     562674 x 1.25[mV] = 3342.5[mV][[br]] 
     57テスタで読んだ値が3.35Vなので正しそう。[[br]] 
     58 
     59その後、[http://akizukidenshi.com/catalog/g/gK-08018/ MCP3425]も試してみたが、レジスタを読むだけでなく、RDYビットを設定したりしないといけないらしいので、今回は[https://strawberry-linux.com/catalog/items?code=12031 INA226 I2Cディジタル電流・電圧・電力計モジュール]を使うことにした。 
     60 
     61 
     62== 基板作成 == 
     63 
     64基板は、秋月の[http://akizukidenshi.com/catalog/g/gP-07190/ BeagleBone・ユニバーサルプロトケープ]に[https://strawberry-linux.com/catalog/items?code=12031 INA226 I2Cディジタル電流・電圧・電力計モジュール]を載せて、LEMOコネクタから電圧を入力するようにした。[[br]] 
     65いつも問題になるケースは、[http://akizukidenshi.com/catalog/g/gP-07749/ BeagleBone Blck用ケース]を加工して使うことにした。 
     66 
     67最終的に、[attachment:bbb_tinyVoltMeter.pdf 回路図]は 
     68 
     69[[Image(bbb_tinyVoltMeter.png,300)]] 
     70 
     71このようにしました。[[br]] 
     72ただ、コネクタとモジュール基板を上面に実装するとケースの蓋に当たってしまうので裏面に実装した。 
     73 
     74== IOC == 
     75 
     76 
     77 
     78 
     79 
     80 
     81 
     82