ディスプレイ付きBPMジェネレーター?

これを適切な精度で設計する方法を見つけようとしていますが、これを開始するのに問題があります。私は以前に555を使用しましたが、段階的に変更できる正確なカウントは行いませんでした。

+ 5vの出力を正確にパルスする5ボルトのシステムを考え出そうとしています。 60〜240の間で、1分あたりのパルス数または1分あたりの拍数で測定および表示されます。BPMは、タイマーを+1および-1にステップする2つの瞬間的なボタンで調整可能である必要があります。 +10および-10ステップのボタンのセット。

555タイマーの使用はこれについて間違った方法ですか?ゲーティングを参照するために使用できるより正確なものはありますか?すでにそこにICがありますか?これを単独で実行し、比較して数学を計算できますか?

これまでのところ投稿しなかったことをお詫びします。バージョン80を使用しています。ブレッドボードに何かがあり、正確に機能しているものはありません。はるかに。また、ROMをプログラミングしたり、ディスクリートICに固執したりする必要はありません。繰り返しになりますが、チップをプログラミングしたくありません。

私が求めているのは、関数発生器かもしれません。周波数カウンターですが、それが最善の方法かどうかはわかりません。

コメント

  • 555と精度が混在していません。これは、水晶発振器を備えたマイクロコントローラー(Arduinoなど)にはるかに適しています。
  • @BrianDrummond I ' Adruinoから離れて物事を維持しようとしていますシンプルで低コストですが…
  • MCUベースの設計についてひどい誤解があると思います。あなたが探しているシンプルさ、低コスト、そして精度をもたらすMCUコンポーネントの多くの選択肢があります。ディスクリートICの設計は、特にボタンとディスプレイを組み合わせた場合、比較するとはるかに複雑になります。 MCUはそれをすべて簡単に行うことができます。最後に、MCUベースの設計を実現すると、1970 'または1980 'を実行しようとしたことを決して振り返ることはありません。このタイプのプロジェクトのスタイルデザイン。
  • @MichaelKarasこれも新しいことです。'やりたいかどうかはわかりません。私にとって、トランジスタと真空管は物事を成し遂げますlol IC 'も問題ありませんが、それでも私にとっては新しいものです。しかし、MCU 'は、'どこから始めればよいのかさえわかりません。また、'プログラミングチップを使いたくない…
  • バージョン80のブレッドボードには、この機能のどれだけが搭載されていますか?

回答

カスタム周波数発振器以外のプログラム可能な部品を使用せずに何かを実装したい場合は、3桁のBCD周波数を使用する回路を構築できるはずです。発振器と5つの既製のチップを使用して、毎分その数のビートで信号を出力します。 1,092,267Hzの発振器をCD4060に供給して、16分の1に縮小します(Digi-KeyのDIPパッケージの発振器の最低速度は1Mhzです)。その68,266.7Hz信号を「ADD」モード用に設定された3つのCD4527チップのカスケードシーケンスに供給して(1-999)/ 4,096bpmの出力を生成し、その出力をCD4040に供給して目的の出力レートを取得します。また、その2の倍数と約数のさまざまな累乗。最初のCD4060のより高いタップを使用して、66.7Hzの2倍のさまざまなパワーを提供できます[おそらく「ビープ」トーンとして使用可能]。

3つのBCDサムホイールがある場合は、必要なのは6つの主要な電子部品、すべてDIP。 Digikeyでの数量1の価格は次のようになります。

3x CD4527BE -- $0.80ea ($2.40 total) 2x CD4060BE -- $0.56ea ($1.12 total) oscillator -- $3.02ea ($3.02 total) $6.54 total 

電源とアース以外の相互接続は発振器のみであるため、組み立ては0.1インチのパフォーマンスボードでかなり簡単に行う必要があります。最初のCD4060に供給する出力、3つすべてのCD4527に供給する出力、最初の2つのCD4527のそれぞれが次のCD4060に2つの信号を供給し、最後のCD4527が最後のCD4060に1つの信号を供給します。

