果報は寝て待て: 2017

2017年12月29日金曜日

ESP-8266で遊ぶ その1

WIFIモジュール ESP-8266で遊びました。
その備忘録です。
 最終的には、透過モードを使い、GXdeveloperと三菱PLC間の無線化をめざします。

1年前にさんざんいじくり回したあと、そのままです。
  標準プログラム → TRANSPARENTBRIDGE →ESPLINKだったと思いますが、まず標準に戻します。
 
必要なもの
  ESP-8266
      AE-UM232R(USBシリアル変換モジュール)
   ESPFlashDownloadTool
       メーカーのホームページからダウンロードします
         flash_download_tools_v3.3.6_win
  標準のファームウェア
       メーカーのホームページからダウンロードします
          ESP8266_NONOS_SDK_V2.0.0_16_08_10
   3.3Vの電源(余ってるATX電源改造品)
      かなりの大喰らいなので外部電源は必要です。
      
最初3.3V 21Aと表示してある端子から供給してみたら電圧降下がひどく、
2Vくらいまで落ち込み、まともに動作しません。ATX壊れてる?
      最終的にATX電源の5Vから3.3Vのレギュレータを介して供給すると正常に動作しました。3.3Vが瞬間的に2.9Vくらいまで落ちますけど。


JP1を通常時は右側なのを左側にして電源を入れなおします。これでIO0がLOとなりUARTのBOOTとなります。


何をどこに書き込んだらよいのかはここに書いてます。
C:\Users\osada\Documents\ESP8266_NONOS_SDK_V2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\at\README.md


抜粋です。
# BOOT MODE
## download
#### Flash size 32Mbit-C1: 1024KB+1024KB
    boot_v1.2+.bin              0x00000
    user1.2048.new.5.bin        0x01000
    esp_init_data_default.bin   0x3fc000 (optional)
    blank.bin                   0xfe000 & 0x3fe000
書き込みが完了したらJP1を右側にし、IO0をプルアップします。

TERATERM の設定です。
改行は CR+LFにします。
 ボートレートを115200にします。
電源を入れなおします。
ATエンターと打ち込んで OKが帰ってきたら正常に動作してます。
AT+GMRエンターでバージョン確認できます。







 

2017年10月10日火曜日

長浜製作所のバランシングマシンの改造 その3

最終的な配線とありあわせのケースに収めたところです。
かなりごちゃごちゃしてます。
  設備側からも信号線を取り出し、コネクタにまとめました。
右上の方からは+5vとアース線です。

ここでまた不具合に気づき、回路変更です。
16セグドライバの出力のコモンがオープンドレインのため、オンの時はLO
オフの時はHIになってます。そのため10、1、0.1の出力端子から引っ張ってくる信号線にはインバータをかますことが必要でした。

 6回路入りのインバータの4回路が余っており、そのうち3回路を使いました。部品点数は増やさずすみました。
 swドリル調整とsw完了が+24vがCOMのシーケンサにつながってる様子なので、ダイオードをかまして24vが流れ込まないようにし、5vにプルアップしました。
変更した回路図です。
これをもとに配線を変更します。

実機に接続し、確認しましたが、やはりうまくいきません。
swをどちらも押さなくても表示が切り替わってしまいます。フリップフロップにクロック信号が入ってしまうようです。

オシロで確認。どうやら、バランサーの主軸が回転する時のサーボモータのノイズで5vにプルアップしたラインの電圧が降下するようです。
 5vが2vまで降下します。4vあたりまで戻るのに0.01ⅿsecかかるスパイクノイズです。
 コンデンサでノイズ対策をしてみます。



2017年10月2日月曜日

長浜製作所のバランシングマシンの改造 その2

長浜のバランサーの表示文字をメモリーします。
ダイナミック点燈といえばかっこいいですが、人の目の錯覚を利用して、1桁ずつしか表示しないのに、32桁表示してるように見せかけるせこい方式です。
  
基板の配線をしていきます。
基板裏面にアース線を配線です。

基板表はicソケットと5v線と5vのプルアップを配線です。
信号線も配線です。

信号線の先は7セグです。
裏です。


