NJ-EK F886 : アイアンビックパドル用エレクトリックキーヤ by Tama (2008/08/12 -- )

スポンサーリンク


製作過程

プログラム済み配布用基板

メッセージメモリ付エレキー(PIC16F886を使ったエレキー)

PIC16F886 エレキー 電子工作

背景
いくつか、エレキーを製作して短点、長点の処理やスクイーズ時の処理もプログラミング上自分なりの方法ができてきました。
次はメッセージメモリ機能を搭載したものをコーディングしてみたいと思うようになりました。
また、いままで使ったことのない型番のPICを使って経験値を高めようという思惑もあります。


構想

PIC16F886 IO割付
28ピンのDIPタイプPICに以下のようにIO割付をしました。押しボタン用のDIを8点確保して、6ケを各メモリーチャンネルの読み出しと書き込み用に、
残り2つの押しボタンはファンクション機能を持たせて、メモリーバンクの切り替えや同時押しで付加機能を追加しようとしてますが現段階では詳細まで
決定していません。

PIC16F886
リバース(長短点反転) DI RE3/MCLR/VPP 1 28 RB7/ICSPDAT DI PB1 MEM1PB
速度設定(0−5V) AI RA0/AN0/ULPWU/C12IN0 2 27 RB6/ICSPCLK DI PB2 MEM2PB
ウエイト設定(0−5V) AI RA1/AN1/C12IN1 3 26 RB5/AN13/T1G DI PB3 MEM3PB
DOTメモリタイミング(0−5V) AI RA2/AN2/VREF-/CVREF/C2IN 4 25 RB4/AN11/P1D DI PB4 MEM4PB
DASHメモリタイミング(0−5V) AI RA3/AN3/VREF+/C1IN 5 24 RB3/AN9/PGM/C12IN2 DI PB5 MEM5PB
パドルDOT DI RA4/T0CKI/C1OUT 6 23 RB2/AN8/P1B DI PB6 MEM6PB
パドルDASH DI RA5/AN4/SS/C2OUT 7 22 RB1/AN10/P1C/C12IN3 DI PB7 FUNC1PB
電源 GND VSS 8 21 RB0/AN12/INT DI PB8 FUNC2PB
セラロック20MHz HS RA7/OSC1/CLKIN 9 20 VDD +5V 電源
セラロック20MHz HS RA6/OSC2/CLKOUT 10 19 VSS GND 電源
LED3 DO RC0/T1OSO/T1CKI 11 18 RC7/RX/DT DI ウエイト固定(RA1はブザー音量)
キー出力 DO RC1/T1OSI/CCP2 12 17 RC6/TX/CK DO LED1
ブザー出力 DO RC2/P1A/CCP1 13 16 RC5/SDO DO LED2
シリアルメモリ I2C RC3/SCK/SCL 14 15 RC4/SDI/SDA I2C シリアルメモリ

プログラム済み16F886 (Ver.1.0)に関してはこちらのドキュメントを参照ください。


シリアルメモリ 24LC256
メッセージの保存用に、I2Cインターフェイスのシリアルメモリ24LC256を使います。16F886のEEPROMでは足りないので外部メモリをつかいます。


回路図
回路は以下の通りです。目が良くないので表面実装部品は使っていません。したがってスペース効率はあまり良くないことが容易に想像できます。
電子工作

ソフトウエア(アルゴリズム)
ソフトウエアのソースはMikroCでコーディングしています。
メインループでは、AD入力からのVRの電圧の読み込み、キーイング速度の計算、ウエイトの計算、長短点メモリータイミングの計算、押しボタンの入力待ち等が記述されています。

割り込みルーチンは、1msのタイマー割り込みが走っています。
タイマー割り込みでは、パドルからの入力をポーリングし入力があった場合はブザーを鳴らしキーイングする処理が記述されています。

メモリーするメッセージ用に文字型の配列 char buf[80]を確保しています。短点、長点、スペース、終端の4種類のコードを2ビットを使って表現しています。1文字が長短点4つから成るとすると1バイトで1文字、80バイトで約80文字がbuf[80]に格納できることになります。
メッセージメモリモードになると、パドルがはじめてタッチされた時点からメモリーを開始します。(最初のスペースの連続はメモリーされません)またメモリー中のスペースは、そのままメモリーされるので、スペースの連続はPICのメモリを消費することになります。押しボタンによりメッセージの入力が完了するとbuf[80]の内容はシリアルメモリの対応するアドレスに保存されます。シリアルメモリに保存されたデータは基板の電源を落としても保存されます。

