Timeline for Building an adjustable low frequency PWM controller with Arduino
Current License: CC BY-SA 3.0
7 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Nov 25, 2015 at 15:58 | comment | added | JAM1693 | @Mike Either way this looks like I'll be able to modulate frequency easy enough...Now just the high voltage. I'll have to think more about that. But I definitely think you solved my frequency problem. | |
| Nov 25, 2015 at 15:58 | comment | added | JAM1693 | @Mike I appreciate the help. However I truly intend on the PWM frequency to be variable. And yes 0Hz is improper but my point is to make it very low. Using prescale factor like shown in this link you can only reach 30Hz using prescale factors. If you also modulate your TOP values I suppose you get any 16-bit value from 1-65535 in resolution. The 2 indicate difference between the two outputs?? link | |
| Nov 25, 2015 at 15:57 | vote | accept | JAM1693 | ||
| Nov 23, 2015 at 16:29 | comment | added | Dave X | The PWM Waveform Generation Modes with a settable TOP value (e.g. set with the OCR1A or ICR1) are the ones that can achieve these low, adjustable frequencies. Set the Waveform Generation Mode mode and prescaler with the TCCR1* registers and then the duty cycles would be modified by adjusting OCR?B. For frequencies below the threshhold the timers can handle, one could switch over to toggling based on elapsed millis() and handle frequencies down to 1 cycle per 50 days. | |
| Nov 23, 2015 at 16:11 | comment | added | Dave X | So for 440Hz at 25% on pins 9&10, you might choose a fast PWM with Wave Generation Mode 14, 16e6 /1/440 = 36363 TOP with /1 prescaling, so: ICR1=36363 ; TCCR1A=0b10100010; TCCR1B=0b00011001; TCCR1C=0; OCR1A=36363/4 | |
| Nov 20, 2015 at 0:43 | review | First posts | |||
| Dec 16, 2015 at 1:16 | |||||
| Nov 20, 2015 at 0:43 | history | answered | Mike | CC BY-SA 3.0 |