• ベストアンサー

PIC18でのPWM制御について

PICで充放電の制御をしているのですが、PICのPWMモードで12V、1kHzの信号を出す必要が出てきました。 PWMモードは触ったことがなく、調べながら作る時間も余りないので、厚かましいとは思いますが、 どなたかアセンブラまたはc言語でのプログラムを教えていただけませんでしょうか。 使用チップはPIC18F2580です。 よろしくお願いします。

noname#126790
noname#126790

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

  • ベストアンサー
  • lonvic
  • ベストアンサー率25% (2/8)
回答No.2

「PICで充放電の制御をしている」とありますが 同じpicで「PWMの出力を出す」理由も判りません。 その処理にかかる時間は「現在おこなっている制御」に影響はないのですね。 また、「"C"でも"ASM"でも良い」と言う事は今の制御はどちらで作っているのかな?。 普通はどちらか指定するけど・・・なんとなく不可解。 まさかとは思いますが「これからpicのPWMで充電と放電の制御をしたい」のでは?

noname#126790
質問者

お礼

回答ありがとうございました。また機会があればよろしくお願い致します。

noname#126790
質問者

補足

すみません。焦ってしまい、全然内容を書いておりませんでした・・・・ 充放電しているプログラムに、CAN通信を使用して、充電器との電流制御の関係を追加できないか・・・という考えでした。 ですが、話が保留となってしまい中断することにしました。 ご迷惑をおかけしました。

その他の回答 (1)

  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

PWMは文字通り信号幅を決めるだけなので出力電圧の方はまた別の要素ですね。 それはさておき、ざっとデータシートを読みましたが、 ・Timer2のピリオド(周期)が1msになるように、供給クロックとPR2とT2CONのT2CKPSで調整する。ポストスケーラはPWM周期に影響しない(データシートP173)ようなのでT2OUTPSで調整しようとしないこと。 ・PR2の値をDuty比に応じてCCP1LとCCP1Hに分配する。 基本的にはこれだけで良さそうです。 使ったことがある訳ではないのでコードを書ける訳ではありませんが、とりあえず指針として。

noname#126790
質問者

お礼

すばやい回答ありがとうございました! 参考にさせていただきます!

