5 月 31

やっぱ7MHzのCW専用トランシーバーを作りたくて試行錯誤中です。

先日のAD9850を使ったDDS VFOは全体で100mAちょい流れるので別の用途に利用するとして
今回はAD9834でなんとかならんかと思いつつ実験をはじめました。

弁解を先にすると、プログラムはさっぱり分からないので壁に突き当たるばかりで苦労してます
だから、どこかからスケッチをパクってこなくてはなりません
自作と勉強の第一歩は真似をすることだと思います。

パクらせてもらったのはこちらのサイトです
JH7UBCさん 断りも無くパクりました ありがとうございます。
スケッチは、そこの一番下の方にリンクがあります。

それで、実際に動作させると表示が寂しいのと必要とする機能が少しだけ違うのでアレンジしました。
おもな変更点は

  • 周波数表示をドット区切りにしたこと
  • RITの変化幅を980Hzから5000Hzにしたこと(将来はTITも搭載したいと考えてます)
  • 送受信の発生周波数を切り替えるようにし、ついでに送信時はTの表示がするようにしたこと
  • その他、少々

で、その改変したスケッチで動かしてるのが下の画像です

ARDUINO NANO AD9834 DDS VFO

ARDUINO NANO AD9834 DDS VFO

送信モードにしてTのマークを表示させています、RITもonで5KHz可変してます。
実際の運用機に搭載する時はRITのリセット機能とTITの搭載も考えています。
この状態(LCDのバックライトon)総合で48mAの電流なので、なんとか許せるかなぁと・・・

ブレッドボードの配線が妙に多いのは、ついでにエレキーの機能を追加したのでそのためです。
今日の時点での話しですが、エレキーについてはエレキー動作(操作)時にもVFO関連の操作もできるし送・受切替の動作も所定通りできますが実践向けにはまだ改善と工夫が必要です
ご存知の通り(いやー 僕はその時まで知らんかった)ARDUINOはシングルタスクなんですね
最初、エレキーの動作を追記して試したら、どちらも使えるけど同時に両方は動かないというのがありまして悩みました
いまも完全解決ではないのですが、疑似マルチタスクのような感じで動いています
この件で追加したのが「SchedulerARMAVR」ライブラリーです
void loopを複数実行できるのは今の僕にはありがたかったです。

このライブラリーはこちらのサイトを参考にしました
僕でもできたので、既にみんな知っていると思うのですが
蛇足ながら書いておくとこんな手順です

githubにアクセスする  https://github.com/fabriceo/SCoop
表示されたページに SchedulerARMAVR がありますので、これをクックする
そしたら cppとhがあるので、それをARDUINO IDEのライブラリーに登録すればすぐに使えました
僕はARDUINO IDEバージョン1.8.12です。
もっと知識のある方、こんなことしなくても、簡単にやっつけちゃうんでしょうけど今の自分にはこれが精いっぱいのところです。

とにかく少しずつしか進まないので根気強くやらんと いけんね

boss

written by boss