Quantcast
Channel: JH7UBCブログ
Viewing all 440 articles
Browse latest View live

オールパスフィルタ+加算器の実験

$
0
0
 7MHzダイレクトコンバージョン受信機の実験をしています。

 局発のSi5351Aから位相差90°の信号を74HC4066に加え、IQ信号を発生させます。

 I信号をオールパスフィルタを通して、特定の周波数の位相を90°遅らせます。

 それをQ信号と加算器で合成するとその周波数の信号を消すことができます。

回路図です。

イメージ 1

受信機に組み込んだ様子です。

イメージ 2


 オールパスフィルタの100kΩのVRで周波数を調整します。

 加算器の1kΩのVRは、信号が最も弱くなるように調整します。加算器の入力の抵抗値は、最初両方とも1kΩにしたのですが、バランスがとれず、片側を6.8kΩにしました。

 ミキサー部は、以前の回路から若干変更し、コイルのコールド側にバイアス電圧を加えることにして、カップリングコンデンサーを省略しました。

 VFOの周波数を7.000000MHzとして、アンテナからVFO-2000Hz~VFO+2000Hzの信号をSGから加え、オーディオ出力を測定してみました。

イメージ 3

 オールパスフィルタは、あらかじめ、800Hzで位相差90°に調整したのですが、7.000660MHzつまり、660Hzで信号が最小になりました。

 全体的に見て、下側サイドバンドは、変わらず、上側サイドバンドに大きな変化が現れました。音を耳で聞いても、はっきりわかります。特に上側の700Hz付近の信号は非常に小さくなります。

 I信号とQ信号を入れ替えてみます。当然ですが、上のグラフと対照的な結果が得られました。

イメージ 4

 7MHzの場合、SSB信号は、LSBですから、上のグラフの回路を使います。

 片側サイドバンドを完全に消すことはできませんが、ある程度効果があるのではないかと思います。

 この後にオーディオピークフィルタを入れれば、さらに効果的と思います。

 実際にアンテナに接続して聞いてみると、LSBが再生できません。IとQ逆のようです。

 CWは、イメージは非常に小さくなります。その分、本物が浮かび上がります。

 もう少し実験を続けます。



オーディオ・ピークフィルタ

$
0
0
 製作中のダイレクトコンバージョン受信機に使うオーディオピークフィルタの実験をしました。

 CW用オーディオピークフィルタの実験は、以前に行い、記事はこのブログのここにあります。

 今回は、以前に実験したものとキャリブレーションの回路の双方の特性を比較してみました。

 回路図です。Aが以前の回路、Bがキャリブレーションの回路です。

 ピーク周波数とQ値は、大川電子設計のサイトで計算しています。オペアンプは、例によってLM358を使いました。


イメージ 1

AとBの周波数特性です。Aのピーク周波数が少しずれていますが、確かにBの方がとがっています。つまりQ値が高いです。

イメージ 2

 ピーク周波数付近を詳しく見ます。

 Aの周波数特性です。-3dBで見ると約70Hzの幅があります。

イメージ 3

 Bの周波数特性です。

イメージ 4

 -3dBで約40Hzの幅です。

 CW受信に特化した受信機として考え、 ダイレクトコンバージョン受信機のIQ信号+オールパスフィルタ+加算器の後にこのピークフィルタ(B)を通して、VFOを7.000000MHzにして、周波数特性をとってみました。

イメージ 5

 信号の反対側のサイドは、約-40dBになり、約700Hzの信号付近にピークが現われました。

 明日、受信実験をしてみたいと思いますが、ピークが鋭すぎすような気がします。

 受信は、良いとして、実際の交信では、ピークの幅がもう少し広い方が交信しやすいと思います。

 さて、どんな感じで受信できるでしょうか?

受信テスト

$
0
0
 昨日は、約60cmの積雪になりました。11月でこれだけ積もるのは、初めての経験です。一日中、除雪作業を行いました。

 今朝になり、雪は半分に沈みましたが、軒下には山の雪です。