ここで気が付いて変更です。

 1 使用中の7セグのドライバーicには、定電流出力と書いてない。

   → 100Ωの抵抗を7セグとドライバの間に入れる。

 2 メモリーのトリガー信号は24vにプルアップされていてスイッチをオンにすると0vになる。

  → 入力部からの信号を抵抗で分圧して5vくらいにし、インバータ回路をかます。

修正した回路図です。



















2017年9月17日日曜日

長浜製作所のバランシングマシンの改造 その1

古いバランシングマシンの改造をやってみようと思った。

 バランシングマシンとは
   回転部分に使用する部品を加工して作った場合、たいてい回転させるとどこかが重くて回転時にガタがでたりする。
  バランスの良いコマは回転時ピタッと止まっているように見えるが、悪いと細かく揺れているように見える。
  それを修正する方法には、品質に影響のない、決められたか所を削って軽くしたり、タイヤのホイールのようにおもりをつけてバランスをとる作業が必要になります。
  製品を使用時と同じように回転させて、どの部分がどれだけ重いのかを測定し、自動で修正してくれるのがバランシングマシンです。測定部と修正部に分かれます。

今回いじくりまわすのは、我が職場のバランシングマシン(以下バランサ)は、古く、メーカーから「はよ捨てなはれ」と言われ続けている「CAB1641」です。

どこをどのようにするのかです。

修正装置はドリルで、ワークに穴を掘り、アンバランス量を調整します。
ところが、ドリルのオフセット量(ドリルの高さ)は、設定時にのみ表示されますが。それ以降は表示のしようが無く、いちいちメモ書きで残しておく必要があります。
 今回、設定時のオフセット値を別の7セグに表示しとこうと、こういう訳です。
操作パネルです。
 16セグメントの表示器が16個横に並んでいます。それが縦に2行あり、32個の16セグとなります。
 対象は、上の段の右端から3こだけです。

測定モードを「ドリル調整」と切り替えてあって、「完了」スイッチを押した時の、3桁の数字のみを記憶しておきたいと、いうことになります。

早速分解です。パネルの裏です。
4個の大きいICは16セグのドライバです。1個で8桁表示します。
6ビットの信号文字をいろいろと表示しますが、数字だけならそのうちの4ビットしか使いません。
 ダイナミック表示といって、人間がみると何桁もの数字が並んで見えるのですが、本当は上の左端から1桁ずつ表示して消して、 2桁目を表示して消して、という操作を右端までダーッとやって、下の行に移って同じように端から端まで1桁ずつ点けて消して、また上の左端に戻ってくりかえすということをやってます。
 いくらうまいタイミングでめもりーさせたとしても3桁同時に記憶させることはできません。
  そこら辺を回路図に起こして、0.1、1、10、の桁の表示タイミングに合わせてDフリップフロップの記憶回路のクロックを立ち上げるよう回路を組んでみました。
上半分は元からある表示モジュールです。
下半分で1桁4ビット分のメモリを3桁分用意してます。数字なので4ビットでいけるし7セグのLED3個でOKです。
  1の位には小数点を常時点燈させときます。
 
IC10個と7セグ3個、ICソケット10個とユニバーサル基盤2枚で650円+送料。
いつもながら秋月電子は庶民の味方です。
さて、うまく動くでしょうか?

2017年9月9日土曜日

ファナックのNCの外部メモリにUSBメモリを組み込んだ

新しいアイテムのプログラムを作成するとしばしばメモリ不足に悩まされます。

この機種は〇ークマ製の〇L-35で、職場のNCの中でも新しい方ですが、メモリは128Kbです。
すぐにメモリがいっぱいになってしまいます。
ファナックの31i-MODEL Bです。
外部のCFカードとUSBメモリが使用できますが、ソケットのふたを開けっぱなしでの使用はNGと言われます。

そこで、差し込んでもふたが閉まるものがないか探してみました。
グリーンハウスのピコドライブマイクロです。
 かなり小さいのですが差し込むとふたが閉まりません。
だから分解しました。
最終的にこうなります。
なんとこれなら差し込んだままふたが閉まります。
下は差し込んだ状態です。
しっくりとしていて。ガイドが無くてもぐらつきません。

差し込んだままふたが閉まりました。
IOチャンネルは17がUSBメモリです。

これで見た目は変わりませんが4GBの外部メモリを常設したNCに変身です。
グリーンハウス、バンザイ ‼

