トドお父さん通信 -2ページ目

トドお父さん通信

北部九州在住 高BMI中高年のオタク趣味の活動記録

前回【電子工作】コンパクトなATTINY1614簡易オシロ付きロジックチェッカを作りました(その1)
の続きです。
 

今回はArduino Nanoから、ATTINY1614へ移植したのでその報告です。
Arduino IDEにmegaTinyCoreボードマネージャを入れて開発しました。

【変更点】

変更はコメントからです。
前回は変更点3まででした。

画像
 

ピンもATTINY1614の14ピンに合わせて修正します。

赤/緑2色LEDを入れるとギリギリでした。アッテネータを廃止しなかったら
ピンが足りませんでした。
(ピン13のMON_LEDを2色LEDと併用する手はあります)

HOLDスイッチも今回は実装しましたが、実機ではoption扱いです。

参考のために今回の回路図を添付します。

画像
 

こちらのピン定義通りに配線していると思います。

画像
 

今回のソフトの最新版はGistのこちらにおいてます。
TINY1614_LOGIC_CHECKER_w_osciloscope_V1.0.ino

コンパイルした結果はこちらです。

画像
 

16KBのフラッシュは12.5kB(72%)使用とのことで、無事入りました。

2KBのRAMは1561バイト使用で486バイトしかのこってない、と警告がでていますが、AdafruitGFXを使っていた時はフレームバッファで1kB使うので、残りは200バイトくらいしか残ってませんでした。

ATTINY1614への詳しい移植内容はこちらのnoteの記事に書いています。

 


ブレッドボードはこんな形になりました。



次回はタカチのSW-53ケース加工とケースへの組み込みを中心に説明しますね。
それでは、おやすみなさい。

 


近隣のおもちゃ病院のおもちゃドクターさんから、おもちゃ病院開院時に、「Mさん、反射型センサが動作しているか、わかりますか?」と聞かれてオシロがないのでテスターで受光側の電圧をみると1Vくらいでした。

劣化で漏れ電流が増えていたのでしょう。

オシロがあればなぁ?と思いましたが、オシロはおもちゃドクターには敷居が高いのでロジックチェッカでも作ってみようかと思いました。

基本はLEDがDCレベルで”H”で緑、”L”で赤、中間電位で”オレンジ”
ACレベルで変化があれば、オレンジの点滅。
みたいな仕様かな?

LEDだけでなく、電圧表示があると嬉しいですね。
欲を言えば、簡易オシロ機能で波形も見れるといいかな?

って、こんな感じでプロジェクトが始まりました。

今回のこのプロジェクトのベースにするのは、下記のラジオペンチさんの簡易オシロの記事です。
“0.96インチOLEDを使ったオシロ、機能確認版の製作 (Arduino)”

仕様は下記のようになっています。簡易オシロとしては十分です。
波形のアベレージを計算してくれるので、ロジックチェッカとしては、この表示値を使って判定すればいいことになります。

  • Arduino Nanoと0.96’ OLEDディスプレイを使う

  • 垂直感度(フルスケール当たりの値)
     固定レンジ:50V, 20V, 10V, 5V, 2V, 1V, 0.5V, 0.2V
     Autoレンジ:50V, 5V (波形が出来るだけ大きく表示されるように上/下限の値を自動調整)

  • 水平レンジ(div当たりの値、4div=フルスケール)
     50ms, 20ms, 10ms, 5ms, 2ms, 1ms, 500us, 200us

  • トリガ
     波形PPの1/2レベルで自動トリガ。トリガスロープUP/DOWNの指定が可能

     トリガ非検出でも波形は表示し、トリガ検出失敗表示する (unsync と表示)

  • 電圧計機能
     波形メモリーの値の平均値を画面に表示。簡易電圧計として使えるはず。

  • 画面ホールド
     ホールドスイッチを押すと画面をホールド、再度スイッチを押すとホールド解除。なお、ホールド中はholdと画面に表示。

  • 設定状態のリジューム機能
     ボタン操作の5秒後に設定内容をEEPROMに保存。保存した内容は次回パワーON時に反映。

  • 波形の周波数とデューティ比の測定機能を追加(V2.0以降)

心配なのはメモリです。
もとのArduino Nano版 PMO-RP1_V2.0 で、コンパイルして確認しました。
フラッシュメモリ:最大30720バイトのうち、スケッチが23682バイト(77%)を使っています。
RAM:最大2048バイトのRAMのうち、グローバル変数が825バイト(40%)を使っていて、ローカル変数で1223バイト使うことができます。
→ RAMは1223バイト空きがあるとの表示ですが、実際はグラフィックライブラリのAdafruit GFXがフレームバッファとして128x64=1kB使っているので、空きは200バイト前後しかありません。

今回はArduino Nanoを使って、ブレッドボード上でグラフィックライブラリの削減を検討して、ATTINY1614でのオシロ機能の実現性を確認しました。

一緒にSleepモードやロジックチェッカ機能の確認も行いました。
下記のnoteに記事を書いています。

 

 


これができれば、超小型のオシロ機能付きロジックチェッカが実現することになります。
でも、老眼のおもちゃ病院ドクターに使ってもらえるか心配です。

まずは自分が使うことを考えましょうか?!
今回のブレッドボードはこんな形になりました。

ピン変化割り込みを使ったので、部品が少なくシンプルにまとまりました。


それでは、次回以降にATTINY1614への移植と、タカチSW53ケース組み込みを行います。
こうご期待!

 

最近の電子工作の記録はNoteにまとめることにしています。

はじめに・経緯

の続きです。

おもちゃ病院の現場で水晶の故障による動作不良が複数件あり、水晶の良否が判定できる簡便なツールが欲しいと思ったのが、このプロジェクトのきっかけです。


David Johnson-Davies 氏の ATtiny414 を用いた 100MHz 周波数カウンタの記事をもとに、CR2032電池を使ってコンパクトなケースに入れました。
“Frequency meter based on an ATtiny414 measuring an input of 100MHz.”
http://www.technoblogy.com/show?20B4)
 

水晶の不良がチェックできるのと、簡便な周波数カウンタにもなります。
周波数源を持ってないので、中華からAliExpressでSi5351A周波数シンセサイザ基板を仕入れて150MHzまで確認可能にしました。
 
ATTINY1614で3Vでは85MHzまでしかカウントできませんでしたが、十分でしょう。
カバンの中にそっと仕舞っておけるので、いざというとき安心です!
#電子工作 #おもちゃ病院 #ATTINY1614
 

これらの検討内容と動作確認の記録は備忘録としてNoteにまとめています。  

ぜひこちらからご覧ください。
これから、このフリスクサイズの小型ケースとATTINYを使って、おもちゃ病院だけでなく、出先でのいろんな修理に使える便利な治具シリーズを作っていきたいと思います。

次のプロジェクトが完成したら、また報告しますね!
それでは、おやすみなさい。