イメージ 1

 昨日行う予定だった、7MHzダイレクトコンバージョン受信機の受信テストをお昼頃に行いました。

 オーディオ・ピークフィルタを組み込んだ様子です。

イメージ 2


 SteppIRのアンテナを伸ばし、CWバンドをワッチ。

 IC-756PROと切り替えながら受信テストを行いました。

 7.00600MHzに8N3THが出ています。IC-756PROで599です。

 切り替えて、ダイレクトコンバージョン受信機では、一番良く聞こえるところで、VFOの値は、7.00539MHzでした。

 耳Sメータでは、599です。VFOの表示との差は、610Hzです。もともとVFOは約100Hz低く発振していますので、実際の周波数差は、710Hzとなります。これは、ピークフィルタのピーク周波数と一致します。

 混信の状況ですが、ほかの信号はかなり小さくなり、実用になるレベルと感じました。S9+の信号は、逆サイドでも受信されますが、かなり小さくなります。

 ダイヤルを周波数がUPする方向に回して、CWトーンがだんだん低くなるのが、本物の信号ですから、イメージと区別できます。

 AGCがありませんので、強い信号は強く、弱い信号は弱く聞こえます。(当然ですが)

 バンドがすいていれば、QRP局も十分聞こえると思います。

 試しに、以前製作した自作の7MHz用アカギスタンダード(AS40D)と受信を比べてみました。

 はっきり言って、AS40Dの方が良く聞こえます。AS40Dは、高周波1段増幅中間周波2段増幅のいわゆる高1中2ですから、当然といえば、当然です。

 ダイレクトコンバージョン受信機で、IQ信号を利用してイメージを消して、どの程度に聞こえるのかが、今回の実験の目的です。完ぺきとは言えませんが、ある程度イメージの除去ができたと思います。


 SSBを受信してみました。再生できますが、ピークフィルタを装着する前に比べると音量がかなり小さくなりました。

 さて、次の段階ですが、Si5351Aのもう一つの出力CLK2を利用して、それを送信機用に使えば、トランシーバーができます。これにチャレンジしてみましょう。

Arduino Si5351A 7MHzトランシーバ構想

$
0
0
 ArduinoでSi5351AをコントロールしたVFOを使って、ダイレクトコンバージョン受信機が、できました。

 これに送信部を組み合わせれば、7MHz CW トランシーバができます。

 ブロックダイアグラムです。

イメージ 1

 ダイレクトコンバージョン受信機ですので、送信周波数CLK2に対して、CLK0,CLK1は、受信用のCWのトーン周波数分(700Hz)だけ低い周波数にセットします。

 オーディオピークフィルタの帯域が狭いため、RITは、必ず必要です。

 キーイングは、Si5351Aの出力Enable/Disableで行おうと思います。

 メーリングリスト仲間からは、バッファに74HC245を使ったらどうか、というアドバイスもあり、いろいろやってみたいと思います。

明日はFQP

$
0
0
 明日、12月2日(土)は、9:00から21:00まで、第9回FCWA CW QSOパーティが開催されます。

 福島CW愛好会(FCWA)が主催するこのQSOパーティで、当局JH7UBCはマネージャーを務めています。

 2009年から始まった、このパーティは、早くも9回を重ね、師走のCWの恒例のイベントとなりました。

 バンドは、1.9MHz~28MHzで、交換ナンバーは、RST+オペレータ名です。

 日頃、なかなかCWにON AIRできない、初心者の方も勇気をもって参加してみませんか。

 自分の好きなバンドで、好きな時間にCW交信を楽しんでいただければと考えています。

 詳しい規約は、こちらをご覧ください。

 では、明日お空でお会いしましょう。

FQP終了