2017年9月2日土曜日

スペースインベーダーゲームを作ってみた。未完 その1

マイコンを使ってスペースインベーダーを作ってみた。
                       ・・・今のところ未完成です。


  話は数年前にさかのぼる。
   当時PICマイコン(主にPIC16F88)を触りたてで、簡単なゲームをいくつか作ってみた。
   ネットでプログラムを公開していただいてるものをそのまま作って大喜びしてました。
   テトリス、ブロック崩しなどです。出来上がると、当時小学生の息子に、一緒に遊んで もらいましたが、ある日「お父さんのゲーム、しょぼい。!!!」といわれました。
 そりゃあショボいですよ。わかってますよ。ゲームボーイと比べるほうが間違ってますよ。
  と言い返す訳にいかず、その後もゲームを作り続けて一人で遊んでました。

で、テトリスの次というと、学生の頃一世を風靡したインベーダーです。
ネットで作り方を調べると、・・・いるじゃないですか。

                   
                        「PICs IN Space


 PIC16F628Aの2kワードのメモリの99.9%を使って実現してしまったというから
よくわからないがすごいと思います。
  回路図とプログラムを公開してくださってるので、さっそく作ろうとしたのですが、問題がある。
  ゲームに接続するための「テレビ」が日本のとコネクタが違う。 SCARTというタイプでヨーロッパでは普及しているが日本の家庭には無い。

なんとかなるだろうとまず、PIC16F628Aを入手しプログラムを書き込んでみた。

 秋月電子で180円で購入、マイコンはいつもここが安い。

 プログラムは 「PICs IN Space」の中の Softwareの章中の Here をクリックすると テキストの画面に移動し、文字列がダーッと出てきます。
 それをワードパッドにコピペします。

適当に名前を付けて  picinspace.txt  保存します。
 保存ホルダーは ドライブ以下、英語半角のみのホルダーです。

ファイル名の拡張子をtxtからhexに変更します。
             picinspace.txt → picinspace.hex

 いつものPICerFTでPIC16F628Aに書き込みます。
ボードとPICを接続し、USBケーブルでパソコンと接続します。

 PICerFTを起動します。
PIC16F628Aを選択し、Connectボタンを押し、Detectボタンを押すと上の画面になります。

 picinspace.hexをドロップすると書き込みが始まり、終了すると次の画面になります。
マイコンの書き込みはこれで完了です。




スペースインベーダーゲームを作ってみた。未完 その2

マイコンを使ってスペースインベーダーを作ってみた。
                       ・・・今のところ未完成です。

回路図は 「PICs IN Space」の中の Hardware章の  larger versionを元にしてます。
 音はいらないので PB3,PB6,PB7には何もつないでないです。またSCARTから先は「SCART→VGA」変換のため、LM1881を使用してます。これもネットからの情報です。
組み合わせた回路図です。


LM1881の動作は次の図のようになってます。(データシートより抜粋)


 2ピンに入ってきた水平と垂直の複合信号を分解し、1ピンから水平の同期信号を出し、3ピンから垂直の同期信号を出します。

回路図のようにつないでも下のようにしか、モニタ上には表示されません。

 そこで、各ピンからの波形を確認していきました。
その結果です。


 LM1881の2番ピンへは65μsec周期で0.7Vくらいのスパイク信号が入力されてるようです。



VGAコネクタへの1ピン2ピン3ピンにそれぞれ青、赤、緑の信号が出力されるはずなのですが、2ピンの赤からのみ信号が出てるようです。
青、緑のピン RA1,RB1からは信号らしきものは出てません。



LM1881の3番ピン(垂直同期信号)からは、20ⅿsec周期で幅250μsecで-4Vの信号が出てます。



LM1881の1番ピン(水平同期信号)からは、データシートの抜粋と同じような信号を確認できます。




PICの11番ピン(RB5)からは信号の出力は見られないようです。




2017年8月18日金曜日

ブリューゲルの「バベルの塔」展に行ってきました。

