2: 2021-05-18 (火) 10:10:30 yuji ソース
Deleted an attach file: eeprom.txt at 2021-05-18 (火) 10:13:48, Deleted an attach file: rm102.ino at 2021-05-18 (火) 10:22:15 at 2021-05-18 (火) 12:00:43 at 2021-05-18 (火) 14:24:35, Deleted an attach file: dt132a.ino at 2021-05-18 (火) 14:26:24 at 2021-05-18 (火) 14:55:16 at 2021-05-19 (水) 10:16:53 at 2021-05-19 (水) 10:17:02 at 2021-05-19 (水) 10:25:11 at 2021-05-19 (水) 10:47:05
現: 2021-05-20 (木) 07:48:46 yuji ソース
Deleted an attach file: dt132a.ino at 2021-05-25 (火) 15:53:32 at 2021-05-26 (水) 07:29:56 at 2021-05-26 (水) 07:31:30 at 2021-05-26 (水) 07:34:57, Deleted an attach file: eeprom.txt at 2021-05-26 (水) 08:23:44, Deleted an attach file: eeprom_0.txt at 2021-05-26 (水) 08:23:51 at 2021-05-26 (水) 08:24:10
Line 2: Line 2:
AstoAI DT132Aの主なスペック。~ AstoAI DT132Aの主なスペック。~
ACの実効値測定はTrue RMS。 ACの実効値測定はTrue RMS。
-|モデル|AstroAI DT132A| + 
-|カウント数|4000カウント| +4000countのテスターだが9999countに変更して使っている。 
-|変換レート|2回/秒| + 
-|レンジ|自動切り替え| +''一般仕様''~ 
-|RMS|True RMS| +|モデル   |AstroAI DT132A                                                                          
-|DC電圧|400mV/4V/40V/400V/600V+|カウント数|4000カウント                                                                            
-|DC電圧分解能|0.1mV/1mV/10mV/100mV/1V| +|変換レート|2回/秒                                                                                  
-|AC電圧|400mV/4V/40V/400V/600V| +|レンジ   |自動切り替え                                                                            
-|AC電圧分解能|0.1mV/1mV/10mV/100mV/1V| +|RMS       |True RMS                                                                                
-|DC電流|400μA/4000μA/40mA/400mA/4A/10A+|表示      |バックライト付LCD 55 x 31mm                                                             
-|DC電流分解能|0.1μA/1μA/10μA/100μA/1mA/10mA+|電源      |1.5V AAAバッテリー x3, 自動電源OFF                                                      | 
-|AC電流|400μA/4000μA/40mA/400mA/4A/10A+|サイズ    |155 x 77 x 31mm(カバー)                                                                | 
-|AC電流分解能|0.1μA/1μA/10μA/100μA/1mA/10mA+|重量      |157g                                                                                    | 
-|抵抗|400Ω/4kΩ/40kΩ/400kΩ/4MΩ/40MΩ+|付属品    |テスターリード 1ペア&br;K熱電対ケーブル&br;AAAバッテリー x3&br;日本語マニュアル&br;保証案内| 
-|抵抗分解能|0.1Ω/1Ω/10Ω/100Ω/1kΩ/10kΩ+ 
-|静電容量|40nF/400nF/4μF/40μF/100μF-2mF| +''測定仕様''~ 
-|静電容量分解能|10pF/100pF/1nF/10nF/100nF+|モード            |レンジ        |分解能    |確度    |h 
-|周波数|5Hz/50Hz/500Hz/5KHz/50KHz/500KHz/5MHz+|DCV              |400.0mV        |0.1mV     |±0.8%+5 | 
-|ダイオード|順方向電圧表示+|~|4.000V        |0.001V    |±0.8%+3 | 
-|導通|30Ω未満で内蔵ブザーON+|~|40.00V        |0.01V    |±0.8%+3 | 
-|温度|-40~1370℃/-4~2000F+|~|400.0V        |0.1V     |±0.8%+3
-|温度分解能|1℃/1F+|~|600V           |1V        |±1.0%+5
-|表示|バックライト付LCD 55 x 31mm+|ACV              |400.0mV        |0.001V    |±1.2%+5 | 
-|電源|1.5V AAAバッテリー x3, 自動電源OFF+|~|4.000V        |0.001V    |±1.0%+8 | 
-|サイズ|155 x 77 x 31mm(カバー)+|~|40.00V        |0.01V    |±1.0%+8 | 
-|重量|157g+|~|400.0V        |0.1V     |±1.0%+8
-|付属品|テストリード 1ペア&br;TP01K熱電対ケーブル&br;携帯ポーチ&br;英文マニュアル|+|~|600V          |1V        |±1.2%+5
 +|DCA              |400.0uA        |0.1uA    |±1.2%+8 | 
 +|~|4.000mA        |0.001mA  |±1.2%+8 | 
 +|~|40.00mA        |0.01mA    |±1.2%+8 | 
 +|~|400.0mA        |0.1mA     |±1.2%+8
 +|~|4A             |0.001A    |±1.2%+8
 +|~|10.00A        |0.01A    |±1.2%+8 | 
 +|ACA              |400.0uA        |0.01uA    |±1.5%+8 | 
 +|~|4.000mA        |0.001mA  |±1.5%+8 | 
 +|~|40.00mA        |0.01mA    |±1.5%+8 | 
 +|~|400.0mA        |0.1mA     |±1.5%+8
 +|~|4A            |0.001A    |±2.0%+10
 +|~|10.00A        |0.01A    |±2.0%+10| 
 +|Ω                |400.0Ω        |0.1Ω     |±1.5%+3
 +|~|4.000KΩ      |0.001KΩ  |±1.5%+3 | 
 +|~|40.00KΩ      |0.01KΩ  |±1.5%+3 | 
 +|~|400.0KΩ      |0.1KΩ    |±1.5%+3 | 
 +|~|4.000MΩ      |0.001MΩ  |±1.5%+3 | 
 +|~|40.00MΩ      |0.01MΩ  |±1.5%+3 | 
 +|キャパシタンス    |40.00nF        |0.01nF    |±8%+10  | 
 +|~|400.0nF        |0.1nF    |±5%+5  | 
 +|~|4.000uF        |0.001uF  |±5%+5  | 
 +|~|40.00uF        |0.01uF    |±5%+5  | 
 +|~|100uF-2mF     |0.1uF    |±5%+5 
 +|導通チェック      |30Ω以下でブザー|開放電圧|約0.5V 
 +|ダイオードチェック|Vf表示        |開放電圧|約1.5V 
 +|周波数            |5.000Hz        |0.01Hz    |±1.0%+3
 +|~|50.00Hz        |          |±1.0%+3
 +|~|500.0Hz        |          |±1.0%+3
 +|~|5.000KHz      |          |±1.0%+3
 +|~|50.00KHz      |          |±1.0%+3
 +|~|500.0KHz      |          |±1.0%+3
 +|~|5.000MHz      |          |±1.0%+3
 +|温度              |-40~1370℃    |1℃      |±2.5%+4
 +|~|-4~2000F      |1F        |±2.5%+4 | 
 + 