$
0
0
 昨日、第9回FCWA CW QSOパーティ(FQP)が開催されました。

 ハイバンドは、開けず、10MHz以下のバンドでのQSOになりました。

 当局JH7UBCは、9時半頃から参加し、まず、7MHzで呼びまわり。その後CQランニングを始めました。

 ロギングソフトは、FQPに対応しているCTESTWINを使い、CQは自動送信です。

 ただ、応答は手動で、パドルで行いました。シャックはストーブは炊いているものの、室温が上がらず、手がかじかみ、ミスタッチが多く、ご迷惑をおかけしました。

 普通のコンテストと異なり、QSOパーティですから、比較的のんびりとしたペースでのオペレーションになりました。

 11時頃から12時半ころまで、昼食のため中断し、12時半から15時半ころまで、7MHzと一時10MHzで運用。

 その後、夕食をとって、18時から20時まで3.5MHzと1.9MHzを運用しました。

 1,9MHzを運用していると、どうもアンテナのマッチングがとれません。しまった、アンテナのチェックをしていなかった。1.9Mはそうそうにあきらめて、3.5Mで20時まで運用して終了としました。今回は、アンテナの点検を怠ったのが、失敗でした。

 全体にコンディションは、いまいちでしたが、たくさんの局にご参加いただきました。ありがとうございます。

 なお、FQPに参加された各局には、ログ提出をお願いします。

 提出先は、メールの場合、jh7ubc@jarl,com です。よろしくお願いします。

CMOSロジックIC

$
0
0
 第9回FCWA CW QSOパーティのログが続々と届き、昨年を超える数になりました。締め切りは、今月末ですが、そろそろ落ち着いてきましたので、Arduino Si5351A 7MHzトランシーバーの実験を再開しました。

 Si5351AのCLK2から送信用の信号を出しますが、Si5351Aの出力インピーダンスは、50Ωとのことです。(ストロベリーリナックスの説明より)

 この出力を直接、自作のQRPメータ(入力インピーダンス50Ω)で測定すると12.3dBm=17mWでした。

 500mWのファイナルをドライブするには、これでもなんとかなると思いますが、バッファアンプをつけることにします。

 普通なら、2SK241や、2SC1815で増幅を行うのですが、CMOSロジックICを使ってみようと思い、予備実験をしました。
 使ったのは、TIのSN74HC00(ヘックスNANDゲート)です。

 シングルで使った場合、パラ、3パラ、4パラそれぞれの出力を測定してみました。

イメージ 1

 それぞれの出力の測定値は、

 シングル 16.01dBm = 40mW
 パラ    18.36dBm = 67.6mW
 3パラ   18.94dBm = 77.6mW
 4パラ   18.16dBm = 66.1mW
でした。

 あれ、4パラが一番出力が大きくなるかと思いきや、4パラの出力が低下しています。

 picoscopeで波形を見ると、シングル、パラ、3パラは、LOWレベルが0Vなのですが、4パラにするとLOWレベルが、約0.8Vに上昇しています。そのため出力が低下してしまいました。

 この結果ですと、74HC00は、3パラの時に出力最大で、70mW程度とりだせることになります。ファイナルは2SC2053で500mWを予定していますので、入力は、10~30mW程度です。バッファとしては、シングルでも十分だと思います。なお、実装して実験をしてみます。


Arduino Si5351A 7MHz CW トランシーバ

$
0
0
 しばらくぶりにブログを更新します。

 寒くなったせいもあり、Arduino Si5351A 7MHz CW トランシーバの製作のテンポがにぶっています。

 前に考えた構想から若干変更して、次のような形にしようと思います。

イメージ 1

 送信部の実験回路です。

イメージ 2

 ファイナルの回路はアカギスタンダードと同じで、CMOS IC 74HC00でドライブとキーイングをします。

 74HC00は、手持ちがあったので使用しました。他のCMOS ICでも良いと思います。

 ファイナルとLPFの基板です。

イメージ 3

Si5351Aは最大出力にして、まずSi5351Aにダイレクトに入力してみました。

出力が安定しません。NGです。やはり、バッファアンプが必要です。

上の回路図のように74HC00 1個のバッファの場合の出力は、26.57dBm = 457mW でした。

次に74HC00をパラ接続にした場合の出力を測定すると28.33dBm = 676mWでした。

今回の目標出力は500mWですので、74HC00は1個で十分だと思います。

今後、回路とプログラムの細部を調整して、トランシーバに仕上げたいと思います。

Arduino Si5351A 7MHz CW トランシーバその2

