アンテナ切り替えスイッチとエレキー完成

概要

懸案の,アンテナ切り替えスイッチ(リモコン部)とエレキーのrefurbish完了しました.

今まで,PICをそれぞれ使って,アンテナ切り替えとエレキーを動かしていましたが,メンテ性の向上のためにmbed1個に置き換えました.実際の機能としては何にも変わりません^^;

mbedの良いところは,ターミナルへ出力ができるので,途中の変数やポートの状況を出力して確認できて,debugが楽だというところです.

今後アンテナの構成を変えたような場合も対応が楽にできると思います.以下従前とreburbish後の様子です.

Antenna switch & electronic keyer
Antenna switch & electronic keyer

このアンテナ切り替えスイッチリモコン部は,元々手動のロータリースイッチで+/-/ACの電源を切り替えて,柱上の2系統の切り替えボックスに送り込み,それぞれ2個のリレーを独立して切り替え,3機+3機のアンテナを切り替えてました

その後リグからのバンド情報をPICでデコードして,自動で切り替えを行うようにして使ってきました.

IMG_2373

改造後の様子ですが,基板が前面パネルぎりぎりに取り付けられています.これは,mbedにUSBケーブルを基板の後ろ側から差し込む都合上このようになってしまいました.こんなに前に寄せる必要があるとは,取り付けるまで解りませんでした.mbedは基板に縦に取り付けて,上からケーブルを差し込むようにした方が良かったです.

アンテナ切り替えスイッチは,案外複雑で^^; ソースはPICのものを流用しました.特に問題なく移植できました.

むしろ,今まで機械式のリレーを使用していたのを,フォトリレーに置き換えたのが1番大きな違いかも知れません.リレー4個がなくなってすっきりしましたし,それに伴い,リレーのドライブ用トランジスタと環流ダイオードもそれぞれ4個不要となりました.

いままで,PICのデジタル出力がHのとき,トランジスターをオンにして,リレーが切り替わりましたが,新システムでは,mbedで直接photo relayをグランドに落とすので,出力の論理を反転する必要がありました.

エレキーは,すべての処理をタイマー割り込みで行うようにしたため,今までのソースは全く使えませんでした.ゼロからのコーディングとなりましたが,機能は前と変わらないと思います.

ソースは当然残しますが,またシステムが変わると,ソースコードの使い回しはできないので,アルゴリズムについて,自分用のメモを残しておきます.

エレキーのアルゴリズム

基本は,長点または短点出力が終わり,1ドット分のスペースが終わった瞬間(つまり,次の符号の立ち上がり時)に,パドルが押されているかを判断します.

短点が終わった場合は,次の優先順位で,次に出す符号・状態を決めます.

  1. パドルの長点側が押されていたら,次は長点
  2. 短点が押されていたら次は短点
  3. どちらも押されていなかったら,次はアイドル

まあ,これは当たり前です.

長点が終わるとき

  1. 短点が押されていたら,次は短点
  2. もし,長点が出ている間の途中から,今の時点までに短点側のパドルが押されていたら,その状態が保持されていなくても,次は短点
  3. 長点が押されていたら長点
  4. 次はアイドル

ということになります.2がいわゆるメモリー動作で,どの時点からメモリーを有効にすればよいかは,要調整です.現在は,長点の後ろの1/3と,長点後のスペースの間に押されていれば,ということにしています.

なお,すべての処理は,1msごとの割り込みで処理します.スピードもアナログポートからボリュームの電圧を読み込み,最低の速度と最高の速度の間を計算して出しています.

動作としては,Iambic Aに近いです.

ケースはその頃からの流用のため余計な穴だらけです.TNCやアナログモデムの電源を兼ねていた時期もありました.
TLP222A-2F

復活しました(Nuro光)

Nuro光が開通しました.

事前の調査で,ちらほらプレビューにあったのですが,auギガビット光より,速くはないです.

測定品質が低いのが気になります.こちらのPCのLANインターフェースがくたびれてきたのかもしれません(ときどき,Link down/upがログに残ってます.)

20141206nuro

しばらくシステムダウン

11月30日をもって,現在のプロバイダーとの契約が終了します.

次のプロバイダーは手配中なんですが,こちらが申し込みのWebサイトに正しく入力した住所が,一体全体どうすると工事担当に間違って伝わるか,全く理解不能なんですが,そういう,バカバカしい理由で,段取りがつかず,つなぎ目なしで,つぎのプロバイダーの開通とはいきませんでした.

ということで,11月30日から,いったいいつまでになるか解りませんが,しばらく当サイトは休止いたします.

追記(2014年11月30日(日))

今朝,Nuro光開通センターから連絡があり,開通は12月6日(土)午後と決まりました.一週間のご無沙汰となります.

電話から工事が一週間ということは,最初の電話で段取りができれば,ダウンタイムはほとんどなくて済んだんですね.

まあ,しょうがない^^;:

まさか,コンピーターの画面を手書きで写している?

SDCC + MPLab X その5 結局CUI

さて,いろいろ難はあるものの^^; MPLab XからSDCCを起動してバイナリーの作成ができるようになりました.以前MPLab 8 + SDCCでいじっていたPIC16F88用のソースをbuildしてみました.SDCCにも新旧で多少変化がありますが,atinterruptの前にアンダースコアを2個つけたくらいでbuildできました.ただし,PICにダウンロードして動作させるところまではやっていませんが.

で,今回の本題であるPIC16F1827のXC8用ソースをbuildすべく,準備を始めました.”New Project…”を選んで進んでいくと,なんと,SDCCがToolchainとして見えない^^;

ネットでざっと調べると,RodrigoさんのToolchainでは,16F1827はサポートしていないようです^^;

しょうがないので,コマンドライン(CUI)で,sdccを使うことにしました.MPLab X + SDCCの環境で,PIC16F88のソースをbuildしたときのコマンドラインをコピーして,88を1827に変更したらコンパイルできました.

ただし,XC8とSDCCの間には,暗くて深い溝があります^^; 一つずつ調べてエラーつぶしていくという地道な作業が必要です^^;

SDCC 3.2からこうなったらしい.