まったく同じ干渉
工場でのインターンシップ中に、コンバーターのハンカチを持って行き、出力で実際に何が起こっているかをオシロスコープで確認することにしました。驚いたことに、干渉はコンバーターの出力ではなく、原則として電源にありました。 PWMレベルが低から高に変化すると、5ボルトラインに沿って約1〜2ボルトの強い電圧降下が観察され、状態が高から低に変化すると、約1.5〜2.5ボルトのジャンプアップが見られました。そして、これらの脈動はすべてPWMの周波数でした。バッテリーから直接電力を供給した場合、実際には何も変わりませんでした。この時点で、このようなタイプのコンバーターをデバイスで二度と使用しないことにしました(具体的には、電圧を2倍以上上げる必要がある場合)。電界効果トランジスタをバイポーラトランジスタに交換するための推奨事項もありました。しかし、smdパッケージで、電圧が約450〜500ボルトの高ゲイン(約300)のものを見つける試みは失敗しました。これは、10ボルトで完全に開く電界効果トランジスタの使用を指します。
ライブデバイスへのファームウェアの転送
正直なところ、ブレッドボードですべてがうまく機能し(7セグメントディスプレイで最初のバージョンのボードを作成したときはすべて問題ありませんでした)、ファームウェアの後で問題が発生しなかったため、問題が発生するとは思いませんでした。
実際、画面とメニューのみが機能しましたが、pwm、ADC、タイマー、および割り込みは機能しませんでした。繰り返しますが、すべてがarduinでうまく機能しました。その結果、タイマーの初期化を場所ごとに入れ替えることで、正常に動作するようになりました。
arduinoフレームワークを削除する必要があります。はい、arduinoは悪いです。これは私がすでに何度も理解していることです。現在の私のコードでは、このフレームワークからミリメソッドとマイクロメソッドのみが使用されています。私はこれらすべてを克服しようとしていますが、すでにいくつかの成功を収めています。また、arduinaを使用せずにすでに無効にしたディスプレイライブラリのため、arduinaはまだ私のコードに残っており、まもなく完全になくなります、tk。必要なメモリ量があれば追加されます。また、マイクロプロセッサプログラミングでCの代わりにC ++を使用することはベストプラクティスではないため、この点もやり直す必要があります。
ファームウェアの新機能は何ですか?
追加/修正された主なものから:
- 音声表示から遅延を削除し、読み取りの速度と精度を大幅に向上させました。
- , .
- . .
- .
- , . , .
- .
- , ( 30 255 /).
- . , , .
- ( ) .
PCBで何が変更されましたか?
- ブーストコンバーターと3.3ボルトリニアコンバーターはバッテリーから直接接続されていました。
- バッテリーの分周器を10kOhmから220kOhmに変更しました。
- 電界効果トランジスタをエミッタアンプから分周器に移動して、バッテリーから電圧を除去しました。
- 余分なプルアップ抵抗が削除されました。
- 一部のディップコンポーネントはsmdに置き換えられています。
ファームウェアには何が含まれていますか?
前にリストしたものに加えて、ファームウェアには次のものが含まれています。
- 3つの動作モード:検索、測定(Pripyat線量計のように)および粒子/秒
- 検索モードでの測定誤差の計算。高度なアルゴリズムと単純なアルゴリズムの両方があります。構成ファイルで選択されています。
- 設定:sbm-20、sbm-19、beta-1-1
- プロット(はい、新しいものではありませんが、見栄えがします)。
- スリープモード(消費電力が削減され、ボタンを押し続けるか、アラームによってデバイスの電源がオンになります)。現時点では完了していません。
- 音と光の表示とその設定
- ロシア語と英語(ファームウェアを使用した構成でインストール)
構成ファイルには、無効にできるものと、解放されるメモリの量が記述されています。
ナビゲーションとメニュー
デバイスは2つのボタンで制御されます。左がリセットされ、右が設定されます。
メニューに入るには、両方を1秒間押し続ける必要があります。
メニュー内を移動するには、ボタンを短く押します。目的のアイテムを選択する-設定ボタンを押したままにします。キャンセルまたは戻る-リセットボタンを押し続けます。
メニューは私が望んでいたもののほとんどを実装していますが、gpioのメモリとポートの制限がなければ、マップ(sd + gnss)を作成する機能が追加されます。
検索モード
このモードは詳細な説明は必要ないと思います。基本的に、1時間あたりのマイクロレントゲンで現在の値を示し、現在の値に応じて範囲を変更します。読み取り値は中央値ではなく、時間の経過に伴う測定値の合計で平均化され、右ボタンを押すことでオンにできます。右上隅にバッテリーの充電量が表示され、統計誤差はわずかに低く、累積投与量はさらに低くなっています。
また、このモードでは、サウンドとアラームをオフにすることができます。サウンドをミュートするには、左ボタンを1回押し、アラームをミュートするには、アラーム中に左ボタンを押すか、左ボタンを押し続けます。
活動測定モード
時間と測定回数の両方でカスタマイズ可能なモード。設定できる最大測定時間は120分、測定回数は2回です。本質的には、プリピアット線量計で利用可能な測定プロセスを自動化します。最初の次元から2番目の次元が差し引かれ、そこから係数が取得されます。その結果、指定された時間の固定粒子の数が取得されます。製品の測定と個々の粒子の分離の両方にさまざまな方法で使用できます。最初に測定します。たとえば、最初にアルファフィルタを使用し、次にアルファフィルタを使用しない場合などです。
同様の体制は、独自の線量計を組み立てた多くの人々によって実施されましたが、私も例外ではありません。
2番目のメータリングモード
このモードでは、論理的に聞こえても、1秒あたりの粒子数が表示されます。画面右側に前回の測定時の粒子数が表示されます。グラフは、検索モードと同じ方法で作成されます。
ハウジング
現在、Fusion 360プログラムでは、次のボディが開発されています。
ボディは、Beta-1-1センサー用に作成されており、3Dプリンターでの印刷が期待されています。モデルは後でstl形式で投稿します。
ボードを固定するための穴は、M2ネジ用のスリーブをそこに溶着するために作られています。
機器の問題
最後の部分のコメントで述べたように、主な問題は、誤警報の問題が本質的に解決されていないということですが、たとえば「テープで覆われている」と、はい、私は完全に同意します。他の方法で戦おうとしましたが、あまり良い結果は得られませんでした。私はバッテリーから直接電力を供給しました、これは電力リップルの範囲を部分的に減らし、電源用に追加の電解コンデンサーを入れました(私はそれを10000mkfでも入れました、それも役に立ちませんでした)、まあ、セラミックも問題を解決しませんでした。私はこれについて結論を述べました、私はもはやそのような間違いを繰り返さないでしょう。トランスは少し高価になります(したがって、1個あたり250ルーブルの場合、インダクタンスの場合は45ルーブルです)が、問題ははるかに少なくなります。
安定した生成が4kHzであるという事実のために、弱いが迷惑なきしみ音が静かに聞こえます。このデバイスでは偵察に入ることができません。
電圧変換器も大きな故障です。インダクターが利用できるという理由だけでそれを行うことにしましたが、残りについてはすぐには考えませんでした。
しかし、欠点にもかかわらず、私に関しては、彼は私が望んでいたタスクを完全に実行します。家庭用線量計の場合はそれで十分だと思いますが、専門家の場合はそれで十分です。
デバイスの消費電力
このデバイスは、12〜14時間のアクティブな使用で600 mAhのバッテリーを放電します(最大3.6を放電します)。おそらく、バッテリーの容量は600mAhではなくなっています。彼は電子タバコに1年半立っていました。
次は何ですか?
将来的には、現在のデバイスのファームウェアを完成させ、stm32でも同じことを開始しますが、すべての間違いを考慮に入れます。また、sdカード、gnssのサポートを追加し、画面を1202に置き換えたいと思います。適切なdc-dc降圧マイクロ回路が見つからない場合は、バッテリーから電力を供給できます。
添加
言うのを忘れた。デバイスは1秒あたり1000を超える粒子(実際には少し少ない)を記録できないため、測定限界に達したことを確認するためにカウンターがプログラムに追加されます。現時点では、このように実装されています。バックグラウンド値が0mcr / hの値に3秒以上ある場合、アラームがトリガーされ、オーバーレンジフラグがオンになります。
前の部分へのリンク