The cover glass is most likely N-BK7 with an AR coating for the visible range. Here's a microscope slide demonstrating that it is highly transmissive even at 337.1 nm light provided by a N2 laser:
1. 5MP resolution lens, 1/2.7 inch, optical glass and metal process. 2. Lens is vari-focal 5-50mm manual focus and zoom, about 15-120 meters' view. 3. Lens has IR CUT ,it can be used in the day-time as light changed.(IRIS will be open and close) 4. Lens is Motorized Lens(Motorized zoom and auto focus with two high precision motos),it should be is used with drive PCB.
1. Because the product has a short back focal length, the purchase of this product will be accompanied by a D14 mount IRCUT. 2. The back focal length of this product is special. If you need to match it yourself, please note that the height of the lens mount is 10mm±0.3mm. 3. Please make sure that the size of the lens fits your camera housing.
The newer A80 with QHD at 30 fps and 4K24p capabiltiy (20MP still frames) has a lens shroud that is tucked under the front cover (left), which needs careful persuasion for its clips to release without breaking. The short sides appeared to be the best to attack first.
Next, the lens shroud (right) can be removed.
The structural plate (bottom) makes the thread locking adhesive hard to access, but it can be removed by removing all 7 screws. Note there are 3 different types of screws.
It is recommended to un-solder the power button wires to prevent wire breakage, otherwise the structural plate is always in the way.
To further improve access, the WiFi module can be peeled off the internal walls, and its flat flex cable can be unplugged from the mainboard.
The lens in the A80 was fixed with a clear adhesive around the top of the threads. An Ersa 0102CDLF04 soldering iron tip at 150-160°C was pushed into the joint makes it soft and crumbly. If the lens does not unscrew after the the glue bond has been broken all around the top end of the lens holder, the camera body can be covered with 2-3 layers of Al foil, and 120-140°C hot air can be blown against the aluminium lens housing to pre-heat it to 60-80°C, after which another attempt to unscrew it can be made. It is recommended to protect the plastic enclosure from coming into contact with the soldering iron, as this will easily melt into and ruin the plastic.
What looked like uncured adhesive or grease on the M12x0.5 threads was removed with mineral spirits. More time was spent to clear the threads with the fine soldering tip.
Infrared Filter
Next, a Proxxon 28846 diamond cutting disc is needed:
Addendum
The Apeman A80 is said to use a Sony IMX078CQK sensor (capable of 60 fps at 1920x1080 and 42 fps at its native 4072x3044 (12.4 MP)) and Novatek N96660 chipset . From a product brief one can glean the spectral sensitivity. Unfortunately, this 2009 era sensor for consumer electronics isn't fully characterized to 1000 nm or beyond
Apeman action cameras are nothing special in terms of build quality. They're not sealed and come with a water-proof case - and most importantly: they're cheap, inviting to modifications for IR photography (and perhaps also UV if one find the appropriate filters).
Thankfully, their enclosures are rather consistent. Marked below are the two linear edges where a wider blade can be inserted to pry out the bezel. Don't forget to remove the battery
Looking down the gap between the lens (lower portion of the image with threads), a bead of tough adhesive can be seen. Hoping that it hadn't seeped too deeply into the threads, it was attacked with a narrow scalpel blade that had its tip snapped off. A 1mm wide flat head screwdriver might also work.
It was found that stabbing the bead in a row with close spacing creates enough internal shear failure for it to crumble and ultimately separate from the lower lens mount (which seems to be made of short glass fiber reinforced polymer - so don't cut all the way into it).
With the glue bond line broken down to the end of the lens mount, a paper towel can be wrapped around the lens, and it can carefully be grabbed with pliers and twisted. With only an incomplete single turn of glue-infused thread left, the lens can be unscrewed with moderate torque. If it does not release, the surrounding plastic can be covered with paper or several layers of aluminium foil, and the lens can be heated to 80-90°C over the course of a few minutes by using hot air from a distance.
With the lens unscrewed, its threads can be cleaned by rolling the edge of the scalpel blade into the glue residue in the threads, cutting into and squeezing the glue to embrittle it, until it comes off in short strings. This mode of failure seems to work well with this sort of glue and avoids scraping the base surfaces.
The small square optical bandpass filter can also be removed by heating the lens assembly gently with hot air, followed by pushing against the edge of the filter. Of course, at this point, the lens can also be swapped for any other lens that has been purchased separately so a longer focal length can be used in its place.
Focus Adjustment For IR
A larger IR filter is held in front of the action camera that has its battery re-inserted and a USB cable connected. The model shown here allows file transfer mode and webcam mode. The latter is chosen, and webcamoid (https://webcamoid.github.io) is launched to view a full screen image of the camera.
The focus is manipulated until everything from infinity to ~1m is sharp. Finally, the bezel can be re-installed. I also chose to mark the IR focus lens orientation with a permanent marker across the lens edge and bezel. In the field, the lens can be adjusted by sticking a Y-shaped piece of folded scotch tape to the front to turn it.
Adding An IR Filter
As these action cameras come with lenses that have no filter threads, but an enclosure that uses a flat glass window with 34 mm diameter, a round IR filter can be placed here.
7" displays with 800x480 and 1024x600 px resolution are not taller than 107 mm and are an elegant fit for HMI terminals as well as custom machinery and even 3U rack mounted servers and lab equipment. Their versatility and power efficiency hinges on the ease of interfacing with single board computers like Raspberry Pi (Zero).
Smaller displays (2.4 - 4") are available with SPI interface. Larger displays require higher bandwidth interfaces. Since MIPI DSI is not a friendly interface, LVDS and parallel interfaces are preferred.
Depending on the type of panel, additional voltage rails need to be provided and match the panel electrical characteristics. Shown below is the "DPI-Topper-666" board which can not directly be adapted to a 50 pin display without an active adapter. The "RGB LCD HAT" offered by Waveshare (which strictly speaking isn't a HAT due to lack of ID EEPROM) is pin compatible with GDTE070A1-6, but AVDD, VGH, VCOM and VGL look to be out of spec.
One can surely draw inspiration from the cost-effective choice of components and charge pump implementations. D1 (ZD 16V) however immediately suggests VGH will be low by > 2V.
It is here that one realizes that the GPIO mappings of 666 and 888 modes are shifted with respect to each other, disallowing a simple set of solder jumpers to free up the six GPIOs otherwide dedicated to MSBs:
A suitable PCB that allows both 6 bit and 8 bit data could provide an extra 50 pin header appropriately wired for 888 format.
From an earlier project, I've got an unreasonable amount of a particular type of 9s2p 18650 Li-ion battery packs. The cells are nothing to write home about, but overall, that nets me about 1.9 kWh of capacity if I can assemble those 20 packs into one battery unit (and probably add balancing, which Bosch didn't seem fit to integrate).
Connector Candidates
Some detective work later, here is what probably matches the battery pack connector. The order code seems to be
DJ7 / HD (series / manufacturer part)
03 (number of positions)
19, 2A, 22 (series?)
-
6.3 (blade width in mm, hence Sumitomo "250 type" (mils))
-
1, 2 (male, female type)
0, 1 (unknown option)
[-] (optional part)
[B] (black plastic)
J (unkown option)
female terminal type
male terminal type
"DJ series"
DJ70319-6.3-21
DJ70319-6.3-11
Haidie #
? (see HD0322-6.3)
HD0319-6.3-11J
Haidie Mfr. #
? (see HD0322-6.3)
926097-1
Terminals
DJ623-E 6,3 B DJ623-E6.3A DJ623-6.3 Sumitomo 1500-0068 ?
DJ612-6,3 B DJ612-6.3 Sumitomo 1500-0083 ?
Purchase options:
"Yueqing Enzhe electric appliance Store" (100 pc qty)
I'm not a fan of the 3 little barbs with which the housings lock onto each other, as this promises to be yet more wrestling to mate / un-mate. There seem to exist a wide variety of locking features and pin orientations / positions within a shared plug contour. Most likely the Terminals are interchangeable, but even here variants exist.
It's often hard to see in the iso perspective pictures, but those orientation variants can really get you. The locking features are perhaps a better corroborating indictor which one is appropriate when matching this style of connector. Here's DJ7032A (left) vs DJ7031 (right):
Dump: More Information On Similar Connectors
DJ7031 (latch like DJ7032A, but the contact arrangement is incompatible)
Recently, a WWII era preserving bottle ("Einkochflasche") came into my collection. It's not that I'm an avid collector, but it piqued my curiosity, and with 900 mL volume, it seems to be a pretty usable size. Weighing in at 519 g without lid, the container is rather thick-walled and heavy, which feels nice. The texture is reminiscent of a lime fruit and the bottom stamping is pretty rough, while the inside is smooth. These days, such containers are produced in a two-step process starting from a pressed glass preform which is then blow-molded to its final volume. I imagine that not much has changed in the production process since then, but it does make you wonder whether they had issues with the mold insert. During the war, they might also have preferred to conserve energy and not reject a batch of bottles for cosmetic defects.
Here are a few shots from the top and bottom features:
There are some rusty, calcified crusts on the neck. The neck has a groove but no threading. With an ID of 56-57 mm and an OD of about 66 mm, it looks quite a lot like the 60 RR Weck lids should fit:
The whole container set also includes a metal spring or clip ("Einkochbügel") and a rubber ring. The rust pattern, especially on the sealing face on the top makes me wonder whether that is historically accurate in this case. With ordinary tolerances for pressed parts, One might also question whether < 1 mm is enough tolerance to begin with. Other WECK containers have a rather loose fit even today with better machinery and process control. Matching lids would have to have e.g. 54 mm diameter to fit into the nominally 56 mm bore.
As chance would have it, an auction titled "Normal-Konserve-900-ml-Bodenfund-Wehrmacht-verschlossen" (only cached preview available, auction has since vanished) depicts what looks like a crimped metal lid used in conjunction with this type of bottle:
On the other hand, contemporary specimens from another auction do show, in this case an INKO brand, a glass lid and metal clip (which may have been used for the cooking step only):
ps.: I found a cheap set of WECK RR 60 lids, and indeed they fit just fine.
Good Things Come In Reusable Packages
To give some context: in Germany alone, over 4 million tons of glass containers were produced in 2020. At the same time, bulk food stores targeting environmentally conscious customers were struggling or went out of business during the Covid-19 pandemic. I personally have reservations when it comes to the hygiene aspect of open bulk food and self-service, yet I find that there is a need to explore reusable food containers in the same way it works for beverages.
As it stands, there are only a few brands (like Ehrmann, which are however criticized for other practices), that field reusable food containers (basically like the container shown below on the right), yet there are non-returnable, reusable food containers in the market as well. As an example, let's wrap up the glass situation with the coconut oil jar on the left:
Can We Have Nice Things?
There are many shelf-stable products offered today which come in single use glass containers, and that makes me wonder: why isn't there a standard container for spices, a standard container for pickled foods, or more valuable dry goods like nuts, seeds, lentils, beans, dried berries? Larger containers could be a bit more blocky and pack well in euro containers for easy and space-efficient transportation and storage.
An overarching technical topic might be making good lids. The glass sealing surfaces can be automatically inspected before refilling, but lids will likely still need to be disposable, or at least the sealing inserts / foils will need to be.
One can even imagine standardizing food containers for bulk food stores that offer pre-weighed quantities in returnable glass containers with lids that have labels on the lid that reset...
I bought a device that harbors a Mini ITX mainboard (Intel D410PT(B)). It also had a power supply failure, so we're left wondering whether that in turn damaged the mainboard as well. First off, this is a no-fix, but maybe you'll enjoy the story of the journey.
Initial presentation:
ATX power supply is completely dead.
It's a Seventeam ST-250UAG-05E, a regular 1U server PSU. When connecting to mains and bridging PS_ON# to GND, it should turn on, but no 5V_STB is present either.
It's got active PFC creating a 380V intermediate DC rail, so there are > 400V transients across its 20N60 MOSFET to be expected (capacitor ESL and commutation loop causes some overshoot. Can you see it?
Here's a closer shot:
It should be noted that in the pictures above, the worst of the contamination (paper and toner dust, as this was an office scanner) has already been vacuumed out and brushed off while vacuuming. The charred remains and light metal deposition over the "R17" silkscreen label, along with the fancy golden alloy that formed around the arced spot tells what happened here. The clearance between those two traces really is overly optimistic and inadequate for adherent pollution.
Pollution degree 2would apply: "Mostly, there is non-conductive pollution. However, there is a possibility of temporary conductive pollution, which is caused due to the condensation. Laboratory area is one of the examples of pollution degree 2."
Let's see what 400V working voltage and pollution degree 2 call for:
1) staggered pins can directly increase clearance, albeit at increased assembly effort 2) isolation slots added to the PCB improve creepage distances, while potentially increasing PCB cost. Dust may still accumulate in the slot, as the power supply is forced-air cooled.
3) the best result is achieved by combining staggered pinout and isolation slot milling.
The PSU needs to be fixed.
It ain't fixin' itself. OK, that's not completely true, maybe the ablation caused by the arcing did fix it somewhat, but upon measurement it turns out that the MOSFET is OK, but the 5A fuse is blown.
Course Of Action:
clean and abrade arc damaged on PCB (heat-affected PCB material can become a future source of arcing and recurring failure)
trim traces with exacto knife
reflow with some flux
thorough cleaning with ethanol or mineral spirits to strip flux residues
application of Plastik 70 conformal coating (acrylic resin)
test*
This restored the PSU and allowed the machine to be powered when adding a wire to short PS_ON# to GND. The mainboard however would not start at this point when merely shorting the PWR button pins on FP_HDR.
(*) Earlier I mentioned 380V for the PFC stage. As one doesn't get proper technical documentation these days, this voltage was measured after fixing the PCB and fuse. I've got a 250V lab power supply set to a 50 or 100 mA limit to keep the risk of electric shock and device damage limited. it also allows gradually ramping up the input voltage under a current limit. Most switch-mode power supplies also run off DC without issues, and start at 85 - 100V AC with universal input, so they should accept 150-250V DC as well. 100 mA aren't particularly safe and the floating output means there is no RCD saving the day - maybe a future lab upgrade might be a dead man switch that cuts the interlock after 10 seconds without a button press?
(note the tab on the top is raised and should not be soldered, and the center pad should not short across the cut gap)
Trace cutting and scrape pattern
(after tinning and wicking for flatness. Some more stop mask came off due to the force with which the wick was pulled over the pads, but this may be rectified when soldering the connector with flux paste. Make sure not to cut into the inner layers. Cutting technique:
score two lines in between which the cut will happen
angle exacto knife blade at 30-45° w.r.t. surface, stab a small point into the copper layer, roll blade by 45-60°
repeat to create a perforated line
do more passes to fully sever the outer copper
repeat for second line
lift off the strip in the middle
optionally shave the edges with the blade while minimizing smear )
The cable came with an Acer Aspire 5020 series model MS2171 laptop and combines display and backlight cables.
CN1 Pin
MP1017 Pin
Function
1
7
VBATT
2
7
VBATT
3
4
DBrt via 10k
4
5
EN via 100k
5
9
GND
6
9
GND
[Here I had to delete and re-do the table because the WYSIWYG editor does not allow one to get the cursor past a table if the table is the last item in a page. Copied and pasted tables are completely garbled, so one has to completely redo a table to recover the page document. Thank you #Hackaday.io Project for not fixing this bug for more than 3 years.]
I'm sure it won't hurt to wire up the GND lines between the differential pairs. Interestingly, DVR_CLK is omitted, as is GND on pin 1. Some cables connect pin 1 to VCC, so care must be taken not to create shorts later. The rest of the table of the LTN154AT07 panel seems to be in agreement with the LP154W01 connector, down to the block of NC pins 20-30. U1 pin 7 is connected to GND.
Some manufacturers make low power AC-DC modules for small appliances, IoT devices and smart meters. MeanWell may come to mind (IRM-05-3.3), but one of the most cost-competitive modules is the Hi-Link HLK-PM03.
Here I will have a closer look at how the module is built. There are of course other teardowns out there, but not necessarily of the 3.3V variant, and you never know if you're going to find something others could not or had not seen.
Unpotting
So what's inside the HLK-PM03? With a silicone potting compound that readily unmoulds from the enclosure, the module was definitely inviting further investigation.
A couple of years back I bought "MakeBlock" parts from the XY Plotter v1.0 kit for a low price that reflected the hot mess this construction was in its early conception.
Here begins my journey which can be summarized as: I rebuilt an XY Plotter with most of the parts, machined my own bits and pieces and then time had other plans for me. And so this thing has been sitting around for another 3 years ... because the belt tensioners were missing.
Concept
The better isn't just the enemy of the good, and I've had many better ideas along the years, none of which ever materialized. So, it needed dealing with:
You're looking at a hose clamp, a spade connector and adhesive-coated heat shrink tube. The version I settles on looks like this: Breakdown
The hose clamp is what tied it together, really. I did digest some inspiration from [adamfilip] who built a tensioner from guitar tuners
The tuner has a worm drive to create rotary motion and a toothed pulley to get back to linear belt movement. Consequently, one could attach the belt directly to the worm wheel, then unroll the wheel and replace it with a perforated metal band. You want the ones that have punched holes, not the embossed threads.The proof-of-principle build I made was more about figuring out how to attach the belt to the clamp strips than about the tensioning or mounting. The hose clamp has a strip attached to the formed housing which becomes the fixed end.
Build process (first shot, consider modifications mentioned later):
unroll the hose clamp - for me this was a 1/4-5/8" size one,
figure out how long the fixed end needs to be to attach the belt,
cut with metal snips,
Remove bridges. I used a Cr-V steel chisel held at 10-15° to score the two sides, then snapped the weakened bridges with a screw driver.
File the corners with a square needle file,
insert belt protection elements (see later),
attach belts.
Seen every now and then in beginner solutions, the belt is pulled over a sharp edge. While cheap GT2 belts should come with aramide fibers, it's generally a bad idea to abuse them this way. Other belt types can be glass fiber-reinforced and really don't like minimum bend radius violations.
If available, slotted spring pins can be inserted into the slot and rested against the sharp edge to roll the belt over with at 1.5-2mm radius. I ended up cutting spade connectors into pieces and filing them to the desired height: They can also be wedged open and crimped shut to lock them in place. Here they're inserted into the parallelogram-shaped slots and pushed to the sides where they are squeezed (without crushing) with pliers to stay put: Attaching Belt Ends
I ended up using two layers of heat shrink - thin heat shrink tube to get the belt to where it needs to be and to do a test fit. It doesn't have adhesive and even in unshrunk condition it holds well enough to set the belt length reliably. The actual clamping would have been done with a steel crimp ferrule for belts, but I didn't order them in time. You might also get away with thin walled copper or brass tube which can be squished and annealed with a gas torch in preparation for crimping. Either way, I'm giving hot-melt coated heat shrink tubing a try, as it was available and can be trimmed with a scalpel.
Below you can see how the heat shrink terminations worked out. The belt ends were pinched with needle nose pliers to allow the heat shrink to set in a fully closed shape.
Mounting
The final challenge is where to put the mounting bolt. At first I tried to be smart and put the hole in the fixed end in front of the screw, but that required the screw head to clear by ~1cm and made the whole tensioner extra long. Shown above is the revised version where the bolt head is right next to the belt attachment on the strip-only end.
And that's the finished product in place:
I'll see how this solution holds up over time. I've outfitted three belts with it,...Read more
When lab setups don't fall into disuse and get scrapped, they are usually passed down through generations of PhD students - and there doesn't always seem to be an incentive to spend time to improve a working setup.
... and then one ends up with such organically grown USB cancer:
While USBTMC (USB Test and Measruement Class, [1]) allows ease of use of a subset of lab equipment, one is usually at the mercy of manufacturers to support newer platforms and control software implementations to properly handle USB devices. Practically such equipment communication ends up being vulnerable to faults by re-enumeration and broken handles to once-functional virtual COM ports. Let's change the requirements too and ask to allow multiple control PCs and setups sharing measurement equipment - and USB stops making so much sense altogether.
To spice things up, I'm adding transients of 1 .. 20 kA/µs and 10-50 kV/µs into the mix. Under these conditions, and with setups not enclosed in metal test cells, with filters added to all cables crossing the shielding walls, USB struggles through common mode (CM) noise and yet-to-be-identified perturbations.
On a side note: the only cables we've found to make a difference are "CU-HQ-20". They have honest copper cross-sections, proper shielding braid and ferrite filters on both ends. Expect to play 15€/pc.
Ethernet and PoE in the lab?
Ethernet enables multiple pieces of equipment, actuators, sensors, control interfaces and PCs to be connected, both locally and remote, and satisfies the requirements for maximum flexibility with cheap and ubiquitous components.
Thus we should be looking at the 10BASE-T and 100BASE-TX physical layers in terms of noise immunity and voltage handling capabilites and see how PoE fits into the picture.
Magnetics!
Ethernet has become very popular in industrial applications [2]. As far as noise immunity is concerned, common-mode filters are often part of integrated-magnetics RJ45 connectors (commonly called "MagJack", which happens to be a name trademarked by BEL). Having the filter magnetics right behind the connector pins in a shielded can connected to the enclosure and bypass capacitors right next to the connectors is the a best effort approach to mitigating conducted and radiated emissions into a network enabled device. The PoE lines are commonly outfitted with ferrite beads to block common-mode transients coupling into the DCDC converter circuitry.
Below two types of MagJack circuits are shown [3]. The right one is outfitted with separate PoE pins which hook up to full bridge rectifiers and an isolation converter that also handles the PoE communication. Power is transmitted courtesy of a common-mode potential difference between differential pairs.
It is to be expected that the patch cable shield is connected to ground of the switch chassis. We have found our first issue: high frequency CM voltage components drop across the CM filter and to a lesser degree across the signal transformer. Additionally, low frequency and DC components are blocked by the signal transformer alone.
Are they really being blocked?
Let's look at the signal transformer:
These parts tend to be produced as a multifilar toroidal winding, e.g. on a small NiZn ferrite core. The windings have maximized overlap to optimize coupling and to marginalize stray inductance, but then again this also enhances capacitive coupling. This inter-winding capacitance is a low-impedance path for high frequency common-mode noise.
Faraday shields eliminate inter-winding capacitance. For transformers this requires the addition of one or mulitple shielding foils or wire windings in between primary and secondary sides, along with added insulation. I haven't seen them used in ethernet magnetics though.
What would be the best effort? Lacking a teardown survey of PoE switches marketed for industrial applications (please contact me if you happen to have a box of interesting stuff...
TL;DR: this is the result - a QR code you can read from an arbitrary spectrum analyzer app. It's a proof-of-principle endeavor, but maybe you can make use of the idea :)
The Project
--------------------
it's 1am and I feel like I have one hour of juice left in me... let's go. We'll be cooking up a bit of python code for fun and joy, so hang in there :) you'll see where we're going....
"audio qr code" brings up things quite different from what I'm up to. It's a bit like the Transformer movies made it next to impossible to find technical info on strange types of magnetics once they hit the market.
1) find a way to produce uncompressed RIFF wave files
... and I got sidetracked with named tuples... so far:
#!python3import wave
# create wave_write object
w = wave.open('code.wav', 'wb')
# create output
w.setparams((
1, # nchannels.2, # sampwidth: in bytes - 1 channel, 16 bit 48000, # framerate: 48kHz sampling rate? 1024, # nframes: will be changed as frames are written 'NONE', # comptype: only NONE is supported right now'NONE', # compname: only NONE is supported right now
))
# finish
w.close()
Bloody notepad++ broke the hexEditor plugin. Wow, such hate, complemented by
The bloody thing just died on me to make a point. Also claims there are no plugins installed and none available. the .wav looks like this, which is nice. No hex editor :(
RIFF$ WAVEfmt....
25 minutes in..
nframes is pretty much being ignored. We want some nice 10 seconds of annoyance, so let's aim for that, see if we can produce silence to start with.
3) QR code
let's use a picture for now, deal with code generation later.
learning as a timed challenge. Who came up with this? Not sure whether I like it.
now we should have image size and data. Quick test?
print(img.getpixel((1,1))) yields (255, 255, 255)
we're good. another test at (1000,1): out of range... so we need to do range testing ourselves. Wonderful :) Floating point coordinates are accepted but I haven't read what they do. We'll find out soon enough.
Scale and range limit the first channel of the pixel
getpixelcoef = lambda x, y: img.getpixel((x, y))[0]/255if (0 <= x) and (x < img_width) and (0 <= y) and (y < img_height) else0
4) time's up :(
Here we are right now:
#!python3import wave
import PIL.Image
import math
import numpy as np
# load QR code picture
img = PIL.Image.open('code.png', 'r')
img_width, img_height = img.size
# create wave_write object
w = wave.open('code.wav', 'wb')
# create output
w.setparams((
1, # nchannels.2, # sampwidth: in bytes - 1 channel, 16 bit 48000, # framerate: 48kHz sampling rate? 0, # nframes: will be changed as frames are written 'NONE', # comptype: only NONE is supported right now'NONE', # compname: only NONE is supported right now
))
dt = 1.0/w.getframerate()
dt_pixel = 0.1# 100ms/px
total_time = 10.0
fstart = 17000
fend = 20000
fsteps = 100
freqs = np.arange(fstart, fend, (fend-fstart)*1.0/fsteps)
getpixelcoef = lambda x, y : img.getpixel((x, y))[0]/255if (0 <= x) and (x < img_width) and (0 <= y) and (y < img_height) else0for n in range(0, int(w.getframerate()*total_time)):
for f in freqs:
pass# finish
w.close()
We've started spitting out a wave file, managed to load a QR code image and after pip3 install numpy we're good to go with a list of frequencies to process every sample.
ROUND 2
Tomorrow will not be such a fine day ;-) What with waking up...
[Hello future reader. This article refers to OpenSCAD 2018.05.05, please check if it still applies later on]
3D printing internal and external threads is interesting for many reasons.
Unlike gears that invariably wear rapidly and cannot measure up compared to cast or subtractively machined parts, they are pretty functional and allow the common maker to interface with custom and standardized bolts, pipes, valves, soda bottles and canisters - and that's on top of the liberty to create your own threaded mating components within the confines of your design.
The generalized approach presented here supports arbitrary thread geometries and numbers of starts.
Shown below are single start inside and outside threads as well as a swivel nut with a "faster" 3-start thread, all modelled to match commercial water bottles - the small one is "PCO-1881" known from 1.5L soda bottles, the larger one is "48-41" for 3-5L jugs:
Only right-hand threads are supported but left-handed threads are easy to get by applying mirror([0,1,0]) to the output. That's the OpenSCAD way :)
While the core idea of a straight thread - the helical profile wrapped onto a cylinder - is rather straight forward, generating nice geometry that does not disintegrate along the way from model rendering thru .stl export to the slicer tool deserves a little bit of attention.
What do I mean by "nice geometry"?
"embossed threads" on a curved surface or
manifold additive threads (demonstrated here, imho more universal)
regular mesh / regular connectivity of trangles / quadrilaterals (no crazy pointy aspect ratios and cell size changes)
low polygon count and accurate / efficient reproduction of the thread profile
geometry matched to the rest of the model
in short, what we don't want is unnecessary structure, gaps, holes and mismatch of resolution of the threads and the rest of the geometry.
What I'm going to walk you through here is a way to create helical thread forms just like the ones you'd strip when overtightening a bolt:
Since OpenSCAD is am open source work in progress, users do not necessarily work with a version that has the latest features, documentation may not be up to date and forum posts claiming "it cannot be done" are repeatedly being invalidated by software revisions, adding to the confusion.
Let's go over what doesn't work (hopefully gaining some insights), then look at my proposed approach. If you just want the answers, please scroll down :)
linear_extrude()
As an example: without an operator that creates dedicated helical structures people are using linear_extrude() with twist to get something helical:
The problem here is that like fanning a deck of cards you'll end up with tucked-in faces and serrated outsides - as seen on Thingiverse:
And here's another one with a bit of discussion from 2014:
Unfortunately as of now rotate_extrude() which should be closer to creating helical objects has learned partial rotations (not supported in 2015 builds for Windows) but cannot create helical extrusions. There's also no special treatment for the ends.
I was looking for a way to image a credit card-sized area the other day. The only catch is that it would fundamentally be the sidewall of a < 8 mm wide duct and I haven't really seen a type of borescope that would be capable of imaging under these conditions.
Organic Photodiodes
It seems we're living in the early days of organic photodiodes (OPDs) and image sensors so maybe we'll get to see combined flat panel illuminator - lightfield camera foils which you can stick into the gap between capacitors, heat sinks and other stuff that's in the way to read part numbers and have a look at possible faults, but such a future is not there yet.
Defects and apologies aside, the fact that everything is in focus despite the different optical path lengths across the object (Fig. 21 is slightly misleading) eposes the small acceptance angle at every given point of the imaged area so light collection efficiency will be a bit of a struggle or a trade-off with image contrast.
All things being equal this will be a good starting point to cobble together a demonstrator. Think machining a PMMA wedge on a sine plate.
Light Pipes
If you've ever taken apart a DLP projector you may have come across a beam homogenizer / rectangular light pipe / mixing rod
they come in two basic flavours: total internal reflection and boxed first surface mirror and for non-imaging elements they have some interesting properties.
In the paper from Zhang 2013 it is pointed out that looking back through a light pipe, the real source is seen surrounded by an array of virtual sources (hence virtual sources array). It's not easy to make out in the illustration below but another way of looking at it is that light emitted at increasingly oblique angles ends up in increasingly "higher order" virtual images farther away from the center.
In fact one can image the entrance aperture plane of the light pipe along with the array of virtual source images and consider it a scrambled integral light field image (ordinary light field images don't have the additional mirroring).
Here's the collimating lens and light homogenizer assembly from an IBM DLP projector:
in the magnesium casting there are four mirrors glues into a rectangular tunnel shape followed by a collimating lens assembly. Since in a direct imaging scenario the angle at which the enters (aka the "source" in the context above) is equal to the angle at which the camera has to capture it, a rather wide angle macro lens is required. Using the collimating lens to image a ceiling light though should deliver the basic idea of what they mean by "virtual sources array":
So in essence this could be an easy way to implement light field microscopy if it were not for the awful out of the box working distance.
What Zhang et al. are proposing is a means to transform a light source with a large solid angle into a well-behaved array of small solid angle fractions of the source which are sufficiently controllable to be fed through polarizing beam splitters and half-wave plates to achieve near-100% yield instead of <50% by just discarding the wrong polarization component.
Going full circle this might be another way of looking at the combined wedge optics /...
The future may smile weakly but this is 2018, a time where one would assume that most, if not all mechanical problems can be considered solved and everything has just been reduced to a "make more, faster, cheaper" game.
Fear not, there are still many problems lacking "proper" solutions. From temperature measurements over 2d surfaces one cannot stare at with a thermal camera to (spatially resolved) force measurements INSIDE solids (not the neutron scattering approach to Gigapascal pressures, mind you, just down-to-earth Megapascals), residual stress to even seemingly simple mechanical building blocks like linear actuators, what we have as of now just doesn't seem right.
Fujifilm Prescale paper for example is one of those "good enough" solutions where you pick a pressure range, slap a sheet of material on your contraption, clamp it down, tear it apart again and see if you hit the target. You get one shot.
On the high tech side of things, residual stress analysis is a crazy destructive mashup of x-ray diffraction and electropolishing. Undoubtedly cool but time consuming and expensive. Random pick for further reading:
While the measurement applications tend to massively interfere with the finished product (like breaking electrical and thermal paths and corrupting mechanical stability), things like actuators which actively have to do something don't seem to get to a stage with proper implementations. Actuators often rely on a fundamentally rotational motion converted into a linear one and the piezo driven structures inherently need to convert sub-micrometer motions to macroscopic vibrations and associated displacements.
Linear actuators - or: why artifical muscles aren't there yet
I don't claim any authority in the field of actuator principles but have accumulated a certain amount of frustration in my time by reading about "breakthrough" actuator designs time and again that turned out to be just another piece of rubber tubing in a mesh to keep it from balooning out of control. Or maybe it's a bit like lithium ion batteries that creep towards a brighter future so slow it feels like regression despite significant yet underappreciated technological advances.
Since we're interested in small actuators and low force, yet elegant motions (think: cats :D) a gasoline powered hydraulic compressor of the Boston Dynamics kind is out of the question.
As candiate technologies there are electroactive polymers which are as elusive as their development kits, piezoelectric polymers (polyvinylidene fluoride and its copolymer with trifluoroethylene) where the TrFE compound is about the price of silver by volume, coiled carbon fiber muscles one might rather call renewable asbestos and electroosmotic implementations that need kilovolt driving voltages to perform their dance over the course of ten seconds.
The only technology I actually find at least a bit magical is that of ultrasonic piezo motors because they are nice and quiet and create well behaved motion. My first contact with this technology dates back to a broken Canon USM lens I took apart to find that a ring hat vibrated loose, removing motor preload.
The type of ultrasonic motor used in photographic lenses with larger elements is a traveling wave ring type one as depicted here:
Usually there are two, at most three phases connected to the ring to generate a propagating shear wave. It's rather a vibration mode of the ring which is held in place by a thing spring washer. Unfortunately this principle does not exactly lend itself to linear drive applications.
One step up the ladder there are stick-slip drives which are driven by a sawtooth / asymmetric triangle voltage waveform and use the inertia of the central shaft to unstick and reposition...
With some quite decent tooling and equipment coming from China these days, my curiosity was sparked as I saw a rather affordable kinematic mount. For those not familiar with such lab equipment, this is a holder for lenses, prisms, filters or anything you'd like to position and adjust with respect to a beam path. These are supposed to be rock solid, like down-to-the 100nm region solid, like "I'm worried about thermal expansion due to room temperature changes" solid.
Here's the culprit as sold on ebay,
Now while I can fully accept that simplifications have to be made to reach a certain price point like $30 delivered, making a good product also implies not wrecking it by stupid design decisions or by having someone in the production chain who didn't know what they were doing.
First of all, the threaded holder that comes with the kinematic mount is not really held in there properly and you hear a nice crunchy sound when you tighten up the anodized pieces. I'd love to have seen a set screw with a POM or Nylon plug there. But that's not what we're here for.
See, the beef that I have with this mount is not so much the things that have not been done rather than the things that have been done wrong. For example, the fine adjustment screws are actually inserts that you can buy separately for other purposes. They're just designed into this mount as a separate component. They are also produced with different heights of the knurled fixing nut and guess what?
they are glued in place.
One actually came loose during shipping. I pushed it back in gently in the vise but it came out anyway. The same was true for the other 2 out of four (the last one is always stuck!).
The sad thing is that this will always happen because all elements are preloaded by both sets of tension springs and screws with a stack of spring washers. The latter is supposed to avoid twisting the front plate off the ball joint and possibly to give a haptic "stop" so you know when you're about to overtension the springs and the preload force gets quite high towards the end (also the screw is a tad too short or the bearing ball is too large). So high in fact that you're losing the fine touch needed for precision optics.
The collar on the threaded bushings is supposed to aid in the assembly process to stop the bushing at a proper depth. Obviously it could also have been utilized to set the bushing and avoid it being stripped back out by the preload. This is guaranteed to sabotage your optical alignment due to position drift. Almost feels like this was done on purpose ;-)
Alright, let's fix it then, shall we?
Just remove the bearing ball, undo the preload springs and.. oh wait.
the springs are such that you can screw in the countersunk screws easily but they tighten up against the threads in the left-hand direction. Should've seen that coming.
A way to avoid this is to either leave them in or to pull them up by 3mm, reach in with another screw driver and act upon the start of the spring. I left the other three in place and proceeded with removing the spring washer limit screws.
The rest of the assembly comes apart quite easily so I removed all adjustment screws, unscrewed them from their bushings and inserted the latter from the insides.
You'll have to remove the set screws to loosen the springs centering the optics holding block but then you're good to go. Here's the translation stage back together.
Look closely and you'll see that the fixing nuts have different heights. As it turns out one can actually reach into the pocket formed by the bore and the reinserted bushing, the other one cannot. Always a catch. This means that the longer one can tighten against the brass bushing while the shorter one tightens against the anodized surface.
Anyway, let's wrap this one up.
Some massaging and cursing later the whole assembly is back together. From how this feels I suggest to clean bore and bushing with alcohol,...