Arduino で SSB 受信機が作れる [Arduino]
Groups.io のあるグループで流れていた情報です。
Silicon Labs の SI4735-D60 に CW / SSB patch があるというのです。
SI4735 の機能は、データシートによれば次のようなものです。
CW / SSB の機能はありません。
ブロックダイアグラムを見ると
ダイレクトコンバージョンの ZIF(Zero IF)のラジオです。
データシートによる回路例は
LW / MW / HF の入力段のコイルを除けば、シンプルです。
これに CW / SSB の受信機能を足すのに、チップ内の DSP プログラムにパッチを当てて対応しています。
その情報はこちらにあります。
Si4735 SSB Receiver Controlled by Arduino
SI4735 Library for Arduino
SI4735 Patch Support for Single Side Band
si4735_SSB_NBFM_programming_guide_20120831
う~ん、Arudino ならシールドを作ってみたくなります。
補足:
ZIF のラジオに関してはこちらにちょっと詳しい説明があります。
もう、スーパーヘテロダインのメリットは IC 化しにくい事で薄れているんですね。
Silicon Labs の SI4735-D60 に CW / SSB patch があるというのです。
SI4735 の機能は、データシートによれば次のようなものです。
CW / SSB の機能はありません。
ブロックダイアグラムを見ると
ダイレクトコンバージョンの ZIF(Zero IF)のラジオです。
データシートによる回路例は
LW / MW / HF の入力段のコイルを除けば、シンプルです。
これに CW / SSB の受信機能を足すのに、チップ内の DSP プログラムにパッチを当てて対応しています。
その情報はこちらにあります。
Si4735 SSB Receiver Controlled by Arduino
SI4735 Library for Arduino
SI4735 Patch Support for Single Side Band
si4735_SSB_NBFM_programming_guide_20120831
う~ん、Arudino ならシールドを作ってみたくなります。
補足:
ZIF のラジオに関してはこちらにちょっと詳しい説明があります。
もう、スーパーヘテロダインのメリットは IC 化しにくい事で薄れているんですね。
Sony Spresense で音声リモコンを作る Kindle 本を買ってしまった [Arduino]
SONY Spresense の Kindle 本を買ってしまいました [Arduino]
つい、SONY Spresense の Kindle 本を買ってしまいました。
買ったのはこれです。
Voice Assistant Using SONY Spresense Kindle Edition
英語版ですが、ちょっと読んで Spresense を試してみたくなり、買ってしまいました。
買ったのはこれです。
Voice Assistant Using SONY Spresense Kindle Edition
英語版ですが、ちょっと読んで Spresense を試してみたくなり、買ってしまいました。
K3NG キーヤー・シールドに送信練習と受信練習のモードを追加しました [Arduino]
K3NG OM のサイトを見ていたら送信練習と受信・送信練習のモードが追加されていました。
そこで、それらのコマンドが有効になるようにコンフィギュレーションを変えてコンパイルし、動作確認をしてみました。
変えるところは
keyer_features_and_options.h ファイルの次の箇所です。
#define FEATURE_ALPHABET_SEND_PRACTICE // enables command mode S command - created by Ryan, KC2ZWM
#define FEATURE_COMMAND_MODE_PROGRESSIVE_5_CHAR_ECHO_PRACTICE // enables command mode U
#define FEATURE_PADDLE_ECHO
これでコマンド・モードに入れるとSコマンドとUコマンドが有効になります。
Sコマンドはアルファベットを正しく遅れるかを判定してくれます。Uコマンドは実行するとECHOと帰ってきて、そのあと1文字音が鳴るので、聞いた音を返します。合っていると今度は1文字足されて2文字音が聞こえます。これを5文字まで繰り返してくれます。5文字まで終わると次の組み合わせに移ります。
そこで、それらのコマンドが有効になるようにコンフィギュレーションを変えてコンパイルし、動作確認をしてみました。
変えるところは
keyer_features_and_options.h ファイルの次の箇所です。
#define FEATURE_ALPHABET_SEND_PRACTICE // enables command mode S command - created by Ryan, KC2ZWM
#define FEATURE_COMMAND_MODE_PROGRESSIVE_5_CHAR_ECHO_PRACTICE // enables command mode U
#define FEATURE_PADDLE_ECHO
これでコマンド・モードに入れるとSコマンドとUコマンドが有効になります。
Sコマンドはアルファベットを正しく遅れるかを判定してくれます。Uコマンドは実行するとECHOと帰ってきて、そのあと1文字音が鳴るので、聞いた音を返します。合っていると今度は1文字足されて2文字音が聞こえます。これを5文字まで繰り返してくれます。5文字まで終わると次の組み合わせに移ります。
ハムフェア AKC で頒布する Arduino シールド・キットのスケッチを確認しました [Arduino]
今週末のハムフェア AKCブースで頒布する Arduino シールド・キットに使うスケッチの動作確認をしました。
〔ディジタル電界強度計〕
キャリブレーション機能を付けたスケッチが見つからないので、その一歩手前のバージョンを動かしています。
無信号時です。
ハンディ機用ホイップ・アンテナを付けて、ハンディ機からの 430MHz 帯の信号を受けています。
〔K3NG キーヤー〕
Radio Artisan のサイトから最新のスケッチをダウンロードし、必要な修正を加えて書き込んでみました。
秋月の Arduino 互換基板で動かしています。
〔ディジタル電界強度計〕
キャリブレーション機能を付けたスケッチが見つからないので、その一歩手前のバージョンを動かしています。
無信号時です。
ハンディ機用ホイップ・アンテナを付けて、ハンディ機からの 430MHz 帯の信号を受けています。
〔K3NG キーヤー〕
Radio Artisan のサイトから最新のスケッチをダウンロードし、必要な修正を加えて書き込んでみました。
秋月の Arduino 互換基板で動かしています。
ハムフェアで頒布するディジタル電界強度計のOPアンプを実装しました [Arduino]
Arduino MKR Vidor 4000 (Microchip ATSAMD21 - Arm Cortex-M0+ processor + Intel Cyclone 10CL016) [Arduino]
5月の Maker Faire Bay Area で発表されていた Arduino MKR Vidor 4000 が $60 で出ています。
Arduino MKR Vidor 4000 は、Microchip ATSAMD21 - Arm Cortex-M0+ processor と Intel Cyclone 10CL016 FPGA チップが載っているボードです。
Getting Started には Tutorials もあり、FPGA HDL Basics という FPGA の説明も用意されています。
ただ、標準のインターフェースが MIPI と HDMI という映像、音声に特化してはいます。
いろいろと活用するにはそれなりの知識が必要ですね。
Arduino MKR Vidor 4000 は、Microchip ATSAMD21 - Arm Cortex-M0+ processor と Intel Cyclone 10CL016 FPGA チップが載っているボードです。
Getting Started には Tutorials もあり、FPGA HDL Basics という FPGA の説明も用意されています。
ただ、標準のインターフェースが MIPI と HDMI という映像、音声に特化してはいます。
いろいろと活用するにはそれなりの知識が必要ですね。
SPRESENSE を使って低歪率ツートーン・ジェネレータを考える(その2) [Arduino]
SPRESENSE を使って低歪率ツートーン・ジェネレータを考える、その2です。
前回、MP3 か WAV でサイン波のデータを用意する必要があると書きました。
それで PC で作る方法を調べてみました。
簡単には WaveGen を使って作れました。
まず、L+R でツートーン信号を出した場合
L、R それぞれでサイン波を出した場合
シングルトーンで出すか、ツートーンで出すかを選べるようにするにはL、Rそれぞれの信号を外部でミックスする必要がありそうです。
でも、WG のファイル出力機能で WAV ファイルを作る事は出来ました。
前回、MP3 か WAV でサイン波のデータを用意する必要があると書きました。
それで PC で作る方法を調べてみました。
簡単には WaveGen を使って作れました。
まず、L+R でツートーン信号を出した場合
L、R それぞれでサイン波を出した場合
シングルトーンで出すか、ツートーンで出すかを選べるようにするにはL、Rそれぞれの信号を外部でミックスする必要がありそうです。
でも、WG のファイル出力機能で WAV ファイルを作る事は出来ました。
SPRESENSE を使って低歪率ツートーン・ジェネレータを考える [Arduino]
ソニーから IoT 用として SPRESENSE が出ました。
その特徴に
〇 ハイスペックのハイレゾリューションオーディオ機能
・192 kHz/24bit ハイレゾリューションオーディオコーデック
・192 kHz A/D コンバータを搭載
・8チャンネルマイク入力(デジタルマイクの場合)
・フルデジタルアンプによるBTLステレオ出力
があります。
まえに Arduino でサイン波の発生を試した事がありますが、データが 8bit のため歪率が 0.13% とそれほど良くありません。これを改善するには量子化ビット数とサンプリング数を増やせば良いのですが、Arduino Uno ではメモリーの制約もあり、厳しいものがあります。
しかし、SPRESENSE では 192 kHz/24bit ハイレゾリューションオーディオコーデックがありますから、かなり低歪率のサイン波を発生できそうです。
Arduino 用のライブラリを見てみると、
〇 Audio ライブラリの主な特徴
・Sound recorder
・Audio player
・Volume control
・Balance (L/R Gain)
・Beep generation
〇 Audio Output Channel
・Analog headphone
・I2S
〇 DSP codec は以下のフォーマットを扱うことができます。
・MP3
・WAV (PCM)
とあります。
なので、MP3 か WAV でサイン波のデータを用意し、連続して再生動作をさせられれば低歪率のサイン波出力を得られるはずです。出力はステレオですので片チャンネルに 1000Hz、もう片チャンネルに 1700Hz を割り振り、内蔵のライブラリで Vol、Bal を制御するようにすればこれだけで低歪率のツートーン・ジェネレータが完成するはずです。
まずは SPRESENSE を買って試してみるところからですね。
まずは構想まで。
SSB 送信機の調整にはツートーン・ジェネレータが使われます。最近はスプリアス規定も厳しくなり、シングルトーンでスプリアスを確認するにしても低歪率のサイン波でないと正確に評価ができません。CW モードで搬送波の評価はできても、純度の高いサイン波がないと SSB 変調回路の評価はできません。
その特徴に
〇 ハイスペックのハイレゾリューションオーディオ機能
・192 kHz/24bit ハイレゾリューションオーディオコーデック
・192 kHz A/D コンバータを搭載
・8チャンネルマイク入力(デジタルマイクの場合)
・フルデジタルアンプによるBTLステレオ出力
があります。
まえに Arduino でサイン波の発生を試した事がありますが、データが 8bit のため歪率が 0.13% とそれほど良くありません。これを改善するには量子化ビット数とサンプリング数を増やせば良いのですが、Arduino Uno ではメモリーの制約もあり、厳しいものがあります。
しかし、SPRESENSE では 192 kHz/24bit ハイレゾリューションオーディオコーデックがありますから、かなり低歪率のサイン波を発生できそうです。
Arduino 用のライブラリを見てみると、
〇 Audio ライブラリの主な特徴
・Sound recorder
・Audio player
・Volume control
・Balance (L/R Gain)
・Beep generation
〇 Audio Output Channel
・Analog headphone
・I2S
〇 DSP codec は以下のフォーマットを扱うことができます。
・MP3
・WAV (PCM)
とあります。
なので、MP3 か WAV でサイン波のデータを用意し、連続して再生動作をさせられれば低歪率のサイン波出力を得られるはずです。出力はステレオですので片チャンネルに 1000Hz、もう片チャンネルに 1700Hz を割り振り、内蔵のライブラリで Vol、Bal を制御するようにすればこれだけで低歪率のツートーン・ジェネレータが完成するはずです。
まずは SPRESENSE を買って試してみるところからですね。
まずは構想まで。
SSB 送信機の調整にはツートーン・ジェネレータが使われます。最近はスプリアス規定も厳しくなり、シングルトーンでスプリアスを確認するにしても低歪率のサイン波でないと正確に評価ができません。CW モードで搬送波の評価はできても、純度の高いサイン波がないと SSB 変調回路の評価はできません。
Arduino で Softeare DDS を動かす (その5) [Arduino]
Arduino で Softeare DDS を動かす、その5です。
DDS の発生周波数と LPF を通った後のスプリアスを比較してみました。
比較したのは LPF のカットオフ周波数が 2kHz で発生周波数が 1kHz と 2kHz の場合のスプリアスです。
〔発生周波数 1kHz〕
〔発生周波数 2kHz〕
比較するとカットオフ周波数と発生周波数が同じ場合の方がスプリアスのレベルは下がります。
ただし、PWM 後の波形に DC 成分が残ってしまい、結合を AC カップリングにしないといけませんでした。
それと両方のグラフで 8.7kHz くらいにピークがあります。これの原因が良く分かりません。
それでも3次のスプリアスがかなり抑えられているので、高いところの不要な信号をどう抑えるかを考えたいと思います。この辺りが 8bit PWM の限界かもしれません。
〔APB-3 での測定結果〕
参考までに APB-3 で 1kHz の信号とスプリアスを測った結果も載せておきます。
同時に表示できてよいのですが、入力のアッテネータと結合の切り替えがないのが痛いところです。
DDS の発生周波数と LPF を通った後のスプリアスを比較してみました。
比較したのは LPF のカットオフ周波数が 2kHz で発生周波数が 1kHz と 2kHz の場合のスプリアスです。
〔発生周波数 1kHz〕
〔発生周波数 2kHz〕
比較するとカットオフ周波数と発生周波数が同じ場合の方がスプリアスのレベルは下がります。
ただし、PWM 後の波形に DC 成分が残ってしまい、結合を AC カップリングにしないといけませんでした。
それと両方のグラフで 8.7kHz くらいにピークがあります。これの原因が良く分かりません。
それでも3次のスプリアスがかなり抑えられているので、高いところの不要な信号をどう抑えるかを考えたいと思います。この辺りが 8bit PWM の限界かもしれません。
〔APB-3 での測定結果〕
参考までに APB-3 で 1kHz の信号とスプリアスを測った結果も載せておきます。
同時に表示できてよいのですが、入力のアッテネータと結合の切り替えがないのが痛いところです。
Arduino で Softeare DDS を動かす (その4、LPF による全高調波歪の違い) [Arduino]
Arduino で Softeare DDS を動かす、その4です。
LPF による全高調波歪の違いに関して考えてみました。
LTspice でのシミュレーション結果を見てみると
LC 1段ではカットオフ周波数が 1kHz よりも低くなっています。この違いが全高調波歪の違いになっているのかもしれません。
そこでバターワース・フィルターのカットオフ周波数を 1kHz に近づけたものを作って再度確認してみたいと思います。
でも、0.16% とか、0.13% をデシベル表示すると、-55.9dB や -57.7dB とかの値になります。
全スプリアスがこの値なら、取り敢えず SSB のリニアリティ確認には問題ないと思います。
次は、実際に「あちゃんでいいの」を2個使って、Two Tone Generator を組んでみようと思います。
LPF による全高調波歪の違いに関して考えてみました。
LTspice でのシミュレーション結果を見てみると
LC 1段ではカットオフ周波数が 1kHz よりも低くなっています。この違いが全高調波歪の違いになっているのかもしれません。
そこでバターワース・フィルターのカットオフ周波数を 1kHz に近づけたものを作って再度確認してみたいと思います。
でも、0.16% とか、0.13% をデシベル表示すると、-55.9dB や -57.7dB とかの値になります。
全スプリアスがこの値なら、取り敢えず SSB のリニアリティ確認には問題ないと思います。
次は、実際に「あちゃんでいいの」を2個使って、Two Tone Generator を組んでみようと思います。
Arduino で Softeare DDS を動かす (その3) [Arduino]
Arduino で Softeare DDS を動かす、その3です。
インダクタとコンデンサを買ってきてブレッドボードにフィルターを作って波形を見てみました。
〔オリジナルのフィルター〕
オリジナルはチェビシェフ・フィルターですが、使っているインダクタの 4.7mH が手に入らず 4.0mH に変更しています。
これが組んだところ
これが波形
全高調波歪(THD)が約 0.5% に収まっています。
〔カットオフ周波数を下げたフィルター〕
今度はカットオフ周波数を約 2kHz にしたバターワース・フィルターの場合です。
これが組んだところ
これが波形
全高調波歪(THD)が約 0.16% に収まっています。
でも、前回の 0.13% より若干悪くなっています。LC 1段から2段になっているのにと、ちょっとがっかりでした。
ついでに入力の PWM 波形とフィルター出力の波形です。
フィルターでの信号遅延が結構あるのが分かります。
全高調波歪(THD)をもっと下げるにはサイン・テーブルの解像度を 8bit から 10~12bit に上げる必要があると思います。
それか出力に入れるフィルターのカットオフ周波数を下げるのと、段数を増やして減衰域の減衰量を増やすしかないですね。
インダクタとコンデンサを買ってきてブレッドボードにフィルターを作って波形を見てみました。
〔オリジナルのフィルター〕
オリジナルはチェビシェフ・フィルターですが、使っているインダクタの 4.7mH が手に入らず 4.0mH に変更しています。
これが組んだところ
これが波形
全高調波歪(THD)が約 0.5% に収まっています。
〔カットオフ周波数を下げたフィルター〕
今度はカットオフ周波数を約 2kHz にしたバターワース・フィルターの場合です。
これが組んだところ
これが波形
全高調波歪(THD)が約 0.16% に収まっています。
でも、前回の 0.13% より若干悪くなっています。LC 1段から2段になっているのにと、ちょっとがっかりでした。
ついでに入力の PWM 波形とフィルター出力の波形です。
フィルターでの信号遅延が結構あるのが分かります。
全高調波歪(THD)をもっと下げるにはサイン・テーブルの解像度を 8bit から 10~12bit に上げる必要があると思います。
それか出力に入れるフィルターのカットオフ周波数を下げるのと、段数を増やして減衰域の減衰量を増やすしかないですね。
Arduino で Softeare DDS を動かす (その2) (市販部品に変更) [Arduino]
Arduino で Softeare DDS を動かす、その2です。
※ サトー電気で買える市販部品に変更したものを追加
Arduino の PWM 出力に付ける LPF を考えてみました。
元記事では 12kHz でカットオフするチェビシェフ・フィルターを標準的な値の LC パーツで実現しています。LTspice でシミュレーションするとなかなかの特性が出ています。
しかし、実際に作ろうとしている出力は Two Tone Generator なので、1000Hz と 1700Hz の2信号が候補です。これには少しカットオフ周波数が高いように思います。
それでカットオフ周波数がもう少し低い LC フィルターを考えてみようと思います。
参考にした本はこれ、CQ 出版社から出ている「LC フィルタの設計&製作」森 栄二 著 です。
これを参考にバターワース型の5次 LPF を考えてみます。
カットオフ周波数を 2000Hz、インピーダンスを 300Ω で各素子の値を計算すると
周波数比 M が 2000x2π
インピーダンス比 K が 300 なので
L1, L2 = 38.63mH
C1 = C3 = 0.164μF
C2 = 0.531μF
となり、LTspice でシミュレーションすると
2kHz 前後を拡大すると
設計カットオフ周波数の 2kHz で -9dB(信号源の 300Ω で半分になるので -6dB-3dB = -9dB)とおよそ一致しています。
しかし、これでは市販のパーツを使えないので市販のパーツで適当なものを当てはめてみます。
サトー電気に 30mH のインダクタがあるのでそれを使い、コンデンサを適当に合成してみると
こんな感じです。
で、2kHz 前後を見ると、若干減衰量が減っていますが、そこそこです。
この辺りでフィルターを試作してみます。
最終的に部品選定はこうなりました。
※ サトー電気で買える市販部品に変更したものを追加
Arduino の PWM 出力に付ける LPF を考えてみました。
元記事では 12kHz でカットオフするチェビシェフ・フィルターを標準的な値の LC パーツで実現しています。LTspice でシミュレーションするとなかなかの特性が出ています。
しかし、実際に作ろうとしている出力は Two Tone Generator なので、1000Hz と 1700Hz の2信号が候補です。これには少しカットオフ周波数が高いように思います。
それでカットオフ周波数がもう少し低い LC フィルターを考えてみようと思います。
参考にした本はこれ、CQ 出版社から出ている「LC フィルタの設計&製作」森 栄二 著 です。
これを参考にバターワース型の5次 LPF を考えてみます。
カットオフ周波数を 2000Hz、インピーダンスを 300Ω で各素子の値を計算すると
周波数比 M が 2000x2π
インピーダンス比 K が 300 なので
L1, L2 = 38.63mH
C1 = C3 = 0.164μF
C2 = 0.531μF
となり、LTspice でシミュレーションすると
2kHz 前後を拡大すると
設計カットオフ周波数の 2kHz で -9dB(信号源の 300Ω で半分になるので -6dB-3dB = -9dB)とおよそ一致しています。
しかし、これでは市販のパーツを使えないので市販のパーツで適当なものを当てはめてみます。
サトー電気に 30mH のインダクタがあるのでそれを使い、コンデンサを適当に合成してみると
こんな感じです。
で、2kHz 前後を見ると、若干減衰量が減っていますが、そこそこです。
この辺りでフィルターを試作してみます。
最終的に部品選定はこうなりました。
Arduino で Softeare DDS を動かしてみました [Arduino]
SSB の測定の為に、低歪率の Two Tone Generator を用意しようと考えています。
まず、FCZ の1石 CR 発振回路のものは歪率が酷く、PC ソフトの WaveGene はそれなりに良いのですが、PC が必須となってしまいます。RF の回り込みとかで誤動作が心配です。
で、Arduino で DDS を実現しようかと思い、ググったらそのものずばりの物がこちらにありました。
これを動かしてみたところ、PWM 出力が出ているので、出力に簡単な LC Low Pass Filter を付けて波形を見てみました。なかなか良い結果です。
〔実験風景〕
〔LC Low Pass Filter〕
手持ちの部品で有り合わせで作ったものです。
〔測定結果〕
1000Hz でプログラムしているのでちゃんと1サイクル1mSec で出ています。
歪率もいきなり 0.13% が出ています。
元記事では -50dB と出ていました。換算するとだいたい同じような値です。
ちゃんとした Low Pass Filter を付けて、ケースに組み込んでみようと思います。
「あちゃんでいいの」を2個用意し、それぞれ 1000Hz、1700Hz でプログラムしてケースに入れてみるつもりです。
スケッチの動作はかなり ATmega328 のタイマー機能を理解していないとその動作が分かりにくいです。理解できたらメモ書きを残してみようと思います。
概要は Timer2 を使い、サイン波の値でオン・タイムを変える PWM 出力を作っており、出力する周波数で Software DDS のモジュローを計算して出力しています。Timer2 で割り込みもかけているのですが、割り込みと PWM 出力設定の辺りが今一つ、理解できていません。(´;ω;`)
まず、FCZ の1石 CR 発振回路のものは歪率が酷く、PC ソフトの WaveGene はそれなりに良いのですが、PC が必須となってしまいます。RF の回り込みとかで誤動作が心配です。
で、Arduino で DDS を実現しようかと思い、ググったらそのものずばりの物がこちらにありました。
これを動かしてみたところ、PWM 出力が出ているので、出力に簡単な LC Low Pass Filter を付けて波形を見てみました。なかなか良い結果です。
〔実験風景〕
〔LC Low Pass Filter〕
手持ちの部品で有り合わせで作ったものです。
〔測定結果〕
1000Hz でプログラムしているのでちゃんと1サイクル1mSec で出ています。
歪率もいきなり 0.13% が出ています。
元記事では -50dB と出ていました。換算するとだいたい同じような値です。
ちゃんとした Low Pass Filter を付けて、ケースに組み込んでみようと思います。
「あちゃんでいいの」を2個用意し、それぞれ 1000Hz、1700Hz でプログラムしてケースに入れてみるつもりです。
スケッチの動作はかなり ATmega328 のタイマー機能を理解していないとその動作が分かりにくいです。理解できたらメモ書きを残してみようと思います。
概要は Timer2 を使い、サイン波の値でオン・タイムを変える PWM 出力を作っており、出力する周波数で Software DDS のモジュローを計算して出力しています。Timer2 で割り込みもかけているのですが、割り込みと PWM 出力設定の辺りが今一つ、理解できていません。(´;ω;`)
ゲルマダイオード SD34 が届く [Arduino]
RigExpert AA-30.ZERO を Arduino Mega 2560 で動かす (その4) [Arduino]
RigExpert AA-30.ZERO を Arduino Mega 2560 で動かす、その4です。
前回は Arduino Mega 2560 からコマンドを送って、受信した結果をシリアル通信で PC へ書き出していましたが、今回は Arduino Mega 2560 に取り付けたグラフィック・ディスプレイに表示しています。
最初はシリアル・モニターからコマンドを入力した場合です。
次は自動実行した場合です。
レスポンスの関係で表示の順番が入れ替わっているところがあります。
最後に接続した状態です。
ここまで来たので、次は SWR のグラフ表示と動作コマンド入力のタッチパネル機能の追加を進めたいと思います。
前回は Arduino Mega 2560 からコマンドを送って、受信した結果をシリアル通信で PC へ書き出していましたが、今回は Arduino Mega 2560 に取り付けたグラフィック・ディスプレイに表示しています。
最初はシリアル・モニターからコマンドを入力した場合です。
次は自動実行した場合です。
レスポンスの関係で表示の順番が入れ替わっているところがあります。
最後に接続した状態です。
ここまで来たので、次は SWR のグラフ表示と動作コマンド入力のタッチパネル機能の追加を進めたいと思います。
RigExpert AA-30.ZERO を Arduino Mega 2560 で動かす (その3) [Arduino]
RigExpert AA-30.ZERO を Arduino Mega 2560 で動かす (その2) [Arduino]
RigExpert AA-30.ZERO を Arduino Mega 2560 で動かす、その2です。
前回は単純に PC と AA-30.ZERO とのシリアル通信ブリッジでしたが、今回は Arduino Mega 2560 からコマンドを送って、受信した結果をシリアル通信で PC へ書き出しています。
ただ、今回は通信のデータがそろうまでの時間を delay で作っているので、タイミングを合わせる部分をちゃんと作らないとダメなようです。
そのため、タイミングが合わずに一部のデータで欠落が発生しています。
その辺りを Arduino のサンプル・スケッチなどで調べてみようと思います。
まだ先は長いなぁ。
前回は単純に PC と AA-30.ZERO とのシリアル通信ブリッジでしたが、今回は Arduino Mega 2560 からコマンドを送って、受信した結果をシリアル通信で PC へ書き出しています。
ただ、今回は通信のデータがそろうまでの時間を delay で作っているので、タイミングを合わせる部分をちゃんと作らないとダメなようです。
そのため、タイミングが合わずに一部のデータで欠落が発生しています。
その辺りを Arduino のサンプル・スケッチなどで調べてみようと思います。
まだ先は長いなぁ。
Teensy を使った The $19 DIY DSP audio filter [Arduino]
ネットでこんなものを見つけました。
Teensy という 72 MHz Cortex-M4 を使った microcontroller board で DSP を実装し、Audio Filter を作って FT-817 に組み込んでいます。特徴は価格で $19.80 です。それと開発環境に Arduino IDE を使っています。
GI1MIC The $19 DIY DSP audio filter
https://gi1mic.github.io/
Teensy についてはこちら
「3.3V signals, 5V tolerant Teensy USB Development Board」
The Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port.
https://www.pjrc.com/teensy/
ソフトだけでオーディオ帯の DSP を作っています。
これを他の QRP リグでも使えるようにしたら面白いと思います。
Teensy という 72 MHz Cortex-M4 を使った microcontroller board で DSP を実装し、Audio Filter を作って FT-817 に組み込んでいます。特徴は価格で $19.80 です。それと開発環境に Arduino IDE を使っています。
GI1MIC The $19 DIY DSP audio filter
https://gi1mic.github.io/
Teensy についてはこちら
「3.3V signals, 5V tolerant Teensy USB Development Board」
The Teensy is a complete USB-based microcontroller development system, in a very small footprint, capable of implementing many types of projects. All programming is done via the USB port.
https://www.pjrc.com/teensy/
ソフトだけでオーディオ帯の DSP を作っています。
これを他の QRP リグでも使えるようにしたら面白いと思います。