ATS-25を作製する
ATS-25はタッチパネルカラー液晶で見栄えは良いが¥10k弱~¥30kと高価
またDSPがSI4732なので同じDSPのATS-20を所有してることもあり特に欲しいとは思わなかったのだけどソフトウェアが改良され機能と液晶表示に魅力を感じるようになってきた
オープンハード・ソフトウェア(ソフトウェアは一部ライセンスが必要な物もある)なので,これはもう作製するしかないと2024年の初頭に思い立ち部品調達を開始(ちなみに自作されてる方は多い・・・ので安心)
部品調達
国内で価格面や手に入り難いのもありAliexpressで購入したのだが,少々問題もあり再購入を繰り返し何とか春節前に揃った(実はまだ1件闘争中)
価格は税と送料込みで記載
- SI4732:¥619/個
- SOP16表面実装基板:¥27/個(¥277/10個)
- 32.768kHz(水晶発振子):¥22/個(¥220/10個)
手持ちもあるが発振不良もあるので念のため購入
- ESP32開発ボード:¥503 もう1つは¥642(Type-C)
- ESP32開発ボードアダプタ:¥370/個
コンパクトな30pin版,L1なので安価なのか
アダプタの方は間違えて購入してしまったのだけど結果は役に立った
- TFTタッチパネル(2.8インチ):¥1,440
- ロータリエンコードモジュール:¥61.5(¥615/10個)
SWのプルアップは(この製品の場合)基板裏にショートパターンがある
- バッテリ:¥550
何年か前に購入した100均の¥500モバイルバッテリで3.7V4000mAhのリポ
充電回路はそのまま利用(ノイズ対策が必要か),出力はリポから直接三端子レギュレーターで3.3Vに降圧して使う
※)主回路はデジタルだが入力はアナログなのでノイズ元となるDCDCは極力使用しないようにする方針
- その他:もろもろあるが後で再計算予定
ここまでで約¥3k(一台分)
ブレッドボードに組む
回路は「IU4ALH」さんの「SI4732_Radio as at PI4RAZ」から,変更もあるので回路図を作ろうとしたけど面倒だったのでイメージで修正
(最終版)
SI4732を実装基板に載せる
注)半田付けを,左)気にしないでブリッジさせて吸取線使用,右)ブリッジさせないようピン毎に慎重に付けた,ので結果が異なる
TFTタッチパネルを3.3V用にする
本来は各部品のチェックすべきだけど問題あったらやればいいやと思い組んでみた
一発目:ソフトウェア「SI4735-Radio-ESP32-Touchscreen-Arduino-master.zip」を転送して電源ON・・・駄目でした(甘くない)
配線を再確認したが問題なし
TFTタッチパネルの確認
うんともすんともいわない液晶画面がまず怪しいので確認
サンプルプログラムで確認するがまったく反応しない,SPIのピン指定ミスとかだと思うのだけど解決しない
こちらの記事でやってることに間違いはないことを確認したが動作しないので不良品かと思っていたところ,もしかして「SI4735-Radio-ESP32-Touchscreen-Arduino-master.zip」をコンパイルするにあたりReadme通り編集した「TFT_eSPI」に問題があるのでは・・・と
結果「TFT_eSPI」を再インストールしたらサンプルプログラムは動作
これでTFTタッチパネルは正常であることが確認できた
でも本筋は動作しない
SI4732の確認
画面表示までいかないので「SI4732」の問題かと考え2個目に付け替えてみたが同じ
液晶は関係ないので「PU2CLR」ライブラリの「SI4732」サンプルプログラムを導入してチップの動作確認する
何でも良さそうなのだけど「AM_FM_TOUCH_SERIAL_MONITOR」を使用したところヘルプ画面が出ただけで止まる
前後にdebug printを挿入して確認したところ「SI4732」の初期化で止まっていることが判明しI2Cアドレスが取得できていないことが判った
チップ周りに水晶以外の追加は無いので,水晶を交換したり電源のパスコンを調整したりしたが駄目
どうしようもなく更にAitendoの「SI4732モジュール」の回路図を参考にして元回路になくI2Cに関係のあるRST部分にパーツを追加したが駄目
・・・
大嵌りしていたところ10ピンSENBの配線に気付く
Aitendoの「SI4732モジュール」ではGNDに接続されてる!!
GNDに接続し直しても破壊されることはないのでやってみると動作しましたよ!
「SI4732」の版数で異なる?のか?(上の回路図は修正済 )
注)SENBはI2Cアドレス指定でH or L接続にて2つ選択できる,拙者の個体ではGnd接続でのみ動作したがライブラリでアドレスを自動判定していないのか?
サンプルプログラムで受信確認もできたので「SI4732」も良し(2個とも正常)
ソフトウェア
ようやくこれで動作するかと思いきや結局「SI4735-Radio-ESP32-Touchscreen-Arduino-master.zip」は動作せず「SI4735_2.8_TFT_SI5351_V.5.2b_Dark.zip」を試す
どうやら「TFT_eSPI」がキーらしく対応するバージョンでないと正常に動作しないようだ
YouTube「jashiチャンネル」さんの情報で「SI4735_2.8_TFT_SI5351_V.5.2b_Dark.zip」について対応する「TFT_eSPI」の情報がある
コンパイルエラーは最新の物でも発生しない(warningは出る)が動作はしない
ダウンロードした「TFT_eSPI_2.8inch.zip」は,ライブラリを削除(ライブラリのTFT_eSPIフォルダーの削除でも良い)した後,IDEでZIP登録(メニュ「スケッチ」>「ライブラリをインクルード」>「ZIP形式のライブラリをインストール...」を実行)しなければコンパイルエラーとなるので注意
とりあえず,ようやく動作したのでAM,FMの受信確認
なぜかATS-20より音が良好に感じるのは気のせいか
暫くFM受信で聴いていたら
ディスプレイセーバーモードに移行するのね,素晴らしい!
明日から基板化とケース作りとなる