2017年3月7日火曜日

エレキット 真空管アンプ キット TU-8150

TU-8150は6AQ5=6V6シングルの真空管アンプです。出力トランスは小さいですが、バランスよく再生できます。


 真空管アンプでは高圧を扱いますが、間違って高圧に触るようなことはありません。キットってそういうところがよく考えられていますね。

 特性は、高域のこぶを除けば、いい感じですね。小信号時にの特性なので、15インチのスピーカを駆動するときは、ここまで低域は出ないでしょう。





2017年2月24日金曜日

ラズベリーパイ ゼロが国内販売開始

Raspberry Pi ZEROは2015年暮れに5ドルで発売され、その後Ver1.3に上がりましたが、日本国内では正規な流通には乗りませんでした。
 2017年2月24日18:00に国内販売が始まります。KSYでは702円+送料、スイッチサイエンスは648円+送料です。どちらも即日発送ではありません。
 最低限、ピンヘッダがないと、積読になりそうです。

現行のラズパイ3(Raspberry Pi 3 model B)に比べて、

  • CPUがシングル・コア(3は4コア)
  • クロックが1GHz(3は1.2GHz)
  • メモリが512Mバイト(3は1Gバイト)

と機能が低いですが、学習を初めるには十分な機能と速度があります。

 2017年1月11日のラズパイOSが最新です。


5ドル!ラズパイ・ゼロ(Raspberry pi Zero)でIoT (1) ラズパイとは

DC電源の出力インピーダンスを測りたい これは正しいのだろうか

順次加筆中。訂正中。

手軽なツールで測れないものか

 DC電源の出力の電圧をV1、抵抗をつないで電流を1A流したときに測った電圧をV2とすると、
 電源の内部抵抗 R = (V1 - V2) /1A = V1 - V2

 直流時の出力インピーダンスが求まる。
 オーディオ・アンプをつないだ時、20kHzまでの入力周波数の強弱に応じて、電源に電流が流れ、その結果、電源電圧が変化する。
 アンプのPSRRはOPアンプ・タイプだと高い。でもシングル・アンプは、電源の変動の影響を受けるはず。D級アンプは、出力は電源電圧に比例するので、電源電圧の変動は、音量の変化に直結している。
 交流でのDC電源の出力インピーダンスが測れれば、望むべく電源を製作できるはずだ。


原理
 直流でのインピーダンスは、
  R = E /I
 交流でのインピーダンスは、
  Z = E /I
でいいのだろうか。おんなじね。

 負荷RlはDUTの出力インピーダンスと並列合成インピーダンスを測定していることになるが、通常電源であるDUTの出力インピーダンスの方が負荷インピーダンスより十分小さく支配 的となるので、影響を無視するという前提。
 RsはDUTへ数mA流せばよいので、5Vぐらいまでの低圧電源の場合は1kぐらいのほうがよいかも。24Vぐらいだと5.6kぐらいが妥当かも。入っていないと、当然過剰な電流が流れ、保護回路が動作してしまう。
 直流を遮断するためにブロッキンング・キャパシタ1mF = 1000uFを入れればよいらしい。
 http://cp.literature.agilent.com/litweb/pdf/5989-8036JAJP.pdf



安全に測定するためにトランスを使う
 10Hzから10MHzの帯域が扱えるトランスは存在しない。
 トランス自体があまり市販されていない。
 測ってみる。入出力の抵抗負荷の値で帯域は異なるけど、300kHzまでは使えそう。

LL7401 耐圧2kV
飽和する電圧は十分高いように思える。





交流の電圧と電流って何
電圧にはピークツーピークVp-p、Vrms=実効値の2通りの表現がある。直流は同じ数値になるが、交流は異なる値になる。
電流はどうなのだろうか。あまり見たことがない。

PicoScopeで電流プローブをつけてみた。測ってみた。

実効値で計算するのだ正しいみたい。





●参考資料

http://www.nfcorp.co.jp/techinfo/keisoku/impedance/swps.html


http://www.eevblog.com/forum/projects/impedance-analyzer-build-and-experiments/225/

http://park8.wakwak.com/~hilo/audio/inst/index.html

2017年1月22日日曜日

おんどとりから温度データを取得する

活魚などの運搬に使われるトラックで温度管理をするなど、産業界でよく使われているのが「おんどとり」です。
 専用のアプリケーションがあり、データはクラウドに保存できるなど、至れり尽くせりのサポートが行われています。

 オリジナルのソフトを書きたいとき、通信手順はメーカに問い合わせると仕様書を出してもらえます。

(1) TCP/IPで接続
(2) Pythonで温度を取得
(3) node-REDで温度を取得
(4) node-REDのメッセージ
(5) MQTT

2016年12月19日月曜日

Arduino YUN Mini アップデート

随時更新中。

11月末に秋月電子通商で購入したArduino YUN Mini。


  • USB経由で書き込みをする
  • Wi-Fi経由で書き込むをする

できたりできなかったりと不安定だった。
 工場出荷時のリセットしたあと、シリアル・モニタが接続できなくなった。

