RPICT Minimum Output Rate: Difference between revisions
Line 40: | Line 40: | ||
However it worth considering removing unused channels as this would make the mcu running less tasks and allow a lower output. | However it worth considering removing unused channels as this would make the mcu running less tasks and allow a lower output. | ||
To remove unwanted channels go to "Full configuration" page in the web tool below. | To remove unwanted channels go to "Full configuration" page in the web tool below.<br> | ||
http://lechacal.com/RPICT/config/generator/latest/advanced_configuration.html | http://lechacal.com/RPICT/config/generator/latest/advanced_configuration.html | ||
Revision as of 20:21, 10 November 2023
Why is there a minimum output rate?
The micro-controller performs task once after the other. It must complete the sampling of all configured channels before sending another serial output out.
The example below show the task scheduling where 3 channels are computed. The output rate must be larger than the time it takes to sample all channels.
What happen if the output rate is too low
If a low output rate is set the microcontroller will respect what is configured and output serial data at the given rate. The output stream will show duplicate values in subsequent output.
Take a look at the example below with a RPICT8 card sampled at 2 seconds where the minimum output rate is 3.2 seconds.
Some of the duplicated values are circled in red.
In this case because the micro-controller is not able to sample all channels it outputs the result in memory twice for some of them.
Calculating the minimum output rate
The minimum output rate is given by
Where
- Ntasks is the number of channels or the number of node the mcu has to compute.
- Ncycle is the number of cycles used to compute the RMS value.
- Frequency is the expected frequency of the signal. (This is usually 50 or 60Hz).
How to achieve lower output rate?
Reducing the minimum output rate means reducing Ntasks or Ncycle or both.
Reducing Ntasks
This is not always possible especially if you need to use all channels on the RPICT card.
However it worth considering removing unused channels as this would make the mcu running less tasks and allow a lower output.
To remove unwanted channels go to "Full configuration" page in the web tool below.
http://lechacal.com/RPICT/config/generator/latest/advanced_configuration.html
You must then delete the channels in both the "Output Channels" section and the "Node" section.
Getting away from the problem entirely
The issue with duplicate values might not always be a problem for some application. This might probably not affect your application down the line. You would need to decide if that's the case or not. However in general we would recommend setting the appropriate output rate for best results.
A way to get around the issue is to use the full output firmware. The output method here is very different as each channel is given in serial as soon as it has finished computing.
Please to this guide below for more details about this.