ブログトップ 記事一覧 ログイン 無料ブログ開設

JF1DIR業務日誌 このページをアンテナに追加 RSSフィード

電子工作・オーディオクラフト・アマチュア無線・コンテスト・BCL
プロフィールはこちら

2017-03-12 Pyboardを動かす

Pyboardを動かす

| Pyboardを動かすを含むブックマーク Pyboardを動かすのブックマークコメント

引き続きマイコンネタです。前回はラズパイで動くLinux上のPythonラズパイハードウエア(GPIO)を制御したのですが、Pythonでそのまま動くマイコンがあるというので早速Amazonで入手してみました。Pyboardです。

f:id:WideR:20170312222319p:image

どういうことかと言うと、例えば、Arduinoなどでは、PCで開発環境などを使ってソースコード(C言語)を書きビルドしてマイコンと通信してプログラムを送り込むということをするのですが、Pyboardの場合はマイコン上にMicro PythonというPythonが実装されているので、Pythonコードだけで動きます。これは簡単です。しかもPyboardをPCUSBでつなぐとストレージとして認識するので、その中に入っている"main.py"を書くだけです。

例えば、

# main.py -- put your code here!
import time
from pyb import Pin
pin_out = Pin('X12', Pin.OUT_PP)
while True:
	pin_out.high()
	time.sleep(1)
	pin_out.low()
	time.sleep(1)

をmain.pyに書き込んで、X12端子とGNDにLEDを付けてPyboardをリセットするだけでLチカが動きます。ついこの間はmbedで感動したのですが、これは更に簡単になってますね。

ピン配置は、

f:id:WideR:20170312223241j:image

これを見るとわかるように、SPI, I2Cや各種ペリフェラルに対応しています。スペックは、STM32F405RGマイクロコントローラ、1024KiBフラッシュROMと192KiB RAMMicro SDカードスロット対応などなど。

さてこれで何をするかですね。悩みます^^;

2017-02-26 Raspberry Pi 3を動かす

Raspberry Pi 3を動かす

| Raspberry Pi 3を動かすを含むブックマーク Raspberry Pi 3を動かすのブックマークコメント

いまさらながらRaspberry Piを入手してみました。実は以前Raspberry Pi 1(modelA)を持っていたのですが、使い道が分からずすぐに手放してしまったのでした。最新の3はWiFiBluetoothが内蔵されているということで少し食指が動かされました。先日秋葉原に行ったときマルツで買ってきました。

しかし、こんな小さいボードでちょっと昔のワークステーション以上のスペックなのですから、TK-80やPC-8001コンピュータを始めたオジサンには信じられない世界です(苦笑)。

f:id:WideR:20170226233438j:image

RSコンポーネンツ版とelement14版があるのですが、中身は変わらないとのこと。若干安い後者を買いました。

Piで何をやりたいかというと測定器をシリアル制御し測定結果をロギングしたりその結果をクラウド上で管理したりとかです。Wifiが内蔵なので簡単にできそう。使う言語はもちろんPythonですよね。Linuxベースで動くからPythonでGPIOやシリアルを制御することができるでしょう。

まずはOSインストールからLチカまでを備忘録代わりに書いておきます。

OSインストール

DD for WindowsというイメージをmicroSDメモリに書き込むツールを用意しておきます。メモリは16GBあれば余裕です。

OSはRaspbianにしました。以前持っていたRaspberryPi1はFedoraでした。いろいろ選べるようです。ココにイメージが落ちているのでダウンロードしておきます。zipを展開するとイメージファイルができるので、これを先のDDを使って書き込みます。

●起動

イメージを書き込んだmicroSDをPiに差し込んで、HDMIをモニタに接続。キーボードマウスUSBで繋いで、USB micro-Bを差し込むと電源が入ります(電源SWはなし)。最大2.5Aくらい流れるようなので大電流に対応したUSBケーブルと電源アダプタが必要になります。

Xの画面まで進むので、あとはメニューからPiの設定やWiFiの設定などを行います。その後、再起動するとそれらの設定が反映されます。

