1200FXのコントローラーの欠点は ボタンが押しにくい事である。
このコントローラーは 中古で手に入れた ケンプロのKR-800用のコントローラーだ、ボタンは押しやすい。
このコントローラーにマイコンを組み込んでみよう
このケンプロコントローラーは見やすいのでで エモテータ1200FXを動かそう。
まず、分解して修理から始める。中古品は大抵壊れているから、、、、
中の基板類は使わないので外す。
メーターの回転がおかしいのは 樹脂ギヤーが割れていたからだ。
500ΩのVR抵抗が重くなって 割れたのが原因であった
ポテンションメーター(VR)は新品に交換した、ストッパー機構は無しにして360度以上回るようにしておく
これで、ギヤーが破損することはなくなる。(加工方法は マイコンローテータ製作を参照)
このローテータは 450度回転する。ポテンションメータは約330度位回る
ー−−−−−−−−−−−−−−ー−−−−−−−−−−−−−
ジュラコンギヤーの割れの修理方法を記載しておこう、
(知っている人は少ないから、、、アロンアルファはNGである)
瞬間接着剤(ポリアセタール用) ヘンケルの401などを使う
ただし、このまま塗布しても接着が弱い。
瞬間接着剤用のプライマー(タミヤ模型のプライマーなど)を塗布する。
そして、数分乾燥させる(乾燥していないとNG)
その後、401を塗布して接着する。
ー−−−−−−−−−−−−−−−−−−−−−−−−−−−
筆者は ポテンションメーターのシャフトに穴を開け3mmのタップを切ってビスで樹脂ギヤーを固定した
樹脂ギヤーのいもビス側のネジでシャフトを固定するのは、樹脂が割れているのでやめた。
後はギヤーのかみ合いを調整して、組み立てる。
電圧を 5〜8V加えると 指針が回転して ポテンションメーターは 100〜480Ωの範囲で450度回転する。
エモテータは375度だが、ケンプロは450度も回転する。
メカとメーターのAD変換のズレの対応が必要だろう。
メカ側のポテンションメータに抵抗を入れて電圧調整が必要だろう。
まず、電源から作る
電源トランスはそのまま流用する。
LM338K でトランス から ローテータ用 13V〜20Vまで変化する電源を作る LM338Kは 5A以上流せる。
LM317 でメータのモータとLED照明の 8V〜12Vまで変化する電源を作り出す LM317は 1.5A程度流せる
マイコン5Vは 3端子7805を使う。
本体のアルミ放熱板にLM317,,LM338を取り付ける。
本体の回路を考えてみよう
メータモータのVRと 本体ローテータのVRの値を AD変換する。試作品は マイコン2個使って別々にコントロールしていたが、
マイコン1個で AD変換ポートをソフトで切り替えて取得する。
KR-800の上部の部分は基板を取り付けるには 格好の場所であった。
表示器は必要ないが、デバッグ用に取り付けている
シートLEDで照らすと高級感があるメータになる。 CW、CCWボタンで ローテータは回転をした、スピードコントロールも可能になった。
実際のCW,CCW とメモリスイッチは リモート配線で 手元でコントロールしている
AD変換の切り替えプログラムである。
分周比 ck/64 にした 読み取り時間は 104uS である
ー−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
ADCSRA = 0b10000110;
// ADEN,ADSC,ADATE,ADIF,ADIE,ADPS2,ADPS1,ADPS0
// ADEN許可:1 ADSC開始:0 ADATE自動起動:0 ADIF完了割込:0
// ADIE割込許可:0 分周ck/64 読み取り時間 104uS
ADCSRB = 0x00;
// 連続変換動作 =0
// ---------- ADC -------CH0-----------------
void ADC_IN (void)
{
ADMUX = 0x40; //CH0
//AVCC基準電圧、入力PA0 0100-0000 データ右揃え
ADCSRA |= _BV(ADSC); //変換開始要ループ内
loop_until_bit_is_set(ADCSRA,ADIF);
//変換終了時ADIFがセットされる
// a = ADC; //AD変換結果 10bit:0-1024
meca_dat = ADC; //AD変換結果 4bitシフト= 6bit:0-64
}
// ---------- Meter ADC ----CH1--------------------
void METER_IN (void)
{
ADMUX = 0x41; //CH1
//AVCC基準電圧、入力PA0 0100-0000 データ右揃え
ADCSRA |= _BV(ADSC); //変換開始要ループ内
loop_until_bit_is_set(ADCSRA,ADIF);
//変換終了時ADIFがセットされる
// a = ADC; //AD変換結果 10bit:0-1024
houi_dat = ADC; //半分
}
1200FXコントローラーは KR800の外観を使ったコントローラーに変わった。
回転スピードは 低速モードで 約13V 高速モードで20V
プリセットメモリーは 4か所にした。
プログラムの改善点は下記になる。
// ローテーターコントローラー 1マイコンにする
// ATmega1284p ADCのコントロールは 2ポートにする。
//
// KR-800 は 0〜450度メータ 1.2倍になる、 エモテータ本体は0〜375度
//回路的に 電圧を合わせる
//
// メータモータ電圧 5Vにして精度アップを図ったため、
// CW/CCWスイッチ離してから メカとメータ指針が一致するまで、回転持続が必要になる
// -------------------------------------------------
// ATmega1284 内部 Xtal =8MHz L=E2 H=DF
//
// 内部クロック 8MHz ADC分周 64 読み取りタイム 104uS
ー−−−−−−−−−−−−−−−−−−−−−−−−−−
プログラムで工夫しているところは、ローテータの回転スピードよりもメータの方を多少遅くしている。
早くしすぎると、メーターがカクカク動く、遅すぎると、アンテナが回りすぎる
適度にモータの電圧を調整することである
プログラムはローテータのCW,/CCWスイッチを切っても、メータは追随ししなければならない
//---------------------------------------------------
// 時計方向
while(k_cw){R_CW;LED_GON;start_buf=0;cw_buf=1;
ADC_IN(); //meca_dat
wait_ms(2);
METER_IN(); //houi_dat
if(meca_dat > houi_dat){M_CW;wait_ms(5);}
if(meca_dat <= houi_dat){M_BREKE;cw_buf=0;}
ADC_hyou();
}
while(cw_buf == 1){
METER_IN(); //houi_dat
if(meca_dat > houi_dat){M_CW;wait_ms(5);}
if(meca_dat <= houi_dat){M_BREKE;cw_buf=0;}
ADC_hyou();
}
クリエートのコントローラーの改造
クリエートのローテータも改造して作ってみた。
CCW-CW のスイッチとメモリースイッチはリモートで 手元で押すようにしている
これは失敗だった。
元々、クリエートは AC100vで ローテーターを回すため、精度が悪い
つまり、1度動かしたい時に 5度位惰性で動いてしまう。 HFアンテナでは気にならないが 1200、430Mhzで1度単位で
方向を動かすには、クリエートのローテーターは使えないのである
コントローラーの指針精度もそれなりで 精度が悪い
結局 クリエートのコントローラーは使い物にならなかった
が、風向計としてよみがえった。
風向計は20度単位で動くので、クリエートの精度でも問題なかった。