Recent Posts

Pages: Prev 1 2 3 4 [5] 6 7 8 9 10 Next
41
Beginners / Re: Is it safe to store CMOS devices in the AideTek ESD Boxes
« Last post by m k on Today at 06:53:58 pm »
Scalability is the key.

Your old word had limited parts from outside and sort of unlimited from inside, in this case inside is mostly out.
Now you have no limits for different kind of parts from outside, you think you have, but that's an illusion.

One pro system was a self of cardboard boxes where pink bags were stored.
Those boxes are still available.
Too heavy items can be a problem.

Original tubes are practical, until they are not.
I use cardboard tubes to stuff original tubes, long and short.
Short ones are not very practical and long ones are occasionally too short.
One part in one original tube can also be less than space friendly.

It's also sort of a norm that eventually something will break the current system.
So a junk box or two will be there, don't fight it.

You can also give away some of your earlier mechanical accuracy requirements.
This new lead free system will guide your way.
42
Beginners / Re: Fast PWM IC
« Last post by strawberry on Today at 06:53:40 pm »
custom circuit with digital logic gates or FPGA
43
Repair / Re: Help needed identifying a Zener/TVS Diode (Toyota ECU)
« Last post by Jeff eelcr on Today at 06:52:58 pm »
These type parts are used in many OEM vehicle modules for overvoltage protection and reverse voltage protection, voltage rating is usually around 27V.
Most of the time they are failed shorted blowing fuses if they are defective and did their job to protect unit from further damage.
Not to say failure is common it is not but is most likley if above conditions are met.
You did not say year made but capacitors are a common problem in many of these units.
Jeff
44
However, in general, I can say that typical opamps used for low-frequency applications, which are the common use cases for wien oscillators, are for example LT1632, LT1013, LT1001"

But you didn't say anything about what frequency you are interested in, at all. It could be 1 Hz, 10 Hz, 100 Hz, 1 kHz, 10 kHz, 100 kHz, 1 MHz, 10 MHz, ...

You see the problem? Apparently that is still a secret.

Also you did not say what amplitude you might be interested in? 1 mV, 10 mV, 100 mV, 1 V, ... ?

And the drive current also matters. An oscillator might perform perfectly until you put a load on it, and then it might stop working.

Do you have any spec for THD?
45
it should works with mono with no issue. Just add "mono" before command and provide proper name of serial port.
It fails:

Code: [Select]
$ mono PSG9080_ARB.exe /dev/ttyUSB2 -write 1 wave01.txt
Model: PSG9060
S/N:   2120000599