ファームウェアの更新
luciに入る。初期画面のどこかに入口がある。Flash Firmwareでダウンロードしたファイルを書き込む。lininoからYUN-Miniに変えた。

http://download.linino.org/linino_distro/lininoIO/latest/

lininoIO-generic-linino-yun-mini-squashfs-sysupgrade.bin

 更新をしたが、エラーをはいて使えなくなった。

/usr/lib/lua/luci/template.lua:81: Failed to load template 'linino/set_password'.
Error while parsing template '/usr/lib/lua/luci/view/linino/set_password.htm':
No such file or directory
stack traceback:
 [C]: in function 'error'
 /usr/lib/lua/luci/template.lua:81: in function '__init__'
 /usr/lib/lua/luci/util.lua:68: in function 'Template'
 /usr/lib/lua/luci/template.lua:50: in function 'render'
 /usr/lib/lua/luci/controller/linino/index.lua:182: in function 'authen'
 /usr/lib/lua/luci/dispatcher.lua:370: in function 'dispatch'
 /usr/lib/lua/luci/dispatcher.lua:195: in function </usr/lib/lua/luci/dispatcher.lua:194>


ーーー
3日間試行錯誤

基板横のリセットスイッチを長押しすると、初期化されるとあるが、それは本当ではない。でも本当。
どうも、eepromの違うエリアにパスワードは保存されているぽい。
システム自体が新しくなっても、保存されている場合がある。
システムといっても、U-bootがあり、その上にLinuxであるopenwrtが載っている。U-bootは別のエリヤのeepromに書かれているのかな?

ラズパイのUSBからYUN-MiniのマイクロUSBにつないで、
 minicom -b 9600 -o -D /dev/ttyACM0
シリアル-パラレル変換されてターミナルで接続できる。文字化け多し。原因不明。


U-Bootの途中で[f]とリターンを押すとfailsafeモードへ入れると出る。
そこでfastbootを入れた、きっともろもろが初期化された。
基板の上にあるYUN Resetボタンを押してリブート。


---
 AP動く。
 192.168.240.1 これはlininoと同じ。出てくるログイン画面は異なる。パスワードはarduino !!!






 

 Ciaoの画面を出す。何も入っていないからインストールするかと聞かれる。
 mqttの設定ができる。

パッケージマネージャもある。すごいたくさんのアプリケーションが整備されている。mqttブローカを入れてみた。
パッケージマネージャから入れないといけないIOT2000よりぜんぜんいい!


luciもいる。











2016年12月9日金曜日

SIEMENS IOT2020 OSビルド

随時加筆中
 USBメモリでブートしたDebianマシンで作業。ユーザとしてyoshidawを作成。



yoctoは初めて

 https://github.com/siemens/meta-iot2000
このサイトに、IOT2020のOSをビルドするために必要なファイルが置いてある。
yoctoは組み込み用マイコン・ボードのOSをビルドするために必要な環境。GUIツールがあるようだが、ビルドが終わって気が付いた。
 最小構成は60Mバイトほどのコンパクトなバイナリを作る。
  SIMATIC_IOT2000_Setting_up_V1.0.pdf
このなかに、スタティックなIPアドレス192.168.200.1が設定してあると書かれている。また、WindowsツールWin32DiskImagerでマイクロSDメモリに書き込むと書かれている。
 GitHubではddコマンドで書き込むように説明されているが、失敗した。

yoctoでは何をするのか

 マイコン・ボード特有のファイルが必要。

  meta-iot2000-bsp
  meta-intel

  yoctoの本体

https://github.com/siemens/meta-iot2000/blob/master/meta-iot2000-bsp/README.md
の解説を読み、実行する。
 DebianにGitHubのツールがないので、インストール。sudoでエラーが出るので、sudoのグループに追加した。

$ git clone git://git.yoctoproject.org/poky.git poky -b krogoth
$ git clone git://git.yoctoproject.org/meta-intel poky/meta-intel -b master

つぎの
$ git -C poky checkout yocto-2.1
$ git -C poky/meta-intel checkout 9a06fc5bce05
は、エラーになった。
 pokyは2.2 を持ってきた。最新ではなく、krogothでそろえるのが正しいようだ。
 meta-intelは、http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/
から5.0-krogoth-2.1をもってきてリネームする。これ以外は、ビルドする前にエラーが出た。もっとよい、そして新しいプログラムの組み合わせがあるかもしれない。
 複数のプログラム・ソースをコンパイルして組み合わせるので、新しいほど、不都合が出る場合あるように思える。でも、新しいのを使いたい。

$ git clone git://github.com/siemens/meta-iot2000 poky/meta-iot2000
これで必要なファイルはそろった。
 次はビルドするための指示を書いた設定ファイルを修正する。
pokyディレクトリの下にある、
  conf/bblayers.conf
をnanoエディタで開き、2行追加。
 /home/build/poky/meta \
 /home/build/poky/meta-poky \
 /home/build/poky/meta-yocto-bsp \
 /home/build/poky/meta-intel \
 /home/build/poky/meta-iot2000/meta-iot2000-bsp \
 "
 ここで、ログインして作業しているのは/home/buildではなく、/home/yoshidawなので、修正する。CTRL+o、CRTRL+xで抜ける。
