2018年4月24日火曜日

キットを作る。キットを創る。

ブログの左上に「技術的応談のポリシーについて」というタブを加えさせていただきました。まずご一読いただけるとありがたいです。

キットは組み立ての技術的な問題がなければ必ず動作するように作られているはずです(よほどのことがなければ)。言い換えれば自分の技術力が赤裸々に試されるというわけです。完成してすんなり動作すればそれはそれでよいですが、トラブルに当たったときに粘り強く解決する事が出来れば貴重な経験値が1つ上がるわけですし、解決した時の爽快感はまた格別なわけです。

閑話休題。

ネットのおかげで海外のいろいろなキットが手に入るようになり、嬉々として手の出せる範囲で製作してきました。とくによく作ったのはCW QRPトランシーバでした。なかでもKD1JVのTriband CW Transceiverは5W出力で任意のHF3バンドに出られる実用的な優れたもので、完成後小型のバッテリーとDPを携えて何回か移動運用でQSOを楽しみました。DDSを備え、マイコンによる周波数制御と内蔵キーヤー、高効率のファイナル(BS170を3パラにしたC級増幅とマニュアルには記載してありましたが、実測90%程度の高効率で実質CMCD ZVS動作に近いのかもしれません。とにかく放熱器なしで余裕の5W出力には驚きました。)を装備した200USD程度で手に入る素晴らしいキットです。

ただ、使っていくと機能にやや不満も出てきます。エンコーダの信号取りこぼしで同調が取りにくくなる場面があったり、周波数記憶機能が実装されていないため運用中不意に電源が落ちるとデフォルトの周波数に戻ってしまったり、はたまたキーヤーのスピード調整が面倒などなど。

こういったちょっとした不満な点を自分ならどうする?といったところから出発して、それなら自分で1から作ってみたいという思いが募り、それがKeyer Mini-V2やVNシリーズという形になったわけです。

形にしていくうえでいままで作ってきたキットの経験ももちろんそうですが、自分なりにまとめたものをたたき台として発表して、作っていただいたSNSなどでお馴染みの方に意見や要望をうかがったり、実験や提案を教えていただいたりどんどん洗練されて行くところが大事だと実感しています。自分でも思いもよらなかったことがたくさん出てきて、これはちょっと難しいかなと思ったこともほかの方のアイディアで目から鱗が落ちることなどたくさんありました。

以前KD1JV Tribanderが某SNSで話題になったとき、有志でCW QRP トランシーバを創ろうと盛り上がりましたが 当時自分もDDSやマイコンプログラムなど扱ったことがなく結局頓挫してしまったことがちょっぴり悔しくてしばらく頭の片隅に残っていましたが、VNシリーズがここまでこれたことでとりあえずは払拭できたかなと思いました。

でもって次はどうするかってことですが、 やはり最終的にはSDRというところでしょうか。もちろんPCレスのスタンドアロン型を目指します。まだまだ道は遠いですがとりあえずSTM32マイコンの習得を柱に進めていきますが、VNシリーズの派生版も進めないと、とやることがいっぱいです^^;

2018年4月17日火曜日

懐かし(といっても中国製ですが)ラジオキットを組み立てる

昔の(と言っても数十年前)電子工作の原点、出発点といえばたいていはラジオではないでしょうか。

自分は幼少のころ不意に父親からもらったゲルマラジオセット(μ同調タイプ)で、電池もないのにAMラジオ放送がクリスタルイヤホンから聞こえるのがとても不思議で、中を拝みたく分解したところから電子工作の道に転んでしまいました。

以降ラジオキットを中心に組み立ててはこわしていました。次第にBCLにはまり、友達がアマチュア無線を始めたことをきっかけに中学生になってからアマチュア無線の従事者免許(当時は電話級)を取得しました。

そんなわけで今だに同じようなことを続けていますが、先日秋葉原のaitendoを訪れた折にこんなキットを見つけました。


トランジスタではなくIC1個を使った中波短波の2バンドラジオキットです。

日本にもかつては様々なラジオキットがありましたが、2バンドのもの特に短波が受信できるキットは見たことがありません。懐かしさと珍しさからつい騒動買いしてしまいました(笑)


 キットの内容はこの通りで、小袋に分けられていて思ったよりまともそうに見えましたが・・・


 一番気になったのは同調用のポリバリコンの足の錆です。ほかにもICの足がひん曲がっていたりスペーサの足のプラスチック部分がバリだらけ、IFTやOSCコイルのコアの色が判別しにくいほど褪せているとか・・・

