Intel Edison has only 4 PWM pins, but I want 6 PWM pins to operate at 20Khz frequency. Is there a way to possibly increase the number of PWM pins? I want to use it to drive six dc motors at this frequency.
Any suggestions would be highly appreciated.
Thanks for your interest in the Intel® Edison Platform.
You are right! The Intel Edison only has 4 PWM as the hardware guide states http://www.intel.com/content/www/us/en/support/boards-and-kits/000005808.html Hardware Guide for the Intel® Edison Compute Module . There are several users that have used a PWM/Servo Driver in order to connect several DC motors.
I leave you here all the threads that I found:
Hope you find this information useful, have a nice day!
-Maybe have a look at this chip and the datasheet, 6pwm and possibility to pulse at 25khz:
-Or try a method that could be not very effective by using gpio as a switch and able to allow you to match your desired frequency , by programming the MCU or C code...
toukytrip thanks for your suggestion!
JohnDe yes, I know that this Driver doesn't meet your frequency requirements, unfortunately we can't recommend a specific PWM Driver. We only provided you these threads, so that you could see that is possible to attach several DC motors to the Edison.
The best advice that we can give you is to look for a PWM Driver that suit your project needs and use the several communication protocols that the Edison has: SPI, I2C, etc. (Maybe you can try the one that toukytrip suggested)
Now, regarding your question "Is it possible to implement PWM in software and get the frequency?". Do you mean to write your own code in order to adjust the PWM frequency? If you are I think that you will find this sample code useful https://github.com/MakersTeam/Edison/blob/master/Arduino-Examples/setPWM_Edison.ino Edison/setPWM_Edison.ino at master · MakersTeam/Edison · GitHub .
Please let me know if you have any more questions, have a nice day!