Arduinoで作るペン型オシロ(ソフト解説編)
ペン型オシロスコープ作りの話の最終回、今回はソフト解説というか操作解説編です。とは言っても細かいことを書いていると切りが無いし、プログラムのコメントにある程度のことは書いてあります。
ということで、ここでは重要な項目や、特に注意した点などを書いておきます。
1.仕様
◆オシロ機能
・最高サンプリング速度:8μs, 記録長:200データー、表示範囲:100データー(固定)
・水平軸: 200ms. 100ms, 50ms, 20ms, 10ms, 5ms, 2ms, 1ms, 500us, 200us
・垂直軸: 0.2V, 0.5V, 1V, 2V, 5V, 10V, 20V, 50V, A 5V. A50V
測定範囲は正の電圧のみ。最小電圧は0V固定。但し、A 5VとA50Vレンジでは信号の最小/最大に追従して自動拡大。
・トリガ:PP中間点のAutoトリガ機能のみ実装 (Normal, Singleトリガは無し)。正負スロープの選択可能。トリガ検出ミス表示(Unsync表示)
・その他機能:波形平均値表示機能。波形ホールド機能。設定状態保存機能(リジューム機能)。
◆デジタルマルチメーター機能
電源ON時のボタン同時押しでデジタル電圧モードが起動。
+ボタン:5Vレンジ、-ボタン:50Vレンジ、SELボタン:バッテリー電圧表示。
◆電源
単四電池(ニッケル水素も可)2本、電池消費電流:52mA@2.4V、電池寿命:約12時間
2.プログラム
ペン型オシロのスケッチ20190226版 (V1.1)
◆特記事項
・RAM不足対策:PROGMEMを使用。
・スイッチの取りこぼし対策:スイッチの状態をダイオードで合成してPin2からAttachInterruptで割り込み。
(私のやり方がへぼい可能性大ですが、、)
・低速スイープ時のレスポンス改善:ボタン操作があれば、波形メモリの書き込みを中断(低速スイープ時のみ)。
▼動画
◆まとめ
・結構実用的な物が出来たと思います。
・出来ればスイープ速度がもっと早くなるといいのですが、このCPU(ATmaga328P, 16MHz)では限界に近いと思います。世の中にはもっと高速なCPUがあるので、機会があれば勉強して挑戦してみたいです。
・性能的にちょっと気になる点があるので、あとで追記します。次の記事にまとめました。
※ このオシロに関する記事は、ペン型オシロスコープのカテゴリにまとめています。
ということで、ここでは重要な項目や、特に注意した点などを書いておきます。
1.仕様
◆オシロ機能
・最高サンプリング速度:8μs, 記録長:200データー、表示範囲:100データー(固定)
・水平軸: 200ms. 100ms, 50ms, 20ms, 10ms, 5ms, 2ms, 1ms, 500us, 200us
・垂直軸: 0.2V, 0.5V, 1V, 2V, 5V, 10V, 20V, 50V, A 5V. A50V
測定範囲は正の電圧のみ。最小電圧は0V固定。但し、A 5VとA50Vレンジでは信号の最小/最大に追従して自動拡大。
・トリガ:PP中間点のAutoトリガ機能のみ実装 (Normal, Singleトリガは無し)。正負スロープの選択可能。トリガ検出ミス表示(Unsync表示)
・その他機能:波形平均値表示機能。波形ホールド機能。設定状態保存機能(リジューム機能)。
◆デジタルマルチメーター機能
電源ON時のボタン同時押しでデジタル電圧モードが起動。
+ボタン:5Vレンジ、-ボタン:50Vレンジ、SELボタン:バッテリー電圧表示。
◆電源
単四電池(ニッケル水素も可)2本、電池消費電流:52mA@2.4V、電池寿命:約12時間
2.プログラム
ペン型オシロのスケッチ20190226版 (V1.1)
◆特記事項
・RAM不足対策:PROGMEMを使用。
・スイッチの取りこぼし対策:スイッチの状態をダイオードで合成してPin2からAttachInterruptで割り込み。
(私のやり方がへぼい可能性大ですが、、)
・低速スイープ時のレスポンス改善:ボタン操作があれば、波形メモリの書き込みを中断(低速スイープ時のみ)。
▼動画
◆まとめ
・結構実用的な物が出来たと思います。
・出来ればスイープ速度がもっと早くなるといいのですが、このCPU(ATmaga328P, 16MHz)では限界に近いと思います。世の中にはもっと高速なCPUがあるので、機会があれば勉強して挑戦してみたいです。
・性能的にちょっと気になる点があるので、
※ このオシロに関する記事は、ペン型オシロスコープのカテゴリにまとめています。