湿気の多い日本では保存法を考えないといろいろと問題ありそうです。少なくともポリバリコンは乾燥剤とともに袋に、もちろんほかの小袋にも乾燥剤は入れないと、と余計な心配をしております。自分のキットも乾燥剤同梱を省略しているので、ジャック類などの錆発生に気をつけねばと思いました。


 組み立て中です。PCBはまともで、レジストはやや弱いですが位置や大きさも妥当です。パーツの足の間隔もほぼ正確でパーツを加工することなくはんだ付けできました。完成後OSCコイルとIFTの付け間違いやバリコンの足の付け間違いが見つかり各々一旦外して正しく装着できましたが、はんだごての熱によるパターン剥がれもありませんでした。


 これがLEDを除く唯一の半導体、ラジオICのTA7613です。といってもオリジナルのものなのかセカンドソースものなのかよくわかりません。AM/FMラジオ用の古いICだそうですが、ネットでデータシートが拾えます。


 いくつか装着やり直しが入りましたが、約2時間ほどで完成。

電源はaitendoサイトの説明では単3電池2本ということでしたが、電池ケースの実物見ると大きすぎるので調べてみると単1乾電池2本が正しいようでした。早速コンビニで単1電池2本購入、ラジオにセットして鳴らしてみました。

まず中波帯でAPB-3のSGとOSCの周波数を観察してトラッキング調整を行いました。

家の中ではノイズを拾ってしまうので、ベランダに出てワッチしてみると当然のことながらAM放送は十分入感します。短波に関しては実際どの周波数帯を受信しているのか分かりませんでしたがダイヤルを回すと数局放送が聞こえてきます。

かすかに聞こえる短波放送の音を聞くといまでもわくわくしますね。

あとでSGで確かめてみると12MHz台を受信していました。受信周波数の幅も500kHz程度と狭くサイトの表記にあるような5~17MHzといった広帯域に受信できるわけではないようです。回路図とポリバリコンの可変容量域をみると当然なのですけどね。

いまのところ広帯域受信などの改造は考えていないので近い25mバンドに合わせるようにしました。

 最後に、


 あともうちょいといった感じで、ある意味なかなか味のあるラジオに仕上がっております。

総評として、基板やケースの精度は思ったよりも悪くない印象です。組み立てにはサイトのBOMと基板のシルク印刷を頼りにすればほぼ問題ないのですが、LEDの取り付け方や、ポリバリコンの取り付け方向を明確に、あとは保存を考えた包装、これらが改善されれば良いなと思いました。

2018年3月21日水曜日

STM32CubeMXの導入とSTM32プログラミング開始

STM32はCortex-MなどARMベースのマイコンで、高性能で安価なmbed対応のNucleoの出現に加え、mcHFやCentSDRなどスタンドアロンなSDRに採用されており、開発上非常に魅力あるデバイスですが、開発環境を整えるのにやや敷居が高く、PICやAVRと違い例えばGPIOの設定一つでもより細かい設定が必要でなかなか取っつきにくいものがありました。

そうはいってもいつまでも躊躇している場合ではないのですが、ちょうど関ハムシンポでSTM32F1の格安小型マイコンボード、通称BlackPillをJF1DIR広瀬OMから譲っていただいたことをきっかけに開発環境構築について改めて調べてみました。その結果Arduinoやmbedに依存しないオフラインな開発環境としては、現時点ではSTM32CubeMXとSW4STM32がよさそうです。

STM32CubeMXは最初登録が必要ですがソフトウエアのダウンロードと使用は個人的使用の範囲では基本的に自由です。(商用目的の場合は確認していません)このソフトは便利でかつ強力なSTmicro純正開発支援ツールです。要は主プログラムで使用する機能とピンを設定に基づき、各IDEなどに合わせたプロジェクトファイル群を自動生成してくれるソフトウエアです。本体ソフトウエアをインストールし、各STM32シリーズごとのライブラリファイルをSTM32CubeMX内でダウンロード、インストールしておきます。(Helpメニューの"Manage embedded software packages"から)


なぜ"Cube"なのかよくわかりませんが、とにかくウインドウ内左中央の"New Project"を左クリックして開始します。そうするとソフトウエアのアップデート確認、インストール後に目的のマイコン選択ウインドウが出てきます。


 該当する項目のチェックボックスにクリックして目的のモデルまで絞り込んでいきます。


 この例では秋月で単体販売されているF303K8T(6)を選択しました。右端中央にあるStart Projectボタンをクリックすると、各種設定用のウインドウに切り替わります。


 ウインドウ右には実際のチップを模したグラフィック表示になっています。ここでピンに割り当てられた機能を直感的に確認したり変更したりすることが可能です。機能が固定されたVDDとVSSなどは当たり前ですがすでに割り当てられています。左はチップに内蔵されている各種機能をツリー表示したものです。ある機能を有効にしたときに、機能で割り当てられるピンが自動的に選択されます。

