Is it possible to connect a RPi pico to labVIEW wirelessly to read the output of an analog accelerometer with an ADC that connects via SPI ? (12-bit, 1MSPS)
I doubt that regarding its processor but is there a way? I need a small microprocessor because I have size constraints.
Your question is unclear.
Can you connect a Raspberry Pi Pico over serial port to a computer running LabVIEW? Yes of course you can. No Linx needed for that, standard VISA is enough.
Can you use LabVIEW and Linx to develop and deploy software on the Pico? No you can't!
Can you connect a Raspberry Pi Pico Wirelessly to anything? No it has no Wifi module or Bluetooth functionality on board! So not sure what you mean here.
Sorry for the lack of clarity.
I have a program in LabVIEW that does some calculation and file generation according to the readings of the accelerometer (It is a drop test where the accelerometer is in a false head).
Actually, my system is wired through NI cDAQ 9171 with module 9234 for IEPE sensors.
I want my system to become wireless, and use the LabVIEW program (without building one from scratch).
So I had the Idea to use RPi 3 B+ and an ADC with SPI connection, connect it through LINX with ssh (With raspberry as Local I/O) and read the sensor's output. I need to sample at 12bits, 20000Hz minimum (60000 minimum if the ADC is not simultaneous because my sensor is triaxial). I think that's doable, but I have size constraints. That's why I asked for RPi Pico. Do you have other suggestions for small microprocessors like ESP8266 or a small Arduino? I saw that RPi zero also does not handle LINX connection.
I saw that RPi zero also does not handle LINX connection.
You're still very imprecise. You can pretty much CONNECT anything to a computer and LabVIEW if it has a standard Interface like RS-232/422/485 or Ethernet.
But you can only DEPLOY (upload) LabVIEW code to a Raspberry Pi 2 or higher or a Beaglebone Black board (aside from all the NI hardware of course).
Deployment of LabVIEW code is something entirely different than connecting to that something to for instance read measurement from it.
If the Raspberry Pi 2B or newer is not an option for you for whatever reason, there is NO other hardware that is smaller that you can deploy LabVIEW code on. Even on the Raspberry Pi it is going to be a challenge to handle your sampling rate if you want to use Linx to talk to your sensor. The Linx SPI and/or I2C interface is not built for maximum speed in the current implementation.
Why you want to use SSH together with Linx to communicate to your ADC is another miracle. Either you access the ADC through Linx directly or you use SSH to talk to a native software you run on the Raspbian host OS that runs a program that talks to the ADC.
But if you really plan on using such a native software you may just as well go with that on any Wifi (or Bluetooth) enabled controller like your ESP controller and then connect through it wirelessly from your normal computer that you then can run standard LabVIEW on. No need for Linx in that case.
i made something like that, but with different requisites.
acquire with an arduino due 4 1khz samples --> send through serial to esp32 (which buffered data) --> send to pc using UDP --> getting data buffered in 400 (100 for each 1khz) position array --> parsed data and saved on TDMS
Excuse me if my explanation is not very clear because I can say I'm a beginner in all of this.
Forget about the pico because my main object is to send data wirelessly to my DAQ to process it and do calculation with LabVIEW.
I attached the actual code taking the values from the cDAQ9171 that has the 3 axes of the sensor as input.
The program detects when the impact begins (certain value of Gs), begins recording the data until the impact finishes. Then it processes it to draw curves and show them on the screen after the impact, create excel files, etc...
So is there a method with VISA to retreive the data of the sensor when the impact begins and process it with the code to do my calculations and show the calculations directly? this means I should write a code in raspberry to take a chunk of the curve and send it to LabVIEW? or I am required to "Deploy" the code in order to do that.
Or I SHOULD connect it with linx and deploy the code on RPi so that we can access the ADC in real time, and detect when the impact begins, ends, etc.. in order to do the calculations?
Did I manage to clarify a little bit? If not I am ready for any further discussion or question on the topic.
@jadkh I believe I understand what you are trying to accomplish based on your other posts. What I think you might not be understanding is the difference LabVIEW CONNECTED and DEPLOYED that Rolf references.
LabVIEW CONNECTED - This is when you have an external device which is connected to your PC running LabVIEW which is communicating over a standard protocol, for example RS-232/422/485 or Ethernet. In this situation the external device is not programed in LabVIEW.
LabVIEW DEPLOYED - This is when you have an external device which is programmed in LabVIEW. This can either be a standalone device or it could communicate with other devices using a standard protocol.
Based on Rolf and Jorge's experience it should like the LINX SPI interface it not fast enough for you to obtain this data from an ADC with LINX. Therefore, the suggestion is for you to user some other language to collect the data and then send it over a standard protocol, for example UDP or maybe Web Sockets, to your LabVIEW program. This would be a LabVIEW CONNECTED device as it would not be programmed in LabVIEW. In this setup you could still use the Raspberry Pi but you would not be using LINX as LabVIEW would not be on the Raspberry Pi. Though, with your space limitations maybe an Arduino like Jorge used would be better for you in this situation.
It sounds like Jorge's previous project is a setup that would work for you. If you were able to stream the data from your remote device to your current program running on the PC, that only think you would need to modify is the data acquisition part where you would just change where the data is coming from.
I understood now the difference between deployment and connectivity to LabVIEW.
But now that I received the sensor and the component, I would need to solder them before we talk about connectivity and all other problems.
With little experience about soldering with QFN, do you think I can do it with a beginner tutorial? I'm talking about micro-soldering a part (ADC) that is <2mm square (Picture Attached)
I should mention that I am designing the PCB with KiCAD software. Could you tell me your advice about the PCB design since it's my first time (Layers, type)
My other question is about the ADC. I attached the layout from the datasheet. What are the 2 dots at the extremities of the AVDD and DVDD capacitors? Which capacitors I should use?
Sorry if I exited a little the topic. So If you can't answer me here there's no problem I will post a new thread in the electronics part.