$
0
0
 Arduino Si5351A 7MHz CW トランシーバのキーイング回路です。

イメージ 1

 キー端子は、プルアップしてあります。

 キーダウンすると受信部の高周波増幅部への電源供給がとまります。同時にArduino(あちゃんでいいの)がSi5351AのOUTPUT Controlレジスタをアクセスして、CLK2に送信周波数を出力します。

 同時に74HC00バッファのゲートをあけてファイナルに信号を送出します。

 受信部の検波からオーディオアンプまでは、電圧がかかり稼働状態ですので、高周波増幅部をすり抜けた信号が検波増幅されて、ピーという音が聞こえます。これが、サイドトーンの代わりになります。

 この方法は、アカギスタンダードで使われている手法です。

 全体の配線の様子です。

イメージ 2

 筐体が小さいので、けっこうキチキチの状態です。

 ダミーロードをつけ、エレキーをつけてテストをしました。フルブレークインで動作します。

 これで、交信が可能な状態になりました。

 なお、一連の記事をまとめて、JH7UBCホームページに掲載します。

QSOパーティ

$
0
0
新年あけましておめでとうございます。今年もよろしくお願いします。

元旦、今日と正月らしいおだやかな天気でしたが、夕方から雪になりました。雪もまた会津では正月らしい。Hi

さて、今日明日とJARLのQSOパーティです。

この数年、2mFMで参加し、「CQ ニューイヤーパーティー」と連呼していたのですが、今年は3.5MのCWでの参加になりました。

と言うのは、年末から息子一家が帰省して、日中はON AIRできなかったからです。

20時過ぎから約1時間で30局と交信することができました。交信いただいた各局ありがとうございました。

前半は、パドルとリグ内蔵のエレキーで交信していたのですが、後半は、縦振電鍵で交信しました。

最近CW交信のアクティビティが落ちているせいか、ミスタッチが多く、聞き苦しいところがあったかと思います。大変失礼しました。

今年は、もう少しCW交信のアクティビティをあげたいと思います。どうぞ今年もよろしくお願いします。

FETカスコード接続アンプ

$
0
0
 先日試作したArduino Si5351A 7MHz CWトランシーバーの受信部は、ダイレクトコンバージョン受信機で、IQ信号を使って、片側サイドバンドを抑圧するというものです。更にオディオピークフィルタを加え、目的外の信号を抑え込んでいます。

 単なる ダイレクトコンバージョン受信機に比べれば、ずいぶん選局が楽になっています。しかし、十分ではありません。

 以前に製作したアカギスタンダードの受信部は、高周波増幅1段、中間周波増幅2段のシングルコンバージョン受信機で、自作のクリスタルフィルタの切れも良く、また感度も良く気に入っています。しかし、欠点はAGCのききが弱いことです。

 強い信号が入るとすごく大きな音がでて、びっくりしてしまいます。アンテナ入力に入っているアッテネータを調整すれば問題ないのですが、これを改善できれば、なお交信しやすくなると常々思っていました。

 そこで、AGCがうまく働きそうな高周波アンプを探していたところ、FETを2個直列に接続した、いわゆるカスコードアンプを見つけました。

 JH8SST局が製作した改良型7MHz Simplecieverです。回路図はこちら

 simplecieverは、N6QWが設計製作した7MHz受信機で、Web上に公開されています。回路図は、こちら

 今回、この高周波増幅部がどんな動作をするのか、確認する実験をしました。カスコード接続アンプについては既に、JA2NDK局が、実験され、結果が公開されています。こちら

 今回実験した回路です。

イメージ 1

 FETは、ヤフオクで手に入れたNチャンネルFET J310です。出力は、出力インピーダンスは考慮せず、入力と出力にオシロスコープを接続して、上のFETのゲート電圧とゲインの関係を測定してみました。下のFETのソースの電圧は、1.2Vでした。

 ランド法で、実験回路を作りました。写真には写っていないのですが、左側にゲート電圧調整用の10kΩボリュームがついています。

イメージ 3


 測定結果は、