Unhandled Exception:
System.FormatException: Input string was not in a correct format.
  at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x00020] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
  at System.Number.ParseInt32 (System.ReadOnlySpan`1[T] value, System.Globalization.NumberStyles styles, System.Globalization.NumberFormatInfo info) [0x0001c] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
  at System.Int32.Parse (System.String s) [0x00019] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
  at PSG9080_ARB.Program.<Ping>b__1 (System.String arg) [0x00000] in <7b815a05ddf649df8e86d22be6a0dad7>:0
  at System.Linq.Utilities+<CombineSelectors>c__AnonStorey1`3[TSource,TMiddle,TResult].<>m__0 (TSource x) [0x00012] in <d22af090bceb4be792f53595cf074724>:0
  at System.Linq.Enumerable+SelectArrayIterator`2[TSource,TResult].ToArray () [0x00015] in <d22af090bceb4be792f53595cf074724>:0
  at System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x00021] in <d22af090bceb4be792f53595cf074724>:0
  at PSG9080_ARB.Program.Ping (PSG9080_ARB.PSG9080 psg) [0x00097] in <7b815a05ddf649df8e86d22be6a0dad7>:0
  at PSG9080_ARB.Program.Main (System.String[] args) [0x000c3] in <7b815a05ddf649df8e86d22be6a0dad7>:0

It opens the port successfully, then makes a bunch of ioctl calls:

Code: [Select]
openat(AT_FDCWD, "/dev/ttyUSB2", O_RDWR|O_NOCTTY|O_NONBLOCK) = 3
ioctl(3, TCGETS, {c_iflag=IGNBRK, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|, c_cflag=B115200|CS8|CREAD|HUPCL|CLOCAL, c_lflag=, ...}) = 0
ioctl(3, TCGETS, {c_iflag=IGNBRK, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|, c_cflag=B115200|CS8|CREAD|HUPCL|CLOCAL, c_lflag=, ...}) = 0
ioctl(3, SNDCTL_TMR_START or TCSETS, {c_iflag=IGNBRK, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|, c_cflag=B115200|CS8|CREAD|HUPCL|CLOCAL, c_lflag=, ...}) = 0
ioctl(3, TCGETS, {c_iflag=IGNBRK, c_oflag=NL0|CR0|TAB0|BS0|VT0|FF0|, c_cflag=B115200|CS8|CREAD|HUPCL|CLOCAL, c_lflag=, ...}) = 0
ioctl(3, TIOCMGET, [TIOCM_DTR|TIOCM_RTS]) = 0
ioctl(3, TIOCMSET, [TIOCM_RTS])         = 0
ioctl(3, TIOCMGET, [TIOCM_RTS])         = 0
ioctl(3, TIOCMSET, [0])                 = 0


Then it writes a command and reads some info back, byte by byte (I'm omitting the poll() calls for readability):

Code: [Select]
write(3, ":r00=90.\r\n", 10)            = 10
read(3, ":", 1)                         = 1
read(3, "r", 1)                         = 1
read(3, "0", 1)                         = 1
read(3, "0", 1)                         = 1
read(3, "=", 1)                         = 1
read(3, "6", 1)                         = 1
read(3, "0", 1)                         = 1
read(3, ".", 1)                         = 1
read(3, "\r", 1)                        = 1
read(3, "\n", 1)                        = 1
.... more bytes skipped


Eventually it finishes reading everything, prints the decoded model and serial number and closes the port file descriptor, then immediately throws the exception:

Code: [Select]
...
read(3, ":", 1)                         = 1
read(3, "r", 1)                         = 1
read(3, "9", 1)                         = 1
read(3, "0", 1)                         = 1
read(3, "=", 1)                         = 1
read(3, "0", 1)                         = 1
read(3, ".", 1)                         = 1
read(3, "\r", 1)                        = 1
read(3, "\n", 1)                        = 1
...
write(1, "Model: PSG9060\n", 15Model: PSG9060
)        = 15
write(1, "S/N:   2120000599\n", 18S/N:   2120000599
)     = 18
close(3)                                = 0

write(2, "\nUnhandled Exception:\nSystem.For"..., 1296
Unhandled Exception:
System.FormatException: Input string was not in a correct format.
  at System.Number.ThrowOverflowOrFormatException (System.Boolean overflow, System.String overflowResourceKey) [0x00020] in <12b418a7818c4ca0893feeaaf67f1e7f>:0
...


It never tries to open the wave01.txt file and the error stays the same even if I give it an invalid file name. Control never reaches there.

I believe it doesn't like something in the generator's output and fails after/during parsing it.


Here's what I'm getting from the signal generator in response to the ":r00=90." command when I talk to the port directly:

Code: [Select]
:r00=60.
:r01=2120000599.
:r02=28.
:r03=31999.
:r04=2086.
:r05=1036.
:r06=90.
:r07=1714.
:r08=1724.
:r09=1723.
:r10=2874.
:r11=2051.
:r12=1053.
:r13=81.
:r14=1726.
:r15=1734.
:r16=1732.
:r17=2868.
:r18=1850.
:r19=0.
:r20=1,0.
:r21=1.
:r22=0.
:r23=100000,0.
:r24=1000000,0.
:r25=3300.
:r26=5000.
:r27=1165.
:r28=1000.
:r29=1.
:r30=500.
:r31=0.
:r32=0,0,0,0.
:r33=0.
:r34=0.
:r35=0.
:r36=0.
:r37=100.
:r38=0.
:r39=0.
:r40=100000.
:r41=1000000.
:r42=100.
:r43=0.
:r44=0.
:r45=1000,0.
:r46=10000,0.
:r47=100.
:r48=500.
:r49=5.
:r50=0.
:r51=0.
:r52=0.
:r53=12.
:r54=0.
:r55=0,0,0,0,0.
:r56=15.
:r57=0.
:r58=0.
:r59=0.
:r60=0.
:r61=0.
:r62=0.
:r63=0.
:r64=0.
:r65=0.
:r66=0.
:r67=0.
:r68=0.
:r69=0.
:r70=0.
:r71=0.
:r72=0.
:r73=0.
:r74=0.
:r75=0.
:r76=0.
:r77=0.
:r78=0.
:r79=0.
:r80=0.
:r81=0.
:r82=0.
:r83=0.
:r84=0.
:r85=0.
:r86=0.
:r87=0.
:r88=0.
:r89=0.
:r90=0.


Hope this helps. Maybe you can use this output to fix/add support for the JDS2800.
46
Repair / Re: Keithley 2700 schematic diagrams
« Last post by SanderMTI on Today at 06:49:35 pm »
Gentlemen,

I too was looking for schematics for a 2700 for the purpose of adding a trigger output which I can use to trigger my other meters.
I also have a 2000, so now I have them for that model.
Thank you.

On the subject of remote reading/ control:
I use a Prologix USB-GPIB adapter with  EZGPIB and the Datalogger program I wrote for it
No drivers or complicated stuff needed to talk to GPIB and RS232 meters from the same software, output is a .CSV file.
PM me if interested, I'll send you a copy.

Sander

47
For angles that need to wrap, I'd suggest, instead of degrees, use 65536/360 deg (~ 0.005deg) as your base unit. (Or 2^32/360 if you need more resolution, or 256/360 if that suffices!). This way, wrap around always Just Works implicitly - and efficiently, in CPU registers directly (either with zero cost, or in worst case, requiring a single instruction to mask out bits):

uint16_t angle = ...;
uint16_t angle_plus_90deg = angle + 16384; // implicit correct wrapping guaranteed by C standard
...

You can further just choose to cast into signed type (int16_t) to interpret the angle between -180 .. +180 deg.

it even has a name, https://en.wikipedia.org/wiki/Binary_angular_measurement

48
Hello XVR, I saw in the datasheet tacle attached  that  its 4A is continues 25A when pulsed  .
What are the pulse limitation  for this N MOSFET because 25A is very high?

https://www.mouser.com/datasheet/2/308/1/NDT3055L_D-2317585.pdf
Thanks.
49
Quote
Wait, so the PY32 support of openOCD is built into the executable? I didn't know that... I thought that if you download the official Linux version and add the *.cfg files to it from the gitee archive it'll work.

That's right. You need the configs, but they just specify which functions to use. The functions themselves are in the binary.
50
Hi Dave, my 1204X-HD has microphonic inputs.


Pages: Prev 1 2 3 4 [5] 6 7 8 9 10 Next