http://blog.ss1200.lomo.jp/?eid=734 で作ったストレートラジオについて。

 

受信周波数の低いところで、再生量調整VCをいっぱいに入れないと再生がかからないことがありました。

 

受信そのものに影響はありませんが、使い勝手が悪いので少し手直しすることにしました。即ち、VCに並列に47PFの単板セラミックコンデンサを入れたのですね。

 

目論見通り、VCの羽の位置は使いやすいところに来たのですが、ここで問題発生。

 

「明らかに音が悪くなった」

 

どうも妙に歪っぽい。再生を絞っても何か変。回路図を見ると判るのですが、検波用FETのドレインの負荷にRFチョークを入れてそこから入力側の同調回路に帰還コイル経由で戻しています。当然、高周波だけではなく低周波もいくらかは戻されるのですが、その経路に単板セラを追加したのが不味かったようです。

 

仕方ないので、VCがスーパー用2連だったので今まで遊ばせていた局発側を並列に繋いで使う方法に変えました。これだと容量が大きくなりすぎる可能性があるのですが、実際に使ってみたら特に問題にはなりませんでした。

 

肝心の音質ですが、元の音に戻りました。ポリバリコンもフィルムコンデンサーな訳で低周波でも良好な特性を示すのでしょうか。

 

 

 

 

H8/300H Tiny の後継マイコンを見つけなくてはならない。マイコンいじりは完全に趣味なのでこれを機会に止めてしまっても良いのだけれど、子供の頃から慣れ親しんだものはそう簡単に脚を洗えるというものではないので。

 

ルネサスはH8の代替としてRXを用意しているが値段がやや高いのと、おそらくは対応しているgccが無い(※)と思うので、Linuxを開発環境としているものとしては手を出しにくい(多分、wineで何とかなるとは思うけど)。

 

ということで、あっさりとmbedにしました。たまたま、秋月のラインナップにH8/300H Tinyと内容的に近い製品を見つけた、ということもあります。

 

ものは LPC11U35マイコンボード(LPC11U35 QuickStart Board互換)というもの。PCと繋ぐとUSBマスストレージになって、プログラムの書き換えが大変容易というのが売り文句です。買ってから半月ほど放っておいたのですが、ようやく本日試すこととなりました。

 

で、問題発生。書き込んでリセットしてもプログラムが起動しません。どうも、プログラムが書き込まれていないようです。一見、書き換わったように見えるのですが実際は書き込まれていないという分かりにくさ。

 

仕方ないのでネットで情報を漁ったのですが、なかなか似た事例を見つけることが出来ません。探し続けること15分くらい、ようやく見つけることが出来ました。

 

http://tomono.eleho.net/2017/07/10/6424/

 

上記記事の参照元はこちら。
https://os.mbed.com/users/kazu_zamasu/notebook/ubuntu%E3%81%A7mbed%E3%83%95%E3%82%A1%E3%83%BC%E3%83%A0%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%E6%9B%B4%E6%96%B0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95/

 

 

せっかくのUSBマスストレージだというのに、ddを使わなくてはならないというのは何とも残念。

 

いやはや。

 

 

 

※野良gcc(非公式移殖)がどこかにあるかも知れないので。

 

「コンピュータアーキテクチャの寿命は10年で、登場から3,4年後にピークを迎える。」

 

昔、何かの雑誌で見た覚えのある言葉だ。誰が言ったかはよく覚えていないのだが、NeXTの記事が近くにあったのを覚えているので多分その辺りの関係者の言葉かも知れない。

 

ちなみにNeXTcubeは1988年、NeXTstationは1990年発売とか。会社そのものは1985年設立、1996年アップルが買収。確かに冒頭の寿命予測に合致している。

 

 

これに当てはめて身近なコンピュータアーキテクチャを見てみる。アーキテクチャが具体的に何を指すのか、は諸説ありそうだがとりあえず「他と差別化できる明確な特徴」とでもしておく(※1)。年代はWikipedia日本語版による。

 

1982年10月 PC-9801

 