実際には各機能相互で使用するピンのコンフリクトを避けるために、右のツリーからプログラムで必要な機能を選択してからそれ以外のGPIOを指定する流れがスムーズかと思われます。


 例として内蔵基準発振器、SPI接続のTFT LCD、I2C接続のペリフェラル、AD変換ポート、デバッグ用ポートを使いたいとします。

左のツリーから必要な機能をすべて選択すると、各機能にあたるピンを自動的に設定されています。あとはSPI接続で他に必要なCSとD/Cポートを空いている適当なピンに合わせて左クリックしGPIO_Outputにチェックします。チェックしたピンは緑色に変わります。

次に上の"Clock_configuration"タブをクリックします。


 すると各モジュールの動作クロックを設定するウインドウにかわります。

 中央にあるシステムクロックSYSCLKを基準にしてラジオボタンとプリスケーラのプルダウンリストを適切に選択します。ここでは8MHzのRC内蔵発振器を使用するため、4MHz入力PLLでの最高倍率16倍である64MHzをSYSCLKとしてあります。その際にモジュールの中でオーバークロックになるところが赤色に変化して注意を促されるため該当モジュール前のプリスケーラの倍率を設定して最高周波数以内にします。エラーがなくなったのを確認して次に上の"Configuration"タブをクリックして各機能の設定を確認調整します。


 ここでは各モジュールやミドルウエア個々の設定を行います。

気を付けておきたいのは、デフォルトの設定をそのまま使うと一部を除きたいていは動きません。(苦笑)

よく使うモジュールとしていくつか例に挙げると、まずはI2C。スピードはデフォルトで100kHzに設定されていますが、LCD表示器など含めて400kHzのFast modeに対応しているので変更しておいたほうが良いです。1MHzのFast mode plusは外付けEEPROMの多くが対応しているものの、LCD関連は非対応のことが多くFast modeの400kHzに設定するのが無難です。それからSPIですがデータ転送幅がデフォルトで4bitになっていて、最初気が付かずこのままにしていたためTFT LCDがまったく動かなくてしばらく悩みました。ここは8bitへ変更することが必要です。最後にGPIOです。動作速度はFastに変更、input設定の場合プルアップ、プルダウン、両方なしいずれかの設定、outputの場合正論理か負論理か、プッシュプル出力かオープンドレイン出力かの設定を必ず確認し正しい設定にします。

設定が済んだら、 "generate code"コマンドボタンもしくはメニューを選択します。


ここでプロジェクト名を入力し、必要があればプロジェクトファイル群を置く場所を指定(デフォルトの作業ディレクトリ以外)、Toolchain / IDEプルダウンメニューでSW4STM32に指定しOKすると作業場所にHALライブラリを含んだプロジェクトファイル群を生成されるので、それらをeclipseでインポートします。インポートしたプロジェクトでコードを書いてビルドすれば実行ファイルが生成されます。

ちなみにIDEのSW4STM32はフリーのeclipseベースですが、供給元からダウンロードの際細かい個人情報の入力を要求されるので注意が必要です。私の場合は日本語化プラグインとJDE関連などが含まれたeclipseベースのPleiadesをインストールして、eclipseからSW4STM32をインストールしました。さらにSTmicroからSTM32CubeMXプラグインも導入し、eclipseからSTM32CubeMXを呼び出して、生成されたプロジェクトファイル群を自動インポートできるようにしました。

作業スペースもdropboxのクラウド環境において簡単にバージョン統一を行っています。

まぁ言ってしまえばaruduinoIDEもmbedもSTM32CubeMXも設定を効率化してその分コード書きに集中できるようにする便利なツールです。何より標準でHALドライバがつかえるのと設定がうまく体系化されている印象で取っつきにくさを解消してくれています。こういったツールについていろいろと意見があるようですが、私のようななんちゃってプログラマには本当にありがたいツールですね。

最後にテスト動画を。


 秋月で1個250円のSTM32F042K6T6単体で160x128のSPI接続カラーTFT LCDをつなぎ、ADC入力電圧を表示させています。

2018年2月21日水曜日

mcHF V0.7 component kit 製作しました(訂正事項あり)

