First PCB Project - LiDAR Scanner - Feedback Requested - Page 1
Forum section: electronics / beginners

author: Eggs Benedict
author_rank: Newbie
timestamp: September 01, 2021, 09:18:22 pm
content: Hi all!I'm working on a LiDAR scanner inspired by David Cambridge over on Youtube. I'm trying to build a portable version. I have a bit of experience with circuits and motors from electromechanics/motors classes, but I don't know a lot. The DRV8880s I'm using arrive next week so I'm hoping I could get some constructive criticism from y'all before I breadboard it and then ideally revise and order the PCB.The components I'm using are as follows:1x Arduino Uno R3 for Stepper Control, Data Recording1x Garmin LiDARLitev32x DRV8880 for use with the 2x POLULU 1207 Stepper Motors1x SD Card Breakout Boardhttps://abra-electronics.com/robotics-embedded-electronics/breakout-boards/storage/bb-microsd-micro-sd-card-board.htmlThe Garmin communicates with the Arduino via I2C and the SD Breakout Board will communicate via SPI.I am hoping to run the entire set-up off of a pair of 18650s in series. I've read that running the logic and motor off the same supply is a pretty bad idea that can lead to brownouts but I hope to keep the current demand low through the following design choices:The Polulu 1207 Steppers are low current (280mA per phase)As the torque needs are very low, I hope to use the current limiting feature on the DRV8880 to reduce current consumption furtherI am considering sweeping the entire pitch arc before stepping the yaw arc, allowing me to keep the yaw DRV8880 in sleep mode for the majority of the timeHere is the circuit:Here is the PCB I hope to make based off of the circuit:I've tried to use big traces wherever possible 10 thou up to 40 thou.I'm restricted to a 2-layer board.Unused pads are left numbered, but are included so I can use longer terminalsI'm planning to use screw terminals to connect the leads from the stepper motor and the LiDAR sensorThe Arduino has to be mounted perpendicularly to the PCB, so all the connections to the Arduino will be 90 deg female header pins with as short jumpers as I can get away with. Not ideal!The grid spacing is 0.1in. Tried to stick to that to keep it simpleThe position of the LiDAR, Arduino and Steppers (top, left, and bottom relative to the PCB respectively) is fixed, but otherwise I think the layout is flexibleSpecific Questions:I've followed the datasheet recommendations for decoupling capacitors (680uF on the Garmin, 100uF on the DRV8880 power inputs) but am unsure what decoupling capacitors are needed across Arduino Vin and GND to protect the Arduino from the steppers.Is there any need or way to preserve the bottom layer for use as a ground plane in this case?Thank you in advance for taking a look and please let me know if you'd like me to provide any other information.Eggs

author: Doctorandus_P
author_rank: Super Contributor
timestamp: September 02, 2021, 07:14:12 pm
content: 100nF capacitors instead of 100uF would be more regular for decoupling, although these are apparently those stepper motor IC breakout boards.But such boards are already widely available for low prices:https://duckduckgo.com/?q=arcuino+CNC+shield&t=hy&va=g&iax=images&ia=imagesThese boards also generally have big buffer capacitors (470uF or so) for the motors. Such capacitors do not fit in the small footprint you used however.With a dual-layer PCB service you have room to make a decent GND plane. You have none on your PCB. If you have the PCB manufactured, there is also no need to use thick copper tracks for everything. Signal tracks can easily be around 0.3mm. None of the manufacturers have any issues with that.But why make a PCB at all?Soldering a single unit on matrix board is about the same amount of effort as designing a PCB, and you can get the whole project done in an afternoon.Soldering "enameled" (lacquered) wire with a decent soldering station (slightly hotter then for other soldering) is fairly easy and gives reliable results.

author: MuhScopeBroke
author_rank: Contributor
timestamp: September 02, 2021, 07:27:04 pm
content: Cool project. In terms of PCB advice I'd say stick to 10mil traces for everything besides exceptionally large loads like motors and such. Your ICs will do fine with standard size traces (10 mils). Also, I'd avoid putting vias beneath pads like the ones under your capacitors, it can lead to issues with solder leaking through the board.

author: Eggs Benedict
author_rank: Newbie
timestamp: September 03, 2021, 12:51:06 am
content: Quote from: Doctorandus_P on September 02, 2021, 07:14:12 pmThanks for the pointers RE: CNC Shields! I hadn't thought to look for PCBs that use similar driver boards for inspiration.You're quite right and I misspoke - I don't have a ground plane on the board. I'll make the signal traces more sensibly sized.I was interested in making a PCB to get some experience, basically. Light PCB design experience has come up on a few job postings and I'd feel more comfortable applying if I had a successful experience designing one rather than theoretically being able to do it. It's a good point though and I'd like to complete the project before school gets going.Quote from: MuhScopeBroke on September 02, 2021, 07:27:04 pmThank you for the feedback! I'll update the traces as mentioned and fix those vias right away.

author: gcewing
author_rank: Regular Contributor
timestamp: September 03, 2021, 09:52:31 am
content: Concerning the ground plane, you could rearrange things so that there are fewer tracks that need to cross. Put the stepper connections vertically on the right and the SD card connector at the bottom. Route the power to the SD card down the left hand side, and take the power to the stepper drivers down underneath them. Then there are very few places where tracks cross, so you could use almost all of one layer for a ground plane.