05-23-2015 08:03 PM
Hi all
This is the second time i am using labvew and the arduino i have limited experience with labview programming and i am trying to understand how to achieve the same results from the below arduino code. basically i have a CT conneted to the arduino and it uses this code
const int currentPin = 3; const unsigned long sampleTime = 100000UL;// sample over 100ms, it is an exact number of cycles for both 50Hz and 60Hz mains const unsigned long numSamples = 250UL; const unsigned long sampleInterval = sampleTime/numSamples; // the sampling interval, must be longer than then ADC conversion time const int adc_zero = 510;void setup() { Serial.begin(9600); } void loop() { unsigned long currentAcc = 0; unsigned int count = 0; unsigned long prevMicros = micros() - sampleInterval ; while (count < numSamples) { if (micros() - prevMicros >= sampleInterval) { int adc_raw = analogRead(currentPin) - adc_zero; currentAcc += (unsigned long)(adc_raw * adc_raw); ++count; prevMicros += sampleInterval; } } float rms = sqrt((float)currentAcc/(float)numSamples) * (75.7576 / 1024.0); Serial.println(rms); }
I would like to read AC Voltage and current of a motor and also control a contractor from labview .Currently i have interfacing circuit that gives me an AC wave form with a refrence of 2.5V the curcuit looks like this below
The output of this circuit will have a bias of 2.5V of which it will oscillate around and remain positive .Both my current and voltage circuits has the same type of analog output signal . There are arduino libraries already created to do these functions . I am just trying to do the same thing in labview . below is a link to the libraries .
[url]http://openenergymonitor.org/emon/buildingblocks/arduino-sketch-voltage-and-current/url]
i have been trying to get this to work but i am not having much luck .i used the analog read example and modified it a bit , i see the loop frequency is 130Hz . i am trying to read a a sin wave that has a ref of 2.5 the idea is to square the sample values then find the average of at least at least 120 samples then sqrt that value and scale it to match my current range . so far this works but the accuracy of the measurements are off a bit . There are also other stuff to consider such as phase shift in sampling and calibration .
i would have to read at least 9 analog inputs at once. I am not to sure i can achieve this.
I am also considering program the arduino since there are libraries already created to take the readings .I will then have labview display them by serial data sent from the arduino . i would also like to control a contractor via labview via serial communication also .
I have to sample at least twice the frequency of the mains and would also have to sample multiple analog inputs at the same time also
Can anyone give me some advise about if this is even possible ??
Attached is the vi i have created so far
Thank you
gary
05-24-2015 08:51 AM - last edited on 12-19-2024 08:59 PM by Content Cleaner
No one here is going to translate that C code to LabVIEW for you, you will need to take the LabVIEW tutorials.
http://www.ni.com/academic/students/learn-labview/
I don't know what makes you think that you can just do something like your current project without actually learning a programming language.
05-24-2015 09:07 AM - last edited on 12-19-2024 08:59 PM by Content Cleaner
@nyc_(is_out_of_here) wrote:
No one here is going to translate that C code to LabVIEW for you, you will need to take the LabVIEW tutorials.
http://www.ni.com/academic/students/learn-labview/
I don't know what makes you think that you can just do something like your current project without actually learning a programming language.
Good day
I am not looking for any one to translate c code to labview for me . i am in the learning process and i am doing the tutorials . What i would like to know is
1. am i able to samples faster than 120Hz
2. would reading multiple inputs slow down the sampling rate
3. If i am not satisfied with sample rates of labview (slower due to serial) could i just program the the arduino and send serial date to labview to show reading and also send back date from labview to control stuff . would doing this make a difference ?
As i said my labview programming is skills are basic i am doing tutorials and trying to improve and understand .i would just like to know if i am going in the right direction.
Thank You
05-24-2015 09:17 AM - last edited on 12-19-2024 08:59 PM by Content Cleaner
@gready123456 wrote:
@nyc_(is_out_of_here) wrote:
No one here is going to translate that C code to LabVIEW for you, you will need to take the LabVIEW tutorials.
http://www.ni.com/academic/students/learn-labview/
I don't know what makes you think that you can just do something like your current project without actually learning a programming language.
1. am i able to samples faster than 120Hz
Yes.
2. would reading multiple inputs slow down the sampling rate
No.
3. If i am not satisfied with sample rates of labview (slower due to serial) could i just program the the arduino and send serial date to labview to show reading and also send back date from labview to control stuff . would doing this make a difference ?
Yes.
Yes. It will require a different LabVIEW program and for you to learn C.
05-24-2015 09:27 AM - last edited on 12-19-2024 09:00 PM by Content Cleaner
@nyc_(is_out_of_here) wrote:
@gready123456 wrote:
@nyc_(is_out_of_here) wrote:
No one here is going to translate that C code to LabVIEW for you, you will need to take the LabVIEW tutorials.
http://www.ni.com/academic/students/learn-labview/
I don't know what makes you think that you can just do something like your current project without actually learning a programming language.
1. am i able to samples faster than 120Hz
Yes.
2. would reading multiple inputs slow down the sampling rate
No.
3. If i am not satisfied with sample rates of labview (slower due to serial) could i just program the the arduino and send serial date to labview to show reading and also send back date from labview to control stuff . would doing this make a difference ?
Yes.
Yes. It will require a different LabVIEW program and for you to learn C.
Thank You
Can u point me in a good direction on how i can achive a incresed sample rate ? i am using LINX and a mega i have moded the analog read example a little the loop frequanct is 130Hz and i am just find the rms value and scaling it .
05-24-2015 09:42 AM - last edited on 12-19-2024 09:00 PM by Content Cleaner
@gready123456 wrote:
@nyc_(is_out_of_here) wrote:
@gready123456 wrote:
@nyc_(is_out_of_here) wrote:
No one here is going to translate that C code to LabVIEW for you, you will need to take the LabVIEW tutorials.
http://www.ni.com/academic/students/learn-labview/
I don't know what makes you think that you can just do something like your current project without actually learning a programming language.
1. am i able to samples faster than 120Hz
Yes.
2. would reading multiple inputs slow down the sampling rate
No.
3. If i am not satisfied with sample rates of labview (slower due to serial) could i just program the the arduino and send serial date to labview to show reading and also send back date from labview to control stuff . would doing this make a difference ?
Yes.
Yes. It will require a different LabVIEW program and for you to learn C.
Thank You
Can u point me in a good direction on how i can achive a incresed sample rate ? i am using LINX and a mega i have moded the analog read example a little the loop frequanct is 130Hz and i am just find the rms value and scaling it .
I don't understand what using LINX and an Arduino Mega has anything to do with changing how often a LabVIEW WHILE loop iterates.
If you don't understand a simple WHILE, you had better seriously reconsider taking the LabVIEW tutorials.
05-24-2015 09:56 AM - last edited on 12-19-2024 09:00 PM by Content Cleaner
@nyc_(is_out_of_here) wrote:
@gready123456 wrote:
@nyc_(is_out_of_here) wrote:
@gready123456 wrote:
@nyc_(is_out_of_here) wrote:
No one here is going to translate that C code to LabVIEW for you, you will need to take the LabVIEW tutorials.
http://www.ni.com/academic/students/learn-labview/
I don't know what makes you think that you can just do something like your current project without actually learning a programming language.
1. am i able to samples faster than 120Hz
Yes.
2. would reading multiple inputs slow down the sampling rate
No.
3. If i am not satisfied with sample rates of labview (slower due to serial) could i just program the the arduino and send serial date to labview to show reading and also send back date from labview to control stuff . would doing this make a difference ?
Yes.
Yes. It will require a different LabVIEW program and for you to learn C.
Thank You
Can u point me in a good direction on how i can achive a incresed sample rate ? i am using LINX and a mega i have moded the analog read example a little the loop frequanct is 130Hz and i am just find the rms value and scaling it .I don't understand what using LINX and an Arduino Mega has anything to do with changing how often a LabVIEW WHILE loop iterates.
If you don't understand a simple WHILE, you had better seriously reconsider taking the LabVIEW tutorials.
Ok right now i am not using any loop timing . This means the whille is looping as fast as possible . So if its runng at 130 Hz max what is keeping it back ?
Is it the fact that every time linx sends data it waits for a response from the arduino and this communication is keeping the sampling frequancy down ?
Are you sure u can increase the loop time ?
05-24-2015 10:49 AM
@nyc_(is_out_of_here) wrote:I don't understand what using LINX and an Arduino Mega has anything to do with changing how often a LabVIEW WHILE loop iterates.If you don't understand a simple WHILE, you had better seriously reconsider taking the LabVIEW tutorials.
Ok right now i am not using any loop timing . This means the whille is looping as fast as possible . So if its runng at 130 Hz max what is keeping it back ?
Is it the fact that every time linx sends data it waits for a response from the arduino and this communication is keeping the sampling frequancy down ?
Are you sure u can increase the loop time ?
nyc ??
02-07-2017 07:40 PM
Hi, how are you?
you finished this proyect?