中華製のコンパチ完成品が出回るほどの人気のあるM0NKA Chris氏のmcHFが昨年後半V0.7を頒布開始したという情報をいただきました。早速暮れにcomponent kit(MCUとその周辺以外表面実装部品含めたユーザー装着のキット)をオーダし入手しました。その後専用ケースキットも頒布開始されましたがIn Stockになるや否やすぐに売り切れてしまい、再開するまで何度かサイトをチェックしてようやく入手することができました。

現在は表面実装部品装着済みのケース付きキット(Full kit & case) として頒布されていますが、今のところout of stockになっています。(オーダーページはここ。)

入手したは良いものの年末のインフルエンザから関ハムシンポジウムとなかなか製作に入れませんでしたが、ようやく一息ついたところで一気に製作しました。


キット自体はオーダーから約1,2週間Royalmailで発送されます。今回はV0.6よりも二回り大きなパッケージで送られてきました。


component kitの中身です。V0.6よりもふた回りも大きな基板で、UIパート、Logicパート、RFパートの3パートに分かれています。それぞれのパートごとに対応する表面実装部品、とそれ以外の部品が袋に詰められていて、さらに袋の中にはBOMが納まっています。

組み立てには袋ごとに取り出してその中のBOM表の順番に部品をシルク印刷の部品番号と極性を合わせて一つ一つ装着していきますが、唯一2ピンのダイオードについてはシルク印刷では極性がわからなかったため、回路図との照らし合わせが必要です。またGalleryページをよく見ながらヘッダピン、ソケットを間違いないように取り付けます。とくに、ヘッダピンソケットのひとつはオプティカルエンコーダ端子のハンダ付け部分のうえに閲覧者かぶせるように装着するので、エンコーダの端子ははんだ付け後短くカットしないとソケットがうまく装着出来ないので要注意です。

追記: オプティカルエンコーダはハンダ付けせずに、リードをそのまま挿入してピンソケットの下側からソケットに挿入するようになっていました。もちろんハンダ付けしても差し支えはありませんが。インストラクションはよく読まないとだめですね・・・





こんな感じにすべてのパーツを装着します。V0.6のときは1週間程度かかりましたが、今回は延べ3日で装着完了しました。今回のパッケージでは、ヘッダピン2つ、0.1uFのチップコンデンサが不足していました。いずれも手持ちのもので補填してます。


次にいよいよケースに収める作業です。ケース本体は黒く塗装されたアルミシャーシと3Dプリンタで成形したフロントパネル、つまみも3Dプリンタで作成されています。


まず、一番下になるRFパートの基板を下のシャーシの溝に入れてスライドさせます。レギュレータとファイナルの石のフランジが丁度下のシャーシにあたるので特にねじ止めしなくても放熱は問題なさそうです。グリスを薄く塗っておくとよいかもしれません。

上の画像はRFパートの上にLogicパート、UIパートを重ねてパート間のピンの接続を確認しています。このキットではピンとそれに対応するソケットの位置が縦方向に微妙にずれていて正しく組み合わせるのが少々難しかったです。

確認が済んだら次はいよいよ前のシャーシを組み合わせます。


一番上になるUIパート基板をフロントシャーシの溝にはめ込みますが、その前にスピーカーを上の画像のようにシャーシの据付位置に置いてからUI基板をはめ込みます。この状態で各タクトスイッチの押し具合を確認します。自分のキットでは、POWER SWの高さが微妙に合わずスイッチの頭を1ミリほど削って収まりました。


というわけでRF基板が納まった下のシャーシにLogic基板を重ね、さらにUI基板を装着したフロントシャーシを重ねます。ピンとソケットの組み合わせに問題なければスピーカ端子の配線を繋げ、両サイドのパネルを装着してねじ止めしダイヤルノブをはめて完成です。

多少追加加工は必要でしたが、V0.6中華ケースほどではなく比較的すんなりケースに収まりました。

一応MCUにブートローダとファームウエアがインストールしてあるので配線に誤りがなければ電源を入れて起動します。起動自体は問題なく動作しましたが、ブートローダが古いためか電源をオフにしても再起動してしまうという不具合がありました。YahooのmcHFフォーラムを検索した結果、ブートローダのアップデートで解決する情報をみつけたのでDFUモードにして最新のブートローダ(4.0.0.0)をDfuSeDemo経由でインストールし、再起動問題は解消されました。ついでにファームウエアも最新版に入れ替えました。

そのほか送信出力が出なくてしばらく悩みましたが、ファイナル部の電源供給用のRFCの配線間違いを見つけ改修し、無事送信出力も出るようになりました。

早速送信波をAPB-3スペアナで観察しました。