1980年台後半 H8シリーズ(※2)

 

2005年 mbed プロジェクトスタート

 

2005年 Arduino プロジェクトスタート

 

2007年1月 iPhone発表

 

2012年 Raspberry Pi試作品。

 

 

PC-9801の終盤期のモデルであるBX4は1995年7月に登場。しかし1990年にはハイパー98が投入されているのでこの辺が「終わりの始まり」と言える。なお、ソフト(特にゲーム)互換の基準となったVM21は1986年11月。

H8が終わっているのはよく判る。mbedやArduinoも終わっているんだなあ。iPhoneは今年で終わりですか、そうですか。使ったこと無いのでよく判らん。ラズパイは昨年がピークだったことになるが、確かに関連書籍とかたくさん並んでいたし、新製品投入とかそれなりに盛り上がっていたような気がする。

 

今年盛り上がったのは「人工知能」だと思いますが、これをアーキテクチャと呼ぶには流石に無理があると思います。

 

さて、次は何が来るのか。答えは3,4年前にある!(違

 

 


(※1)所詮iPhoneの後追いに過ぎないAndroid(2007年11月)はこの定義から外れるので取り上げない。また、タブレットPCについてはiPad以前から「可搬でキーボード無しかつタッチパネル操作」なデバイスは存在し、初出がはっきりしないのとどれもパッとしないので、やはりここでは取り上げない。
(※2)H8のどこら辺が「他と差別化できる明確な特徴」を備えているのか、と言われそうだが(いろんなメーカーのいいとこ取りをし過ぎて)特徴が無いのが特徴、ということで。国産品にはこれくらいしか取り上げるのが無い、というのもあります。

 

geanyというIDEがあります。比較的軽量で起動も早いので、デスクトップをLinuxにしてから使い続けてきました。

 

何かまとまったものを作ろうとすると、既存コードの流用やデバッグの効率化などからソース1本で収まることはまれです。仮にプログラム自体は1本になっても、取説や設定ファイル等も必要になり、これらを統括して管理する必要が出てきます。

 

このため、IDEにはプロジェクトマネージャが付属しているのが普通です。というか、これが無いと単なるエディタでしかありません。プロジェクトマネージャの性能こそが、IDEの優劣を決めるキモと言えるでしょう。

 

その点、geanyは余り良いとは言えません。一番の問題は、一つのプロジェクトが管理できるディレクトリが一つしか無い、ということです。

 

ファイルを開いたままにしておけばサイドペインにそれらしく表示はされますが、一旦閉じてしまえばそれで終わりです(履歴である程度たどることは可能ですが)。


要するにIDEとして、他のディレクトリ内のファイル(あるいはオブジェクト)と現在のプロジェクトとの関連付けを記録して管理する機能がないのですね。必要であればMakefileに書け、そういうことでしょうか。

 

なので、geanyは大きなプロジェクトの開発には向かないと思います。単体で完結しているもの、例えばデスクトップで使うパッケージソフト、即ちtarballを落としてきて展開して./configureでビルドできるようなものを扱うのがいいところでしょう。

 

ちなみにgeanyのプラグインには拡張されたプロジェクトマネージャが2つも登録されており、そのことからも管理機能の弱さが伺えると思います。

 

 

さて、上記以外にも個人的に気になっている点として「新規プロジェクトを作成した時点で雛形を展開できない」というのがあります。ひょっとしたらプラグインになっているのかも知れませんが(プラグインの数が多すぎて全部調べていない)、勉強ついでに自作することにしました。

 

あ、上の方で長々と書いたディレクトリの管理云々は単なる前振りです。本稿では扱いません、忘れて下さい。

 

 

 

 

何を使って書くか?

geanyプラグインにgeanyluaというのがあります。簡易的ではありますがダイアログも出せますので、単なるバッチ処理以外にも使えると思います。今回はこれで書いてみることにします。

 

何をさせるのか?

「雛形」の中に何を含めるか、を考えなくてはなりません。


a) プログラムの決まりきった形式(スケルトン)の出力
b) 静的リンクされるオブジェクト(特にクロス開発の場合)の展開
c) geanyが標準とする(もっぱらOS付属のコンパイラやバイナリ)以外のツールを呼び出すメニュー項目の用意
d) ストレージがリモートの場合、領域の確保やアカウントの取得

 

