問題タブ [pwm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2015 参照

pic - pic 16F877のPWM解像度

ここでは、PIC コンパイラに pic 16f877 MCU と mikroc を使用して PWM 信号を理解しています。データシートによると、この MCU は PWM で 10 ビットの分解能を持っています。この決議が何を意味するのか理解できません。それを使用してモーターに電力を供給すると、1024 の異なる速度を得ることができるということですか。これは、LEDの光を徐々に増やしてから再び減らすためにmikrocで書いたプログラムです。

しかし、これは期待される結果をもたらしません。LED が徐々に点滅し、突然オフになり、再び徐々に点滅します。しかし、行 while(i != 1023)を `while(i != 255) に変更すると、期待される結果が得られます。

10ビットの解像度が何を意味するのか知りたいのですが、それを間違って理解したのか、それとも何か間違ったことをしているのでしょうか。

助けてください....

0 投票する
1 に答える
5816 参照

python - RuntimeError: /dev/mem にアクセスできません

Python GPIO PWM を使用して、RPi に接続された一連の LED を制御しようとしています。Python スクリプトを実行すると、次のエラーが表示されます。

スクリプトをルートとして実行しようとしました(sudoと実際にルートとしてログインした両方で)。他のすべての GPIO 機能は正常に動作し、apt を介して python-rpi.gpio の更新とアンインストール/再インストールを試みました。ここに私が実行しているコードがあります。

ここにある例に基づいていますが、まだバグがある可能性があります。私はこれにかなり苦労しているので、提供された助けがあれば大歓迎です. ありがとう!

0 投票する
3 に答える
26405 参照

timer - Arduino Uno PWM ピンの競合

タンクの 2 つのモーターを制御するために、 L298Nチップに基づいてこのモーター シールドを作成しました。一方のモーターにはピン 5 と 6 を使用し、もう一方のモーターにはピン 10 と 11 を使用します。

IR リモートでタンクを制御するためにTSOP 4838を追加しようとしているときに、ピン 10/11 のモーターを逆方向に動かすと、全速力、つまりピン 11 の HIGH (255) 値でしか機能しないことに気付きました。その値を下回ると、ピン 11 には何も出力されません (これらのピンで測定された電圧は 0 V です)。

リモートには、このライブラリを使用します。IRレシーバーはピン 2 に接続されています(ピンは関係ありません)。問題は、ライブラリ コード自体です。IR リスニングを有効にする回線がirrecv.enableIRIn();問題の原因です。内部ArduinoタイマーとシールドによるPWMに使用されるピンの競合があることを知りました。

これは、逆にモーターに電力を供給するコードです。

ここで、 Arduino Unoのタイマーで使用されるピンが次のとおりであることがわかりました。

  • ピン 5 と 6: Timer0 によって制御
  • ピン 9 と 10: Timer1 によって制御
  • ピン 11 と 3: Timer2 によって制御

だから私の質問は:

  1. インストラクタブルのシールドが PWM にピン 10 と 11 を使用するのはなぜですか? それらは 2 つの異なるタイマーに対応します。なぜ9と10ではないのですか?

  2. モーター シールドと共に IR を使用するには、どのタイマーを IR ライブラリで使用するように構成する必要がありますか?

  3. 答えが 2 の場合は、行のコメントを解除する必要がありますIRremoteInt.helsetimer1 と timer2 しかありませんが、68 行目でUno が分岐すると思います。なぜ timer0 を Uno に使用できなかったのだろうか。

最後の選択肢として、切断痕を残して再はんだ付けしたいのですが、シールドが使用するピンを変更するという別の可能性もありますが、どれですか? また、これはデフォルト以外のピンでタイマーを PWM に設定することとペアになると推測していますが、タイマー/割り込みについては何も知らず、Arduino と C の知識は限られています。

問題を解決するだけでなく学びたいので、これを長い質問にしました。質問されたこと以上のことを自由に説明してください。

解決策を探しているときに、PWMまたはタイマーを使用するときに留意すべき他の競合も見つかりました。

  • Timer0は8 ビット タイマーで、最大値 255 を保持できますdelay()millis()
  • Timer1は 16 ビット タイマーで、最大 65535 (符号なし 16 ビット整数) を保持できます。Arduino サーボ ライブラリは、このタイマーを使用します。
  • Timer2tone()は、Arduino関数で使用される 8 ビット タイマーです。

そしてもちろん、IRremoteライブラリは を使用するTIMER_RESETため、使用するタイマーによっては、関連するピンと競合する可能性があります。

0 投票する
0 に答える
1109 参照

c - Arduino PWMコードは、あるピンではなく別のピンで動作します

Arduino UNOを使用しています。次のコードは PIN 10 では機能しますが、PIN 6 では機能しません。理由を教えてください。PWMピンの各ペアが異なるタイマーを使用していることは知っていますが、タイマーには何もしていません!! これがコードです。

led = 10行を に変更するだけled = 6で、コードが機能しなくなります。つまり、PIN 6 の出力は、意図した PWM 波ではなくゼロになります。

任意の提案をいただければ幸いです。

0 投票する
0 に答える
501 参照

vb.net - Vb.net によるパルス幅変調 (PWM)

ブール値パラメーターを持つ関数を使用して、ボード上のいくつかのピンの出力を制御できます。Vb.Net を使用して PWM 信号を送信することはできますか?

0 投票する
1 に答える
1943 参照

c - PIC 18 PWM で DC モーターを制御する

PWMを使用してDCモーターの速度を制御するためにPIC 18マイクロコントローラーを使用しています。以下のコードを使用して、なんとか回転させることができました。そして、私の H ブリッジが 100% 機能することをテストしました。

ただし、回路のスイッチをオンにすると、モーターに 12V、ロジックに 5V が供給され、RS232 通信モジュールを使用して回路にコマンドを送信すると (テスト済みで、正しく受信および送信されます)、プログラムがリセットされ、ベンチ電源の電流は 0A に落ちます。モーターが回転しようとしているかのように、わずかにぎくしゃくすることがありますが、その後停止します。

私が間違っている可能性のあるアイデアはありますか?

0 投票する
1 に答える
724 参照

microcontroller - L293D morot Driver および Atmega8 とのインターフェース中に DC モーターの速度が低すぎる

L293DドライバーとAtmega8でPWMなしで6v DCモーターを駆動しようとしています。問題は、モーターを L293D ドライバーに接続しているときに速度が非常に遅くなることです。しかし、モーターに直接6V DCを供給すると、よく回転します。L293DのV2(モーター電源)ピンで外部6V電源を使用していますが、改善されません。ローターを手で回さないとモーターが回りません。PWM を使用しない場合の問題は残っていますか? 私のコードはここにあります: