last day (15 days later) » 

18:09
1
Q: PCB Layout Help/Feedback

wootie11Intro I'm making a POV (persistance of vision) display-type PCB (this is my first PCB ever), using AD9833 chips as controllable clock generators for some PWM drivers I'm using so that I can control the frequency of the PWM precisely. I'm now doing the layout on my first real attempt at this PCB a...

I think you should try to lay out the control signals and then update your question. Currently there's not much to judge. The frequency, edge speed, and proximity of the signals are factors you will want to consider. Also add a ground pour on the top, it's free so why not. At a glance I don't think the layout will be too critical. You will probably need to add a lot more decoupling, since the pulsing LEDs will likely wreak havoc on the power rails.
The mounting of the AD9833's is not great but it will probably work fine at khz frequencies.
@Drew I will give that a shot, thank you for the speedy response. When you say more decoupling - can I just copy the caps that I already have several times or should I be using a much bigger cap? Or do you mean more decoupling on the teensy/nrf24/other components?
@Drew Oh ok, should I physically incorporate the modules onto the PCB? I'm not expecting much more than 1Mhz but it might get to be around that point.
This is just a guess but I think you will need like 1000uF of electrolytics plus maybe some MLCCs at key locations. You shouldn't need additional ceramics for the breakout boards since those should already have decoupling onboard.
Incorporating the modules into the PCB would be superior from a noise perspective, but like I said my guess is that it will work fine as is.
@Drew Alright, thank you very much. I'll try to respond with a new layout later today.
add decoupling cap for every IC.
C=Ic dt/dV ...... for ripple voltage dV (30mV?) and step current Ic for pulse dt Remember ESR * C>~ 200 us for std. bulk e-caps and < 20us for low ESR (typ) so too big and ESR * I cause step ripple.
18:09
Great job for a first design. You might have troubles soldering LT1963 because the vias will suck in a lot of solder - one option is to make smaller vias, but how small will depend on where you build this board (cheaper board houses might mess it up). If you're going for a heatsink, just pour more copper around the big pad.
@avg Thanks! I didn't even know that could happen but that makes sense! I've just been watching PCB layout videos and in one by Phil’s Lab and one of them mentioned how it's a good idea to place a lot of vias at points where things to connect to power to minimize inductance. Is there a desirable size/number of vias I should shoot for? Would it be better if I just made a ring around the GND pad instead of filling it in?
You might find it convenient to program the Teensy while it's plugged in. Isn't the radio module going to get in the way of the USB connector?
Also, that Teensy footprint has more pads than you need — if you're only going to use the two outer rows of headers, deleting the extra pads could make routing easier.
@DamienD Good point haha, I missed that. I'm going to fix it by flipping onto the back of the board I think. Also good idea, I was just using the pads that it came with in the library but I think that's a great idea. Thank you so much!
What is the reason for 3 clock generators? And them not being synchronised. Surely the teensy could do the job. Personally, i would’ve leaned towards the esp32 as it has the radio as well. I see no readon for a 4 layer pcb, 2 layer should be more than adequate as you’ll get a good groundplane under the led drivers.
The Teensy 4.0 has configurable PWM frequency and something like 20 independent channels, for what it's worth: pjrc.com/teensy/td_pulse.html
18:09
@Kartman It's meant to be a color-organ of sorts, with the ability to PWM up to 3 separate 'notes' at a time- I was looking at the ESP32 as well but the Teensy is what I've got. I'm worried about all the interrupts (RF input interrupts + POV Hall Effect interrupt + PWM interrupts to do frequency if I understand how it works correctly) making the code monstrous, so I figured offloading the PWM to some separate boards would be easier to get to work together.
@DamienD I didn't realize it had so many independent channels (sweet!) - I'm still worried that the frequency won't be configurable enough though (the frequencies I'm looking for differ by as little as 5.2 Hz), because it's only the clock divider I can really mess with (if I understand it correctly which I likely don't :'D) or go the route of interrupts (which I think could get hairy with all the other one's I need like the Hall Effect and RF input ones).
@Kartman Thank you for your feedback! I really appreciate you taking the time to look my stuff over.
@DamienD Thank you for the suggestion btw, I'm really grateful for the suggestion, I will see if it's possible to just get away with a Teensy.
I agree you'll have to be smart with the interrupts for the sensors & RF. Either play with interrupt priority or keep them very short, set a flag and do the processing in the main loop. And you may have to learn how to configure the hardware timers directly rather than use the Arduino PWM functions. But all in all I'm optimistic about a 5Hz frequency resolution. Recommend the PJRC forums, they're very helpful!
AFAIK it's not just the clock prescaler that you can play with btw. There's also the MODULO value which sets at which value the timer overflows. But I haven't used this first hand.

last day (15 days later) »