重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

使用チップはPIC18F2580です。
よろしくお願いします。

A 回答 (2件)

「PICで充放電の制御をしている」とありますが


同じpicで「PWMの出力を出す」理由も判りません。
その処理にかかる時間は「現在おこなっている制御」に影響はないのですね。

また、「"C"でも"ASM"でも良い」と言う事は今の制御はどちらで作っているのかな?。
普通はどちらか指定するけど・・・なんとなく不可解。

まさかとは思いますが「これからpicのPWMで充電と放電の制御をしたい」のでは?

この回答への補足

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

補足日時:2011/02/15 10:19
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/02/15 10:20

PWMは文字通り信号幅を決めるだけなので出力電圧の方はまた別の要素ですね。



それはさておき、ざっとデータシートを読みましたが、

・Timer2のピリオド(周期)が1msになるように、供給クロックとPR2とT2CONのT2CKPSで調整する。ポストスケーラはPWM周期に影響しない(データシートP173)ようなのでT2OUTPSで調整しようとしないこと。
・PR2の値をDuty比に応じてCCP1LとCCP1Hに分配する。

基本的にはこれだけで良さそうです。
使ったことがある訳ではないのでコードを書ける訳ではありませんが、とりあえず指針として。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/02/12 14:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!