イメージ 2

 ゲート電圧0Vでも、ゲインは、12dBあります。をマイナスにすれば、もっとゲインは小さくなると思います。

 この特性を使って、うまくAGCがかけられるか、引き続き実験をします。


TR-FETカスコード接続アンプ

$
0
0
 先日、FET J310のカスコード接続アンプの実験をしました。

 今回は、トランジスタとFETのカスコード接続アンプの実験をしました。

 このRFアンプについては、既にJA2NDK局のブログで紹介されています。参考にさせていただきました。

 TRは、2SC1815GR、FETは、J310を使いました。回路図です。

イメージ 1

 2SC1815のベース側に入っている20kΩのボリュームの部分の電圧とゲインの関係のグラフです。

イメージ 2

 FET-FETカスコード接続アンプに比べ、出力が大きく変化します。

 このアンプなら、AGCの効果が期待できるのではないかと思います。

QSOパーティ ステッカ到着

$
0
0
 昨日から断続的に雪が降り続き、今朝の降雪は約30cmで、積雪深は、70~80cmになりました。

 この後も雪が続きそうで、心配です。

 本日、QSOパーティのステッカが到着しました。

イメージ 1

 QSOパーティには、2000年から参加しています。

 もうとっくに12枚(NEW YEAR PARTY)が完成して良いはずなのですが、2007年と2008年に参加しなかったため、RとTが抜けています。

 あと2年頑張りましょう。

STM32F103C8T6

$
0
0
 Amazonから、STM32F103C8t6ボードを購入しました。いわゆるBlue Pillというものです。

 発注から10日で、中国から届きました。

 中華サイトから購入すれば、$2ほどのようですが、Amazonでは、倍以上の560円でした。でも、送料無料ですから、こんなものでしょうか。

イメージ 1

 Arduinoに比べ、メモリの容量が大きく、(フラッシュメモリ64KBとなっていますが、128MBまで使えるようです)
速度は、Arduinoの約3倍(クロック72MHz)です。

 開発には、Arduino IDEが使えることもあり、昨年あたりから、アマチュア無線家の中で人気が高まり、盛んに使われるようになりました。

 しかし、USB接続でArduinoと同じようにArduino IDEで使用するためには、STMduinoブートローダーを書き込まなければなりません。

 ただ、このボード(Blue Pill)では、USBのD+のプルアップ抵抗が間違った値で実装されていることが知られています。R10の103 (10kΩ)です。今回購入したボードにもR10は、103がついています。

イメージ 2

 このため、USBが正常に動作しないこともあるようです。正しい値は、152 (1.5kΩ)で、うまくUSBが動作しない場合は交換する必要があります。

 メーリングリスト仲間のJA2GQPさんの情報ですと、STMduinoブートローダーをセットしなくとも、stmm32ボード内臓のローダーを利用し、USBシリアル変換を使って、プログラムを書き込むことができるとのことです。

 USBシリアル変換に秋月のFT232RLモジュールを使って、書き込み実験をしてみます。

 と言うことで、USBからのプログラミングをしませんので、抵抗は交換しません。

 今回、新たにSTM32duinoという書庫を作り、stm32関係の記事をそこに置くことにします。
 

Arduino Si5351A TRXの仕上げ

$
0
0
 Arduino Si5351A 7MHz CW トランシーバーを木製のケースに納めました。

イメージ 1

 材料は、そうめん「揖保乃糸」の箱です。柔らかい木で、加工はしやすいのですが、きちんと加工するのは、逆に難しいです。

 補強材を入れて、ボンドで接着しました。塗装は、ウォールナット色の水性ニスです。

 昔のオーディオアンプ風になりました。

 このトランシーバーは、Arduino Si5351A 7mHz(40m) CW トランシーバーなので、

 「ASi40CW」とネーミングします。

STM32F103C8T6 Lチカ

