Jump to content

Headache


esaj

Recommended Posts

16 minutes ago, esaj said:

Second table finally in place (and missing some shelves, still). A lot of time's been spent just dismantling and moving stuff around to get space.

Table brought in in pieces:

Nice sturdy work spaces!

 

17 minutes ago, esaj said:

Love that japanese saw, btw, if you work with wood, try one sometime. After getting used to it, it kicks ass compared to western saws:

handmade-ryoba-02.jpg

 

I just had a  few Amish gentlemen work on my gazebo and pole barn and they used similar saws. Power tools are forbidden. 

  • Like 1
  • Upvote 1
Link to comment
Share on other sites

On 8/7/2018 at 12:12 AM, Esper said:

Ahh I see you took my suggestion for the angle braces. I like it! I still think you need some type of cover for them though. I would hate to nick a finger on that corner. Or a knee.

Yeah, the ends of the steel bars are filed down, but it wouldn't hurt to add something to "cushion the blow" in case I manage to smack some body part there... probably I could cut some cushions from old styrofoam pieces or whatever.

I had to take some break from building the tables', as my sister was visiting for a few days, so I'll get back on track in the next few days. I did get a few things done before that though. A good while back, I actually bought an "electrical distribution center" with DIN-rails, so it did come to some use here:

lAwXTeY.jpg

2 x 2-rail 6A automatic fuses and a couple of switching ("impulse") power sources (12V & 24V, both 150W). The fuses are twin-rail, because I can't know which way around I'm putting the socket in (ie. either rail could be phase or null, since the socket we use here do not force you to place it in any particular position).

UuGHIxB.jpg

Most of the wiring done and cables tied. 

wER51eu.jpg

I placed the cabinet near the sockets under the 160cm table. In hindsight, I should have gotten DIN-railed devices with both automatic fuses + fault current protections (they were out of stock when I got the fuses), I separately bought ground fault circuit interrupter (GFCI), or Residual Current Device (RCD) later on that you can put on the sockets.

RDokIBU.jpg

Left some open space there for the power sources to cool down.

1sFgiKR.jpg

Still ways to go, I hope to have enough time in the next couple of days to finish the last desk, some shelves and clean out the mess, I've got a couple of projects to do...

The 160cm table on the left also has wiring done for 230V mains, 12V and 24V mains (running under the first shelf and through a breaker box with rocker switches to turn on/off the switchers), some LED-lighting from the 12V rail (and an ugly power distribution board for 12/24V power, that I plan to replace once I get the CNC back up and running), although I probably have to add more, and a separate 100VA isolation mains transformer bolted to one of the posts and going to an ungrounded extension cord, not seen in the picture. There's also a (grounded) extension cord feeding from the (ungrounded) distribution box, might need to add another one once I can mill out proper distribution boards.

Also quickly made some small shelves to hold the sample books from the leftovers of the old tables:

wDBkB4N.jpg

Edited by esaj
  • Like 2
Link to comment
Share on other sites

Finally on the finish line with this, although there's still junk to organize and the steel pipe ends are completely unprotected  :P 

RCKvCd5.jpg

There's only so much stuff that you can fit into about 6m(about 65 square feet) of usable floorspace (the entire room is about 3x3 meters = 9m, but there are cabinets and the door on one wall, which take away about 1 meter so that the doors can still be opened). I had to get rid of one drawer to fit the floor rack and CNC under the tables, but now I've got a lot more desk space for working and could fit the 3D-printer here.

 

kRtj7Ea.jpg

tiMaH7R.jpg

The "measurement/testing" table with oscilloscope, bench multimeter, power sources etc. I might still add one more shelf on top.

qLz6NIH.jpg

Oei18uw.jpg

Tons of components, drawers, CNC-table and the floor rack fit under the desks, except for the cardboard box housing the component bags and one desktop computer, all the drawers, the rack and CNC table are on wheels so they're easy to move around when needed.

He3nRsQ.jpg

