Category Archives: Various

Fake DAC8512, AD8512, Mixup, or both?

The semiconductor industry is quite a bit plagued with counterfit parts, and there are all kinds of variations – plain fakes, parts that work similarly, parts that are actually true and real silicon dies but packaged by someone else, relabeled parts…

Troubled with these parts – clearly marked as DAC8512…

So I took a file and some patience to cut open the thing, until the bare die came to light.

Not easy to read on the picture – but my eyes are still good enough, clearly, there is the Analog Devices logo, and a marking, 17012, AD8512A.

Is this real? Did someone package AD8512 dies (probably sitting around in a box for some time, rejects or aged stock) and then put a DAC8512 label on then?

Found this picture on the web, of a genuine AD8512, decapped by a professional company – clearly, the same die.

No wonder I couldn’t get it to work as a DAC…. It is an opamp.

Motorola 2N5160 PNP RF Transistors: new-old-stock, medium old stock, fake stock?

Some of the 1980s, 1990s pulse and signal generators use push-pull power amp stages to provide output levels of +-10 V into 50 Ohms, and similar. These are often discrete circuits, utilizing PNP-NPN small power transistors. While the NPN types are still widely available, there used to be some shortages of 2N5160 PNP transistors. Recently, there are are many offers for “Motorola” branded parts, with datecodes from about 1998 (K98xx) to about 2004 (K04xx). In contrast to the earlier Motorola parts (Rxxxx date codes), these have shiny cases. It is quite unlikely that Motorola actually manufactured RF metal can transistors in 2004… (1999 onwards, Motorola no longer made transistors, but transferred the business to ON Semiconductors).

Strangely, the cans have “KOREAN” stamped into them, in various styles and sizes. Would a fake producer have stock of many different kinds of fake cans? Or did ON Semi produce these parts with some existing stock from the 1990s? Many semiconductor producers actually have decade old wafers in stock that they package whenever there is a need.

Let’s have a closer study. Unfortunately, no electron microscope here. But we do our best. Here the die of the defective HP branded original Motorola part. Red arrow shows the burn mark, defect area.

I sacrificed one of the 0.7 USD suspicious parts with K0439 datecode. To my great surprise, they are exactly identical in die, bonding method, and die attachment method.

A quick function test – put the new K0439 date code 2N5190 into an 5 MHz power amplifier. And working just great at >20 dB gain and about 1 Watt output.

Further, we study the collector-base capacitance, at -28 Volts bias U_CB (note that some datasheets specify “28 Volts U_CB” but this won’t work with a PNP transistor – it is conducting like a diode in C-B, if the collector is positive vs. base).

A test with the trusty HP 4192A, and 2.5 pF measures. Exactly the typical value. Also checked one of the certainly genuine Rxxxx date code transistors, and this measured at about 2.7 pF.

Test done at 1 MHz, and calibrated the 4192A with open and short.

So far, so good. All I can say is that these transistors are good 2N5160, whoever made them.

A low frequency xtal oscillator: Austrian generosity, gold, and crystals

A while ago, an Austrian fellow contacted me for some collectibles, long-range telephone line filters (from carrier multiplex phone lines). Many decades ago, phone lines were used at some 50-100 kHz frequencies, to transmit several (!) calls per wire pair. This required good filter, quartz filters were commonly used.

These are 4-electrode filters that are held only by 4 wires soldered to it. Probably oscillating in some flexing mode.

The electrodes are normally connected diagonally, and with a few resistors and an amplifier, I got the part to oscillate nicely. Be aware that you can’t feed a lot of power to these crystals, so it needs a rather high impedance oscillator circuit.

Resonance is at about 50 kHz.

Also connected the specimen to a HP 3562A analyzer, in swept frequency mode, and good nice response plots. There is another dip at 100 kHz!

The schematic, pretty simple, using a 74HCU04 unbuffered inverter, it is a very handy circuit, and years ago I got several tubes of these… you may use any other type of amplifier, gate, or even transistor circuit to get any such xtal oscillating.

Also did some some study on the temperature effect – heated to 100 degC, the frequency dropped by 200 Hz!

A precision current source: a mirror, and a TL431

There are many uses for a good current source, in particular, to drive a noise generator, Noise Source TWS-N15. Not much to write home about, but because of frequent requests, I am publishing the circuit here. It will work for small current from 2 or 3 mA up to 10 or 20 mA with no problem, and very little drift over temperature and time. For R, uses a good resistor. Input voltage can be up to 35 V, or even higher.

The big crash: Server failure

This blog is hosted by a professional provider, but the manuals archive (which needs quite a bit of storage), and other webpages, and my fileserver, is running on two machines, a Dell OptiPlex FX160 as the main, eco-efficient system (in Germany), and a Dell PowerEdge SC1425 with a Raid 1, 3 TB hard drive system as the backup, and currently my main system in Japan (where I am living on a temporary business assignment). Recently, the SC1425 failed, it just would not start up anymore. Power supply seems OK – likely, a severe issue. Checked all the memory and everything, but to no avail.

