nobcha23のエアバンド受信機自作ブログ DIY airband receiver BLOG

エアバンドレシーバーキットの組み立て、改造を手掛けます Assemble and remodel Chinese airband receiver kit

Si4732使用エアバンド受信機でのArduinoメモリー使用量 To reduce memory usage of Si4732 receiver

Si4732を親受信機に、TA2003フロントエンドにSi5351aモジュールを局発として付加したエアバンド受信機をArduino制御で設計試作しています。ブロックダイヤグラムは次の通りです。 I’m designing the airband receiver with TA2003 as a frond end, Si5351a as a local oscillator, and Si4732 as a mother receiver. The block diagram is below.

 

ブロックダイヤグラム



 

試作のレパートリーとしてまず手掛けたのは1602AのLCD16文字2行表示バージョンです。そして、次に取り掛かっているのはOLED128x64ビット表示を使ったものです。なぜOLED表示にこだわっているのかと言うと、出来上がり基板を88x38x70のアルミケースに入れようと思っているからです、表示素子が小さくないといけません。ところが、OLEDをADAFRUITSのライブラリー使うとメモリー不足になってしまいました。このメモリー不足で困るのは、コンパイル通るが、デバッグ時に、実行時メモリー割り当てできず、黙ってストールする言うパターンです。混乱するのは「コンパイルは通ってるのに、なんでやねん」というものです。
At first I used 1602A LCD to be easy to convert the sketch. And next I changed  OLED display for its tiny size to be installed in the aluminum case. This one is tiny but consumes Arduino memory. I have been annoyed that there is insufficient memory on the way of working. Compile is OK, but it can not work actually. Very confusing.

OLED表示はJCR引用、Si5351aはGITHUBのetherkit、Si4732はGITHUBのPU2CLRと言うような具合にスケッチを作り始めました。ところが、メモリー使用量が90%を超え、これではプロセッサを変えないといけないのか、Jasonさんが言うにはOLEDの軽いモジュールにするのかという選択になりました。あんまりメモリーを食いそうでないSi5351aのライブラリーですが、別な理由もありTJ研究所のスケッチに変えてみました。するとなんと使用メモリーが大幅に減りました。次の表のような結果です。
For this sake I diverted JCR sketch asd combined etherkit/Si5351a and PU2CLR/Si4732. Mr. Jason adviced me to change OLED module to smaller one. This time I happened to change Si5351a mojule to TJ lab's one and got back large size memory.

memory usage of Si4732 receiver

 

CesarSound OLED表示VFO
https://projecthub.arduino.cc/CesarSound/10khz-to-225mhz-vforf-generator-with-si5351-version-2-acdc25

etherkit / Si5351Arduino  Jason milldrum
https://github.com/etherkit/Si5351Arduino

PU2CLR Ricardo Lima Caratti 
https://github.com/pu2clr/SI4735

TJ lab. Dr.Uebo
https://tj-lab.org/2017/03/13/si5351/