80m
40m
30m
20m
17m
15m
12m(参考)
10m(参考)
ざっと観察したところ、V0.6のオリジナルに比べて全体的に高調波が抑制されていましたが、30mと17mは2次高調波レベルが-20dBc程度と十分抑制されていません。やはり160mを除いたすべてのアマチュアバンドで内蔵LPFの高調波を抑制するにはLPFの改造は必要です。

さらに、近傍の不要輻射を見てみます。


CWモードで送信波を観察しましたが、基本波から750Hz離れて局発リークが比較的高レベルで観察されます。帯域外不要輻射許容レベルを超えているのでIQミクサーのバランス取りも必要です。逆サイドバンドはメニューのIQバランス調整で十分抑制されますが、局発リークは抑えられないのでハード的にバイアス調整用のポテンショメータの追加が必要のようです。

それからハイバンドになるとLogicパートへ送信波の回り込みもみられており、V0.6のケースのようにRFパートとLogicパート間に遮蔽板を挿入する必要がありそうです。

というわけで、JAでこのV0.7の免許を下ろそうとするとV0.6と同様少々の改修が必要になります。

筐体は大きく改修自体はしやすそうなので、少しずつ進めていこうと思います。

2018年2月5日月曜日

関西ハムシンポジウム2018に参加しました

去る2月4日尼崎市で開催されました関西ハムシンポジウム2018に参加いたしました。

例年前日車で現地まで向かいましたが、今回は当日電車で行くことにしました。

丁度開場の9:30に到着しましたが、すでにたくさんの方が入場されていました。


人ごみをすり抜けて『リトルガンくらぶ』ブースに向かいそそくさと展示頒布物を広げ準備。


 今回初めてVNシリーズ全モデルを頒布しましたが、各2セットずつ捌けました。やはり表面実装部品を全て取り付けるというキットはなかなか手が出しにくいようでしたね。完成品やVHF、SSB版のリクエストもいただきました。

また先日組立てたCentSDRの完成実働機を展示したところ皆さん大変興味お持ちのようでした。ほかにもまあべるさん作のμBitXやmcHFV0.6コンパチ機の痛いバージョンの展示、ジャンク販売などにぎやかなブースとなりました。

 それからVN-4002の様々な改善やテストなどでお世話になりましたJE3QDZ 吉村さんと、JI3IVL 森さんがブースにおいでただきアイボールと相成りました。


VN-4002が乗っかっていますが、吉村さんご持参の小型アンテナチューナーです。コンパクトにきれいにまとまっています。80m~20m対応だそうでこれでアンテナ、バッテリー、イヤホン、パドルを用意して手軽に移動運用できそうです。


こちらは森さん作の小型アンテナチューナーです。迷彩柄の缶にポリバリコンと手巻きの空芯コイルで構成されていますが、注目はダイヤルです。正面から撮っていなかったので若干わかりにくいですが、味気のない皿ねじ頭がかわいい猫さん顔になっています。ダイヤル全面でなく中央にポチッと小さくさりげない感じがまた良いですね。

良いものを見せていただきましてありがとうございました。

ほかにもVNシリーズを作っていただいた方などなど、ブースにお寄りいただきお話することができました。あっという間に充実した時間を過ごさせていただきました。

午後になって終わりも近づき人も少なくなったころに北神電子サービスさんのブースにCentSDRを持って出向き、PUPさんと橋本さんにお会いしてCentSDRなどで情報交換いたしました(橋本さんには午前中にもブースにいらしていただきました)。


上がPUPさん作、下が私作のCentSDRです。目についたのはLCDの輝度の違いでした。PUPさんはバックライト用のLEDの電流制限抵抗をオリジナルより大きくしたそうですが、それでも私のLCDよりも明るくて画像もくっきりしています。同系統のLCDではありますが、私がaitendoから調達したLCDとPUPさんがeBayから調達したものとは表示具合がだいぶ違うようです。LCD自体の消費電流は測定していませんが、eBayのLCDは若干ノイジーだそうで似ているようでいろいろと違うのかもしれません。

というわけで本当にあっという間に時間が過ぎてしまいました。お会いできました皆様ありがとうございました。また夏の関ハムにも時間が合えば参加したいと思います。

で、最後にゲットしたものを披露。


PUPさんから、CentSDRのパネル(レーザー刻印された本格的なパネルです)、ノイズキャンセラー基板、橋本さんからはHDS-SDR-1生基板(RTL-SDRを組み込んだコンバーター、BPF基板)BCL-LOOP13基板を、JF1DIR広瀬さんからSTM32F103激安ボードを分けていただきました。ありがとうございました。

VNシリーズはぼちぼち捌けましたが、各バンドいくつか残っていますので頒布ご希望の方はメールをお送りくださいませ。