SparkFun Forums 

Where electronics enthusiasts find answers.

Hardware or product specific questions are best asked here.
User avatar
By DrFunn1
#241055
Just bought the Jedi one license and Artemis package and added the NAU7802 load cell board. I was pretty pleased with how the built in Jedi data collector saw the NAU7802 and auto detected the fields coming across the serial port at 115200 baud.
It went so far as assigning data types to the parsed fields:
1) rtcDate : string
2) rtcTime : string
3) weight_no unit : string
4) output_Hz : number
5) :

I would like to make a gauge and strip chart showing the changes in weight on the load cell on a dashboard.

Jedi data dashboard appears to need a number to be able to chart, and weight is being returned as a string, so I can't use it as a widget input. I don't see any way to convert the data type in Jedi.

Two questions:
1) is there a tool in Jedi to convert a string to a number?
2) assuming no to the above question, can I configure the NAU to send raw integers from the 24bit ADC in the serial stream and skip the NAU two point calibration?

Details: My load cell is an old industrial 10,000 Kg monster and has a nonlinear response over its large range that needs corrected with a seven point calibration, so getting a hold of the raw ADC numbers would be helpful. I am realizing as i type this that I prolly need to write some python code with pyserial to ingest the ADC numbers on the serial stream, linearize them with a calibration curve, and convert the result to a weight typed as a number for Jedi to be able to make use of it for plotting.
User avatar
By Divive48
#243114
DrFunn1 wrote: Fri May 12, 2023 9:03 am Just bought the Jedi one license and Artemis package and added the NAU7802 load cell board. I was pretty pleased with how the built in Jedi data collector saw the NAU7802 and auto detected the fields coming across the serial port at 115200 baud. BallSportsPro
It went so far as assigning data types to the parsed fields:
1) rtcDate : string
2) rtcTime : string
3) weight_no unit : string
4) output_Hz : number
5) :

I would like to make a gauge and strip chart showing the changes in weight on the load cell on a dashboard.

Jedi data dashboard appears to need a number to be able to chart, and weight is being returned as a string, so I can't use it as a widget input. I don't see any way to convert the data type in Jedi.

Two questions:
1) is there a tool in Jedi to convert a string to a number?
2) assuming no to the above question, can I configure the NAU to send raw integers from the 24bit ADC in the serial stream and skip the NAU two point calibration?

Details: My load cell is an old industrial 10,000 Kg monster and has a nonlinear response over its large range that needs corrected with a seven point calibration, so getting a hold of the raw ADC numbers would be helpful. I am realizing as i type this that I prolly need to write some python code with pyserial to ingest the ADC numbers on the serial stream, linearize them with a calibration curve, and convert the result to a weight typed as a number for Jedi to be able to make use of it for plotting.
Jedi Data Dashboard might not have a built-in tool to directly convert a string to a number. However, you can typically achieve this by using JavaScript functions or expressions. In many dashboard platforms, you can use scripting or expressions to manipulate data types. Since Jedi supports scripting, you may be able to write a simple script to convert the weight string to a number. Check the documentation or support resources for Jedi to understand how to use scripting to manipulate data types.

The NAU7802 load cell amplifier can be configured to output raw ADC values directly, bypassing the two-point calibration. To do this, you would typically need to adjust the configuration registers of the NAU7802 using its I2C interface. Refer to the NAU7802 datasheet and programming guide for information on how to configure the chip to output raw ADC values. By receiving raw ADC values from the NAU7802, you can then perform your custom calibration using Python code and linearize the data as needed. This will allow you to convert the raw ADC values to weight values in a way that matches the nonlinear behavior of your load cell.

Here's a high-level overview of the process you might follow. Configure the NAU7802 to output raw ADC values. Use the Artemis microcontroller to read data from the NAU7802 and send it via serial communication to your computer. Write a Python script using the pyserial library to read the serial data, perform your custom calibration (using the seven-point calibration curve), and output the calibrated weight values. Configure the Jedi Data Dashboard to read the calibrated weight values from the Python script.

Keep in mind that this approach requires a bit of programming and integration work, but it should allow you to achieve your goal of displaying calibrated weight data on the Jedi Data Dashboard. Make sure to refer to the documentation and resources for the specific tools and components you're using for detailed guidance on implementation.
 Topic permissions

You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum