First 4 Layer Board design - Page 1
Forum section: electronics / projects

author: Samthebaam
author_rank: Newbie
timestamp: March 10, 2024, 02:40:03 pm
content: Hi Everyone,I am currently designing my first 4 Layer PCB and I have a few questions before I proceed with wiring the board.The board consists of:1x Atmega 2560 MCU18x Hall Sensors9x Stepper motors5x Stepper Motor controllers1x CAN Controller1x CAN Transiever1x 12v --> 5V LDO1x 5v --> 3.3V LDOI want to be able to daisy-chain 32 of these boards together. Both the CAN commuication and the Power should be routed through the daisy chain.I have attached a block diagram of my board and my planned power plane layout.My desired stack-up would beSignalPowerGNDSignalwith the indicated layout of the different power domains in the screenshot.Is this a viable solution? Would I potentially have any emf/emi problems?Any feedback would be highly appreciated. This is my first larger project so excuse if their are obvious mistakes.Cheers,S

author: pcprogrammer
author_rank: Super Contributor
timestamp: March 10, 2024, 03:48:11 pm
content: You best start with improving your schematic and add ferrite beads and capacitors to at least separate the MCU voltage from the motor driver supply voltage.It of course depends on the stepper motors you are going to use, but with 9 of them stepping at the same time currents might get high enough to have the voltage drop and the MCU to fail.On the PCB it will also be better to make a separation between two power and ground planes. One set underneath the motors and one set underneath the logic. Connect the two via ferrite beads.Also depending on the amount of current the stepper motors need I would use a switching power supply (buck converter) to at least make the motor supply. Will improve on the power loss over the PCB connecting wires and also less heat generation on the PCB.Then the AH3572, which seems to benot recommended for new designis an open drain device and needs a pullup resistor to work. In your schematic you draw in a pulldown resistor of 1K. I don't think internal pullups in the ATMEGA2560 will be able to get the level up to high.So best head back to the drawing board and read the datasheets and look into currents needed to let it work properly.

author: Samthebaam
author_rank: Newbie
timestamp: March 17, 2024, 01:37:34 pm
content: Hi Pcprogrammer,Thanks for your feedback!I have gone ahead with some of your suggestions. I changed the Hall-sensor to a DRV5033 and connected it according to the datasheet.Good catch on the pull-down/pull-up resistor. That should now be correct.I haven't really fully understood your comment on the split power domains for the logic / motordiver regions. According to:https://resources.altium.com/sites/default/files/2022-05/Guide%20to%20Using%20Ferrite%20Beads%20in%20a%20PCB.pdfit is nearly always a bad decision to split into multiple domains and connect via ferrite beads.According to my calculations:https://docs.google.com/spreadsheets/d/15Y6NjKniMoSCyxKh1SvYWV7adE98dJNOfXZSLsjxiEg/edit#gid=0the max power draw of my components shouldn't exceed 50% of the capability of my LDO. Using a buck-converter sounds to me like more risk of noise issues if not handled correctly.Do you agree with this?Thanks in advance!

author: pcprogrammer
author_rank: Super Contributor
timestamp: March 17, 2024, 02:18:08 pm
content: The splitting of power and ground planes to avoid noise is something a friend of mine told me. He is much more of an expert in the field, and I might have interpreted his advice wrong. The advice was to separate input and output connectors from the main logic by putting a separate ground plane under the connectors and the logic and use ferritebeads plus capacitors for every signal line and a ferritebead to connect the grounds.It might help in reducing noise coming from the stepper motors. This very much depends on the currents the motors use and what kind of voltage spikes they give.It is noise from this type of things that cause problems with microcontrollers, which I myself ran into just a while back. A very current hungry motor at startup that made the voltage drop to much in the MCU section and caused it to reset or hang. Solved this by separating the motor supply from the logic supply with the use of a diode and more capacitance on the logic side.Your LDO still has to dissipate ~2.6W and that is what you have to take into account if it can handle that based on heat flow of the PCB and the overall temperature.With 12V in and 5V out there is no real need for an LDO. A standard 7805 will do as long as the input voltage does not drop below ~8V, which leaves for a loss of 4V in the cables. And that is also a thing to think about with all the intended boards in sequence connected to the same power supply. Will the last board still have enough input voltage. 12 Ampère is quite the load and needs good cables and connectors.Using a buck converter with these low currents is not a big problem noise wise and reduces the total amount of current by ~50%. Also less problems with heat dissipation.Something to think about.

author: Samthebaam
author_rank: Newbie
timestamp: March 17, 2024, 05:30:54 pm
content: Oh I hadn't considered the heat disspation yet.If it's running at max constant load, it will definitely get unacceptably hot.I have moved to a LM2596 5v regulator design. This should provide enough power and also not overheat.

author: pcprogrammer
author_rank: Super Contributor
timestamp: March 17, 2024, 07:10:19 pm
content: Quote from: Samthebaam on March 17, 2024, 05:30:54 pmAnd that is why asking questions is a good thing.I'm surprised others have not participated here yet.