まごころせいじつ堂

浜町庄金 研究開発  マイコンで遊んでばっかりで

カレントトランスでAC検出

 妙楽堂パーツショップで買ったカレントトランスで遊ぶ。
5A/5mA カレントトランス (135-CT103C)
Current Transformers (CT103C)

 こんな感じでLEDをハンダ付け。2個のLEDは極性が逆になるようにする。
2015AC1

 これをACケーブルの片側に通す。ACプラグとコードコネクタボディを使う。
2015AC2

 実験。70Wのハンダゴテを通電するとLEDが点灯。ドライヤーの様にもっと大きな電流が流れるものだとさらに明るく点灯。
2015AC3

 これだけ。フォトカプラなんかにつなぐと連動できるかな?

メモ:
電流ON・OFF 検知モジュール(トランジスタ出力型)




シリアルで適当音出力

 Arduinoで音を出すにはポートに圧電ブザーなんかを接続してtoneライブラリを使うのだが、ただ音が出るだけでよければシリアルポートの出力が使用できる。

 こんだけ。実際Arduinoかどうかは関係ない。
 void setup() {
  Serial1.begin(9600);
  while(!Serial1); // for Leonardo
}
void loop() {
  Serial1.write("3333333333");
  delay(1000);
  for (int i=1;i<10 ;i++) Serial1.write(0x55);
  delay(1000);
}
  0x55を出力すると、01010101 というビット列が出力される(より正確には前後に1bitずつ0が追加される)。文字列"33333333"は、"3"が0x00110011なので0x55の時とくらべて÷2の高さの音がでる。



 例えばRx側でGPSやら赤外線やらを受け取ってTx側が余っているときに警告音を出したい場合はライブラリも不要で簡単に実現できるということです。

I2C EEPROM実験基板

 秋月C基板の半分サイズのD基板をさらに半分に切ってI2C EEPROMの実験基板を作った。24LC256や24LC64などをテストできる。

 端子は左からSCL,SDA,Vcc,GND。Groveの並びに合わせてある。I2Cバスのプルアップ有無とアドレスの指定が可能。ライトプロテクトはなし。
2015I2CEEPROM1

2015I2CEEPROM2



 ArduinoのI2C Scannerで動作テスト。i2c_scanner(Arduino playground)
24LC256を使ってアドレスのジャンパ線を設定することにより、0x50〜0x57に変化することを確認。

 テストは熾火研究所*電子工作室さんのブレッドボードシールドを作ってやってみた。これ便利よ。
もういっそのこと… で、『ブレッドボードシールド作ってみた』(熾火研究所*電子工作室)

2015breadboard1


2015breadboard2


 読み書きテストはまだ。

秋月 PICマイコンデジタル時計キット Ver.3(卓上型)

 五年以上前に作りかけて放置していた秋月電子のデジタル時計キットをようやく完成させた。

PICマイコンデジタル時計キット Ver.3(卓上型)

2015lclock

 が、最初はこうなっちゃったのよね。ハンダブリッジしていた。
2015clock2


 このキットはベースが同じで大型の16セグLEDを使ったキットがある。
超大型表示マイコンデジタル時計キットVer.4

 以下の超大型4桁LED表示キットを使えば、同等のものができる。
超大型4桁LED表示キット

2015clock3


 これに百円ショップで買ってきた、暗記用の赤い下敷きを通すと見やすくなる。
2015clock4


 電源は別。さてこんな感じで表示されるとなると、時計本体部分をArduinoかなんかで作って差し替えてもいいかなと思いますね。

MB6885 ベーシックマスターJr.のリビジョン違い

 MB6885 ベーシックマスターJr.が二台揃ったのでくらべてみると微妙に違いがあった。ROMの内容までは見ていないが型番は変わらないので、コストダウンのためのハードウェア修正が主だと思われる。
 製造型番はY2Aで始まるものとY2Gで始まるもの。

背面。Y2Aは上カバーを背面左右のネジ(黒)で固定しているが、Y2Gはない。本体側にはネジ穴は残っている。また、Y2Aは拡張ポート上部に金具がネジ止めしてあるが、Y2Gではなくなっている。

2015BMJrY2A_back 2015BMJrY2G_back


 内部。Y2Aは先程の金具がある。Y2Gは基板に集合抵抗がある。

2015BMJrY2A_prn 2015BMJrY2G_prn


 基板下部、DRAMの下の方。Y2AからY2Gは抵抗の本数が減っている。一部は集合抵抗に置き換わっているようだ。

2015BMJrY2A_DRAM 2015BMJrY2G_DRAM


 基板中央、シールドの左側。ジャンパの位置が違うが、これは個別設定の可能性もある。
