問題タブ [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.
microcontroller - pic 16f877a の Microc を使用したロボット プログラミング
私は 2 つの車輪で円を描いて動くロボットを作っています。各車輪は 12 ボルトの DC モーターを使って動きます。円とパルス幅変調によって生成される電圧との関係が必要です。
ios - PWMでiOSコアモーションを変換する方法
Iphone の加速度計とジャイロを Arduino と組み合わせて使用します。私のプロジェクトでは、iPhoneの加速度計とジャイロ(ロール、ピッチ、ヨー)に関するデータをPWM「フォーマット」でarduinoコードに提供する必要があります。iOS のドキュメントをいくつか読んだことがありますが、iOS コア モーション ライブラリからは、モーション データの回転行列、オイラー、クォータニオン表現のみにアクセスできるようです。PWM値を取得するための解決策を提案できますか?
一番、
ルシオ
android - ArduinoPWMからAndroidIOIOPWM
LEDRGBLightStripsを使用してPWMプロジェクトに取り組んでいます。リンクに従って回路を構築しています
http://www.ladyada.net/products/rgbledstrip/
今、私はArduinoをドロップして、AndroidIOIOボードを適用しようとしています。私のarduinoコードは次のとおりです...
最大pwmが255であるArduinoのanalogWriteについて読んだとき。IOIOボードを接続すると、コードは次のようになります。
490HzでArduinoおよびIOIOと周波数が一致していることに注意してください。ここで、ピン14にPWM modを出力すると、LEDが点灯し始めますが、最大輝度に近づく前に最大になります。PWMを255より上に上げても、青(および赤と緑)の強度は上がりません。私はRGBライトストリップに12Vを持っており、3つのLEDライトの長さです(テスト目的で約1.75 ")
IOIOからArduinoと同じ応答が得られない理由はありますか?ありがとうございました。
c++ - SDカードからデータを読み取るPWMオーディオ
現在、私はクロック OCR0 で PWM を使用して、SD カードに保存されている WAV ファイルのコレクションを再生したいこの Arduino/Nanode プロジェクトに取り組んでいます。- Arduino Web サイトの Michael Smith のスケッチから始めて、PWM を完全に再生できます: http://www.arduino.cc/playground/Code/PCMAudio - SD カードを正しく読み取ることができますデータをシリアルウィンドウに出力したときに正しく見える8ビット整数に変換します。
私が抱えている問題は、これらの整数をクロックの PWM 値に入力するときです。
私が言ったように、(wav2c を介して) .h ファイルに変換された独自の WAV ファイルでオリジナルの PWM オーディオ ファイルを使用している場合、それは機能し、良い音を出します。SDカードを読んでいるとき、正しい値が表示されます。私がWAVファイルを直接読んでいるとき、また(ここに投稿された最新バージョンで試していること)、それらをテキストファイルに変換して読んでいるときも、正しく表示されます。テキスト ファイルから整数を入力しているときに、PWM が出力に間違った値を使用した場合のように、クラクションのような音が聞こえます。
問題は、Atmega が使用するバイト データへのデータのキャストのどこかにあると推測しています。しかし、どこを見ればいいのか、どうすれば解決できるのか、まったくわかりません。uint_t8 を使用している元のファイルが unsigned char を使用していることに気付きました。それらをキャストしようとしましたが、うまくいきません。
誰もこれについて経験がありますか?または、これを解決する方法の手がかりはありますか?
あなたの助けと時間をありがとう!
ジェローン
PS: 以下は、テキスト ファイルを読み込んで整数に変換するコードの一部です。それらは常に 3 文字で構成されます。たとえば、値 21 はファイルに 021 として出力され、スクリプトが 4 番目の myFile.read() でスキップするカンマで区切られます
assembly - AVRアセンブリの純粋なソフトウェアPWMが一定の周波数を与えていない
誰かがこのコードが一定のパルスを出力できない理由を見つけることができますか?少なくとも私のFlukeは高パルスでトリガーできず、少しランダムに出入りするようです。
これは私の最初のasmプログラムなので、コードにナイーブなバグがある可能性があることに注意してください
timer - HSC08のタイマーモジュール
MC9S08LH64 マイクロコントローラーのタイマー モジュールを使用して、同期用の内部タイマーを生成しています。バス クロックは 4.3 MHz、モジュロは 4309 (TPM1MODH および TPM1MODL) に設定されており、1.25 ミリ秒ごとにパルスを期待していますが、結果は約 3.75 ミリ秒ごとです。ここに欠けている設定はありますか?どうもありがとうございました
*更新: TPM1MOD を変更しても結果のパルス幅に影響がないことに気付きました。TPM1SC は、モジュールのセットアップに使用した唯一のレジスタです。このために設定する必要がある他のレジスタはありますか?
タイマーを設定するソースコードは次のとおりです。
パルスを生成するために、TOF フラグをチェックし、フラグがオフになる 40 回ごとに出力を切り替えます。
c - Arduino Mega ATmega2560 マイクロコントローラーでの PWM のプログラミング
Arduino Mega ( ATmega2560 ) でPWMを有効にしようとしていますが、いくつかの問題に直面しています。
まず、これをAdaでプログラムしようとしています。3 つの Timer3 チャネルを FastPWM で使用したいので、次のように書きました。
ハードウェアの接続は問題ありません。Arduino IDE で簡単なコードを使用してテストしました。したがって、コードに何かが欠けているか、何かが間違っていることは明らかであり、これは PWM 初期化の問題が原因であるはずです。誰かが私がどこでそのような間違いをしたのか説明してもらえますか?
前もって感謝します。
アップデート
Ada でロジック全体を取得するのが難しい場合、C の同等のコードは次のとおりです ( AS6を使用してビルドできます。結果は同じです。つまり、信号は生成されません)。
c - PWMをPIC16F877(PICC)で動作させることができません
PIC16F877 MCUでPWMモジュールを使用しようとしていますが、両方のCCP1/CCP2ピンでフラットなローレベルしか得られません。
PWMモジュールを構成および開始するコードは次のとおりです。
pic16デバイスでPWMを正常に開始できるコード(PICC)があれば便利です。
interrupt - OC8R/RS に書き込むと INT4 が予期せずトリガーされる
タイトルはほとんど自明です。出力コンペア レジスタ (OC8RS または OC8R) に書き込むと、外部割り込み INT4 ピンで割り込みがトリガーされます。PWM に Timer3 & OC8 モジュールを使用しています。INT4 ピンは、押されると割り込みをトリガーする物理スイッチに接続されます。しかし、PWM 機能の OC8RS レジスタを更新すると、割り込みが INT4 からトリガーされます... これは意味がありません (繰り返しますが、このピンは物理スイッチに接続されているため、PWM とは関係ありません)。
何かを正しく初期化、設定、またはクリアしていないと思いますが、アイデアがありません。他に持っている人はいますか?ありがとう!
PIC24HJ256GP610A プロセッサと、最新の MPLAB v8 および C30、および ICD3 を使用しています。
c - プログラム内の C /sys/class/pwm init
したがって、このリンクで、pwm /sys/class/pwm/ があることがわかります。
そのため、現在、適切なデータを適切なファイルに入れていますが、うまく機能しています。
それは問題ではありません。問題は、/sys/class/pwm/{port}/request ファイルがアクティブになる前に「cat」を実行する必要があることです。したがって、再起動しても機能せず、再起動する必要があります。
fopen("~request","r") が機能することを期待して試してみましたが、機能しません。「w」でも開きます。私も exec() を実行しようとしましたが、それは機能せず、とにかく不格好です。必要な仮定をする必要はありません。
とにかく、これが私の execv() コードです。
ファイルを猫にする最もエレガントな方法は何ですか? それが出力する情報は必要ありません。sysfsを初期化するだけです。そうしないと、手動でこれを行うか、常にスクリプトを作成する必要があります。