"Manufacturing/assembly" table, holding all sorts of tools, space for soldering and assembly, CNC/3D-printer -control computer and 3D printer.

nx0XKuv.jpg

Main computer desk, which also holds all the component drawers & misc crap on top  ;)

So, I had to do some compromises, but I increased the desktop area from about 2.5 square meters to about 3.8 square meters. The biggest improvement is the space for soldering/assembly and testing things, and not having to move crap around the room all the time to be able to move  :P

Edited by esaj
  • Like 3
Link to comment
Share on other sites

12 minutes ago, Hunka Hunka Burning Love said:

:popcorn:  Maybe a couple of these monitor wall mounts would free up some more counter space.

https://www.amazon.ca/AmazonBasics-Heavy-Duty-Articulating-12-inch-39-inch/dp/B01KBEOGZ4

Maybe, but not much and the "main" computer's already on the desk behind the monitors (since I can't fit it under the desk) :D 

At one point I was thinking of getting a large curved 4K TV to replace the dual monitors, but then I'd have to switch this machine to Linux too, because Windows window manager sucks. it's easy to throw, say, KiCAD schema-display to one monitor in full screen and PCB layout to another (they're interlinked, clicking a component on either will center the other to the same component, which is really useful and saves a ton of time when there's lots of components on the board):

PEFP3Fs.png

With single large display, I'd always have to be stretching the windows so that they don't overlap and would accidentally make one fullscreen, then have to resize and align the windows again etc.

  • Like 1
Link to comment
Share on other sites

Back to business.

I've got some components made for the load earlier (temperature-sensitive PWM-controller for turning main fan on when things heat up, distribution board for ATX-power supply), that aren't really interesting. In the meanwhile, a friend of mine mentioned he'd like to start using switching-mode power supplies for his analog synthesizers, as they are cheaper, light weight and much more efficient than bulky large linear supplies. The problem, as usual with switchers, is noise. For digital circuits, the noise is not a problem, as they usually work with a large hysteresis / "dead band" between the voltages representing 0 and 1, but for analog circuits, the noise is a problem, especially when you need high accuracy and very low noise. With a synthesizer using something like 1V per octave (for representing frequencies of notes, about 83.3mV per half-step) for example, a typical 1% ripple noise in 12V line is already 120mVpp. Other types of analog circuits also suffer, the lower voltage differences you need to "distinguish"/use for whatever reason, the more of a problem it becomes.

There are switcher-based power modules for synthesizer available, but they're surprisingly expensive and usually very simple. For example:

https://www.befaco.org/en/lunch-bus/

https://www.befaco.org/docs/LunchBus/Lunchbus_sch_1.0.pdf