コメント

  • ああ、そうです!今あなたは'私の言語を話しています:)これは私が必要とした完璧な出発点です!シンプルなすべてのハードウェアプログラミングをいじることはありません。ありがとうございます。
  • プログラム可能なオシレータチップすら避けて、' classic 3.2768 MHzの水晶を使用し、たとえば4018と4011を使用して3で割ると、1.092267MHzのクロックを生成できるCMOSパーツ。次に同じ作業を試してみてください。マイクロ波とどちらが簡単かを判断してください。
  • @nekomatic:3.2768Mhzの水晶を12で割るというアイデアが好きです(1分あたりの拍数を範囲内に収めるにはそれで十分だと思います。 4060;上位ビットが使用可能な14ビットと24ビットのカウンターがあるのは奇妙だと思いますが、たとえば、ビット18〜20が利用可能)。チップ数は同じですが、カスタムオシレーターはありません。そこから利用できるのは7セグメントパターンしかないため、4011がどのように適合するかはわかりません。ところで、EPROMプログラマーは利用できるが、マイクロコントローラー用のプログラマーがない場合に教育的となる可能性のある別のアプローチ…
  • …シフトレジスタベースのステートマシンを構築することです。 '指定された目的のために必要な大きさはわかりませんが、そのようなものは非常に強力です。最後に、もう1つの興味深い観察結果は、1970年代のCOSMACマイクロプロセッサには、IIRCの10個のスイッチ、8個のLED、およびボタンを使用してプログラムに入ると、ROMレス構成で使用できる十分なブートストラップロジックがあったことです。これで、最新の並列EEPROMチップをプログラムできるものを手に入れることができるかもしれません。
  • @ supercat4018データシート ti.com/lit/ds/ symlink / cd4018b.pdf は、奇数で除算するには追加の4011が必要であると述べていますが、逐語的に引用しました。詳しく見てみると、実際に必要なのは、他のいくつかの可能な部分で実装できるAND関数です。 、または(おそらく)2つのダイオードとVddへの抵抗。

回答

これは、次の方法で簡単に実行できます。マイクロコントローラー。 240BPMは4Hzです。タイマー周辺機器を備えたマイクロコントローラーを使用することにより、+ /-0.01%の範囲の精度を簡単に得ることができます。

PIC、AVR、MSP430などの小さなディスプレイとボタンを備えたマイクロコントローラーを提案します。 LCDディスプレイを使用して電力を節約することができ、LCDコントローラーを搭載したマイクロがあります。コストと回路の複雑さは非常に低くなります。

Arduinoのようなものでこれをプロトタイプ化できます。

555を使用して周波数カウンターを取り付けることができますが(そして、周波数から外れるときにノブを調整することもできます)、周波数カウンターはマイクロとしたがって、「そもそも必要な周波数を簡単に合成する方が簡単です。

たとえば、PIC16F628に基づいたオープンソースのLCDモジュールディスプレイ周波数カウンタの設計を見つけることができますが、おそらくこのような低周波数には直接使用できません。単純な周波数カウンターで1BPMの分解能を得るには、1分のゲート時間が必要です。したがって、周期のカウントと計算は、設定された周波数を生成するよりも実際には難しいアプローチです。

回答

他の人が言っているように、PICまたはArduinoが最適ですが、回避する場合はプログラミング…

安定性のために、水晶を備えた高周波発振器を備えたCMOSチップの使用を検討できます。次に、カウンターチップを使用してパルスをカウントし、出力ピンに現在のカウントを与えます。特定のカウントで出力パルスを与えてカウンタをリセットするために、いくつかのロジックに供給されます。

これに加えて、比較のためにリセットポイントを設定するために他のいくつかのカウンタが必要になります。残念ながら、ここで問題が発生します。 。100、200、300、400などのパルスを数えることができれば、それは実行可能かもしれませんが、問題は1分あたりの拍数を指定する必要があるため、1 / BPMを計算して均等に数える必要があります。 BPMステップ。

プログラミングについてもう一度考えてみてください。マイクロはここしばらく順調に進んでいます。私は彼らが「追いつくだろう」と思います!

コメント

  • カスタムオシレーター周波数、私は'既製のCMOSを使用して10進数のBPM値を周波数に変換するのが難しいとは思いません。 1.00MHzの退屈な周波数を使用しても、'それほど悪くはありませんが、60,000で除算できる分周器チェーン(つまり、240x250)が必要になります。実際、考えてみると、2つのチップで実行でき、他の設計と同じ部品数が得られる可能性がありますが、2の累乗のサブマルチプルがあると、2チップの除算が役立つと思います。 -60000は'タットを達成しません。
  • たぶん、しかし問題は、+または-ボタンを押すたびに新しい除算器を計算する必要があり、 it '逆数(1 / BPM)関数。たとえば、1 MHzのマスタークロックの場合、カウント数は-60 BPM- > 1,000,000パルスになります。 61 BPM- > 983,606.6パルス; 62 BPM- > 968,741.9パルス。 1つでも取得する-BPMの増分は非常に複雑ですが、'マイクロでの簡単な計算です。
  • 3つの10進数の乗数チップを使用すると、それが可能になります。 12桁のBCD値を取得し、希望の速度の倍数で出力を生成します。これは、固定分周器を使用して縮小できます。いかなる種類の逆数も生成する必要はありません。サムホイールではなく上下のボタンとカウンターを使用してレートを設定するには、より多くの回路が必要になりますが、'その要件がどれほど柔軟かわかりません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です