• ベストアンサー

周波数を10倍にして出力する回路はありますか?

周波数(1Hz~150Hz程度の方形波)の信号を入力すると、 10倍の周波数を出力するような回路はできないでしょうか? 正確に10倍にする必要があるので、誤差はできるだけおさえたいと思っています。 PICを使用してトライしてみましたが、なかなかうまくいきませんでした。 PICを使用した場合のやり方、また、その他の方法でもいいので、 何かいい方法はないでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • pc_net_sp
  • ベストアンサー率46% (468/1003)
回答No.4

再度お邪魔します。 補則を読むと結構私の考えた方式で行き詰まっていたんですね。 入力と出力がかぶると処理が遅くなるのは想定していましたので、出力側のタイミングを1msec~10usecずらして出力するように、手を加えてみては如何でしょうか?? それでも可変なのでかぶる確率がありますが、その時は入力1クロック分だけ不安定になるかと思います。 ただ原因が入力と出力のタイミングがかぶったせいで無い場合は、出力タイミングをずらしても意味がないです。 予断です。 特定周波数をPICで出力させて、x分周で入力されたかをLCDで表示させる事は、1個のPICで出来ると思いますが・・・ 74HC系・4000/4500系ICの動作チェックさせる、ICチェッカーを作ってWebで公開されている方がいました。 が、URLなど控えていませんので少し後悔しています。 (しかも、回路図からプログラムまで公開していました。) 入出力が逆で、x倍のクロックを出力させるのは、ちと骨が折れますね!! お二方も気にしている5倍の正確なクロックが出せれば、あとは楽だと思います。 1つハードルを下げて実験するのも手だと思います。 PIC16F628Aは、20Mhzで動かしていますか??  12.8Mhzで動かして試してみては。 複雑になりますがPIC28Pinに変えて20Mhzで動かし、ベースクロックを別で12.8Mhz・4.194304Mhz・32.768khzのどれかでとり、時計を作成する要領で、分周にかける方法もあるかと思います。 再度、かなりプログラムは複雑になります。この方法だとPIC18Pinを2個にした方が良いかと思います。 ただデメリットは、PIC2個の通信タイムラグが吉と出れば良いのですが・・・ PICに限らず、AVR・H8・ARM他も考えてみる必要もあるかも(専門外ですが・・・) トラ技雑誌で、PICでないマイコンでなんかあったような気がしますが、気のせいかも・・・ 予断事を長々書いて、混乱させる事も多々書いてしまいましたね!!    お邪魔様でした。 m(_ _)m   

Takenori01
質問者

お礼

PICを使うにしても、いろいろな方法がありますね。 もう少し自分でいろいろと試してみます。 ありがとうございました。

その他の回答 (3)

  • fba
  • ベストアンサー率26% (64/241)
回答No.3

…実験した事はないけど。  どういう手段でもいいなら、周波数カウンタで測った周波数を10倍してプログラマブルな発振器に突っ込めば目的は達しますよね。PICで周波数カウンタもプログラマブルな発振器も作れる筈なので、1個では無理かもしれませんが2個使えば何とかなるのでは。  トライしてみたという構成が上記のような仕組みなんじゃないかと思うんだけど?どの程度の精度が必要なくらいは質問の段階で書いておいて欲しい。  アナログ回路などでするのは面倒だよなぁ。一般的な2逓倍や3逓倍では10倍が作れないし5逓倍だとやや無理があるし…。

Takenori01
質問者

補足

ご回答ありがとうございます。 PICを2個使用することも考えましたが、実際にはまだ実験していません。 やはり、PIC1個では難しいのでしょうか? パルス幅の監視用、10倍したパルスの出力用に分けて実験してみます。

noname#252164
noname#252164
回答No.2

難しいですね。 方形波をその周波数の5倍の周波数の同調回路で受けると5倍周波数の交流が出てきます。 交流を全波整流回路で整流すると元の周波数の2倍の周波数の脈流が出てきます。 こんぽ脈流をシュミットトリガで成形すると 5×2倍で10倍の周波数が出てきます。 ただ、これって同調回路のところで周波数が決め打ちされているので、元の周波数が変動すると性能が出ません。 あとはPLLを使うって手がありますが、結構回路規模が大きいし、安定度と周波数変動に対する追従性などを考えるとなかなか難しいです。 うまくいかなかったって、どこがうまくいきませんでしたか?

Takenori01
質問者

補足

ご回答ありがとうございます。 PIC16F628Aのキャプチャ機能を使用して、波形の周期を測定し、その10分の1の周期で波形を出力(タイマー割り込み)できるようにしようとしましたが、割り込み中に割り込みが重なっているのか、思ったより低い周波数が出るようになりました。もう少し原因を調べてみます。

  • pc_net_sp
  • ベストアンサー率46% (468/1003)
回答No.1

PICやAVRで方形波を出力出来ると思いますが・・・・ 使用するPICなどにより綺麗に出力されません。 >正確に10倍にする必要があるので、誤差はできるだけおさえたいと思っています。 PIC24・PIC32あたりを使うのが宜しいかと思います。 既製品でクロックアップさせる商品は、私は見聞きした事がありません。 入力が1Hz~150Hzと可変ですので、自分で頑張ってプログラムを組むしかないと思います。 P.S. 「プログラムを教えて」は、NGです。  

Takenori01
質問者

お礼

ご回答ありがとうございます。 やはり周波数が可変の場合はプログラムを組むしかないのですね。 PIC16シリーズしか使用したことがありませんが、 PIC24,PIC32シリーズについても調べてみます。 ありがとうございました。