catで確認。

--- conf/local.conf

1行をコメントアウトして、1行追加。
#MACHINE ??= "qemux86"
MACHINE ??= "iot2000"

CTRL+o、CRTRL+xで抜ける。
catで確認。
 準備が完了。

ビルド
$ bitbake core-image-minimal

 最小モデルを作る。root権限で実行してはいけない。実は、これではだめなことが後でわかるが。とりあえず、コンパイルしてバイナリができることを確認するために実行する。一度コンパイルしたものは、あとの作業では再コンパイルされない。
 何時間か、かかる。
 ネットワーク経由で、core-image-minimal日付け.wciをWindowsPCにもっていき、Win32DiskImageで、すべてのファイルを表示し、.wciファイルを読み込み、SDメモリに書き込む。
 これをIOT2020にセットする。
 SDメモリソケットは、上に開く。スライドしない。カバーを上に開く。外れてしまうかもしれない。真上からマイクロSDメモリをくぼみに合わせておく。カバーをかぶせ、上方向に1mmほどずらすとロックされる。

 電源を間違いなくつなぐと、SDメモリのLEDがぴかぴか、2,3秒消える、ぴかぴか、2,3秒消える、そのあと、連続して読み込むようで、点滅を繰り返す。
20秒ほどでLEDは消えたままになる。

動作確認

 ネットワークを、192.168.200.x/24に変更し、pingを打つ。反応がある。
sshでアクセス。teratermを使う。connection refused と表示され、つながらない。


http://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html
には、sshサーバが入っていないと書かれている。
The core-image-minimal QEMU image, however, contains no SSH server.

core-image-full-cmdline
を作る。wciファイルができていない。isoを焼いてみるが、ブートしない。hddimgがブートした。sshにも反応する。
 IPアドレスを今まで使っていた192.168.111.x/24の中に変更。PCも戻す。

不具合 これから解決すること

 32GバイトのSDメモリを使ったが、dfで確認すると160Mバイトほどしか利用できていない。エリアを拡張したいが、パーティションが存在しない。
 パッケージ管理ソフトが入っていない。wgetはある。

2度目のチャレンジ
 省略。Toasterにはバグがある。
3度目のチャレンジ
exampleのほうにopensslやnode.jsがある。最初から、exampleまでをビルドすることにした。
 4割ほど進んだ時、64GBのUSBメモリの容量を使い切った。256GBほど必要か?
4度目のチャレンジ
 6個のウォーニングを出して終了。613MBのwicファイルがある。Win32DiskImageで書き込む。SDメモリエリアを拡張。作業はラズパイで行う。
  iot2000-example-image-iot2000-20161214093619.rootfs.wic

 staticの設定ではnameserverが使えない。DHCPで外に出れるようにする。
 opkgのリポジトリを設定する。
 ぜんぜん不完全。ファイルが落とせないのがたくさんある。特にライブラリ関係。nodojsが入れられない。npmも使えない。
 node-REDへの道は遠い。


 掲示板に、node-REDのファイルをコンパイルしていないではないかと書いたら、そう、あなたは正しい、入っていない、すぐに用意するからと、蕎麦屋の出前みたいな返事をもらった。
 ほかの人から、bbファイルに追加する記述方法を教えてもらったが、もろもろのファイルが更新されるかもしれないので、待ってみる。
2日待っているが更新されていない。

 ファイルが更新された。
 複数のアプリケーションの内容を更新している。
node-REDのビルドで12個のエラーをはいてOSはできなかった。

5度目のチャレンジというか4度目の続き
 node-redのソースにはブランチがあるので、それを持ってくればよいという掲示板の書き込み通りすると、900個のワーニングは出たが、ビルドは成功し、node-REDが立ち上がっためでたしめでたし。
https://support.industry.siemens.com/tf/ww/en/posts/node-red-is-not-in-iot2000-example-image/158963/?page=0&pageSize=10

使ってみる
 それにしても何にも資料がない。工業用機器は、回路図や配線図、マニュアルがあって当たり前だと思うけど、何にもない。
 掲示板では、何か問い合わせがあれば、資料を出している。1か所に集めってはいない。

 GPIOのピンはArduinoコンパチブルらしい。資料を見ると何か変。こんなところにGNDがあるはずがない。

 この図を描いた人は、利用する人のことを何も考えていない。右半分が逆転している。
 A0にTL431の出力をつないで、node-REDでデータを表示した。500ぐらいの数字が出てくる。
 2.5Vだから、推測で、Vref=5Vで、10ビットだと思い、変換式を入れて、電圧を表示する。2.49V付近が出るので、あたりかな。
 基板のレイアウトは違うが、インテルのgalileoボードと同じかもしれない。

 つまり、資料はgalileoをみろ。ということなのかな?

 SDの利用していないエリアの拡大resize2fs も入っている。最小imageではなかった。opkgも入っている。