LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Drain a 3V coin battery with Labview to test the lifetime of the battery?

Solved!
Go to solution

Blade: Just o clarify, you mean the counters (CTRL)? Just start with addressing P0.0 or P.0.1 or P1.0 (not as counters). Program them to be high or low. Check if it's working with any DMM.

Then start with the counters. Output a very slow pulse train, so your DMM can measure it (you see the change from 0V to 5V).

 

Felix

0 Kudos
Message 21 of 36
(2,368 Views)

Yeah I mean the CTRL (counters). Where I can change it to P.0, P02 etc..

I can only select ctrl0 and ctrl1 which I can set but what with the other burst signals like RX , TX which has other states for the TTL and other timings how I can add the other burst signals

0 Kudos
Message 22 of 36
(2,359 Views)

Ok I have now made a continously acquiring voltage and graphing VI which has a physical channel as an input from where the voltage is acquired. But I dont know how to do the counters part which will output the timed signals for the TTL (MOSFET) to create the burst signal with gaps which then will drain the batterry

 

 

0 Kudos
Message 23 of 36
(2,343 Views)

@blade2008 wrote:

Guys dont fight because of my stupid problem. I am just a newbie that is why my questions are stupid. Thanks everbody who want to help me with my problem


@Blade,

 

The forums are (from my viewpoint at least) going through a kind of mid-life or identity crisis in the last while.  Since the bulk of the answering is done here by LV professionals volunteering their time it can be very frustrating to have people coming here looking for us to do their work for them or assuming they understand LabVIEW better than us because they've been programming other languages.  Any time this happens, the regular contributors sigh and think "Here we go again".  Because of this, some react rather impolitely whereas others (myself included) question whether we should be spending our valuable time offering help which is often not appreciated.  This is why it's very important to show that you have at least tried something yourself.  See how far you get and once we've seen that you're at least willing to TRY to solve the problem on your own people will be much much more willing to help you out.  And trust me, you won't get better help than here on these forums.

 

Regarding the identity crisis.  Since the bulk of the work here is being done by volunteers who all have different opinions and coding habits and are not bound by a single corporate idea (like NIs employees may be) we often disagree about some fundamental things.  Arguing is inevitable.  Using local variables is a classic example.  So please just look past the noise and bickering and keep your eyes focussed on solving your solution.  If we get the impression you're pulling along with us we'll get you there eventually.

 

Shane.

 

PS: Ah, race condition.  Hadn't seent he last few posts.  Looks like you're well on your way.  Smiley Happy

 

PPS I've only got LV 2009 at work, any chance of saving for 2009?

Message 24 of 36
(2,310 Views)

Thanks Shane, I only have LV 2010.

0 Kudos
Message 25 of 36
(2,263 Views)

Blade,

 

Can you define more precisely the timing? In particular, what is the state of the CTRL lines before the ARM and after the last TX intervals? These are the values during the gap, right?

 

From a quick glance at the PCI 6221 specs it looks like it has two clocked DIO lines.  So you may be able to define your burst as an array of values and clock them to the outputs after each gap.

 

Lynn

 

0 Kudos
Message 26 of 36
(2,262 Views)

blade, you can save your vi's in a previous version,  click on "File" and you should see a "Save for previous version".

Putnam
Certified LabVIEW Developer

Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5


LabVIEW Champion



0 Kudos
Message 27 of 36
(2,254 Views)

Hi Lynn,

 

The state of the CTRL's before ARM and after RX is off (means both Mosfets should be closed, both are L = 0 V)

 

I have now changed the burst to :

 

                ARM    RX    TX     RX   
CTRL1           L      H     H      H    
CTRL2           H      L     H      L      
Length (ms)     3.72   0.84 2.6    0.8    

H
= 10 V
L
= 0 V

 

If it does not receive anything on the last RX it should repeat the RX, TX, RX sequence again (resend)

 

After one burst there should be a gap of lets say 10 seconds after that the another burst on so on in a while loop.

 

And yes, the PCI 6221 (37 pin) card has two clocked DOI lines (counter1 and counter2) but I dont know how to define a Array for the burst and clock it to the counter lins after a gap between every burst and all wrapped up in a while loop which is not a problem I think after I have the Array with the clocked values.

 

Hope you can help me on that.

 

Thanks again for your time

 

 

 

0 Kudos
Message 28 of 36
(2,239 Views)

Hi Putnam,

 

Here is the 2009 version of the file.

0 Kudos
Message 29 of 36
(2,236 Views)

If I round your timing to 1 ms intervals I get something like this:

 

CTRL1 ...0 0 0 0 0 1 1 1 1 0...

CTRL2 ...0 1 1 1 1 1 0 0 0 0...

Time <=0 1 2 3 4 5 6 7 8 9...

 

Is this a simplified version of the timing for one burst?  If so, the 0s and 1 represent the elements of the arrays.  You may need booleans or integers, depending on how the DAQ driver is set up.

 

Your new requirement "If it does not receive anything on the last RX it should repeat the RX, TX, RX sequence again (resend)" changes the whole issue.  If you need to read some result during an 800 microsecond pulse, do some analysis, and send different data to the DO driver within 800 us, you are almost certainly looking at a real time system or an FPGA system.  Either way is considerably more expensive and more involved to program.

 

Lynn 

 

 

0 Kudos
Message 30 of 36
(2,205 Views)