このうち、a)とd)は別の機会に譲ることとして残りの2つを作ってみることにします。特にc)については、H8/300Hのプログラムを書く際仮想環境上のコンパイラを使うのですが、今まで呼び出し方法を手動で設定していたので是非とも自動化したいところです。

 

 

geanylua の使い方
詳しくはgeanyluaのドキュメント類を参照。lua5.1相当で、標準ライブラリもそのまま使えるようです。

 

 

プログラムの設置場所
~/.config/geany/plugins/geanylua/
なお、サブディレクトリ events にはコールバックを設置できるのですが、イベントそのものの種類が少ないので使いどころは限られると思います。

 

 

プログラムの呼び出し
ツール(T) -> Luaスクリプト で設置したプログラムファイルがメニュー項目に現れるので、そこから実行できます。

 

 

プログラムの説明
Yet Another Project Startup tool
短いプログラムなのでコードを読めば理解できるはずです。所定通り動作することは確認していますが、バグが残っている可能性があります。
尚、プログラム全体が do end に括られていますが、これはifのネストが深くなるのを回避すべくreturnで終了したかった為です。必須ではありません。

 

 

まとめ

geanyの拡張方法が分かったのでしばらく使って様子を見ようと思います。

 

 

実行すると出現するダイアログ。何故か2行目のラベルが回りこんでしまって格好が悪い。

 

プログラム

yaps.lua

 

 

電脳戦機新作、らしい。
http://vo-index.sega.jp/index.html


今作は(キャンセルせずとも)硬直なしで機動可能なので、以前にもまして「力押し」のゲーム展開になりそう。ので、個人的にパス。

これを書いている時点で、アファームド、サイファー、VOXが見当たらないがキャラクタスロットが6つも空いているので多分全部収録されるんだろう。原作読んでいれば判る、のか?

 

あと、キャラゲー(?)になったので演出がうざいのと特殊攻撃が色々と微妙。針ばらまかれて死ぬとか嫌すぎる。

 

テーパーリーマーの刃が鈍く、気づいたら親指の皮が剥けていた。

 

 

マイコンばかり続いたので気分転換にラジオを作りました。

 

回路形式は再生検波を用いたストレートです。私は滅多にスーパーを作らないのですが、一般的な部品を集めて作ろうとすると市販品と大差ないものしか作れないからです。市販品とはひと味違ったものを作ろうとするとそれなりに大掛かりになってくるので、ならば市販品はほとんど見ないストレートラジオの方が面白いだろう、という考えです。

 

目標

低電圧(3V程度)で動作すること。以前作ったものは6V以上必要で、エネループを6本も使っており不経済でしたので。

 

回路について

デバイスは手持ちの都合で2SK170GRを使いました。入力容量が大きく(カタログ値で30PF)これが同調回路の負荷になって、必要なバンド幅を得ることが難しくなります。なお、現在はディスコンあるいは保守品種のはずで入手困難だと思います(代替は2SK369あたりか。但し入力容量が75PFもあって今回の用途には不向き)。

 

同調回路にはスーパー用として売られていたバーアンテナとポリバリコンを使いましたが、案の定、高いほうが受信できませんでしたのでアンテナコイルを5回ほど巻きほぐして使っています(実は最初、10回巻きほぐしたら低いほうが聞こえなくなったので、慌てて5回戻しました)。これでQTH(和光市)でNHK第1からニッポン放送まで何とか聞くことができています。どうしても中波全域を聞きたいならコイルを手巻きするか、デバイスを入力容量の小さいものに変更しなくてはなりませんが今回はそこまで追求しませんでした。

 

検波用のFETは当初ミラー効果を嫌ってカスコードにしたのですが、どうにも出力不足で試行錯誤の結果、2段目のゲートをソースに繋いで単なる定電流ダイオードにしてしまいました。取り外しても良かったのですが、まあ、たまには変わった回路もいいかな、と(ほとんど意味はありませんが)。