2015BMJrY2A_shield 2015BMJrY2G_shield


 回路図持ってないので観察しただけ。

PC-8201-90 ニッカドバッテリカセットの修理

 入手したPC-8201のうち一台は単三電池×4本のカートリッジのかわりにPC-8201-90ニッカドバッテリカセットというのが装着されていた。当然?死んでいる。これを修理しよう。

2015PC8201POW1


 サンヨーのニッカド電池 1.2V 500mAhが4本。このような電池は今だとニッケル水素電池になってしまった。また、複数本がパックされているものは電器店の電話コーナーに、電話子機の電池として売ってある。
 今回はタブ付の電池を探した。



スカイニー ニカド電池 単3形 タブ付 1.2V 1000mAh ≪ 4本組 ≫ BK-1AA1000NC.0スカイニー ニカド電池 単3形 タブ付 1.2V 1000mAh ≪ 4本組 ≫ BK-1AA1000NC.0

YUBRIGHT
売り上げランキング : 115663

Amazonで詳しく見る
by G-Tools

2015PC8201POW2


 タブをハンダ付けして置き換える。本来は電池に熱が加わらないよう溶接するらしいが。これをカプトンテープで巻いて固定し内蔵する。ラジコン関連の部材に二次電池を固定するためのテープがあるみたいだが持ってないのでその代わり。

2015PC8201POW3


 容量は倍の1000mAhとなった。外付けのACアダプタはDC7V800mAセンタープラスの物を使用した。問題なく充電できている。

PC-8201 内蔵バッテリの交換

 PC-8201全色。赤いのはK氏より預かったもの。
2015PC8201


 相当古いものなので中を開けて確認すると、バックアップ用のバッテリが腐食している。起動はするんで生きてはいるのだが。
2015PC8201BATT1






 さて、この形のバッテリだが探してもなかなか見つけられなかった。ニッカド電池のものはないみたいだ。以下の物を手配した。ちなみにこれはAmiga500の増設RAM+RTCのバックアップ電池と同じ形。

ニッケル水素ボタン電池【3/V80H-074763】3.6V(梅澤無線電機)
ボタン形ニッケル水素組電池 3個組/積層形/PIN端子【3/V80H-074763】(マルツ)

2015PC8201BATT2






 こんな感じで交換。OK。

2015PC8201BATT3




 なおスーパーキャパシタ(1F)でもOKだった。
2015PC8201BATT-SUPER


レーザーカッター 発煙

 さて付属のソフトをインストールし、運転してみる。
2015laser01


 最初、XYプロッタの様に動くのかなと思っていたが、ビットマップの画像データをつかったため上から順にスキャンするように動作した。で… 弾けるような音! 付属の100V-220V変換器から少し煙が。
とりあえずはそれを外して100Vで運転させてみた。アームは動く。レーザーの出力設定10%で動作させていたが光は出ない。

***

 220V-100V変換のトランスを手配してもらった。日本の家電製品(100V)を海外(220V)で使うときに使用するものだが、100V→220Vの昇圧設定にすることもできる。

アップ(昇圧)/ダウン(降圧)できる変圧器 SKシリーズ(日章工業)

2015laser02




2015laser04




設定をAC100V入力ーAC220V出力にした場合はプラグ変換が必要。
2015laser03


 テスタで確認。約236V出ている。では再開してみましょう。

2015laser05


わっ! 前回よりも激しい破裂音と発煙、しかも内部から。これはいかん。レーザー管か?
刺激臭がするので電解コンデンサが破裂した模様。制御側のパネルを開けると電源から何かが飛び散っていた。電源か。

次回は電源を分解調査します。


日章工業 トランスフォーマSKシリーズ(電圧アップ・ダウン両用タイプ)AC220V⇔AC100V220W SK-220E日章工業 トランスフォーマSKシリーズ(電圧アップ・ダウン両用タイプ)AC220V⇔AC100V220W SK-220E

日章工業
売り上げランキング : 26440

Amazonで詳しく見る
by G-Tools

カシムラ 変換プラグAタイプ Cプラグ専用 TI-22カシムラ 変換プラグAタイプ Cプラグ専用 TI-22

カシムラ
売り上げランキング : 3373

Amazonで詳しく見る
by G-Tools

Arduino Zero ProのシリアルはSerial5

 前回のTinyBASIC、Arduino Zero Proではうんともすんとも動かなかった。が、操作するハードウェアはシリアルポートだけなのでそこが違うのではないかと調べてみたら、ProgrammingPortからみえるシリアルポートはSerial5という名前だった。

Arduino Zeroボードの概要(内容説明)
Topic: Arduino Zero and the serial monitor (Read 141 times)

そこで、tinyBASIC.inoの先頭に