$
0
0
STM32F103C8T6ボードにプログラムを書き込む方法をWebで検索すると、ほとんどがボードにブートローダーを書き込んで、Arduinoと同じようにUSB経由で使用する方法が紹介されています。

 しかし、ブートローダーを導入しなくても、ボード内臓のファームウェアで、プログラムの書き込みができます。

 JA2GQP水野さんのブログのこの記事を参考にして、まずはLチカ(LEDの点滅)をやってみましょう。

 まず、STM32duinoを導入します。

 1. Arduino IDEは、記事では1.6.9をインストールと書いてありますが、最新版1.8.5でもOKです。

 2. Arduino IDEを立ち上げ、ツール→ボード→ボードマネージャーと進み
  Arduino SAMD Boards(32-bit ARM Cortex-M0+)をインストールします。
  私のWindows10 OS では、途中でファイアーウォール警告がでましたが、許可をして無事インストールできました。
 3. Arduino_STMをダウンロードします。
  GitHubから、Arduino_STM_master.zipをダウンロードします。
  zipファイルを解凍し、Arduino_STMフォルダーとして保存します。
  このフォルダーごとArduino IDE内のhardwareフォルダ内にコピーします。

 プログラムの書き込みには、秋月電子のFT232RLモジュールを使います。
 FT232RLモジュールのJ1は、VIOにかける電圧の選択用です。これは、下の写真のように3.3V側にします。
 FT232RLモジュールとSTM32F103C8Tボードは、次のように接続します。

 FT232RL    STM32F103C8T6
    TXD           A9(TX1)   
    RXD          A10(RX1)
    3V3           3.3
    GND          GND

イメージ 1

 STM32F103C8T6ボードのBOOTジャンパーは、次のようにセットします。

 書き込み時
  BOOT0  1側
  BOOT1  0側

 Power on または、RESET時
  BOOT0  0側
  BOOT1  0側

 Arduino IDEの設定は、次のように行います。
 ツールメニューを開き、次のように設定します。

イメージ 2

 Upload methodは、USBシリアル変換を使いますので、Serialにします。

 パソコンのUSBにUSBシリアル変換モジュールを接続して、プログラムを書き込みます。

 IDEにLチカのスケッチを書き、「マイコンボードに書き込む」をクリックします。

 スケッチがコンパイルされ、マイコンボードに書き込みが行われます。

イメージ 3

 書き込みが終わると、ボードのジャンパーは、そのままでもPC13のLEDが1秒ごとに点滅しました。

 実際には、ジャンパーをBOOT0 0側、BOOT10側にセットして、電源を入れ直すかRESETを押すと、書き込まれたプログラムがスタートします。

 これで、一応STM32F103C8T6ボードで、Lチカができました。

 ここまでくるのに約1日かかりました。設定の仕方や、ジャンパーのセットの仕方などが良く分からず、JA2GQP水野さんにメーリングリストで、いろいろお聞きしながら進めました。ありがとうございました。

 STM32ボード、第一歩です。



 

STM32F103C8T6とArduino UNOとの比較

$
0
0
 同じArduino IDEが使えるにしても、STM32F103C8T6とArduinoは、別物です。

 Web上には、STM32F103C8T6は、Arduinoの3倍速いという記載をみつけましたが、実際はどうなのか、比較検証してみました。

 まず、それぞれのスペックを比較します。

         STM32F103T8C6       Arduino UNO
クロック      72MHz          16MHz
Flash Memory  64MB                        32MB
SRAM               20MB                         2KB
EEPROM           なし                           1KB

 クロック周波数を比較するとSTM32は、Arduinoの4.5倍ですから、単純に考えて、STM32は、Arduinoの4.5倍の速度が期待できます。

 実際に、簡単なスケッチで比較してみます。

STM32のスケッチです。

void setup(){
   pinMode(PB12,OUTPUT);
}

void loop(){
   digitalWrite(PB12,HIGH);
   digitalWrite(PB12,LOW);
}

 PB12にHIGHとLOWを交互に出力します。スケッチをコンパイルすると8144バイトでした。

 pico scopeで観察すると
イメージ 1

 周期は、約1.4usです。

 周波数を自作の周波数カウンタで、測定してみると、698638Hz=698.638KHzです。ただし、10Hz以下はあやしいです。

イメージ 2

 では、次にArduino UNOで、同じスケッチを実行してみます。ただし、PB12は、単に12と書き換えます。スケッチは、734バイトでした。

 デジタルポート12の出力波形です。

