| Electronics > Projects, Designs, and Technical Stuff |
| Needing feedback and advice on refining a product for manufacturing |
| (1/3) > >> |
| OM222O:
Hello everyone I have watched dave's videos about making a commercial product and how to design for manufacturing etc, but I still think I need some more feedback for the final design. I attach the schematics of the prototype and the PCB layout, the improvements that I'm considering and also asking about the user interface and whatnot. The project will be open source, so I will also provide the code as soon as it's a bit more polished. The product itself is a 4 channel 24 bit ADC (ADS1219) , a very stable and high accuracy voltage reference (ADR440BRZ) and an atmega328P-au. I have not used an external oscillator with the MCU in order to reduce noise from the digital section of the board and aimed to use the internal 8Mhz oscillator instead.I will also be completely turning off the MCU while taking readings (the data ready terminal of the ADC is attached to a pin with an interrupt vector to wake up the device) to further reduce noise. I will also be using a 9V battery with a low dropout regulator as well as turning off the unused parts of the micro controller in order to maximize the battery life. Here are pictures of the assembled prototype: digital section: analog section: and here's a picture of it measuring the 2.048V reference in single ended mode (the readings are much better with differential mode): as you can see when I got a good and stable connection, the readings are fairly stable and accurate. looking at the last few readings it's 2.04800 or 2.04799. I'll be improving the design with star grounding for analog section and better filtering, etc. to see if I can it stable all the way ti 1uV range but I think 10uV which is the current accuracy, is fairly respectable. The intended application is a 4 channel precision voltage meter (or 2 channel differential, or a mix of differential and single ended which can be done in software) as well as a low frequency (1Ksps is the limit of ADC) data acquisition system with same configurations as before. now here is where I need some feedback: 1) I followed the datasheet layout guideline example for the ADS1219: I was planning on using small detachable PCBs which act as either a divide by 10 (3k and 27k), or a direct short in order to have a wide input range (0.512v , 2.048v, 5.12v, 20.48v) depending on which PCB is attached on the pin headers: PCBs with shorts: PCBs with divide by 10 resistors: If I use this method, it will basically put the 27k resistor, in series with the ones that I'm already using for input filtering to reduce noise, which will create more error due to 5nA input current of the ADC. I'm also worried that this will couple noise , etc. from one channel to another due to the capacitor that's between AIN0 & AIN1 and AIN2 & AIN3. should I create more specialized "daughter boards" for single ended vs differential, each with their own separate divide by 10 + input filtering? The value of the filter would be in a way that it's more than 500Hz (nyquist frequency of 1Ksps) but I'm not sure how much it will hurt the AC performance in data acquisition mode. Should I use mosfets to switch in / out the RC filters or something fancy like that? how about switching in just a capacitor for AC coupling? 2) For the physical interface, what connectors should I include? BNC? Banana plugs? IC hooks(see picture below)? a mixture of them (e.g IC hooks + banana plugs (which is my own preference))? also which USB cable should I use? Mini B like the micro controllers? USB type C? micro USB? 3) I'm planning on using some pads on the PCB for capacitive touch sensing instead of push buttons, would you prefer normal push buttons? 4) I think I've included a large feature set such as wide input range, high accuracy, 4 customizable channels, a 128x64 oled for when it's not connected to a PC, long battery life, ability to add things like current sensing if you create your own "daughter board" with a shunt resistor on it, and more. is there anything you would like me to add? for example AC coupling as I mentioned before, or something I haven't even taught of yet? |
| jbb:
OK, here’s a hot take: - I suggest getting all SMT parts on one side of the board to make manufacture easier (and cheaper if outsourcing) - I understand you’re using a Mega328 to make it Arduino compatible. I suspect that the internal oscillator on that will be a bit bad for drift and board-to-board tolerance. I think you might wind up needing an 8MHz crystal - I thoroughly recommend some ESD protection for user inputs. The ADC might have enough built in... or not - if you want the best grounding, you could consider adding digital isolation between the ADC and microprocessor. This maintains ADC accuracy while breaking ground loops and keeping noise from the PC /laptop out of the precision stuff. |
| OM222O:
Thank you very much Yes I will be moving all of the components to one side for the final product and using the other side as the front panel, this was just the first prototype ;D The frequency of the MCU does not matter in my case at all, the ADC has an internal 1.024MHz clock and it communicates via I2C. I considered using 5V zeners but I read somewhere they can introduce a significant error sometimes ... I tried looking for 5V VCBO NPN transistors to make the circuit which dave proposed in one of his recent videos, but I couldn't find any SMD versions, feel free to correct me on this one :) (Also the ADC includes them) I am aware of that, on my prototype I moved the digital section to the other side of the board in order to solve this issue easily: the only ground connection between the digital and analog is the plated through hole that's also connected to the computer / power source this way if I didn't use any GND vias which I didn't, the return paths were kept separate naturally. Also what do you think of having modular boards for the input? You also didn't mention the 2 1k resistors and 3 100nF capacitors that I use for filtering, do you think they can cause an error? |
| Kasper:
This is a neat sounding project. I hope it goes well. For your extra PCBs to hold resistors, have you considered using thru hole resistors? If you put a female header(s) (that you may or may not populate) on your main board then you can plug in whatever thru hole resistors you want. Also you might want to increase the space between PCB edge and copper pours. I've been told 1mm or more space between copper and PCB edge is ideal, 0.5mm is acceptable. It is good that you are managing your ground paths, you should also be managing the power supply paths. Not sure if you are but it doesn't look like there are any fat power supply traces. The board is pretty small so probably not a huge concern but if you put effort into widening and isolating the ground paths you mind as well atleast widen the supply paths too. |
| OM222O:
Hi kasper Yes there will be female headers but it will be the standard 0.1 inch spacing, so it's a bit tough to place resistors (usually 0.4 inch if not connected vertically) people can certainly place their own value of resistors and tweak the code to match those values ;D I have checked with my PCB manufacturer and the copper pour is not an issue even if it goes to the edge, also my board will be only 2 layers, so there won't be any shorting of internal layers per se, but thanks for reminding. For the VCC I used 30mil traces as this is quite a low power application (C1 and C5 are connected across it on the pictures) which narrows down to 10 mil by the time it reaches the ADC. it's also 30 mil for the MCU as well. I will try to widen them up a bit more for my final design, but it hasn't been an issue so far :-+ |
| Navigation |
| Message Index |
| Next page |