#define Serial Serial5

を追加。これで動作確認できた。が、キー入力を受け付けないことがある。本体をリセットしてもダメ。
切り分けのため、Serialに戻してArduino Zero Proのpin1、pin2経由で通信してみる。

2015zeroproserial


 つまりArduino Zero ProのUSBポートを迂回してみたのだが、問題なし。ということはUSB経由のシリアル通信に問題がありそう。

確認環境:
Arduino Zero Pro ProgrammingPortを使用

WIndows7(64bit)+Arduino IDE 1.7.2 TeraTerm → OKだがいったん接続を切るとダメ
MacOSX10.10+Arduino IDE 1.7.2 SerialTools → 入力を受け付けない いったん接続を切ると表示もダメ
MacOSX10.10+Arduino IDE 1.7.2 GNU screen → OKだがいったん接続を切るとダメ

ダメになったら、USBケーブルを繋ぎ直してもマイコンボードのリセットボタンを押しても元に戻らない。Arduino IDE 1.7.2で再度書き込みをするとポートがリセットされるのか接続できるようになることがある。(SerialToolsではダメ)

この間もずっとホスト(PC)側からは/dev/tty.usbmodemXXXとして見えているのだが……

こういった状況。なおUSB Native Portは未検証。WIndowsではUSB Native Port経由だと端末を接続した状態ではプログラム書き込みに失敗する。






Arduino Zero ProArduino Zero Pro

スイッチサイエンス
売り上げランキング : 110714

Amazonで詳しく見る
by G-Tools

Arduino Dueで豊四季タイニーBASICを動かす

 最近TINY BASICが流行っているようなのでちょっとやってみる。

 鈴木哲哉氏が開発したTINY BASICを使わせてもらいます。
命名-豊四季タイニーBASIC(電脳伝説 Vintagechips)

 以下からTTB_Arduino.zipをダウンロードする。
豊四季タイニーBASICのリファレンスを公開(電脳伝説 Vintagechips)

 開発環境はArduino IDE 1.7.2を使用。Arduino.orgの方からダウンロード。
New Arduino IDE 1.7.2

以下、動作環境はMacOSX 10.10 Arduino IDE 1.7.2

 まずはArduino Leonardoで動作確認。先ほどのTTB_Arduino.zipを展開し、Arduino IDE 1.7.2で展開したフォルダ内のTinyBASIC.inoを開く。
 マイコンとシリアルポートを指定し、書き込み。シリアル通信で確認。特に問題なし。

 次にArduino MEGA 2560を指定して動作確認。これもOK。

 さて、Arduino Zero Pro / Arduino Due だが、これらを指定してコンパイルすると以下のエラーが出た。

In file included from TinyBASIC.ino:23:0:
ttbasic.h: In function 'unsigned char* iexe()':
ttbasic.h:1107:36: error: cast from 'unsigned char*' to 'short int' loses precision [-fpermissive]
index = (short)lstk[lstki - 1];
^
ttbasic.h:1113:36: error: cast from 'unsigned char*' to 'short int' loses precision [-fpermissive]
vstep = (short)lstk[lstki - 2];
^
ttbasic.h:1116:34: error: cast from 'unsigned char*' to 'short int' loses precision [-fpermissive]
vto = (short)lstk[lstki - 3];
^

 該当する箇所(一部)はこのようになっている。indexはポインタなので、AVR系ではshortでもARM系では違う模様。
     index = *cip;
 ...
     index = (short)lstk[lstki - 1];

次の様に書き換えた。これでコンパイルしたらエラーなし。
     index = (uintptr_t)lstk[lstki - 1];

ついでにsetup()のシリアルポートを準備する所で
while(!Serial);
を追加した。

修正後のソース:
https://gist.github.com/houmei/a078fb52f5309846b3d2


 Arduino Dueで、マイコンをArduino Due(Programming Port)に指定して書き込み。動作OK。

 しかし、コンパイルと書き込みはできてもArduino Zero Proは何も応答しなかった。これはあとで。

 おまけ:複数のマイコンボードを接続して調べた今回は、このような電源スイッチ付のUSBハブが便利だった。
2015HUB





ELECOM USBハブ USB2.0対応 個別スイッチ付 バスパワー シール付 4ポート ブラック U2H-YS4BBKELECOM USBハブ USB2.0対応 個別スイッチ付 バスパワー シール付 4ポート ブラック U2H-YS4BBK

エレコム 2010-12-09
売り上げランキング : 10111

Amazonで詳しく見る
by G-Tools
記事検索
プロフィール

hardyboy

カテゴリ別アーカイブ
月別アーカイブ
QRコード
QRコード
  • ライブドアブログ