メッセージの呼び出しは、シリアルメモリからメッセージをbuf[80]に読み込み。2ビットづつ順番にデコードし長短点、スペースをキーイングしていきます。終端コードに達すると終了します。メッセージの呼び出し時は最初にVRからキーイング速度を読み込みその値を終了まで使うので、メッセージ読み出し中のVRからの速度変更はできません。

ブザーは発信器内臓タイプで、5Vを印加すると音がでるタイプです。当初5VのON/OFFで音を鳴らす予定でしたが、PWMによる音量調整ができる機能を追加しました。PICのRC7をHIGHにすると、RA1のアナログ入力はウエイト調整用として機能しRC7をLOWにするとウエイトは1:3の固定となりRA1のアナログ入力はブザーの音量調整用として機能するようにしました。PWMのDUTYに応じて音量が変化するようになりました。DUTYが小さいときは澄んだきれいな音がでますが、DUTYを最大にすると直流で駆動したときのようなひずんだ感じの音になってしまいました。

基板
基板上に押しボタンが乗るようにし、レギュレータも寝かして配置しました。外部とのIOとなるピンヘッダも90度タイプを使い基板の高さを抑えています。
また、基板上の押しボタンは基板にハンダ付けせずに基板外(ケースのパネル面等)に置く場合は押しボタンがハンダ付けされる部分から電線を引っ張る
こともできますが、別にピンヘッダ用のパターンを基板上に設けています。
16F886 エレキー 電子工作


スポンサーリンク




操作方法
下の動作確認用の回路を元に説明します。

セットアップ
基板上のピンヘッダJP3に、速度設定用のVR(50K)、ウイエト設定用のVR(50K)、送信機への配線を接続。
ピンヘッダJP4に、アイアンビックパドルを接続

電源投入時ブザーより「OK」と出力されます。
電源投入後は、パドル操作をすることによって通常のエレキーとして動作します。
速度設定VRによってキーイング速度を、ウエイト設定VRによって長点短点の比を変化することができます。

メッセージの記録
PB1を長押し(約2秒)するとブザーが約1秒間鳴ります。ブザーが鳴っている間にPB1を開放します。次に、メモリさせたい内容をパドル
操作によって入力します。入力終了後、PB1を再度短く押します。これでメモリー1にメッセージが記録されました。メッセージの記録操作を実行すると実行前に記録されていたメッセージは消去されます。
FUNC1ボタンを押した状態でPB1を長押しすることによってメッセージをメモリするとメモリー7にメッセージが記録されます。
PB1−PB6の6CHとFUNC1ボタンと併用でPB1-PB6の6CH、合計12CHのメモリCHがあります。
短に、メッセージの消去をする場合は、PBの長押し後、パドル操作をせずに再度PBを短く押すとメッセージは消去されます。

メッセージの再生
PB1を短く押して約2秒以下)ボタンを離すとメモリー1に記録されている内容が送信されます。
PB1-PB6がメモリー1−メモリー6に対応します。
メッセージのメモリ動作と同様に、FUNC1ボタンを押してPB1を短く押すとメモリー7に記録されている内容が再生されます。
メッセージ再生中に、パドルのどちらかをタッチするとメッセージの再生は中断されます。直後に同じCHのメッセージを再生すると
中断された位置からではなく、メッセージの最初から再生されます。

メッセージの連続再生
FUNC2ボタンを使うことによって約3秒の間をあけて記録されたメッセージを繰り返し再生することができます。
メモリー1の内容を繰り返し再生する場合はFUNC2ボタンを押しながらPB1を押します。次にPB1を開放したのちにFUNC2ボタンを開放します。
メモリー7の内容を繰り返し再生する場合はFUNC2、FUNC1ボタンを押しながらPB1を押します。次にPB1、FUNC1ボタンを開放したのちにFUNC2ボタンを開放します。
連続再生中に、パドルのどちらかをタッチするとメッセージの連続再生は中断されます。直後に同じCHのメッセージを連続再生すると
中断された位置からではなく、メッセージの最初から再生されます。
連続再生するCHはどれか1つでも実用上問題ないとおもいましたが、すべてのCHで連続再生ができるようにしてあります。
PIC 16F886 エレキー 電子工作


ケースに収納しVR、ジャック等を取り付ける
メモリータイミング用のVR2つは2.5Vにセットし約50%から長短点メモリーを有効にした。
電子工作


テプラーでレタリングをして完成
PICのRC7入力をGNDに落としてウエイトは1:3に固定し、ウエイトVRはブザーの音量調整用に使っています。
電子工作


背面からの写真
電子工作

参考文献等

http://n1yn.com/16F88Ekey.html  
長短点メモリ等

http://akizukidenshi.com/
部品調達等

スポンサーリンク

戻る

i2i無料WEBパーツ