イメージ 3

 周期は、約6.9usで、周波数は、144483Hz=144.483KHzでした。(カウンタの表示が見ずらくてすみません)

イメージ 4

 周波数を比較すると、STM32は、Arduinoの4.84倍です。

 おおよそ、クロック周波数のとおり、4.5倍の速度があると考えてよいと思います。

 STM32のスケッチサイズが、Arduinoの10倍以上なのですが、速度は出るんですね。

STM32F103C8T6 BOOT SW

$
0
0
 STM32F103C8T6ボードにプログラムを書き込むときは、BOOT0のショートピンを1側に、プログラム実行時は、ショートピンを0側にしなければ、なりません。(BOOT1は、0側で変更なしでOKです。)

 そのため、BOOT0のショートピンをプログラムの書き換えごとに移動しなければなりません。

 この作業が、老眼と手先がきかなくなってきた年寄りには、けっこう厳しいのです。

 そこで、BOOT0のピンにピンソケットを取り付け、そこにミニスライドスイッチをはんだ付けして、スライドスイッチで、BOOT0を切り替えるようにしました。

イメージ 1

 ちょっとピンボケですみません。

 これで、プログラミングモードと実行モードの切り替えが簡単にできるようになりました。

STM32F103C8T6 I2C LCD AQM0802A

$
0
0
 STM32F103C8T6ボードにI2CインターフェースのLCD AQM0802A(秋月電子で販売)を接続して、文字を表示してみます。

 STM32F103C8T6ボードでは、I2Cに使えるピンは、デフォルトで

 PB6(SCL)
 PB7(SDA)
です。

 また、もう一系統PB10(SCL),PB11(SDA)も使うことができます。(DEKOさんのサイトが参考になりました)

 今回は、デフォルトのピンを使います。

 STM32F103C8T6ボードとAQM0802Aモジュールを接続します。

 3.3Vとグランドは、左下に接続してもかまいません。
イメージ 1

 テストしたスケッチです。(Arduinoの場合と同じです)

イメージ 2

 setContrast()の値は、適宜調整します。(30前後です。)

 ブレッドボードでテストしました。

イメージ 3

 問題なく表示されました。

STM32F103C8T6 NOKIA5110

$
0
0
 STM32F103C8T6ボードで、グラフィックLCD NOKIA5110に文字を表示してみます。

 NOKIA5110は、SPIで制御します。JA2GQPさんのブログを参考にして、STM32F103C8T6と次のように接続します。

 STM32F103C8T6       NOKIA5110
       PA11                      CE
       PA12                      RST
       PA15                      DC
       PB3                       CLK
       PB5                       DIN(MOSI)

 今回は、配線を少なくするため、CEは、グランドに接続しています。
イメージ 1

 スケッチは、Arduinoで実験した時と同じもので、接続ピンだけを変更したものを使いました。

 ライブラリは、LCD5110_Basic.hを使います。

 しかし、表示しませんでした。

 この件について、JA2GQPさんに質問したところ、JA2NDKさんが、このことについてフォーラムに書いてます。という情報をいただきました。情報は、こちら

 それによると、STM32duinoでは、PA11,PA12,PA15,PB3,PB4をOUTPUTに指定しても使えないとのことです。まさに今回使用しようとしてるピンです。

 使えない理由は、これらのピンがUSBやSPI1に使用されていて、OUTPUTに指定できないよう設定されているからです。

 これを回避するためには、setup(){に

 afio_cfg_debug_parts(AFIO_DEBUG_NONE);

 という1行を加えることが必要とのことです。

 さっそく、この1行を加えて(赤アンダーライン)、コンパイル書き込みをしたら、ちゃんと表示されました。

 なお、コントラストの設定 myGLCD.setContrast(60);としていますが、設定なしでコントラスト良く表示される場合は、設定は必要ありません。私の場合、この値で良く見えました。(個体差があります)

イメージ 2

イメージ 3

まずは、めでたし、めでたしです。

Viewing all 440 articles
Browse latest View live