- [[ユーザーズ・マニュアル>./manual]] - [[ユーザーズ・マニュアル>./manual]]
* ハードウェア [#p1e2fb9b] * ハードウェア [#p1e2fb9b]
-使われているASICは,RICHMETERS RM102で使われているDream Tech International社のDTM0660Lのピン互換チップのDM1106ENと思われる。+テスター棒を挿入するところは,円筒になっている端子がそのまま使われている。安価なのでしょうがないのかもしれないが・・・ テスター棒も金メッキされていない。 
 + 
 +Fuseは,500mA/600Vと10A/600Vの19x5mmサイズのセラミックFuseが使われている。 
 + 
 +使われているASICは,RICHMETERS RM102で使われているDream Tech International社 DTM0660Lのピン互換チップのDM1106ENと思われる。
このチップの特徴は,構成可能な設定やキャリブレーションデータを外部のEEPROM(24C02A)に保存して利用している。~ このチップの特徴は,構成可能な設定やキャリブレーションデータを外部のEEPROM(24C02A)に保存して利用している。~
これにより,ハードウェアを変更することなくEEPROMのデータを変更することで,特定の機能を有効にしたりすることが出来る。~ これにより,ハードウェアを変更することなくEEPROMのデータを変更することで,特定の機能を有効にしたりすることが出来る。~
-ASICも9999カウントまで対応してそうなので,6000カウントの設定にできるか試してみた。+ASICが9999カウントまで対応してそうなので,9999カウントの設定にできるか試してみた。
** EEPROMの読み書き [#v19dace1] ** EEPROMの読み書き [#v19dace1]
Line 54: Line 94:
DT132Aでは,VCCは3.3Vになっている。 DT132Aでは,VCCは3.3Vになっている。
-''DTA132Aの電源ON後,ASICの出力により24C02AのSCLがlowになったままになっている。このため24C02Aが基板に実装されたままだと,読み書きがうまく出来ない。''~ +''DTA132Aの電源ON後,ASICの出力により常に24C02AのSCLがlowになったままになっている。'' このため24C02Aが基板に実装されたままだと,読み書きがうまく出来ない。
-ASICのRESETピン(55番)を''low''にする(C8をジャンパー)ことにより,ASICをRESET状態にすればうまくいく。+ASICのRESETピン(55番)を''low''にする(C8をジャンパーする)ことにより,ASICをRESET状態にすればうまくいく。
今回は,基板から24C02Aを剥がしてチップ単体で読み書きした後,基板に再実装することにした。 今回は,基板から24C02Aを剥がしてチップ単体で読み書きした後,基板に再実装することにした。
Line 75: Line 115:
以下のプログラムで先頭から256byteを読み書きした。~ 以下のプログラムで先頭から256byteを読み書きした。~
-#ref(dt132a.ino) +#code(C,nonumber,dt132a.ino)
-#code(C,nonumber){{ +
-// AstroAI DT132A EEPROM dump +
-// by Yuji Ueno +
-// Arduino      2C02A +
-//    SDA  --  24C02A 5pin +
-//    SCL  --  24C02A 6pin +
-//              24C02A 7pin -- GND +
-//              24C02A 1,2,3pin -- GND +
-//    GND  --  24C02A 4pin GND +
-#include <Wire.h> +
-const int I2CADDR = 0x50; +
- +
-void setup() { +
-   Serial.begin(9600); +
-   Wire.begin(); +
- +
-   dumpEEPROM();                                          // EEPROMをdumpする +
-   //set4000Count();                                        // 4000カウントに設定 +
-   set6000Count();                                        // 6000カウントに設定 +
-   //set8000Count();                                        // 8000カウントに設定 +
-   setBacklight();                                        // バックライトを120sに設定 +
-   setMiliACV();                                          // ACmVを使えるようにする +
-   enableUART();                                          // UARTを使えるようにする +
- +
-   dumpEEPROM();                                          // 再度EEPROMをdumpする +
-+
- +
-void loop() {} +
- +
-// EEPROMから256byte読んで出力する +
-void dumpEEPROM() { +
-   unsigned int addrPointer = 0; +
-   unsigned int romLength = 0xff;                          // EEPROM 24C02A - 256 x 8bits +
-   byte data; +
- +
-   delay(500); +
-   Serial.println("\nDT132A EEROM dump..."); +
-   Serial.println("-- : 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F");    // output header +
-   while (addrPointer <= romLength) { +
-       // output line header +
-       if (!(addrPointer % 16)) { +
-           Serial.print("\n"); +
-           if (addrPointer < 16) { +
-               Serial.print("0"); +
-           } +
-           Serial.print(addrPointer, HEX); +
-           Serial.print(" : "); +
-       } +
- +
-       data = readByte(I2CADDR, addrPointer);              // Read 1byte +
-       addrPointer++;                                      // address pointer++ +
-       if (data < 0x10) { +
-           Serial.print("0"); +
-       } +
-       Serial.print(data, HEX);                            // 出力 +
-       Serial.print(" "); +
-   } +
-   Serial.println(" "); +
-+
- +
-// EEPROMから読み込む +
-byte readByte(int i2cAddr, unsigned int addr) { +
-   //delay(100); +
-   byte data = 0x00; +
-   Wire.beginTransmission(i2cAddr); +
-   Wire.write(addr); +
-   Wire.endTransmission(); +
-   Wire.requestFrom(i2cAddr, 1); +
-   while (!Wire.available()) ; +
- +
-   if (Wire.available()){ +
-       data = Wire.read(); +
-   } else { +
-       data = 0xff; +
-   } +
-   return data; +
-+
- +
-// EEPROMに書き込む +
-void writeByte(int i2cAddr, unsigned int addr, byte data) { +
-   delay(100); +
-   Wire.beginTransmission(i2cAddr); +
-   Wire.write(addr); +
-   Wire.write(data); +
-   Wire.endTransmission(); +
-+
- +
-// UART通信を出来るように設定 +
-void enableUART() { +
-   Serial.println("Enabling UART..."); +
-   writeByte(I2CADDR, 0xFA, (byte) 0xFE); +
-   Serial.println("Done"); +
-+
- +
-// 4000カウントに設定する +
-void set4000Count() { +
-   Serial.println("Set 4000Count..."); +
-   // カウント数の変更(0x10,0x11: 0x0FA0) +
-   writeByte(I2CADDR, 0x10, (byte) 0xA0);                  // set 0x0FA0 - 4000 +
-   writeByte(I2CADDR, 0x11, (byte) 0x0F);                  // +
- +
-   // レンジ変更上限の変更(0x12,0x13: 0x1068) +
-   writeByte(I2CADDR, 0x12, (byte) 0x68);                  // set 0x1068 - 4200 +
-   writeByte(I2CADDR, 0x13, (byte) 0x10);                  // +
- +
-   // レンジ変更加減の変更(0x12,0x13: 0x017C) +
-   writeByte(I2CADDR, 0x14, (byte) 0x7C);                  // set 0x017C - 380 +
-   writeByte(I2CADDR, 0x15, (byte) 0x01);                  // +
-   Serial.println("Done"); +
-+
- +
-// 6000カウントに設定する +
-void set6000Count() { +
-   Serial.println("Set 6000Count..."); +
-   // カウント数の変更(0x10,0x11: 0x1770) +
-   writeByte(I2CADDR, 0x10, (byte) 0x70);                  // set 0x1770 - 6000 +
-   writeByte(I2CADDR, 0x11, (byte) 0x17);                  // +
- +
-   // レンジ変更上限の変更(0x12,0x13: 0x1771) +
-   writeByte(I2CADDR, 0x12, (byte) 0x38);                  // set 0x1771 - 6200 +
-   writeByte(I2CADDR, 0x13, (byte) 0x18);                  // +
- +
-   // レンジ変更加減の変更(0x12,0x13: 0x0244) +
-   writeByte(I2CADDR, 0x14, (byte) 0x44);                  // set 0x0244 - 580 +
-   writeByte(I2CADDR, 0x15, (byte) 0x02);                  // +
-   Serial.println("Done"); +
-+
- +
-// 8000カウントに設定する +
-void set8000Count() { +
-   Serial.println("Set 8000Count..."); +
-   // カウント数の変更(0x10,0x11: 0x1F40) +
-   writeByte(I2CADDR, 0x10, (byte) 0x40);                  // set 0x1F40 - 8000 +
-   writeByte(I2CADDR, 0x11, (byte) 0x1F);                  // +
- +
-   // レンジ変更上限の変更(0x12,0x13: 0x2008) +
-   writeByte(I2CADDR, 0x12, (byte) 0x08);                  // set 0x2008 - 8200 +
-   writeByte(I2CADDR, 0x13, (byte) 0x20);                  // +
- +
-   // レンジ変更加減の変更(0x12,0x13: 0x02EE) +
-   writeByte(I2CADDR, 0x14, (byte) 0xEE);                  // set 0x02EE - 750 +
-   writeByte(I2CADDR, 0x15, (byte) 0x02);                  // +
-   Serial.println("Done"); +
-+
- +
-// バックライト持続時間の設定 +
-void setBacklight() { +
-   Serial.println("set Backlight Time..."); +
-   // バックライト持続時間の変更(0xFC: 0x0F -> 0x78) +
-   writeByte(I2CADDR, 0xFC, (byte) 0x78);                  // set 0x78 - 1200s +
-   Serial.println("Done"); +
-+
- +
-// mVACを使えるようにする設定 +
-void setMiliACV() { +
-   Serial.println("set mVAC..."); +
-   // ACVにmVから測定出来るようにする(0x8E: 0x04 -> 0x06) +
-   writeByte(I2CADDR, 0x8E, (byte) 0x06);                  // set 0x06 - mVACV +
-   Serial.println("Done")+
-+
-}}+
*** DT132AのEEPROMのデータ [#u3d53b8f] *** DT132AのEEPROMのデータ [#u3d53b8f]
Line 243: Line 122:
変更箇所は, 変更箇所は,
-- 6000カウントに書き換えた。+- 9999カウントに書き換えた。
- バックライトの持続時間を,15秒から120秒に書き換えた。 - バックライトの持続時間を,15秒から120秒に書き換えた。
- ACVをmVから測定できるように書き換えた。 - ACVをmVから測定できるように書き換えた。
Line 249: Line 128:
書き換えたEEPROM 24C02AをDT132Aに実装し直して,バックライトが120秒になったことを確認した。~ 書き換えたEEPROM 24C02AをDT132Aに実装し直して,バックライトが120秒になったことを確認した。~
-Relativeボタンの長押しには,なにも反応しない。UART通信は,ASICのプログラムに実装されてない気がする。+Relativeボタンの長押しには,なにも反応しない。''UART通信は,ASICのプログラムに実装されてない気がする。''😭
** EEPROMによるカスタマイズ [#vf18558d] ** EEPROMによるカスタマイズ [#vf18558d]
-EEPROMによるカスタマイズ出来るいくつかの項目。(DTM0660Lを参考にしている。正しくない項目も多い・・・) +EEPROMによるカスタマイズ出来るいくつかの項目(表の設定は出荷設定値)。~ 
-|アドレス|デフォルト|内容                                                                                            |h+DTM0660Lを参考にしている。正しくない項目も多いかも・・・ 
 +|アドレス|出荷設定値|内容                                                                                            |h
|0x0B,0x0C |0xE6,0x00 |環境温度(23.0℃)| |0x0B,0x0C |0xE6,0x00 |環境温度(23.0℃)|
|0x0D,0x0E,0x0F|0x58,0xC3,0x03|環境温度黙認 ADC値| |0x0D,0x0E,0x0F|0x58,0xC3,0x03|環境温度黙認 ADC値|
Line 314: Line 194:
|~|~|11: BL ON時PT2.2=pwm PT2.3=1, OFF時PT2.2=1 PT2.3=0                                              | |~|~|11: BL ON時PT2.2=pwm PT2.3=1, OFF時PT2.2=1 PT2.3=0                                              |
|~|bit2:1|1: HOLDキー長押しでバックライトON/OFF, 0: 機能無し                                              | |~|bit2:1|1: HOLDキー長押しでバックライトON/OFF, 0: 機能無し                                              |
-|~|bit1:0|1: RELキー長押しでUART通信をON/OFF, 0: 機能無し                                                |+|~|bit1:0|1: リザーブ                                            |
|~|bit0:0|1: クランプメーター, 0: 通常                                                                    | |~|bit0:0|1: クランプメーター, 0: 通常                                                                    |
|0xFB      |0x0F      |オート電源オフまでの時間 0: 自動電源オフ無効, 1-255: 分単位                                      | |0xFB      |0x0F      |オート電源オフまでの時間 0: 自動電源オフ無効, 1-255: 分単位                                      |
Line 325: Line 205:
バックライトは,15秒で自動的に消える設定になっている。 バックライトは,15秒で自動的に消える設定になっている。
-0xFAを0xFEに書き換えて有効にできるUART通信は,''Relative''ボタンを2秒長押ししても反応しない。おそらくASICプログラムでUART通信が使えないようになったんだと思う。~+0xFAを0xFEに書き換えてUART機能が有効にできるのかと思って試したが,''Relative''ボタンを2秒長押ししてもなにも反応しない。おそらくASICのプログラムでUART通信が使えないようになったんだと思う。~
** 測定機能の選択 [#u960aa7f] ** 測定機能の選択 [#u960aa7f]
-ロータリスイッチ(PT2.7~PT2.41)で16種の測定機能選択ができる。~+ロータリスイッチ(PT2.7~PT2.4)で16種の測定機能選択ができる。~
各コード毎にEEPROMの設定でMax4種の機能を設定できる。選択はSelectボタンを使う。 各コード毎にEEPROMの設定でMax4種の機能を設定できる。選択はSelectボタンを使う。
|DT132A&br;位置|PT2.7|PT2.6|PT2.5|PT2.4|機能1        |機能2        |機能3        |機能4        |h |DT132A&br;位置|PT2.7|PT2.6|PT2.5|PT2.4|機能1        |機能2        |機能3        |機能4        |h
Line 348: Line 228:
|DCV          |1          |1          |1          |1          |0x8F&br;(0x05)|0x9F&br;(0x00 )|0xAF&br;(0x00)|0xBF&br;(0x00)| |DCV          |1          |1          |1          |1          |0x8F&br;(0x05)|0x9F&br;(0x00 )|0xAF&br;(0x00)|0xBF&br;(0x00)|
-ACVをmVレンジからのレンジに変更。(DCmV/ACmVの機能を使いたいが,J1A/J1Bの切り替えがロータリースイッチで出来ないため諦める。)+ACVをmVレンジからのレンジに変更。~ 
 +DCmV/ACmVの機能を使いたいが,J1A/J1Bの切り替えがロータリースイッチで出来ないため諦める。
*** 測定機能(0x80~0xBFに割り当てる) [#wb114b88] *** 測定機能(0x80~0xBFに割り当てる) [#wb114b88]

  • 開発/テスター/DT132A/スペック のバックアップ一覧
  • 開発/テスター/DT132A/スペック のバックアップ差分(No. All)
    • 1: 2021-05-16 (日) 15:17:16 yuji
      • Deleted an attach file: eeprom.txt at 2021-05-18 (火) 09:32:44, Deleted an attach file: rm102.ino at 2021-05-18 (火) 09:35:50, Deleted an attach file: dt132a.ino at 2021-05-18 (火) 09:36:38
    • 2: 2021-05-18 (火) 10:10:30 yuji
      • Deleted an attach file: eeprom.txt at 2021-05-18 (火) 10:13:48, Deleted an attach file: rm102.ino at 2021-05-18 (火) 10:22:15 at 2021-05-18 (火) 12:00:43 at 2021-05-18 (火) 14:24:35, Deleted an attach file: dt132a.ino at 2021-05-18 (火) 14:26:24 at 2021-05-18 (火) 14:55:16 at 2021-05-19 (水) 10:16:53 at 2021-05-19 (水) 10:17:02 at 2021-05-19 (水) 10:25:11 at 2021-05-19 (水) 10:47:05
    • 現: 2021-05-20 (木) 07:48:46 yuji
      • Deleted an attach file: dt132a.ino at 2021-05-25 (火) 15:53:32 at 2021-05-26 (水) 07:29:56 at 2021-05-26 (水) 07:31:30 at 2021-05-26 (水) 07:34:57, Deleted an attach file: eeprom.txt at 2021-05-26 (水) 08:23:44, Deleted an attach file: eeprom_0.txt at 2021-05-26 (水) 08:23:51 at 2021-05-26 (水) 08:24:10

トップ   差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 579, today: 3, yesterday: 2