2020年6月30日火曜日

VFO Controller 8.0 (Aruduino Due with touch panel)


多機能のVFOを製作しようと考えると、どうしてもスイッチが多くなる。例えばVFO7.1では12個のスイッチを使用した。こうなるとパネル製作も一苦労である。今回タッチパネル付きのTFTを使用し外部スイッチの削減を試みた。最近のメーカー製トランシーバーやSDRもほとんどがタッチパネルを採用している。どうせ作るなら盛り沢山の機能を搭載することにした。最近の私にとっては、ちょっとしたチャレンジである。尚、このVFOはアナログトランシーバー向けのVFOです。
【Hardware specification】
  • VFO  Si5351a PLL
  • TFT  2.8inch TFT with Touch Panel
  • MPU   Arduino Due
  • EEPROM 24LC64
【Software specification】
  • MODE  LSB,USB,CW,FM,AM
  • BAND  1.9-50MHz (Japanese Ham band),0-60MHz(General caverage
               Transverter mode(144MHz,430MHz,1.2GHz)
  • VFO     A-channel B-channel every band
  • VFO Type  Up-conversion Down-conversion chooseable
  • Memory  50channel 
  • CAT  CAT Controll (Frequency,Mode) for Ham Log Software
【manual】
[VFO-A]をタッチ
 サブメニューが開きます。
A/B VFO-AとVFO-Bが入れ替わります。
A->B Aの周波数をBにコピー
B->A Bno周波数をAにコピー
SPLIT メインが受信 サブが送信となりスプリット送信が可能となります。




[USB]をタッチ
 サブメニューが開きLSB,USB,CW,FM,AMの変更ができます。
[BAND]をタッチ
 サブメニューが開きます。希望のBANDをタッチすれば移動します。
[GEN]はGeneralで0-60MHzまで連続可変できます。送信はできません。
[TRV]はトランスバーターでサブメニューが開きます。144MHz,430MHz,1.2GHzが選択できます。この場合書くBAND毎にオフセット周波数を設定できます。イニシャルでは28MHz帯が出力されるように設定してあります。
[MENU]をタッチ
 サブメニューが開きます。
[M/R] メモリチャンネル呼び出し。1-50CH UP/DOWNで選択
[M/W] メモリーチャンネル書き込み。1-50CH UP/DOWNで選択。書き込みは上書きされます。
[PLLSet] Si5351aのクロック周波数を設定します。UP/DOWNスイッチでVFO出力を10MHzにセットし記憶します。
[CLAR]をタッチ
Cralifire(RIT)メニューが開きます。
[CLAR-R] 受信用Clarifire
[CLAR-T] 送信用Clarifire
[OFF] Clarifire 停止

[V-Type]をタッチ
VFOをUPConversionにするか、DownConversioにするかを設定します。BAND毎に設定可能です。

【Make】
 今回MPUにArduino Dueを使用。nano,UNOではメモリー容量が足らないことからの選択である。DueはEEPROMがないため24LC64というI2CのEEPROMを付加した。構成はI2C制御のSi5351、24LC64 SPI制御のタッチパネル付きTFT(driver ili9341)及びロータリーエンコーダーといたって簡単な構成である。またDueには2個のUSBが搭載されており、1つはプログラミング用 もう一つは外部との通信用に使える。今回これを使用し簡単なCATコントロールを搭載した。現状HamLogに対応している。
 注意点としてDueは3.3V動作なのでI/Oも3.3Vである。このおかげでTFTとダイレクトでの接続が可能である。半面 外部とのインターフェースも3.3Vが上限であることに注意が必要である。バンド情報、モード情報等の出力は3.3Vとなる。まだたくさんのI/Oが余っているので、追加機能も可能。


【Software】
 スケッチその他ライブラリー等はDownload Siteに掲載してある。
 タッチパネルを使用するには、最初にCalibrationが必要である。このやり方についてはライブリーの説明を読んで対応してください。Calibration スケッチもSiteに一括して掲載してある。

【CAT】
 CAT Controlle を搭載しました。ただし現状最低限でHam Logに周波数とモード情報を送ることができるだけです。今後機能を増やそうかとも思いますが、今のところ必要性を感じていません。多くの希望でもあれば対応するかもしれませんが。まあ、そんなことはないと思いますが。(笑)

 出来立てなので、まだBUGがあると思います。何かあればコメントでもお寄せください。

73's de JA2NKD

2021.05.13 回路図 修正




35 件のコメント:

JR3BGT さんのコメント...

テンコ盛りのVFO素晴らしいですね!
Arduino Due サイズがでかい
MEGA 2560は中華製で小型化されたものがありますが、Dueはまだでてませんね。
小型化されたら、一度OMのVFOにトライしてみたいです。

PS
ゴルフできてますか?
関西は、コロナ比較的落ち着いているのでそこそこやってます(笑)

JA2NKD さんのコメント...


JR3BGT OM ご無沙汰です。
今回はさすがにメモリー容量、速度を考量するとnano,unoでは無理でした。I/Oも足らないし。たまたま手持ちがあったので使用しました。
別の候補としてはSTM32duinoであれば可能だと思います。
今回シリアルの勉強のためCAT対応としてみました。DueにはUSBポートが2つあるので便利です。ここまで要素を組み込んでおけば、製作機器に合わせてダウンサイジングするのが簡単になります。そのために欲張ってみました。

ゴルフ再開していますよ。6月は4回、今月も4回の予定です。ティーショットではさすがにマスクが鬱陶しいです。ロッカー、シャワーは使用せず、極力リスク低減しています。
スコアは高止まり気味です。(笑) それでも楽しいです。

Mikele 9a3xz さんのコメント...

bravoooo mr.Matsuura.
congratulations....see you about this project for a month,aproxx.
very nice project !
73 de 9a3xz,Mikele

JA2NKD さんのコメント...

Hi,Mikele

Thank you for your comment
The VFO is now complete.
Next, I want to make an all-band, all-mode transceiver.
It's going to be a long project.

73's JA2NKD

Fayzacantik さんのコメント...

Hi Matsura San,

very interesting project already in my wish list but if I can made suggestion please consider to use LCD made by nextion, it has very interesting Graphic builder so people can size up and down the display as they need and also a good quality LCD compare to no-name brand the price is little bit higher buts still in my okay zone

JA2NKD さんのコメント...

Thanks for your comment
Nextion is good. I think so, too. I have a nextion, But Arduino has many libraries and is very useful. If there is an opportunity, I would like to make one with nextion.

73's JA2NKD

Miguel Ayala XE1HAX さんのコメント...

Hello Mr. Matsura, I am pleased to find this project, I really like being able to use the touchscreen function of my display and the VFO + FI and VFO-FI function, it is an excellent project and I will be following you, I congratulate you.
Sincerely Miguel Ayala XE1HAX.

JA2NKD さんのコメント...

Hi,Miguel
Thank you good comments.

I started new Project All Band Transceiver.

Let's enjoy Homebrew.

73's JA2NKD Ryuu

ntag77 さんのコメント...

いつもNKDさんのサイトは、参考に学ばせていただいております。
ありがとう御座います。
リタイヤ組で自作ラジオでアマチュアバンドを中心に
BCLをたのしんでいます。
10月にVFO8.0のハードが完成して動作させましたが
タッチパネルのレスポンスがうまくいきません!
偏った位置でしか画面が反応してくれません。
Si5351のコントロールはうまく動作しているようです。が!
タッチパネルの不具合の解決方法が分からないまま過ごしております!
アドバイスやヒントがありましたら教えていただきたく投稿しました。

JA2NKD さんのコメント...

ntag77さん コメントありがとうございます。
VFO8.0はまだバグがあります。今オールバンドトランシーバーを作り検証しています。
とりあえずは問題なく動作すると思います。
タッチパネルは、最初にキャリブレーションのスケッチを動作させ、できたデータをライブラリに書き込む必要があります。
この作業ののちVFOのスケッチをコンパイルします。

Let's enjoy homebrew.
De JA2NKD

ntag77 さんのコメント...

JA2NKDさん早速のコメントありがとうございました。「できたデータをライブラリに・・・」の
手順がなかなか理解できませんでしたが成功しました。
さくさくと各パッドの応答があります。しばらくこのVFOで
楽しむことができます。
ありがとうございました。/田口

JA2NKD さんのコメント...

ntag77さん
うまく動作したようでよかったです。
説明が難しいですね。
楽しまれてください

Samuel さんのコメント...

初めまして。VK在住のSamuelと申します。大昔に製作した自作の9MHz IFのHFトランシーバー用VFOを現代化しようとネットを検索していたところ、貴殿のブログに遭遇し、これ幸いと製作しました。まず、Calibrationせずに作動させたところ、当然ながらタッチボタンが正常に動作せず、Calibration を実行しましたが、試行錯誤を重ねたにもかかわらず正しい方法がわからないので、お教えいただきたく存じます。
まず、uTouchCalibration.inoをArduino Dueにロードし、表示された指示に従って、正方形に囲まれた8箇所の+記号をpressし、最後に表示されたCAL_X、 CAL_Y、 CAL_Sの値をURTouchCD.hに書き込みましたが、その先の手順がよくわかりません。どうも、[URTouch] > [examples] > [Arduino] > [URTouch_Calibration]と移動して、 URTouch_Calibration.inoをArduino Dueにロードして走らせるようだと見当をつけましたが、そのまま走らせてもタッチスクリーン全面が白く表示されたままで、何も起こりません。貴殿が使用されているものと同じ2.4インチタッチスクリーンをしておりますが、恐縮ながら詳しいCalibration方法をお教えいただけないでしょうか。よろしくお願いいたします。 

JA2NKD さんのコメント...

Hi,Samuel
Thank you comment
Are [uTouchCalibration.ino] and [URTouch_Calibration.ino] different?
Use [URTouch_Calibration.ino] for calibration.
Is it not displayed normally?
Have you changed the parameters to Due? (Line 35)

73's Ryuu JA2NKD

Samuel さんのコメント...

Hi Ryuu, thank you for your prompt reply.

No, URTouch_Calibration.ino did not work properly. The entire screen was lit in white, nothing happened and no texts whatsoever were displayed.

I referred to “UTFT.h” file and tried to replace the phrase “CTE32_R2” on Line 35 “myGLCD(CTE32_R2,38,39,40,41);” with either “ILI9341_16”, “ILI9341_8”, “ILI9341_S5P”, “ILI9341_S4P”, “CTE32_R2”, “ITDB24E_V2_16”, “ITDB28_V2_ALT”, “ITDB32S_V2”, “ITDB28_V2”, “ITDB24E_V2_8” , “DMTFT28105” or “MI0283QT9” (because my touch screen uses ILI9341 driver) and load “URTouch_Calibration.ino” into Arduino Due, but no avail.

I do not think the numbers “38,39,40,41” should be changed because they apply to Arduino Due, right? What did I do wrong?

This is the first time I’ve ever used a touch panel with Arduino. Your help would be greatly appreciated as I am at my wit’s end with this. Thank you!

JA2NKD さんのコメント...

Hi Samuel
sorry
It was for ili9341.
URTouch_Calibration.ino included in VFO8_00.ZIP has been modified for ili9341.
If not, I will send it by email. In that case, please send an email. I will attach it back.

OK?

Ryuu JA2NKD

Samuel さんのコメント...

Hi Ryuu,

Just sent a reply to your Gmail address (muufan2011.gmail.com).

Thanks!
Sam

F1BFU さんのコメント...

I just made this VFO and it worked the first time. I didn't need to calibrate the tactility.
It will drive a 9-band MicroB transceiver from QRPVer with BPF filters and order LPF filters from QRPLabs. I will put all of this in a box.
Thank you again for this achievement. I am thinking of replacing the total encoder with a 400mm encoder. I am thinking of adding a button to display Po or Ref or Dir.
Regarding memory channels, is it possible to increase to 100 channels using a larger EEPROM?
Upcoming improvements:
CW decoding, addition of a CW menu to record pre-defined messages.

73 QRO to all
Gilles F1BFU

JA2NKD さんのコメント...

Hi,Gilles (F1BFU)
Thanks for your comment
I'm glad it worked.
Right now I'm making an all-band, all-mode transceiver.
It will be completed soon.
I am using an encoder 100 pulses. I have 400 pulses, but I haven't used it yet. An interface may be required if it is electric or optical.
Memory can be easily increased. try it.
We are considering switching between FWD and REV during transmission.
CW decoding did some experimentation but didn't work. A little more research is needed.

Let's enjoy homebrew.

73's Ryuu (JA2NKD)

Mikele 9a3xz さんのコメント...

hello my friend Matsura ..how are you ???
i have one problem with this vfo ,when i touch on tft 2,8 no good position,i must calibrate but when i started URTcalibration ,arduino ide tells me:UTFT.h no such file and when i starting uTouchCalibration ino tells me: ILI9341_due_config.h no such file ...?

maybe you know whats the problem ....thanks in advace ,73 de 9a3xz Mikele

JA2NKD さんのコメント...
このコメントは投稿者によって削除されました。
JA2NKD さんのコメント...

Hi,Mikele
Long no see. How are you? I'm fine.

Calibration file
https://drive.google.com/file/d/1i0otUGFypMXIQVGgHmfZm1bUJ4yY8DfQ/view?
Please try again.

Now I made All BAND TRX using this VFO.
I will post it on my blog soon.

73's Ryuu JA2NKD

Mikele 9a3xz さんのコメント...

when you fine ,i m also fine :)))))