RAMが1GBしかないので、ブラウザを動かしたりするのはちょっとツライです。

f:id:WideR:20170227000135p:image

●Lチカ

ピン配置はこちら。

f:id:WideR:20170226235450p:image

GPIO21(40pin)を制御してLチカさせてみましょう。40pinと6pinのグランドを330Ωの抵抗を介してLEDに接続します。

ターミナルを起動させ、viなどのエディタで以下のスプクリトledblink.pyを作ります。

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(40, GPIO.OUT)
while True:
  GPIO.output(40, GPIO.HIGH)
  time.sleep(1)
  GPIO.output(40, GPIO.LOW)
  time.sleep(1)

これをシェルから起動

pi@raspberrypi:~ $ python ./ledblink.py

f:id:WideR:20170227000420j:image

プログラム通り1秒間隔でLEDが点滅します。うーむ簡単過ぎる^^;

まずはDMMを制御してロギングするのを作ってみます。

2017-02-02 関西ハムシンポジウム参加

関西ハムシンポジウム参加

| 関西ハムシンポジウム参加を含むブックマーク 関西ハムシンポジウム参加のブックマークコメント

更新が遅くなりましたが、例年通り関西ハムシンポジウムに参加してきました。去年までは知り合いの局達とジャンクブースを開いていたのですが、今年は一点だけ委託販売させてもらうことにしました。

f:id:WideR:20170202195142j:image

さて、会場に到着してすぐにJA3RLの公開運用の予約を済ませ、ジャンクブース会場でおなじみ各局とアイボール。今回当局が持ち出した品はアルインコのSW電源DM-330MV、なんと新品です。定価の半額以下の値をつけたところ午前中に売れたようです。ありがとうございます。

JA3RLの公開運用では7MHzのCWに20分ほどオンエアしました。コンディションが良くクラスタにスポットされたようで、全国から強い信号の猛パイルを浴びました。交信各局TKS!

午後からは神戸VEチームによるFCC試験の試験監督のお手伝いに参加しました。スコアシートのマークシートをスキャナで読み取り自動的に採点するというハイテクを導入しており驚きました(規則により採点は人間(VE3名)でも行います)。すばらしくハイスコアOne Day Extraが一名、General合格が二名でした。めでたし。

f:id:WideR:20170202195108j:image

今回も慌ただしくゆっくりとアイボールやブース回りができなく残念でしたが、大変盛況で楽しかったです。

今回の戦利品はアンテナムック本、古いハム雑誌、テフロン同軸ケーブルなどなど。

f:id:WideR:20170202195126j:image

各局アイボールありがとうございました。

2017-01-22 FT-817からIFを取り出しSDRで復調

FT-817からIFを取り出しSDRで復調

| FT-817からIFを取り出しSDRで復調を含むブックマーク FT-817からIFを取り出しSDRで復調のブックマークコメント

受信機の中間周波数(以下IF)を取り出し、別の受信機で復調させることで、もとの受信機にはないフィルター特性や様々なモードで復調できることがあります。中間周波数が比較的低い周波数ならば、PCサウンドボードに入力してPC上で復調することも可能となりました。一昔前に流行ったDRM放送の復調もその一つでしょう。

子の受信機にSDRを用いると、活用範囲はさらに広がり、フィルタを通す前の広い帯域のまま信号を扱って、ウォーターフォール表示させたり、録音したり、CWやRTTYを一括で復号するすることが可能となります。

今回はFT-817からIFを外部へ取り出して、その信号をSDRで復調させることをやってみました。目的はズバリ、SDR単独ではできなかったV/UHF帯でCW Skimmerを動かすことです。

まず、FT-817からIFを取り出すことについてですが、ここのページを参考にしました。68MHzのクリスタルフィルタの手前でタップを取る方法で、信号強度も申し分なく、工作もやりやすいでしょう。とは言っても、かなり細かい作業なので慎重に。

リグの外へ取り出すためにはSMA型レセプタクルをリグの背面に取り付けました。ここの部分はアルミシャーシの厚さが異様に厚いので工作に難儀しました。レセプタクルのネジの呼び長さに余裕のあるものにしましょう(苦笑)。

