2023年1月26日木曜日

esp8266 VFO Ver1.10(8BAND)

esp8266 VFOにPCF8574AT(HW-171)を追加したマルチバンド版である。MODEスイッチとBANDスイッチを追加し、自動モード切替をやめた。無線機とのI/FとしてのMODEとBANDは、PCF8574ATの出力を直接繋げれるように単一出力となる様にデコードした。今回使ったPCF8574ATボード(HW-171)は、バス接続できるので簡単にDIOを拡張する事ができる。公開済みのモノバンド版と一部仕様が異なる所がある。







回路図

D0のTX入力は、ローアクティブ(0V送信)に変更した。
FCF8574AT(HW-171)のSCLとSDAは、1kでプルアップされてるが、3.3k追加してプルアップしている。

PCF8574ATボード(HW-171)

#2 addr 0x39
#1 addr 0x38
 


 




スケッチ


























バンド設定は、周波数テーブルに8バンド定義した。DEF_Fは、デフォルト周波数。LOW_Fは、最低周波数。HI_Fは最大周波数である。8バンド以上に拡張する場合、PCF8574ATのさらなる追加とスケッチ追加、修正が必要。











IF周波数とBFOの周波数を変更する時は、ここを修正する。VFOは、upper heterodyneの動作で、直接スケッチに書いている。一般的なBFO周波数を示す。BFO_LSBは、IF+1500Hz。BFO_USBは、IF-1500Hz。BFO_CWは、IF+700Hz但し、トーン周波数を700Hzとした場合。また、BFO_AMは必要なければ0Hz、SSBモード(何らかのキャリアが無ければ復調できない場合)でAMを受信するのであれば、BFO_LSBと同一設定すれば良いかと思う。













最大何バンドにするのかは、Max_Bandで指定する。例えばMax_Band 6にした場合、3.5Mhzから21MHzの6バンドになる。(先頭に書いて有る3.5MHzから数えて6バンドとなる)
既に書込みを行ったEEPROMデータをクリアするには、Int_Endを73以外の数値に変更する。これは重要で、EEPROMクリアしなければ以前のデータが読み込まれて動作するので、意図しない動作をするかもしれない。LW_RITはRIT下限周波数、またHI_RITはRIT上限周波数。














PCF8574ATのアドレス設定は、ここで行っている。

スケッチ等のダウンロード

このVFOに必要なファイルは、ダウンロードサイトからダウンロード可能。
Download siteにあるesp8266フォルダのesp8266_vfo_1.1.zip


6 件のコメント:

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

hello ja2gqp...beautifull project, excellent !!!
i try to compile but arduino ide said :
C:\Users\KORISNIK\Downloads\esp8266_vfo_1.1/esp8266_vfo_1.1.ino:140: undefined reference to `_ZN14Arduino_ST77898fillRectEsssst'

c:/users/korisnik/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\KORISNIK\Downloads\esp8266_vfo_1.1/esp8266_vfo_1.1.ino:148: undefined reference to `_ZN14Arduino_ST77898fillRectEsssst'

c:/users/korisnik/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\KORISNIK\AppData\Local\Temp\arduino_build_212374\sketch\esp8266_vfo_1.1.ino.cpp.o: in function `_Z10meter_dispt':

C:\Users\KORISNIK\Downloads\esp8266_vfo_1.1/esp8266_vfo_1.1.ino:591: undefined reference to `_ZN7PCF857411digitalReadEhb'

c:/users/korisnik/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\KORISNIK\AppData\Local\Temp\arduino_build_212374\sketch\esp8266_vfo_1.1.ino.cpp.o:(.text.loop+0x6e): undefined reference to `_ZN7PCF857411digitalReadEhb'

c:/users/korisnik/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\KORISNIK\AppData\Local\Temp\arduino_build_212374\sketch\esp8266_vfo_1.1.ino.cpp.o: in function `loop':

C:\Users\KORISNIK\Downloads\esp8266_vfo_1.1/esp8266_vfo_1.1.ino:164: undefined reference to `_ZN6Si535113output_enableE12si5351_clockh'

c:/users/korisnik/appdata/local/arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld.exe: C:\Users\KORISNIK\Downloads\esp8266_vfo_1.1/esp8266_vfo_1.1.ino:170: undefined reference to `_ZN6Si535113output_enableE12si5351_clockh'

collect2.exe: error: ld returned 1 exit status

Using library Adafruit-GFX-Library-master at version 1.10.12 in folder: C:\Users\KORISNIK\Documents\Arduino\libraries\Adafruit-GFX-Library-master

Using library EEPROM at version 1.0 in folder: C:\Users\KORISNIK\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\EEPROM

Using library Wire at version 1.0 in folder: C:\Users\KORISNIK\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\Wire

Using library Ticker at version 1.0 in folder: C:\Users\KORISNIK\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\Ticker

Using library Adafruit_BusIO-master at version 1.9.3 in folder: C:\Users\KORISNIK\Documents\Arduino\libraries\Adafruit_BusIO-master

Using library SPI at version 1.0 in folder: C:\Users\KORISNIK\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.2\libraries\SPI

exit status 1

Error compiling for board LOLIN(WEMOS) D1 R2 & mini.

maybe you know what is the problem compile ???thanks in advance 73 de 9a3xz Mikele

JA2GQP さんのコメント...

Hi Mikele.
Check the library version of your board esp8266. Here is what I am using.
esp8266 by ESP8266 Community Version 2.7.1.

An error may occur if the installed board version is different.

Select Arduino IDE Tools and select Board Manager. Type esp8266 in the Boards Manager input line to see the installed boards.
esp8266 by ESP8266 Community Version 2.7.1.

If the version is different, please select the version and install it.

The sketch unzips esp8266_vfo_1.1.zip. All the files are in the unzipped esp8266_vfo_1.1 folder.

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

thank you very much for your help....i want to tell you on some laptop where i installed arduino id 1.8.13 dont work ,but on the other laptop where is installed 1.8.16 version arduino ide works nice with esp8266 ver. 2.7.1 !
i try to finished this dds ..see you soon 73 de 9a3xz Mikele

Gennadiy さんのコメント...

Good afternoon Interested in your project. I want to clarify which version of the esp8266 board do you use? And what options for boards with this controller can be used? What are the recommendations on this matter?

JA2GQP さんのコメント...

The board is a D1 mini.
The chip I'm using is ESP8266MOD.
I don't have a picture of the whole 8ch VFO, but please refer to the monoband VFO.
The monoband VFO is here. To enlarge by clicking on the photo.
https://en2gqp.blogspot.com/2020/06/esp8266-vfo.html

Gennadiy さんのコメント...

Tank you very much for your help!!!