Go Down

Topic: simulink+arduino (Read 25169 times) previous topic - next topic

abhi_uC

I wish to implement sine pulse width modulation (compare a sine function with a triangular function and give a high pulse when the sine is above triangular wave).
I am implementing it with Simulink 2013  and Arduino Uno .I wish to obtain the output of SPWM on the digital pin of Arduino Uno. I have attached the Simulink model for reference.
The sine wave is at 50 Hz while the triangular carrier is at 2000 Hz. Although the output that I observe on the DSO from arduino has proper shape, yet its frequency is not 2000 Hz. The frequency keeps on varying arbitrarily.
Please let me know what modifications would result in proper output.

dgar


abhi_uC

When we make model in simulink and burn it on arduino uno it automatically generates the code and burn it on the board. I don't think the code can be viewed .

dgar

At 2KHz, the board needs to attend output pin every 0.5 ms, so to get stable output frequency, must make certain that the board is not involved in some time consuming routine like serial comm or continuous analogue reading at the instant when it must change output state

abhi_uC

As the code is automatically build by simulink .. Then in any way i retrive the code so check if the program is long enough that takes longer than .5ms to loop again ? More over niether i have any serial comm... nor any analog i/p for causing delay ..

Go Up