A Better Voltage Regulator

A common theme in electronics is being able to create cooler, better, more interesting gadgets because someone developed a new, cooler, better, more interesting part.

This happens all the time — the advent of small, easy-to-use GPS units make all kinds of navigation projects feasible; the availability of efficient LEDs makes many lighting projects worthwhile; and certainly the advent of the Arduino ecosystem has made microcontroller-based projects, in some cases, literally hundreds of times easier.

Along with all of these cool new toys, occasionally a particularly successful part will work its way into not only common usage, but electronics lore. Parts like the 555 timer, 2N2222 transistor, LM386 audio amplifier, LM741 op-amp, and LM7805 linear voltage regulator.

Every once in a blue moon, these old standbys will also get a makeover, improving performance and opening up new possibilities.

Take the LM7805, for example. It does a good job of regulating voltage — from a minimum of about 7V or so, it will provide a steady 5VDC output. The only real problem is that it does this by basically adding a dynamic resistance to simply burn off the excess voltage at whatever current you’re using. If you were to power a 5V, 1A load through a LM7805 connected to 12V, it would need to dissipate 7W of power, since it would basically be acting as a resistor; that 7V voltage drop, combined with the 1A of current, means it would be putting out 7W of heat. Without a BIG heatsink, it would quickly get too hot to work. Also, you’d be wasting over half of the power for the device, even if the rest of your circuit was 100% efficient.

Enter the V7805-1000R from CUI. It’s a switched-mode, drop-in replacement for the LM7805. Replace the LM7805 with this, and your regulator is suddenly more than 90% efficient. (Efficiency in switched-mode regulators varies with voltage and current.)

v7805-1000r_spl

An efficient, drop-in replacement for the LM7805. Nice!

A drop-in, 90% efficient LM7805? Yes, please! I love living in the future.

Posted in Components, Current Events, Electronics, Power, Toys | Leave a comment

Cracker Hunting

I recently got a notice that the traffic on this site had reached 80% of the budgeted transfer for the month. This is not necessarily bad news — occasionally someone posts a link to Reddit and traffic spikes for a while. However, the stats page looked completely normal. HMM.

Fortunately, Apache (the webserver program) keeps a log of all accesses to the website. Looking through the file, it seems that several rather asocial individuals in Romania, China, and other places had picked up the “hobby” of running scripts to attack websites, in hopes of using them to send out spam. People Are No Damn Good, as my grandmother often points out.

Apache’s log files, however, are pretty big. The current access.log file is some 180MB. Clearly the solution here is to fight scripting with scripting.

Here are some of the relevant tools:

cat: short for “catalog.” This simply types out a file, either to the display (the default) or to another program. Cat will be used here to simply print out the whole access.log file.

grep: Grep finds lines of a file containing something. In this case, we’re interested in anyone accessing a file called xmlrpc.php. Grep will take the input from cat, and pass on only the lines containing this string.

cut: I learned about this one today. Cut can select out a particular section of lines, based on character count. While the later Awk step (see below) probably makes this unnecessary, I used Cut to select just characters 1-15 of each line of text. This stripped version is then passed along to…

sort: Does what it says. It takes in a text file and sorts it into alphanumeric order. This prepares the file to be processed by…

uniq: This takes in a sorted file and removes all duplicate lines. From here, the (greatly shortened) file is then passed to:

awk: Awk is a general-purpose string processor, with lots of features. I don’t yet know a lot about it, but I’m using it here to retain only the characters before the first whitespace — and then add a scripting command around that.

So, using all of the above in order, I came up with the one-liner:

cat access.log | grep xmlrpc.php | cut -c1-15 | sort | uniq -u | awk ‘{print ” sudo /sbin/iptables -A INPUT -s “$1” -j DROP “}’ > loserfile

This command prints out the webserver access log, finds any instances of attackers attempting to access xmlrpc.php, locates their IP addresses from the relevant line, and creates a command to instruct the firewall to ignore all traffic from those IPs. Once “loserfile” is set executable and then run, the new rules go into place.

As the graph below shows, the tactic seems to have worked.
Hasta la vista, fetchers.

The attack seems to have started about eight hours ago. Once the new rules were in place, it abruptly stopped.

Hour-by-hour chart of inbound and outbound traffic

Posted in Digital Citizenship, Internet, Networking, System Administration, Tools, Troubleshooting | Leave a comment

Remembering Challenger

January 28, 1986 was not a good day for engineering.

Thirty years ago today, NASA management let politics and administrative expediency take priority over engineering and safety. Seven astronauts — seven of literally the best and brightest among us — lost their lives because of a hasty decision to go ahead with the launch despite the protests of engineers that the weather was too cold for the o-rings in the solid rocket boosters.

The astronauts were not our only loss, that day. We lost an extremely expensive orbiter, too — but perhaps an equally large tragedy was the extent to which the Challenger disaster set back humanity’s exploration of space. Because of a rushed management decision, the Space Shuttle program — and piloted spaceflight in general — suffered a delay of perhaps a decade. Many dreams, and many STS flights, were cancelled or greatly delayed.

What’s done is done — but the best way to honor the memory of the Challenger Seven is for us to learn from the management mistake that doomed them. Yes, NASA fixed the SRB design and used improved o-rings, but that’s not the real point.

The important lesson is that we must never let wishful thinking and politics override solid safety engineering practices. We’re competent enough with physics to know the risks in many situations, if we’re only patient enough to do the calculations — and accept the logical conclusions, even if they’re not the ones we want to hear.

“For a successful technology, reality must take precedence over public relations — for Nature cannot be fooled.”

–Richard Feynman

 

Posted in Current Events, Design, Science | Leave a comment

Electronics Intuition, or The Giggle Test

Mathematical analysis is one of the most useful tools in electronics. With the right formulas, you can figure out what value capacitors and inductors to use to make a resonant circuit operate at a particular frequency, or what resistors to use to make a voltage divider to drive a comparator.

Along with working the equations, though, it’s important to have a good intuitive sense of what is going on in a circuit. Just like you shouldn’t trust your calculator if it gives you an answer of 21 if you ask it for the product of 17 and 38, you should have a reasonable idea of what each of the parts of a circuit are supposed to be doing, when you’re analyzing it.

For example, if your calculations indicate that you’re getting 100 amps out of a signal generator, something has gone wrong. That kind of current would melt the coax cable — let alone the sensitive components inside a precision signal generator. Likewise, if the calculated output voltage of a simple voltage divider circuit is higher than its input, something has gone wrong somewhere. Resistors can’t generate increases in voltage.

Similarly, some ideas just aren’t feasible. Over-unity (“free energy”) devices are the most egregious example — but often, devices like energy harvesters which look more or less plausible haven’t been properly quantified, in terms of energy out vs. energy in. Just because something can generate high voltage, for example, doesn’t mean there’s a lot of energy there. Quantify, in SI units, the inputs and outputs — and then measure them.

My favorite term for this way of thinking is “The Giggle Test.” If an engineering idea is so implausible that you have to suppress a giggle (or fail to suppress one), something’s wrong — and probably wrong by at least an order of magnitude. When you see something that doesn’t make sense, there’s a reason. Take the time to look at the quantities from a larger perspective, and ask yourself if they make sense. It can be a real time-saver.

Posted in Electronics, Fundamentals, Troubleshooting | Leave a comment