As a parts-kit, this power supply module costs a little under 100€ with shipping, and 120€ fully assembled (but the shipping is then free). It's not really complicated, and the parts cost is about 30-35€ (including the board, the Mean Well DKE switcher-module is the most expensive part, I bought one for about 21€). Befaco's an "open source hardware" -shop, so they show the full schematics and allow you to build your own from scratch if you want (which is really fair), and probably these are really low volume products, which explains the high prices (they can't buy the parts in bulk, and they need to run the business, if after taxes and other expenses etc. you get a profit of something like 10-30€ per module, you need to sell a truckload of those just to keep in business ;)).

This isn't much more than a distribution board for the DKE-module though. And still needs a separate external power supply, such as a laptop charger. There are lots of different power supply modules out there, some good, some bad, some expensive, some less expensive. Most of them still let significant spikes through, although usually the modules have their own bypass-caps, possibly more power supply filters and op-amps and such reject at least some of the ripple in the voltage.

But, naturally, I wanted to build something that's better, and possibly even cheaper vs. buying a ready-made module or parts kit. The load is supposed to be powered by an ATX-power supply, which usually have that around 120mVpp ripple. With high current modules, one millivolt can mean 10mA, so I also have use for attenuating the ripple at least on the +12V line (not sure of -12V line yet).

Linear regulators are "nice" in the way that they at least somewhat attenuate voltage ripple by themselves, usually there's a graph for PSRR (power supply rejection ratio) SVR (Supply voltage rejection), ripple rejection or such (the names vary) in the datasheet that shows how much (under specific conditions, the ratios can change with input/output voltage differences, currents, temperature etc.) of the ripple they attenuate. Many of the old "jelly bean" regulators, like LM317's or LM78xx's don't attenuate much past 10kHz or so, as they were designed at the time when switching mode supplies were rare, and usually the interesting frequencies were mains line frequencies and maybe a couple of harmonics above them (like 50/60Hz, 100/120Hz etc). More modern LDO (low dropout) regulators commonly have better attenuations at higher frequencies, and I managed to find some that show graphs up to 1, 10 or even 100MHz. Scouring through the datasheets, I picked a few of these (on the cheap end, of course) to test around with.

LM2941 is a relatively cheap (0.99€ / piece with 24% VAT at 10+ pieces in TME) 5-20V / 1A LDO with surprisingly good PSRR (in the datasheets at least):

RXCZ0G5.png

 

That's almost a straight line! There's a clear dip somewhere around 100-300kHz though, which also happens to be the quite typical switching frequency of cheaper switchers, like computer ATX's for example (usually around 150kHz). But still, the rejection ratio should be about 65dB. Also note that this is measured with 10mA output current, typically the rejection gets worse with higher currents. 

Another one I got was LD1085, which is clearly meant as a post-switcher regulator, since the graph starts at 10kHz (or then it's an error in the datasheet, it happens ;)):

M2190Wa.png

Notice also that here it's measured with full maximum output current (3A). The rejection stays above 70dB up to until about 3MHz and then rolls off, still about 40dB at 100MHz (again assuming that they really mean kHz). 

Of course there's more to selecting regulators than just the rejection ratios, but for this use, it was a pretty dominant parameter. I also got a couple more models than the above mentioned, but haven't played around with those (of some I have only one piece, as they were "expensive", like 4-5€ per piece), and also some for negative regulation to test out circuits for my friends' synths, as he needs +-12V dual supply (I don't really have that much need for it, probably I'll use the +-12V dual supply for testing op-amps using the +-15V DKE and regulators to drop it to +-12V with filtering, as a "side product" my friend gets the design for his synths).

A regulator won't work "alone", usually the rejection is dependent (at least partially) on the output bypass capacitors, together with the output impedance of the regulator and the capacitive reactance of the bypass capacitor(s), they form a RC-low pass filter (well, "ZC" if you like). The reason the attenuation doesn't go on "forever" (like you would assume from the basic equations for RC or LC-filters) is that real world components have "parasitic" properties (for example, an inductor will have some stray capacitance) which works "against" the ideal function at high frequencies. Imagine that an inductor's reactance goes higher with the frequency, but at the same time, there's some capacitance in the physical inductor. At high enough frequencies, the capacitive reactance of the inductor becomes low, and the higher frequencies actually go through this parasitic reactance, bypassing the inductance.

I tried the regulators on a breadboard, and managed to drop the 120mVpp ripple spikes from the ATX down to about 20mVpp at 1A output, just with the LM2941 regulator and a couple of bypass capacitors (didn't write down the values though):

Ad7Dtdx.png

The yellow line is the input from the ATX, red is output measured over a bypass capacitor. 1x probe attenuation, 20MHz bandwidth limit, AC coupling. Do note that they have different scales (10mV per div for red, 50mV per div for yellow).

With lower currents, I could get down to around 10mVpp at times.

It's not easy to measure things like these with breadboard, as there's a ground loop formed by the ground clip of the probe (can't really use ground spring there) and the breadboard itself has all sorts of bad connections and stray inductances and capacitances. Still not bad just for the regulator and a couple of chinese noname electrolytic caps (as a comparison, I earlier tried with some "jelly bean" LM1117's or whatever on a milled board, three in series dropping something like 12V->9V->7V->5V and the ripple didn't really attenuate much at all).

With the LD1085, I got down to about 13mVpp at best with 1A current (using some low ESR-polymers too, can't use those with the LM2941, as it's the kind of design which requires a certain MINIMUM amount of ESR in the bypass caps, or otherwise it may become unstable), but didn't take scope shots or write down the components (again). Also, most of the time I couldn't get below about 20mVpp on the breadboard with higher currents, maybe because of the poor measurement capabilities with the breadboard, or just stray parasitics and bad (other) components, as I used just some noname-chinese cheapo caps.

Late last night I started to design a quick prototype board, and today I finished the design & milled a prototype board.

vxQV6CM.png

Nothing complicated, this is just for testing anyway.

 

ZN7GcNt.png

I didn't try really hard with the layout, just made sure that I have at least a little space around things and didn't create any ground loops.

The board was laid out so that I can test both LM2941 and LD1085 with it (not at the same time of course) ;). Do note that the R1 & R2 values must be the other way around for LM2941 (whoops), otherwise the output voltage won't be 10.2V but around 3.2V  :P  

I added possibilities for using THT-electrolytics, SMD polymers and MLCCs, as well as ferrite beads and an optional inductor for further filtering in the output. The LM2941 is finicky with the output capacitor ESR, thus the possibility of adding resistors in front of MLCCs in the output. After milling the board, I populated it first for use with the LM2941. At this point, the input side had a few MLCCs, two 100uF / 35V polymers (no idea of ESR, unknown chinese), L was left out (0R resistor there) and the output side had only two electrolytics (unknown chinese brand, one measured 435uF with 0.3ohm ESR, the other had 428uF and 0.31ohm ESR). Both ferrites were in place (unknown chinese 1206's with supposedly 1k ohm impedance at 100MHz).

J4I7zeX.png

I had the resistors the wrong way around, so the output voltage was about 3.2V instead of 10.2V. The measurements are done with again with AC-coupling, 1x probe attenuation and 20MHz bandwidth limit, this time using a ground spring to measure over the last bypass capacitor. Again note that the scales are different (2mV per div vs. 50mV per div). It's a bit finicky to measure with the ground spring, as even holding from the "right" spot on the probe can give out extra noise, and if (and when) the probe tip or spring moves accidentally while you hold it there adjusting the scope, the signal can go really haywire ;)

At one point I thought that I had hit the jackpot and the spikes were attenuated completely:

NChjmSI.png

No such luck, it turns out that the noise floor of the scope is about 800µV (0.8mV), and the probe tip wasn't properly touching the board, while the ground spring was :D  On the other hand, nice to know that I can't even get below 800µV in measuring, so if I really manage to get the noise that low, I know there's not much point to continue (unless I get a better scope :P).

I then added two 10uF MLCC's (Samsung X5R, 25V) with 1.3ohm front-resistors to stay within the allowed minimum ESR and replaced the 0-ohm resistor with a Ferrocore HPI0630 8.2µH inductor (around 60mOhm resistance, Irms is around 3.6A) to get some further post-filtering going on. The post-regulator circuit looks about like this:

80EgOv1.png

Now I could get (at best) the ripple down to below 3mVpp:

axMMdxn.png

Not bad. For further reduction, likely better / more filters would be needed, but I'll be next desoldering the LM2941 and seeing if I can get better attenuation just by replacing it with LD1085, maybe I can use low ESR polymers on the output-side with it (which I'm not actually sure I can do if it does have a minimum ESR-requirement, on second check the datasheets don't say anything about that :D). At least it should be possible to bypass one of the adjust resistors to ground with that (the LM2941 datasheet explicitly forbids bypassing either adjustment resistor), that should help with the spikes. Then there's still a few more regulators to test, some which specifically state no need for minimum ESR for stability, which helps as when you add more caps with low ESR you get much lower impedance for higher frequencies, but they're on the more expensive side (plus with the DKE, I'll have to test the negative regulators also at some point, which usually have far worse high frequency PSRR on their own).

 

 

 

 

 

Edited by esaj
  • Like 1
  • Upvote 1
Link to comment
Share on other sites

On 8/12/2018 at 1:18 PM, esaj said:

With single large display, I'd always have to be stretching the windows so that they don't overlap and would accidentally make one fullscreen, then have to resize and align the windows again etc.

There is an option to do that automatically. Right click on your taskbar and click on 'show windows side by side' and if you have windows 10, there is a button to show multiple desktops, so that way if you want to just open up a browser and search something without having multiple programs open (which would affect the 'show side by side' feature) you can click on that button. I feel like you may already know this, but in case you didn't, I hope this helps.

  • Upvote 1
Link to comment
Share on other sites

  • 3 months later...
10 hours ago, esaj said:

In the bat country

Actually, we left Battambang (and Cambodia) yesterday, now sitting on a porch of a bungalow drinking beer in Koh Chang island, Thailand.

:thumbup:  Sweet!  I bet you're not missing the cold Finlandic winter and work so far!  It's good to see that you're bringing up the average Finn vacation time.  Remember to jot some notes down in a travel/photo blog to share with your besties here!  :crying:

image5.jpg

  • Upvote 1
Link to comment
Share on other sites

4 hours ago, Hunka Hunka Burning Love said:

:thumbup:  Sweet!  I bet you're not missing the cold Finlandic winter and work so far!  It's good to see that you're bringing up the average Finn vacation time.  Remember to jot some notes down in a travel/photo blog to share with your besties here!  :crying:

image5.jpg

We have a Facebook-group for friends and family, but it's private and in Finnish... Maybe I'll write an English one when we get back.

Here's most of the photos starting from Bangkok, Thailand, going through north, then Laos, Vietnam and up to half way through Angkor in Siem Reap, Cambodia, some of the albums are "out of order" timewise:

Bayon 1 (Angkor) https://imgur.com/a/teIgaGJ

Angkor Wat https://imgur.com/a/XYJjFF5

Preah Khan 3 (Angkor) https://imgur.com/a/oNilspm

Preah Khan 2 (Angkor) https://imgur.com/a/vfYFnuy

Preah Khan 1 (Angkor) https://imgur.com/a/vXCBp41

Neak Pean (Angkor) https://imgur.com/a/ZckwRHI

Ta Som (Angkor) https://imgur.com/a/nt6GYy4

Itäinen Mebon (Angkor) https://imgur.com/a/vggCUsL

Siem Reap, Pre Rup (Angkor) https://imgur.com/a/aeiVrzB

Hoi An https://imgur.com/a/0yWCfXs

Da Nang/Hoi An Marble Mountain https://imgur.com/a/aFFsXgY

Motskareissun maisemakuvia 3 https://imgur.com/a/5wgCbMT

Motskareissun maisemakuvia https://imgur.com/a/vTuU2Vp

DMZ + maisemakuvia https://imgur.com/a/xwmsVvx

Motskareissun alku, maanalainen kylä https://imgur.com/a/LQfvKzT

Hue iso pagoda https://imgur.com/a/YkxixM7

Hue toinen mausoleumi https://imgur.com/a/sJL61lH

Hue Water Park + bunkkerit https://imgur.com/a/dSgKQeK

Hue satunnaisia + Keisarin mausoleumi https://imgur.com/a/z0ky1X4

Hue Citadel 3 https://imgur.com/a/dSKBC16

Hue Citadel 2 https://imgur.com/a/p9naC74

Juna-asema, Hue Citadel 1 https://imgur.com/a/HoQ7VLV

Hoa Lu Ancient Capital https://imgur.com/a/03Hr9kh

Trang Am soutuvene 2 https://imgur.com/a/NCcjhGZ

Trang Am soutuvene 1 https://imgur.com/a/2biaIUJ

Tam Coc + lintupuisto https://imgur.com/a/4lqgsyd


Cat Ba Cannon Fort https://imgur.com/a/VLYAsLu

Cat Ba Hospital Cave https://imgur.com/a/gxIz0IR

Cat Ba Trung Trang Cave https://imgur.com/a/OiQvxet

Cat Ba National Park https://imgur.com/a/PanvFoD

Risteily Fishing Village https://imgur.com/a/h0xBVl9

Risteily Monkey Island https://imgur.com/a/Prhexgm

Risteily 2 https://imgur.com/a/pwRpK9c

Risteilyn alku + kajakointi https://imgur.com/a/IkKrdzh

Catba 1 https://imgur.com/a/iFaHlsG

Lauttamatka 2 + hotelli https://imgur.com/a/6XrG7SW

Lauttamatka 1 https://imgur.com/a/qQiJeAi

Ha Long + lauttaterminaali https://imgur.com/a/4KCleAo


Sa Pa 2 https://imgur.com/a/q0u7Zhy

Sa Pa 1 https://imgur.com/a/bysns7I

Ho Chi Minhin mausoleumi + sleeper-bussi Sa Paan https://imgur.com/a/TQbS36V

B-52 Victory Museum https://imgur.com/a/Iu7CqrL

Hanoi + Waterpuppet theatre https://imgur.com/a/vLm7zfE

Luang Prabang + Vang Vieng https://imgur.com/a/JPrJEsn

Aussie bar puppy + Halloween https://imgur.com/a/h7a6EpB

Kuang Si waterfalls 2 https://imgur.com/a/bu4oYCO

Kuang Si waterfalls 1 https://imgur.com/a/alPLgKt

National museum + Mount Phousi https://imgur.com/a/t7VShow

White Temple, Chiang Rai clock tower, Blue Temple http://imgur.com/a/iRs2qOH

Black House https://imgur.com/a/EUgPQHV

Chiang Rai & Huay Xai https://imgur.com/a/mYrPOfd

Chiang Rai, matkalla rajalle, Huay Xai, jotain Gibbon Experiencen alkumatkan kuvia https://imgur.com/a/07TEb3F

Gibbon Experience 1 https://imgur.com/gallery/dIO9doI

Gibbon Experience 2 https://imgur.com/a/Ani1yRm

Slow boat pier + maisemia https://imgur.com/a/2sNJDXt

Pak Beng & slow boat 2 https://imgur.com/a/t34i1e1


Pai + Three Kings monument Chiang Maissa https://imgur.com/a/cIQ9qqc

Chiang Mai Cabaret + pari random kuvaa https://imgur.com/a/WLYZNHU

Chiang Mai & Elephant Park https://imgur.com/a/PjT426a

Chiang Mai & Sukhothai https://imgur.com/a/9AYOzw0

Sukhothai https://imgur.com/a/VWQed5P

Ayutthaia https://imgur.com/a/vGh0Pgo

Bangkokissa & Ayutthaiassa https://imgur.com/a/LXtWU07
 

  • Like 3
Link to comment
Share on other sites

On 12/11/2018 at 7:12 PM, esaj said:

Chiang Mai Cabaret + pari random kuvaa https://imgur.com/a/WLYZNHU

:blink:  Dudes look like ladies!  :lol:  Wow you guys are very adventurous!  Some of the places you go on by boat look to be way off the beaten track!  And man some of those wicked stair climbs!  :thumbup:  Food looks to be good too.  LOL at that little person shaped rice!

Some of those photos under Black House.  What.  The.  Heck.  :blink:

Edited by Hunka Hunka Burning Love
  • Upvote 1
Link to comment
Share on other sites

On 12/10/2018 at 10:45 AM, Hunka Hunka Burning Love said:

Also, where is @Keith?

Well we sold our house, moved 240 miles North and the new one currently looks like below so we’re a bit tied up at the moment 🤓

 

0E6ABD2B-6E2D-4CD8-9167-D02C194C0802.jpeg

Edited by Keith
  • Like 2
  • Upvote 1
Link to comment
Share on other sites

  • 1 month later...

Long time, no post... after getting back from touring SE Asia, I haven't done much anything on the hardware-side. I interviewed for & got a job as an embedded developer, starting a little over a week from now, so I've put a lot of time getting up to speed with the embedded world. I have been reading up on FreeRTOS, ARM Cortex -MCUs etc., and twiddling around with the "Blue Pills" (bare bones STM32F103 -boards, same MCU as many of the EUCs use) and a friends' Nucleo board (STM32F466RE). These things are... something else than the 8-bit ATMegas used in Arduinos. Clocks up to 72 (F103) /180MHz (F4xx) (vs. up to 16MHz in ATMega328P), much more memory, multiple ADCs, built-in DACs, Digital Signal Processing (DSP) with hardware FPU etc. So far, I haven't done anything really mind blowing, but I've managed to cobble together a (near) realtime audio spectrum analyzer using the 12-bit ADC (with DMA) and the math/DSP library for Fast Fourier Transform (FFT, a method of distinguishing the amplitudes of different frequencies present in the signal, think graphic equalizer) on the Cortex-M4 (STM32F4xx) and displaying it on a small OLED-display:

ZxkB13R.png

(The tall bar on the far left of the display is the 0Hz/DC-level -bin, shouldn't even be displayed, but this was just testing :P)

Still ways to go, the basic functionality is there, but I need to design & build a separate analog front-end to make it usable (currently it can only use inputs within 0...3.3V, as the signal is fed directly to the ADC), add windowing functions, autoscaling support for the front-end (digital pots and/or Programmable Gain Amplifiers come to mind) & software to handle the scaling, design a board for the entire thing and encase it. This could come in handy with making guitar pedals and testing filters (since the MCU also has DAC, it can provide the sweeping sine test signal, read back the filter output and display a nice graph of the frequency response, all in one package). The software is currently really bare bones and cobbled together using separate libraries over a few days, needs a severe refactoring (probably a full rewrite, including the 3rd party libs :P) before it's "good enough" ("production quality") for any sort of public scrutiny, although my friend keeps pestering me to release the source code...

Also got the new Z-axis assembly for the CNC and replaced it (now that was a hassle, I had to tear down the old assembly to get a stepper that actually works with the 1/16th steps...), but haven't really tested it yet.

Edited by esaj
  • Like 3
Link to comment
Share on other sites

Threw away the FFT-library (more like a simple example), and wrote my own using rfft-functionality from the CMSIS DSP-library, meaning FFT using real numbers only, the example used cfft (complex FFT), spewing in 0's for the imaginary parts. Then I tore some parts of the SSD1306 (OLED-driver) library and rewrote it to work with I2C + DMA and horizontal addressing instead of paged addressing mode, so I can throw the entire buffer contents to be transmitted in the background. Also added a simple "persistent" display mode, so the highest values can be seen as single dots that fall off after about half a second. Most of the heavy lifting on the software-side is done in terms of the FFT & display, I still need to design the front end circuitry for signal conditioning and look further into DAC if I want the entire "loop" of feeding a test signal out from the device to be fed into some device under test and then measuring the output from said device for also drawing frequency response graphs.

 

 

 

Edited by esaj
  • Like 1
Link to comment
Share on other sites

Sorry I haven’t ventured over to your thread in a while. I’m not going to pretend that I fully understand the complexity of your projects but it is awe inspiring to me. :thumbup:

  • Upvote 2
Link to comment
Share on other sites

I was mulling around the front end for the ADC of the audio spectrum FFT last week, and after trying a bunch of different things, I ended up with a very simple and straightforward design. It actually has a lot of drawbacks, but it keeps the part count low and doesn't require anything but the 3.3V voltage supply. I wanted both a high(ish) input impedance, enough gain to measure low amplitude signals (electric guitar output as such with passive pickups is something like way under 100mVpp to something like 1Mohm load) and at the same time ability to take in signals with higher amplitude than what the 3.3V supply can handle directly, and not having to add dual supplies. Without the last restriction, it would be easy, but the part count would go up a lot, or a separate pre-made module  could be used (such as the Meanwell DK-series, but those cost over 20€ a piece and take up a lot of board space, granted that they're meant for something like up to 15 or 30W, and this thing needs way less than a watt). 

EY8CctK.png

This is actually dead simple, although it may not look like it at first glance. The signal source V2 is the signal to be measured (and possibly amplified). It can either be connected to the top of R1 (in which case the signal can be up to around 16Vpp) or to the point marked with label "Direct" (in which case the signal may not be above 3.3Vpp and actually not even that, as the op-amps don't go all the way to the rails, maybe more like closer to 3.2Vpp).

The R1 -route has higher impedance, and the four resistors R1 to R4 form a voltage divider that drops the input voltage to one fifth, thus at the maximum input of 16Vpp * 0.2 = 3.2Vpp, which is pretty much at the "limit" of what the rail-to-rail input/output opamps can go to with 3.3V supply. They can take about Vcc+1V, Vee-0.3V on the inputs without breaking, but they won't be able to reproduce the signal above the rails. C1 is there to couple the AC-side (between R1 and R2) and the DC-biased (3.3V divided by two, R3 and R4) -side, so that the input to the op-amp is centered around 1.65V (half of the total supply voltage). This way, the signal to the opamp stays within 0...3.3V (unless too high amplitude signal is used, which is a user error ;)) and the op-amp doesn't need dual supplies (like +-5V or whatever) and the part count stays low and the circuit stays simple.

The total input impedance is about 4 megaohms through R1 + the rest, the reactance of C1 adds a few kilo-ohms at very low frequencies, but compared to the other resistances, it's so small that it doesn't really matter... but the downside is that the opamp input has parasitic capacitance in the order of some picofarads, which actually causes the frequency response starting to roll off at a few kilohertz (measured from U2 non-inverting input) when R1 + that capacitance form a low pass RC-filter:

sqFB7Wt.png 

I was also going to add a zener or TVS-diode there to prevent the voltage at the opamp input from raising much above 3.3V, but the diodes carry so much parasitic capacitance that it starts attenuating after a few hertz (not kilohertz :P)...

So, hardly ideal, but at least it makes it possible to measure higher amplitude signals. When a lower amplitude signal is fed through the "Direct"-point, the input impedance is smaller but the frequency response at high frequencies is a (more or less) straight line as there's no large resistance between the signal input and the op-amp input capacitance, so the effect of the low pass filter is negligible up to the higher frequencies I'm interested in (up to about 20kHz).

The lower end of the response is dropped by the reactance of C1 + R4||R3 forming a high-pass RC-filter regardless which "route" the signal comes in, but with a frequency resolution of about 177Hz on the software, it hardly matters as it only affects the very first bin of the FFT.

In the actual circuit, I left the U2 as buffer there (using MCP6001, just like in the LTSpice-simulation), but replaced the actual amplifier (U1 + stuff around it) with a Programmable Gain Amplifier (PGA), namely MCP6L91, and the decision to use that specific PGA was simply that it is the only PGA I have at hand  ;) I know, I know, it's a very bad way of designing things...

I already milled and soldered the board but haven't yet tried it, next step is to write some code so that the software can control the PGA and adjust the gain based on measured highest amplitude, so that a maximal range of the ADC can be used (12 bits, 3.3V ref). This is not going to be very highly precise instrument... :D  Maybe one day I'll do a "proper" version with larger display and better front end, but for prototyping it should work well enough.

There's probably a better way to do this even without dual supplies (common-emitter BJT amplifier or J-FET input?), but at least on a short try, I couldn't get the common emitter -version working correctly, and I know very little of J-FETs (plus I don't think I even have any J-FETs, maybe I should order some one day).

Edited by esaj
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...