関連するQ&A

  • PICのプログラミングについて

    現在、PICのプログラミングについてアセンブラがいいかC言語がいいか迷っています。 基本的にLEDを使った物をつくりたいと思っており PWM制御でのLEDの調光、LEDの点滅の周期の変化などをつけた 物を作ろうと考えております。 アセンブラとC言語のPICにおいての違いを教えてください。 加えて、上のPWM制御についてはどちらでもできるのでしょうか? 2つのプログラム言語についての良い点、悪い点など教えてください よろしくお願いいたします。

  • PIC12F629でPWM

    PIC12F629でPWM制御をしたいのですができますか できるなら方法を教えてください。

  • PICマイコンのLED制御

    PICマイコンのLED制御 pic12Fを使って、LEDのPWM制御を行おうと考えていますが、うまくいかないので知恵をおかしください。 それぞれの出力端子に3色のLEDをつけて、順にだんだん明るくなってから、だんだん消灯してゆくプログラムを考えましたが、 最初のLEDが消える前に、2番目のLEDをゆっくり点灯させたいと思っていますが、うまくいきません 少しだけ同時点灯するには、どのような考えをすればいいのでしょうか。だんだん消えていく中で、点灯を始める処理がわかりません。よろしくお願いします。

  • PICを使用してのLCD制御について

    PIC(16F877A)を使用してLCDの制御を行っています。 LCDに表示を行ってから、(カーソルと呼ぶのでしょうか?)黒の■が2行目でチカチカと点滅をしていて、邪魔だなと感じるのですが、点滅させない方法があるのでしょうか? もしあるのであれば、教えて頂けますか? PICのプログラムはC言語を使用しています。 ご回答、アドバイスをよろしくお願いします。

  • PICによるPWM出力の周期について

    PIC(16f873)を用いて、モータをPWM制御しようと思っています。 そこでいくつか質問なんですが、PWMの周期は下記の式で与えられるとありますが、 PWM周期 = (PR2の値+1)x4x発振器周期xタイマー2のプリスケーラ値 この周期は、自分で適当に決めていいのでしょうか?それともモータによって決まっているんでしょうか?  そもそもPWMは、デューティ比で出力が変わると思うんですが、周期が違うとどのような違いが出るのでしょうか?周波数が高くなると細かい制御が出来るって感じでしょうか? 初歩的な質問ですが、よろしくお願いします。m(_ _)m

  • LEDをPICで制御

    PICでLED制御をしたいのですが、プログラムがわからない・・・ そこで、解る方がいたら、教えてください。 配線図・タイムチャートはhttp://blogs.yahoo.co.jp/sakura1014a/8480258.html (配線図も間違えているようでしたら、教えてください^^;) 電源を入れて、スイッチを押したら、パターン1~6までを順番に進み6→1に戻る、の繰り返し。 スイッチを切ったら終了 電源:5V PIC:16F84A 言語:C言語 LED:3.2V/20mA 目的:LEDの光が流れているように見せたい。    基盤~LEDまでの配線を隠したい為、配線は極力少なくしたい。    コントローラーを狭い場所に隠したいので、コンパクトにしたい。    (シーケンサー等はNG) 下手な説明で申し訳ありません、解らない事は聞いてください。 (こんな質問してる時点で無理なんでしょうか?) 解る方、お返事お願いいたします。

  • PIC PWMをLEDドライバで駆動

    PICで生成したPWM信号をLEDドライバで駆動したいと考え添付の様な回路を作成し動作させました。 <問題点> PIC PWM出力直後のLEDは蛍の様に点滅をするのですが、ドライバ駆動のLEDはゆらゆら点滅になってしまいます。 尚、PIC PWMをON/OFF出力にした場合、連動してON/OFFしています。 <LEDドライバ amazon購入> ・入力範囲:DC 5-35V、出力700mA±20mA、1-10 3W LED駆動 ・PWM調光、ハイレベルオフ出力、低レベルの電源オン出力に対応 ・ステップダウン動作モードにより、LEDの総電圧差が入力電源電圧より2 – 3 V未満であることを保証します  ※ステップダウン動作モードが分かっていません 初心者ですので雑な作りかと思いますがご指摘を願いします。

  • PICで電球の明るさをコントロールしたい

    以前にPICの出力ピンにトランジスタを繋ぎ12V5Wの電球を点滅させる実験をしました。プログラムはPWM制御風に作成し、明るさのコントロールも出来ました。 今度は12Vで10W~数十Wをコントロールできないかと思案しております(もちろんPWM風で)。 そこでPIC程度の信号でも大電流を制御可能なFETがないかと思いつきました。 要するに「超高速のON、OFF信号で大電流(直流)をコントロールできるリレー」のような役割をしてくれる電子部品が欲しいのです。 FETの知識は無いのですが、なんとなくFETの中になら普通(?)のトランジスタよりも理想に近いものがありそうな気がしたので・・・。 おすすめがあれば型番を教えてください。 あと、出来たらPICの出力ピンと電球、電源への配線方法も教えて頂けると助かります。 よろしくお願いします。

  • 電圧DC 0-10VをPWMに変換する回路について

    電圧DC 0-10VをPWMに変換する回路を作りたいと思っています。 入力 DC 0V-10V 出力 DC 10V 1kHz PWM 0-10Vを分圧で0-5Vに変えてPICにアナログ入力し、PICで1kHz PWMを作りトランジスタで10Vに変える回路は出来ました。 しかし、もう少しシンプルな物が作れないかと考えています。 タイマーIC555でPWMを作る回路のボリューム部分を0-10V入力に変えればいいのか等思っていますが、具体的な回路がわかりません。 出来れば、DC0-10Vを1kHz PWMに変えるIC等あればいいのですが。 アドバイスをお願いします。

  • PIC16F84A PWM制御でトラブル。・゜・(ノД`)・゜・

    PIC16F84Aでサーボを動かすためにDelay関数を用いたPWMのプログラムを組んだのですが、picの電源を安定化電源にすると問題なく動作するのですが、乾電池(4本直列)につなぐと動作が不安定になってしまいます・・。 安定化電源、乾電池共に電圧は5.6V程度で、電流の問題かと思い、乾電池(4本直列パック)を並列に繋いで見たのですが改善されませんでした。 また、サーボ自体には問題はなく、picからのパルス出力そのものが不安定になっていることは確認出来ました。 リモコンカーに搭載するため、安定化電源ではなく、乾電池で動作させたいのですが、どうしたらいいのかお手上げ状態です・・ 今週末に動かしたいので、どなたかお助け願います。・゜・(ノД`)・゜・

専門家に質問してみよう