電信聞き取り練習機の製作
JA1XTQ
月日が経つのが早く感じる年齢になりました。
気が付けば随分と長い間電子工作をしていません。
ということで、頭のリハビリを兼ねて何か作る
ことにしました。
以前から和文で交信したくて練習しているの
ですが、なかなか長続きせず上達しません。
電信聞き取り練習機を作ろう、ということで少し
考えてみました。
1 練習機のポイント
作るにあたって,以下のような事柄をポイント
としました。
・和文が出来る
・ヒアリングのスピードを変えられる
・キーボードで課題電文を入力する
・カナ表示できる
・マイコン(AVR)を使う
・キーボードは有るもの(PS2)。
このようなポイントを踏まえた上で構想検討
に入りました。
2 初期構想
2.1 ハードウェア
以前作ったロギングマシーンの回路をその
まま利用する。余計なもは使わない。
(外付けEEPROM、RTC、KEYERとか)
ちなみにキーボードは古いPS/2(US)です。
USBはプロトコルが違うので不可です。
@ロギングマシーン写真
.gif)
A回路図
BPCB図
2.2 ソフトウェア
主な機能は下記を想定しました。
(1)英字(ABC)→英字電信符号変換
(2)和文(カナ)→カナ電信符号変換
(3)電信符号出力(KEY出力)
(4)課題電文入力
(5)課題電文保存(EEPROM)
(6)課題電文読み出し(EEPROM)
(7)課題電文消去(EEPROM)
(8)電文出力速度変更
3 出てきた問題点と対策
ソフトウェアは仮組の状態でハードの確認
と並行します。デバッグ文を入れながらハード
とソフトの切り分けをするわけです。
時系列と合っていないかもしれませんが主な
ものは次の通りです。
(1)LCDが表示されない
原因:LCDの+端子の配線もれ。
対策:配線追加しました。
(2)MicrochipStudioのEEPROM書き込み
ファイルがエラーになる
原因:VASCOMを使っているのですが、
WIN10以降はPICライター
がVASCOMでは使えなくなって
しまいました。
そのためMicrochipStudioに
Hex形式で読み込ませて焼い
ています。最近内部EEPROM
を使っていなかったようで今回
気が付きました。しょうが
ないのでIntel形式のHexファイル
に手動変換してみたのですが、
MicrchipStudioは気に入ら
ないようで弾かれます。
丸一日無駄な時間を取られ
ました。
対策:だんだんイラついてきて、プログラム
で初期値を書き込むようにソフトで
対応することにしました。
(3)内部EEPROMが書き込まれない
原因:実績のあるプログラムをコピペしたの
ですが、書いて、読んで、消して、読ん
で、書いて、読める。
電源をつけている間は読める。でも電源
を切ると消える。2日間悩みました。
WEBで検索すると、書き込み電圧が低下
するとこういう症状になる、らしいとか。
有力な情報なしです。
でも同じ回路でちゃんと動いているしなあ。
ノイズか電源まわりが弱いのか原因が特定
できない。
(後日バグだったことが発覚。)
対策:使う予定でなかった外部EEPROM(24LS64)
に書き込むようにソフト側で対応すること
にしました。
(4)キーボード入力でカナが使えない
原因:キーボード入力はVASCOMの関数を使って
います。カナなんか対応してないですよね。
深くは調べず考えず、そうだよなー。
対策:ASCIIとJISのコード表を眺めつつ、何か
ないかなあ。そうだ電信符号からカナに
変換すりゃいいじゃん。
ソフト側で対策することにしました。
(5)キーボードからの文字コードが突然変わる
原因:まったく判らず。
30年くらい前にSUNワークステー
ション(ジャンク)用に買ったもの
なので使い方すら覚えていない。
高かったのだけ覚えている。
KEYコードをプログラムで表示させて
判明。実行中にBS(後退)が¥に突然
変わる。なんじゃこれ。
確かにJISキーボードのキー配置は
そういう風に見えなくもないけどねー。
P写真
.gif)
対策:場当たり対応しました。変わった文字
をプログラムに埋め込んでしまいました。
他にも有りそう。
@ BS(後退)と¥
A ,と;
B .と:
(6)外部EEPROMに書き込み(読み込み?)出来ない
原因:2日考えました。内容をLCDに表示させ
たり四苦八苦した結果、ようやく判明し
ました。なんと初歩的なミスでした。
変数の型変換が必要なんですが、そこで
勘違い。いったん型変換して両方の型を
合わせないと正しく結果が出ません。
VASCOMでは、コンパイル時はエラーには
なりませんが、実行させると値がゼロか
NULLになるようです。
ということは内部のEEPROMもか?
急遽BYTE型で実験したら、電源
を消しても消えませーん。
対策:I2cSENDOとI2CReceiveで使う変数の型を
合わせたら上手くいくようになりました。
とりあえず大きなバグは無さそうです。時々キーボ
ード入力でおかしなことが起こります。
たとえば急に大文字が小文字に変わったりとかで
安定しません。早く打つと出るような気がします。
キーボードなのかソフトのバグなのか判りません。
バージョンアップしつつ暫く使ってみましょう。
<追加>キーボードについて
PS2用でも色々なKBが有るので、テーブルを
書き換えるとか記号を読み替えるとかが
必要です。
JISカナKBは対応が難しいと思います。
キーを押したときに何をPCに送っているのか
見てみないと上手くいきません。いずれにし
何らかのソフト側の対応が必要になると思い
ます。結構面倒です。
4最終結果
回路は変更なしです。配線漏れがありましたけど。
C配線(部品面)写真 上からみると
.gif)
D配線(配線面)写真 裏から見ると
.gif)
E仮ケース写真 仮ケースに入れた
.gif)
●プログラムの動作画面と操作
CWヒアリングマシン動作用プログラムをPCで
立ち上げたところ
F写真
.gif)
CW練習機の使い方
●電源を入れると"HELLO"が表示されます。
すぐに消えてセーブした電文が表示されます。
G写真
.gif)
●まず練習文を入れます
手順は次のとおりです。
・セーブした電文が表示されています。
・新しい電文を入れるときはEEPROMを
消去(サブメニューC)ロード(メニューL)します。
・キーボード入力します。
・和文にするときは半角カンマ”,”
を打ち込みます。
(注)先頭からカナの場合はまず半角“,”
を入れてください。
・"kanahenkan"と表示されます。
I写真
.gif)
・短点は"O"(英字"О")、長点は"I"(英字"T")
終わったらリターンを押下します。
J写真
.gif)
・カナ変換を終わる時は”.”1文字打ち込みます。
・入力した電文が全部表示されます。最後尾に半角
”.”が表示されます。
K写真
.gif)
・続けてカナを入力するときはそのまま"O"(英字"О")、
長点は"I"(英字"T")を入力カナ変換を繰り返します。
変換できないときは”#”が表示されます。その時は
バックスペースで”#”を削除します。
L写真
.gif)
・カナ変換を終わる時は半角”.”を押下します。
M写真
.gif)
・入力した電文が全部表示されます。
・文字数は32文字(2行)です。
最初は短い電文で動作確認してください。
●メニュー
メニューは下記のとおりです。
P CW出力(KeYing)
S SAVE
L LOAD
N NEXT(SUB MENU)
N写真
.gif)
サブメニューは下記です。
M CLEAR
S SPEED (10-30)
O写真
.gif)
・P プリント LCDに表示されている内容
をCW出力します。
・S セーブ 練習文を入れ終わったらEEPROM
にセーブします。
・L ロード EEPROMから練習文をロードします。
電源を入れた時に前回セーブした
内容がロードされます。
・N ネクスト サブメニューを表示します。
・M クリア EEPROMの練習文初期化をします。
・S スピード 打鍵速度を変更します。
(10〜30 大体の速さです)
電子工作、プログラミングの参考になれば幸いです。
プログラムリスト 需要は?で長いので所々です
暇な方は眺めてください














