Electronics > Projects, Designs, and Technical Stuff
DIY Modular Test Equipment Project
void_error:
Is it really necessary to isolate the UART? I know it can be done with 2 optocouplers for less than $1... H11L1 comes to mind.
The Waveform Generator will be mains earth referenced, the DC Load modules will be isolated from the UI, same thing with the Lab Power Supply.
Actually... changing* from a 16LF1455 to a 16F1455 and powering it off the USB +5V and adding two optos with some resistors would do the job.
*so no 3.3V regulator would be required
I did use some (actually quite a lot) of H11L1s in a design, if resistors are chosen carefully you can easily reach 230.4k BAUD with a small but almost symmetrical delay between input and output rising and falling edges.
--- Quote from: hans on June 03, 2016, 10:19:47 pm ---PIC18 and PIC16 architectures are very similar. And I don't mean that in a positive way. The architecture is clearly not optimized for todays complex programs written in C and accessing 4K of RAM (that PIC in particular has 64 banks!). It will probably run and do it's job, but given it's limits.
--- End quote ---
Yup, they're almost the same, the only thing I noticed on the PIC18s that PIC16s don't seem to have is the 8-bit x 8-bit hardware mutiplier. Most 18F also support higher clock speeds.
--- Quote from: hans on June 03, 2016, 10:19:47 pm ---PIC24 is completely different architecture. The instruction set is tailored to C which results in much faster code, it has a vectorized interrupts, proper software stack, etc.
dsPIC shares the same PIC24 basic CPU core, but has DSP instructions you specifically have to use. They are nice for higher throughput systems, but not a necessity for general purpose stuff.
Personally the only reason I would choose a PIC16 is if I can save 1-2 chips using an (unique) onboard peripherals (like the 24-bit measurement timer).
--- End quote ---
At some point I thought about using a PIC24 for the UI but after looking confused at the datasheet and thinking about how much code would be required to make it work since it doesn't have the onboard peripherals the 16F18857 has I gave up on the idea.
Two relatively uncommon peripherals the drove my decision to use the 16F18857 are the Signal Measurement Timer, makes reading the fan RPM a piece of cake, just spits out the period between pulses, and the Numerically Controlled Oscillator which will be the Waveform Generator's square wave source. Haven't completely understood how to use it so I've got some reading to do.
JPortici:
Older PIC24 are very close to pic18 in both the core and the peripherals.. the pic24hv family for example. The FJ is a much different beast, nearer to dspics but with no dsp core. still, I have no real use for most pic24 (if i need 16 bit arithmetics i also need the dsp... and dspics have nicer peripherals.)
Void Error has a point: the power of the modern PIC16 lies in its peripherals. with these new chips i mostly just have to move bytes around, call tables and the software is done.
(And they have had linear memory access, along bank switching, for a very very long time.)
SaabFAN:
--- Quote from: TiN on June 03, 2016, 01:50:00 am ---Subbed.
I'd suggest 14-bit DAC for DC load. That will allow to set current in 1mA steps with some wiggle for calibration. Sometimes it's nice to have.
Or at least two ranges (low current, high current) like in some production DC loads. ;)
--- End quote ---
Just a little note here: Using old components bought on ebay, or from Grandpas part-box is often really worth it.
I have an almost finished (Haven't built a case yet) DC-Load flying around somewhere that uses a Ferranti 8-Bit DAC, a 4066 to switch between 2 current-ranges and an LM324 as the controlling Op-Amp on a Euro-Card. It's quite a mess because of the parallel data-bus, but you can debug the circuit with a Multimeter instead of a digital scope with Serial Bus-Decoding.
Also it looks kinda cool having some ceramic DIP-Package with a golden cap on it :)
And you can build it on Vero-Board in an afternoon instead of waiting for 3 weeks until the boards arrive.
TiN:
You can get away with a NFET and pullup resistor on SPI if speeds are slow or use more expensive Silabs digital isolators or AD ADUMs if you wish.
As of ebay parts. Its often a good way to get fancy parts, but also a non-zero chance to get remarked fakes. I got fake AD7534 DAC and even fake LM339s one time.
void_error:
--- Quote from: TiN on June 04, 2016, 02:31:54 am ---You can get away with a NFET and pullup resistor on SPI if speeds are slow or use more expensive Silabs digital isolators or AD ADUMs if you wish.
--- End quote ---
I'm going to choose the safe route and go with some proper buffers for SPI.
The USB micro is going to be electrically isolated.
The User Interface will be mains earth referenced, same thing applies to the Waveform Generator. They're going to share the same transformer.
The DC Electronic Load modules will be isolated from the User Interface via ADuM1251 I2C isolators and probably powered off a different transformer or winding, haven't decided yet.
Right now I'm focusing on finalizing the schematics for the UI and Waveform Generator, I might post them this weekend.
One of the goals is to have as few different parts across all of the boards as possible, at least for the glue logic.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version