f:id:WideR:20170122202258p:image

f:id:WideR:20170122202253p:image

FT-817/857/897のIFは68.33MHzであるため、手持ちのSDRQS1RPerseusでは受信できません。そこでHF帯へのダウンコンバートを作ってみました。手元にちょうど40MHzの京セラ製クリスタルオシレーターがあったので、これでミキシングすると28.33MHzとハムバンドに入る周波数になり大変具合がいい。ザクっと作ってみました。

f:id:WideR:20170122202537p:image

40MHzのオシレーターはロジック回路のクロック用なので下図のようにハーモニック成分がたんまりなので、一段だけBPFを入れておきました。ほとんど気休めです。また出力が+18dBmとかなり大きいので10dBのパッドを入れてあります(一般にDBMに必要以上に大きな信号を入れると歪みます)。

f:id:WideR:20170122202356j:image

TDKのDBMでミキシングし、変換ロスした分を補うために2SK241によるアンプを入れて同調負荷としました。ソースアースの間にVRを入れてゲインを調整するようにしました。FCZコイルのコアを調整すると40MHzのLoと加算側(108.33MHz)を-16dBくらい抑圧させることができ(下図)ました。FT-817のアンテナ端子に入れるレベルとコンバーターの出力レベルが合うようにゲイン調整して完成としました。

f:id:WideR:20170122202701p:image

FT-817のIF-Outとコンバーターを接続し、Perseusにワッチさせると28.33MHz付近で受信することができます。FT-817で選択しているバンドのフロントエンドのBPFの範囲内であればPerseusで復調させることができます。オフセットの計算がややこしいのですが、これは仕方ありません(汗)。

CW Skimmerによる復調も当然ながら可能で、430MHzでダミーロード送信したCWの信号を68.33MHzのIF経由で28.33MHzへ変換されて問題なく解読されました。

f:id:WideR:20170122203632j:image

これで今まではできなかったV/UHF帯Skimmingも可能となりました。特に、衛星通信で信号を見失ったときに便利そうです。なおFT-817は当然のこと、コンバーターとPerseusも軽量小型なので移動先でも手軽に使えますね。

2017-01-07 オーバーヘッド型スキャナSV600導入

オーバーヘッド型スキャナSV600導入

| オーバーヘッド型スキャナSV600導入を含むブックマーク オーバーヘッド型スキャナSV600導入のブックマークコメント

2年前に裁断機とオートフィーダ付きスキャナScanSnap iX500を導入し、快適な自炊生活を送ってきました。2年使い続けてiX500は素晴らしいパフォーマンスを示しておりますが、本を裁断し破壊することがスキャンを可能にする条件になるので、どうしてもスキャンできない本があります。例えば図書館から借りてきた本など。コピー機型のスキャナを使う手もありますが、同じScanSnapシリーズのオーバーヘッド型スキャナSV600を導入することにしました。お値段はiX500よりも高いです。

f:id:WideR:20170107230648p:image

予想以上にサイズが大きく、正直置き場所に困ります(汗)。

SV600の最大の特徴は本を見開いた状態でスキャンし、ページの端を自動的に認識しページサイズに切り取りPDF化してくるというもの。早速試してみました。

ブックプレッサーという透明なプラスチック板で本を押さえてなるべく平面にし、スキャンすると、このように自動的に本のエッジを画像認識して、文字の歪みなどを補正しPDF化してくれます。うまくエッジ検出してくれた例。

f:id:WideR:20170107230923p:image

しかし、画像認識に失敗することも多々あり、後で手動で本のエッジを指定していく作業を強いられ、これが結構時間がかかります。自動認識をうまくしてくれるやりかたがあるのかもしれません。

f:id:WideR:20170107231008p:image

ページをめくると自動的にスキャン継続する機能なども付いており、なかなか便利です。

さほど出番はないと思いますが、破壊できず、どうしてもスキャンして手元においておきたい本に出会ったときに活躍しそうです。