After fiddling around for about 2 hours, and still no success, I decided to order a new server – a new old server, Dell PowerEdge 850. Just about 35 Dollars used. Rather than 2x XEON processors, it has a Pentium D, 3.2 GHz Dual-Core. Plenty of power for a web- and fileserver.

A couple of days later, the unit arrived – removed the SATA Raid controller (running on Ubuntu with software Raid), and some BIOS settings (activate SATA, disable Keyboard error, enable boot from USB, default power up status is ON) plus BIOS Update. Also, reconfigured the router to make sure this machine will get all the HTTP requests.

A few tests – the harddrive is working fine, about 100 MB/s (sure there is a cache). The Raid 1 is up with no repairs or anything.

A quick check – also the web server is reachable.

I wouldn’t recommend a single PowerEdge for your super critical applications, but they are pretty good for the current cost, as long as you don’t mind the fan noise.

Crimping Molex Contacts: 3.96 mm KK Style, new capability add to my workshop

For year I have been using various Molex style connectors, 2.5 mm, 3.96 mm, and so on, but never by crimping own contacts. Criming is a special art, and if not done properly, it can cause all kinds of reliability issues. So I usually purchased pre-crimped wires, and just assembled them for contact blocks. In other cases, I just used regular pliers to mount wires to contacts, and soldered them in (best, to pre-tin the wire, then mount it in the contact with small pliers, then solder it in – this will result in a very reliable connection. Also, never use low quality wire, only full copper core, heavily tinned wire, UL 1007 or similar.

But why not try to crimp contacts ourselves and add a new capability to the workshop? So I went ahead, and ordered a low cost pair of crimping pliers, EUR 12, not bad.

It made it from China to Japan very quickly, delivered by a friendly postman (here they are very friendly). That’s the tool: quality looks quite OK, and the steel is pretty hard. Sure this is not a high throughput production tool – I am looking at a few 10s of contacts every year, not 1000s.

Step 1, remove the insulation from the wire, and get the contact and pliers ready.

Step 2, insert the contact in the pliers, and close it until flush (don’t apply much force).

Step 3, insert the wire, and crimp the inner connection. Don’t get any of the insulation caught up by the crimp. It is a bit inconvenient to get the contact out of the pliers, probably will make a special tool for it (a U-shape bent piece of steel sheet metal to push out the contact).

Step 4, Inspect the inner crimp. Use a magnifier if necessary (make sure no plastic and insulation got into the crimp area). Pull on the wire, it must be firmly held (a properly crimped wire can’t be pulled out by any reasonable force).

Step 5, slightly close the insulation crimp using the tip of the pliers.

Step 6, establish the insulation crimp.

Step 7 – It’s ready. Inspect. Carry out pulling test.

HP 8412A Phase Magnitude Display: really unusal supply voltages…

Looking for the CRT front bezel and frame to fix another unit, I found this 8412A Phase Magnitude Display on a Japanese auction site for EUR 8 plus shipping, really affordable! Also, I believe it to be a great source of spare parts, because there are many of the HP standard semiconductors of the 70s inside.

The unit arrived in great shape, almost too good to take it apart – maybe we can use it for something cool, like a CRT clock or some soundwave visualization unit?

How to get it to work – checked the 8412A manual, and, unfortunately, it needs a whole lot of unusual supply voltages (the 8412A slides into the 8410A/B Network Analyzer mainframe) – not easy to operate it without the mainframe. 175 Volts AC, to drive the CRT and 6.3 VAC heater, and +-20 VDC, for the other circuits.

Some pictures of the unit…

The dangers of high voltage are fairly obvious!!

Quite similar to other HP units – amazing how often they recycled the design!

2.000 kOhm, +- 0.05% resistors, a matched pair – not bad! Definitely, a lot of good parts in this unit, including high voltage parts, a good CRT, many semiconductors and transistor pairs, mica capacitors, etc.

HP even supplied a small test board to make service and adjustment easier! Great!!

US TEO Power Suppy: you want to get killed by a USB charger?

This is one of the worst electronic gadgets that my workshop has every seen, a US TEO Brand A5951 USB charger. Usually, not much can go wrong with the design of a 5 V switchmode power supply, but with this device, all went wrong, a combination of bad design, bad manufacturing, and non-existing sense for product responsibility.

Can you see the wires – right hand side is low voltage side, left hand side is mains! Can you see the solder stuck to the board – almost connecting mains and low voltage?

The only “safety” function I can see if a PCB trace fuse (left hand side zig-zag) on a mildly flammable paper board.

Even the case isn’t sealed – the manufacturer is even saving the glue!

That’s the brand name and numbers, if you have one of these, take it out of service immediately!

Seems Canada has some clever authorities – they found a whole lot of unsafe USB chargers. Remember the good old days when it was illegal to import just any kind of crap?

AB Arboga Maskiner U2508: a simple DRO (linear glass scale readout)

Recently, I have moved a U2508 milling/drilling machine to my Ludwigshafen workshop (from the remote workshop, where there is more space for heavy machinery). It’s a really good machine, slim, but very well built and useful for all kinds of drilling and milling work. It has an automatic feed in in one direction, and the dials are usually quite accurate.

Still, it will be a great advantage of time saving and some accuracy improvement to add a linear scale, at least in the manually-moving direction, so I can mill shoulders and similar features to a very high level of precision and repeatability.

Also the quill will get an electronic readout – but this will be covered later.

Luckily, I had a simple readout around, dating back to 2007, based on an ATmega8515, with some logic, and MAX7219 display drivers.

The case was made from melamine composite boards, these are oil and grease resistant – excellent for workshop use.

Here, the schematic of the input section. The sampling frequency of the counter is about 62.5 kHz, so the TTL signals from the glass scale first pass through a ~160 kHz low pass filter, and are then squared up by Schmitt triggers, 74LS14.

The main processor is running at 16 MHz, and very few extra parts are needed to drive the LED 7-segment displays, using two MAX7219 in chain configuration. The LED segment displays are much preferred for workshop and DRO use, because speed and clarity is everything for this application, and nothing can really replace the good old LED 7-segment displays here.

The power section, note that the regulator will need a heatsink of about 10~15 K/W capacity
– the unit is drawing up to 0.5 Amps at 5 Volts.

The input section…

The drivers…

The wiring, all quickly soldered together with some copper wire.

The code – it uses a gray code approach with continuous sampling of the A/B inputs. This approach is easily coded, and has very deterministic timing, and noise immunity. Any errors found (like, if both lines change state within on sampling cycle) will be indicated by a red LED.

dro_simple1

Now, I only need to mount the glass scale (found one that fits in may parts collection…), and replace the “minus” LED (a 3 mm LED) with a minus bar-shaped LED, just for the better looks.

Note that the software has provisions for a matrix key-pad, but for the present application, the “zero” buttons are all that is needed.

Length Endcoder Interface: reading the Heidenhain

This little post may help those that are dealing with rotating or linear encoders, and have been wondering how to build a circuit that actually works, and with a degree of reliability useful for industrial applications. Around machine tools, and similar equipment that rely on such encoders, there is a lot of electric (and audible!) noise, so most hobby circuits that just take some TTL signals and do some quick stuff and calculations won’t work. Let’s try with a real circuit and some good code.

Here is the device, it’s a Heidenhain ST1278, 10x interpolated TTL output micrometer.

According to the datasheet, it has a 20 micron grating, which will lead to a 2 micron signal period, allowing us to get 0.5 micron resolution.

After carefully opening the plug, which has the Heidenhain logo, and secret Heidenhain electronics inside, I can tell you, Heidenhain uses a 75ALS194 line driver, to drive the RS422 output.

We will be using a DS26C32ATM line receiver, to get the differential signal converted back to TTL level.

The differential lines is terminated in 120 Ohms (watch out for their dissipation, if you consider building this in SMD), and has two 220 pF capacitors to absorb and high frequency noise. This thing is running at 100 kHz max.

The output of the DS26C32 is going right to a ATmega328P, sitting on a Arduino nano clone, for convenience. This uses the common CH340G seriell to USB converter to talk to a host computer.

This is the full board. USB power is enough, even for the Heidenhain, and a HX711, which is also used in this device, for other purposes.

How to get the Heidenhain signals decoded into position. Well, we follow a sampling approach here, rather than using any of the rising edges, triggers, etc. – we just sample the two Heidenhain lines at 125 kHz, and compare the sampling result to the last result (of sample N-1), to determine if the Heidenhain moved forward, backwards, or not at all. If both lines change status -we know that something went wrong (e.g., if Heidenhain is moving to fast, or if some noise comes in despite all the effort to keep the noise controlled by the high current differential line).
The 125 kHz sampling is running on a timer-triggered interrupt routine. The duration of the interrupt can be monitored -at least in debug mode- by watching a test pin of the mega328P, by setting the test pin high when the interrupt is called, and clearing it once the service has been completed.

The initial software still used more then 4 microseconds for the sampling, a bit too much, this can be reduced to 2.4 microseconds, even without any special tricks.

Below, you can see the effect of a sampling error (introduced by very quickly pushing the sensor arm inwards), it takes slightly more time to handle the error.

Finally, all that remains is to communicate with the host – this is done at a data rate of 12 Hz, plenty for this application. The data interval is triggered by the HX711 load cell converter, and the the full dataset, including, current encoder reading, error count, load call reading, and time-stamp are transmitted to the host all in one packed, as hex encoded data, and at 19200 baud. All pretty fail-safe and slow, but working just fine, and still a lot of idle time on the line (see transmission pattern on the scope below)!

Below, the avr-gcc code performing all these wonderful tasks.

hhenc hx711 _180128.c