検波時のIdは0.13mA程度になりました。Vdsが低いので出力も小さく実用ぎりぎりといったところです。聴感上の歪みは小さいと思います。

 

アンプはワンダーキットです。この手の低電圧アンプに疎くてキットばかり使っています。便利ですが割高な感じは否めません。

 

電源電圧はアンプの仕様から4.5〜3.6Vとしました。乾電池3本あるいはエネループ3本です。検波回路の動作点への影響が結構ありましたのでソース抵抗はVRにしてパネルに出してあります。

 

主なトラブル
実験中にモーターボーチングが発生しました。この手の高利得アンプを使うと必ずといっていいくらい発生します(私の場合)。とりあえずデカップリングを入れてみましたが気休めにもなっていません。が、実際のケースに収めてバッテリーで動作させてみたら発生しなくなりました。考えにくいのですが、実験用可変電源に問題があるのかも知れません。まあ、結果オーライということで。

 

調整
検波回路の動作点
VRを回し、バイアスを浅くして電流を流すと聞こえなくなりますのでその少し手前で止めます。

 

再生量
VC2を左に回して容量を大きくすると帰還量が増えて発振しますので、その直前で止めます。受信周波数の低いほうだと帰還量が不足して発振に至らない場合もありますので、その際は小容量のCをVCに並列に入れる等します(増やしすぎると受信周波数の高い方で発振停止できなくなります)。

 

受信範囲
FETの入力容量の影響及び実装時の浮遊容量の影響により、中波全域をカバーできません。バーアンテナを使っているのでコイルの位置を動かしたり、ポリバリコンに付いているトリマーコンデンサを回したりして、聞きたい局を聴けるように追い込みます。

 

 

この手のFETを3V程度で使おうというのがやはり間違っているようで、スピーカーをガンガン鳴らす迄には至りませんでした。アンテナをループアンテナ等の大きなものに変更すればもう少し何とかなったかも知れません。
また、FETの入力容量の問題は、高周波用のFETを使うか(但し、2SK61系以外は音が悪い)コンデンサマイク向けのものから入力容量や帰還容量の小さいものを選んで試してみたいところですが、このタイプはgmが1桁小さくて別の方向で苦労しそうです。

 

 

承前。

 

VirtualBoxのGuestAdditionが使えないと何が困るかといえば、実はそんなにない。コピー&ペーストとか、フルスクリーン表示とか、下請けサーバーとして使う場合は然程重要性は無い。

 

ディレクトリ共有も、ホスト・ゲストどちらかがnfsサーバーになれば良い(ホスト・ゲストともLinuxの場合)。ただ、その設定の手間が面倒なのですね。で、GuestAdditionのディレクトリ共有におんぶに抱っこな状態となる訳です。

 

 

さて、いつまでもこのままという訳にもいかないので、Slitazのカーネルをバージョンアップしてみることにしました。バージョンはwww.kernel.orgに列挙されている中からLTSとされている4.9.50を選択。

 

3.2系からのアップデートなので、make oldconfig とかやっても新しく追加された項目に対して設定してやらなくてはならない。もう、面倒なことこの上ないのでカーネル圧縮にxzを選択した以外は全て既定値のままにしました。(しかし、圧縮されずにインストールされた。何故?)

 

その後、make menuconfig でプロセッサがPetium Proだったので core2 に変更して、make してインストールしました。

 

で、Slitaz起動後、無事、VirtualBox のGuestAddition をインストールすることができました。

 

しかしまあ、あれだ。H8/300H用のクロスコンパイラを使うためだけにこんな苦労するのもいい加減飽きてきましたので、そろそろ新しいことを探したいと思います。

 

 

まだ2018年版のイラストは上がってこない(謎

 


Search

Calendar

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
<< October 2017 >>

Archive

Mobile

qrcode

Selected Entry

Link

Profile

Search

Other

Powered

無料ブログ作成サービス JUGEM