関連するQ&A

  • (自作)周波数カウンタへの入力

    PICで簡易な周波数カウンタ(0~99Hz)を作製しRC発振回路に取り付けたいのですがPICの周波数カウンタ回路はVdd=5V ですがRC側の入力ははVmax=2.4~2.8Vで波形もRCなので完全な方形波ではありません。 この信号をPICのポートA/4(外部クロック)でカウントしたいと考えているのですが入力波形を処理するのに何をつけるのが良いでしょうか? ノイズ等で誤カウントしないようにしたいのですが・・。 オペアンプだけでは不十分でしょうか・・。

  • オペアンプの出力波形の周波数依存性について

    オペアンプを用いた積分回路において、方形波を入力しました。ここでfc=5000Hzとします。周波数を500、5000、50000Hzと変化させると、出力波形が丸みの帯びた方形波、丸みの帯びた三角波、尖った三角波という順に変化しました。これはなぜなんでしょうか?ちなみに、微分回路においても同様のことが起きました。

  • picを用いた周波数の発生回路

    現在,ステッピングモータを回すために,picを用いてパルス発生回路を作成しています。 PWM機能を用いて作成しているのですが,100Hz・1200Hzのようなきっちりとした値の周波数を作成することは可能なのでしょうか? picは18F4680 コンパイラはC18を使用しています。 以上,ご教授よろしくお願い致します。

  • PIC(16F84A)を使用しての250Hz以上…

    PIC(16F84A)を使用しての250Hz以上の周波数判定について 16F84Aを使用して外部からの信号(方形波)周波数をRA2に入力して判定し、ある周波数以上であればRA2への入力信号がHiの時にRB0からHiを出力、Lowの時には出力しないというプログラムを組み、その先にトランジスタを取り付けてLEDを点滅させるというテストを行っています。 100Hz基準くらいの周波数の判定は順調に行えるようになりましたが、約200Hzを判定基準にすると、LEDが外部信号と同期しなくなりました。 誤動作といったほうがいいのかもしれませんが、安定しない動作を行います。200Hzの信号を入力しているのに、1Hzくらいの点滅を繰り返す・点灯しっぱなし・点灯しないetc. ←同じプログラムを焼いたPICでです。  外部発振子は20MHzのものを使用しています。 私は、PICの処理速度?が追いつかなくなったのかなと考察したのですがどういった原因が考えられますか?対策方法等はありますか? PIC初心者なので、簡単な言葉で説明していただければ幸いです。 よろしくお願いします。

  • 増幅回路の実験で、周波数特性の測定をしたのですが、考察で困ってます。

    増幅回路の実験で、周波数特性の測定をしたのですが、考察で困ってます。 入力側及び出力側の低域遮断周波数をそれぞれ等価回路よりもとめ、実験結果より求めた値と比較せよという問題があるのですが、これがよくわかりません。それぞれ計算した値は、入力側fcl1=90Hz,出力側fcl2=160Hz,実験結果fcl=130Hzとなりました。考察にはどのようなことを書けばいいのでしょうか?

  • RLC並列回路から周波数を求める問題を教えて下さい

    下の問題でどのような手順で周波数を求めればいいかよくわかりません。どなたか解説をよろしくお願いします。 特に聞きたいのは回路全体を流れる電流が最小となる共振周波数は711.7625...≒712[Hz]とわかったのですがその電流が√2倍となる周波数2つをどのようにして求めればいいのかわかりません。 問題 下の回路で周波数を自由に変化させられる場合に、回路全体を流れる電流が最小となる場合の周波数を求めよ。 また、その時流れる電流が√2倍となる周波数が2つあるがその周波数はいくらか? 以上です。よろしくお願いします。

  • マルチ周波数発振回路について

    今、5つの周波数(10Hz,100Hz,1kHz,10kHz,100kHz)で発振可能な正弦波の発振回路を製作することを考えています。 回路のイメージは、スイッチを使って5つの周波数を切り替えるタイプのものを考えています また、DDSは使うことを考えていません。 一番簡単(回路がシンプル、回路規模が比較的小さい)にできる方法をご存知の方がいたら教えてください。

  • 周波数特性と制御

    入力信号が直流可変信号、出力が定電圧となる回路で、周波数特性からどのようにフィードバック制御に役立てるかピンときません。 直流小信号を増幅する回路とその出力に負荷が接続されているとき、負荷に与える電圧をフィードバック制御で操作したいです。 ボード線図を求めることはできるのですが、扱いに困ってます。 というのも、周波数特性を求めたところで所詮、入力信号は直流です。もちろんフィードバック制御をするので、直流といえども立ち上げ制御のときは入力信号も変動しますが少なくともsin関数ではありません。 このような構成でどのように周波数特性を制御に役立てることができるか教えていただけないでしょうか?

  • PICを使って正弦波を出力

    PIC16F84Aを使って、正弦波を出力したいのですが、プログラミングまたは回路のほうはどのように組めばよいのでしょうか。 欲しい正弦波の周波数は0.3[Hz]、使用言語はアセンブラです。 よろしくお願いします。

  • PIC(16F84A)を使用して周波数判定を行い…

    PIC(16F84A)を使用して周波数判定を行いたいのですが…。 PICの16F84Aを使用し、周波数を判定して出力としてHIを出力する、LOWを出力するなどの判定を行うプログラムをC言語で行いたいと考えております。 例として100Hz以上の周波数が入ってきたときに、HIを出力したい場合、どういうプログラムを組めばよいのでしょうか? 周波数を判定する関数等はあるのでしょうか? よろしくお願いします。

専門家に質問してみよう