この記事では、旋盤やフライス盤にあるデジタル定規やその他のセンサーから測定値を取得するためのデバイスの開発について説明します。
開発はまだ完了しておらず、現時点で行われていることを説明します。
誰も気にしない、猫へようこそ。
完成品ではなく開発を行う理由。
フライス加工と旋削加工の2つの金属機械(中国語)を使用しています。
さまざまな複雑さの製品を定期的に生産しています(私はターナーやフライス盤のオペレーターではありません。これは単なる趣味です)。 また、製品が複雑な場合は、計算機を選択して、カッターまたはカッターの進行状況を計算する必要がありました。 また、カッター/カッターストロークが十分に大きいことが判明した場合、キャリパーハンドルの回転を考慮する必要があり、率直にいらいらしていました。 その結果、私はDROについて考えました(デジタルキャリパーはこの目的のためだけに長い間購入されましたが、時間の不足により製造が常に遅れました)。
DROの開発を開始する前に、自分の開発の適切性に関する2つの質問に答えなければなりませんでした。
私は自分自身に答えます。
はい、市場には国内外の多くの製品があり、価格も機能も異なります。 同じAliは、約13,000ルーブルの価格で3本の光回線を備えた既製のDROを提供しています。 -そのようなデバイスの非常に低価格。 しかし、私は製造プロセス自体に興味があるため、「購入してインストール」オプションは削除されました。
2番目の質問に答えて、私は自分自身が何らかの説明に従ってデバイスを組み立てる人の代わりに、自分が何をすべきかを考えました。 すなわち:
そして、これらの手順を経て初めて完成品が得られます。 各ステップには時間がかかり、人は怠laでせっかちな生き物であるため(これらの言葉の意味では)、彼はデバイスの動作の結果を、たとえそれが中間であっても、できるだけ早く見たいと思っています。 それでも、私は、組み立てプロセスの最初の段階でも、作業の中間結果を見ることができるような方法でデバイスを開発することにしました。
次に、実装するボードを選択する必要がありました。
AtmegaとSTMに基づいたArduinoから選択します。
私はトップレベルのプログラマーですが、職場ではAtmegaおよびMSP-430マイクロコントローラーをプログラムする必要があり、STMに精通していませんでした。 そのため、Atmegaを選択しました。 Atmega328マイクロコントローラをベースにしたArduino Nanoは、最も安いボードを選択しました(または選択しませんでしたか?
さまざまな複雑さの製品を定期的に生産しています(私はターナーやフライス盤のオペレーターではありません。これは単なる趣味です)。 また、製品が複雑な場合は、計算機を選択して、カッターまたはカッターの進行状況を計算する必要がありました。 また、カッター/カッターストロークが十分に大きいことが判明した場合、キャリパーハンドルの回転を考慮する必要があり、率直にいらいらしていました。 その結果、私はDROについて考えました(デジタルキャリパーはこの目的のためだけに長い間購入されましたが、時間の不足により製造が常に遅れました)。
DROの開発を開始する前に、自分の開発の適切性に関する2つの質問に答えなければなりませんでした。
- 完成品を買ってみませんか?
- ネットワーク上には、DIY製造の詳細な説明を含むさまざまな難易度のDROプロジェクトが多数あります。 なぜそれらの1つを収集しないのですか?
私は自分自身に答えます。
はい、市場には国内外の多くの製品があり、価格も機能も異なります。 同じAliは、約13,000ルーブルの価格で3本の光回線を備えた既製のDROを提供しています。 -そのようなデバイスの非常に低価格。 しかし、私は製造プロセス自体に興味があるため、「購入してインストール」オプションは削除されました。
2番目の質問に答えて、私は自分自身が何らかの説明に従ってデバイスを組み立てる人の代わりに、自分が何をすべきかを考えました。 すなわち:
- プロセッサ、表示、ボタン、抵抗器、コンデンサ、安定器などの小さなものなど、必要なコンポーネントを購入します。 (もちろん、これがなければどこにもありません);
- プロジェクトの複雑さに応じて、プリント基板を作成/購入します。
- その後、すべてをはんだ付けし、プロセッサをフラッシュします。
- その後、バグの作業を行います。
そして、これらの手順を経て初めて完成品が得られます。 各ステップには時間がかかり、人は怠laでせっかちな生き物であるため(これらの言葉の意味では)、彼はデバイスの動作の結果を、たとえそれが中間であっても、できるだけ早く見たいと思っています。 それでも、私は、組み立てプロセスの最初の段階でも、作業の中間結果を見ることができるような方法でデバイスを開発することにしました。
次に、実装するボードを選択する必要がありました。
AtmegaとSTMに基づいたArduinoから選択します。
私はトップレベルのプログラマーですが、職場ではAtmegaおよびMSP-430マイクロコントローラーをプログラムする必要があり、STMに精通していませんでした。 そのため、Atmegaを選択しました。 Atmega328マイクロコントローラをベースにしたArduino Nanoは、最も安いボードを選択しました(または選択しませんでしたか?
ShDRO機能:
(まだ実装されていない機能を取り消しました)
- Arduino Nanoボード、Atmega328プロセッサー;
- リーダーが接続されている12の独立したArduinoチャンネル/ポート。
- 各チャネルには次のプロパティがあります。タイプ(CLKin、DATAin、Ain、Binなど)、EI(割り込みを有効にする)、IL(割り込みレベル)、Inv(発明された信号)。
- 接続デバイスの最大数:6;
- 各デバイスには、使用可能な12個のうち1つまたは複数のチャネルを割り当てることができます。
- プロトコルのサポート:24BIT、
21BIT、BCD7、BIN6、直交信号、タコメーターからの周期信号(新しいプロトコルを追加することが可能); - コンソール:ターミナルプログラムを使用して、アセンブリおよび操作中にshDROを構成およびテストできます。
- コンソールモードでは、コンソールで指定されたチャネルのレベルを読み取り、交換プロトコルを決定できる「疑似」論理アナライザーが実装されています。 サンプルの最大数は256、サンプル間の最小測定時間は8マイクロ秒です。 少なくとも1つの分析中のチャネルを中断するように構成する必要があります。
モジュラースキーム:

デバイスは、次のモジュールで構成されています。
- 3つの電圧安定器5v。、3v。、1.5.v。 3Vスタビライザー。 および1.5.v。 調整可能。 これらの電圧レベルは、デジタルキャリパー(1.5v。)およびiGAGINGライン(3v。)で使用されます。
- ハードウェアSPIにカスケード接続されたMAX7219に基づく4つの8桁7セグメントインジケータ。
- キーボード。 キーボードは2つの抵抗マトリックスで構成されています。この場合は2x4と4x4で、ボード上のトラックのレイアウトは簡単です(ただし、2x3マトリックスを作成すると便利です)。 各マトリックスはADCチャンネルに接続されています。
抵抗マトリックスの使用は、私にとって大きなマイナスです。なぜなら、 時間の経過とともに、ボタンの抵抗が増加し、それに応じてADCによって測定される電圧レベルが変化します。 しかし、「正直な」マトリックスには、ボードの脚/ポートが欠けていました(24個のボタンの場合、10個のポートが必要です)。 これから進むと、ファームウェアはキーボードの学習機能を実装し、いつでも学習を行うことができ、同時に端末プログラムとの接続は必要ありません(学習については以下で説明します)。 - タイマー1のハードウェアレッグに接続されたスピーカー。
- デバイスとArduinoポート間のレベルを調整するように設計されたアダプターボード。
- 4つのDB9メスコネクタ(shDROは最大6つのデバイスをサポートするため、6つのコネクタをインストールする必要がありますが、3つのコネクタが軸に使用され、1つのコネクタが他のデバイス間で共有されると仮定して、ケースの将来の背面パネルを整理しませんでした) 。 コネクタは最も簡単で、ワイヤをはんだ付けするための脚が付いています。 次に、ワイヤをアダプタボードにはんだ付けします。
このタイプのコネクタを選択する理由は、信頼性(USBコネクタおよびRJ-45と比較して)、多数のピン、および配線の容易さです。 また、このタイプのコネクタを備えた光学定規が1つあります。
回路図:

次のパートでは、shDROのロジックを説明し、現在利用可能なコンソールコマンドを説明し、ファームウェアの最初のバージョンをレイアウトします。
第二部。