no...no working only white display just like in post up of Samuel :)

JA2NKD さんのコメント...

Hi,Mikele

Sorry
Please install the following libraries.

https://drive.google.com/file/d/16VRzy8GqjpqXLaQmM424NRY6Z13Dru-z/view?usp=sharing

Try again.

73's JA2NKD

Mikele 9a3xz さんのコメント...

OK.This is ok.i calibrating tft and new X,Y,S save on VF08_00/URTouch/URTouchCD but again wrong position when i touch display :))))
Where i am wrong ?

Mikele 9a3xz さんのコメント...

NO..When i compile with URTouch calibration don t work,in line 35 is:UTFT myGLCD(ITDB32S,38,39,40,41); what i must change for my TFT SPI 240x320 2,8inch ....thanks in advance

JA2NKD さんのコメント...

Hi,Mikele

I sent a sketch for calibration by e-mail.
The TFT orientation should be calibrated in the same way as the VFO. please confirm

匿名 さんのコメント...

Hi, the download links not working. Is it possible to get the documentation for the VFO?

73 de 9A6PGM

JA2NKD さんのコメント...

Hi,9A6PGM
I'm sorry I fixed it.
73's

Alexandru Birca さんのコメント...
このコメントは投稿者によって削除されました。
Alex さんのコメント...

Hi Matsura-san,

It looks like your download area is broken, would you pls check it out?

BR//

JA2NKD さんのコメント...

Please test below link.

https://drive.google.com/drive/folders/1ok8fBQ6WYWVr_mhPqip5cGwvOI8DZTPv?usp=sharing

73

JA2NKD

Alexandru Birca さんのコメント...

Thanks Matsura-san,

sorry I was not very precise as I am interested in RF-analyzer, considered it is a common problem for the whole download area... Would you pls share a link to it?

BR//

JA2NKD さんのコメント...

Download site link

https://drive.google.com/drive/folders/1N6ts--i4rlVCys8M1h-jgmls33YEaRFU?usp=sharing

Pleas try

73

Alexandru Birca さんのコメント...

Thanks Matsuura-san, appreciated!

BR//