大阪の肥後橋の国立国際美術館で見てきました。

 8月ですが平日の12時頃ということもあり、込み具合はましなほうだったと思います。
 

 「バベルの塔」は展示会場の最後にあります。創造していたよりも小さかったですが、この中に目的を持った1400人の人間がぎっしりと書き込まれております。
  その後に3x3倍に拡大した巨大複製画を見たのですがそれでも人間が小さくて見分けにくく、いかに細かく書き込んでいるのかが感じられました。

 

 でも入場してから出るまで丸々2時間、音声ガイドを聞き1つずつの絵画を眺め、ゆっくり歩きというよりじりじり進み、列に並んで待つ、という普段とは全く違った経験をし、めっちゃ疲れました。
 国立美術館は中学生以下は無料です。少しでも多くの子供に、本物に触れてほしいですね。

2017年8月13日日曜日

SDカードが故障した

デジカメでの画像記憶をメインにしていたSDカードが調子悪くなった。

PCで読み込ませても認識しない。
デジカメにいれるとフォーマットをしてくださいと、要求してくる。

ついに壊れたようだ。ネットで調べると、書き換え回数が上限に達すると予告なしに突然壊れるようだ。まめにバックアップすることはやはり重要ですね。

大した画像はないはずだが、 捨てる前に画像の吸出しをしておく。
前回も使った「PhotoRec」という優秀なフリーソフトです。
 前回は、USBメモリで間違って削除した画像や音楽を 、ほぼすべて復活させてくれました。
 今回もそれを使います。

 使い方をネットで参照しながら、みごとに復活しました。子供の幼稚園時代の写真から高校の頃の写真まで出てきました。しかし動画は最初の4秒くらいずつしか復活してませんでした。
  でもこれで十分です。

次はお決まりのSDカードの分解です。
精密ドライバでこじ開けると上1/3だけに黒い部品が詰まってます。
この中はどうなってるのでしょうか。
ほぼマイクロSDと同じ高さです。 これ以上分解できません。破壊に移行です。

 削ってもダメでペンチで割りました。

 割れたところからきらきらしてる部分が見えてます。

こんなものでどうやって8Gバイトものの記憶(CD10枚分)をしているのか、どうしても理解できません。


2017年7月10日月曜日

SDカードリーダーが故障した。

今まで使用できていたのに。いつものように突然カードリーダーが読まなくなった。



多くの可能性があり、順次問題点を絞っていきます。

・SDカード
・カードリーダー
・パソコンのUSB端子
・ATX電源(+5v)
・マザーボード
・ドライバー

とまあ、たくさんの原因があげられるのですが、なんと今回は息子が全く同じ型式のカードリーダーを持っていたので、あっけなくカードリーダーお前が犯人だ。となったのです。
 息子のカードリーダーなら問題なく読み込みできました。

ではカードリーダーの何が悪いのでしょうか。
 製品はElecomのMR-A39Nという安くて大量に出回ってるものです。
 ケースは簡単に外れました。


中には MA8168Aという台湾のメーカーのチップが1個だけ入ってます。
まず、電源が供給されているか調べます。
  USBのケーブルの赤い線にはちゃんと5Vが来ています。
 また、SDカードソケットの4ピンのところには3Vが来ています。
 ほかに電源素子が見当たらないので、MA8168Aが3Vをちゃんと供給していることになります。USBのほかの線も断線やショートはありませんでした。
 MA8168Aのデータシートが手に入らないので、何番ピンが何をしているのかがわかりません。
 ルーペでくまなく半田のクラックを探しましたが見つかりませんでした。

これ以上の進展が期待できませんので、今回は残念ですがここでギブアップです。後日のため、調べたことをまとめておきます。

・USBの5Vはリップル0.1Vで問題なし
・SDカードもマイクロSDカードも同様に読まないため、カード検知機構も関係ないと思われる
・USBケーブルの断線、ショートは基板まではなし・
MA8168Aは3VをSDカードに供給している。
MA8168AはSDカードの5ピンに約30MHzのクロックを10秒に1回くらい1秒ほど供給している
・ドライバーは正常に動作している。
・更新プログラムを以前の復元ポイントまで戻してみたが現象かわらず。
・パソコンによりエラーメッセージが違う。 
    1.Windows10の場合

    2.XPの場合
    3.しかも娘のダイナブックでは読み出しが正常にできる

ということです。 どなたか似たようなことがおありでしたらアドバイスお願いします。