| FORUM

FEDEVEL
Platform forum

Board Design for Robotic Manipulator for my Job

Didan , 01-18-2019, 11:58 AM
Hello everyone. I'm doing internship in a technology company in Brazil and I had few weeks ago a deadline for a project that i sent for hardware management. I always wanted to work with hardware design and its very hard to find job on Brazil companies but im here and I attached pdf sch for project company. Project is for a robotic manipulator, some engineer made sch attached using PIC uC and the challenge here that I needed to solve was replace PIC uC for STM32401RB because we have a development board kit called Nucleo Forte from STMicrolectronics which use MBED plattform and I needed to replace pic for a ARM uC which I should use development board kit to run code using mbed for an external board which was my project. Well I did it after had asked on mbed and STM foruns about how to run Mbed on an external board and had found some hardware reference design for STM boards that was useful. It was my first big hardware project, I used only 2 layers because hardware management asked me to it, I have doubt if 4 layers should be cheaper than 2 layers too if I can use fewer vias and other stuff but its other question... My doubt here is about my layout which I had to make 2 times, first time I had problem with original schematic which had some inverted connections for labels and because I forgot to follow some basic rules for hardware design. All I did was capture schematic from pdf file attached here but studied about arm uC to match pins and functions like interruptions, digital pins, tx, rx, clock pins etc and match clock for ARM chip I used same clock 8Mhz from development board kit to record on external board I developed, but IDK if gonne work, only after receive boards to test it. That circuit use some photocouplers too to isolate signals and different vcc around +24V. Moreover, I searched that I needed to use second gnd (gnd_2) for photocoplers to isolate from main gnd circuit. I wanna to attach my project altium here and some pictures to discuss about my layout if it was well done because my hardware management didnt have time to check it yet for second time and even if they are going to check if project look goods and functional I feel theres something wrong. i made gnd plane for main circuit and gnd_2 plane for photocoplers, I placed crystal close to uC and decoupling capacitors close to uC too, tried to place output capacitor close to output uC and IC on circuit, I have followed basic hardware design steps but I thing I should improve layout for instance, power tracks for photocopler and main circuit, I should use wide tracks for circuit. I have some problems for project too because I dont have many specs like which current should flow from each part of circuit cause I only received schematic to capture it and replace pic uC for arm as I told before, I doing project based on well rules for pcb design. Someone would like to discuss about this project with me and give me ideas about how I can improve it and understand project better ? Any additional information feel ok to ask. Im letting google drive link for my whole project on altium cause I couldnt attach and upload here.
robertferanec , 01-21-2019, 07:04 AM
@Didan, I would recommend you to add block diagram and descriptions into your schematic. It is very hard to read it. Do you have any specific questions?
Didan , 01-21-2019, 07:12 AM
Hi @robertferanec thanks to reply. I would like to know about quality layout, thats my specific question. I left google drive link where i attached altium files. Well I tried follow good practices for layout like crystal close to uC, decoupling capacitors on vertical to reduce inductor loop. I left schematic diagram on google drive as well with altium files. I wanna know if its ok my placement and layout qualitiy as general and if not, what I should improve when you look my design board.
robertferanec , 01-21-2019, 08:27 AM
@Didan first people need to understand what is on your board - that is why block diagram and descriptions are important. Please do not expect that someone will fully review your board - the best is to ask specific questions in specific area of your PCB.
Didan , 01-21-2019, 09:16 AM
@robertferanec I will need create block diagram because I just received sch pdf file on my job, someone did project using Proteus software and management here asked to design board using Altium. I dont know deep aspects of project, I just capture schematic and remove PIC and replace for a STM32 doing all match pins for new uC. Moreover, they asked to make it work with Mbed using a development board kit from STM, so I research and asked forum how I should achieve it and I think i did everything right. If I need a full review what I should do? Find for personal consultant ? I think project is good, I just wanna check if its ok for an expert.
robertferanec , 01-21-2019, 09:41 AM
I do not know who can do full review for you. PS: I do not use hidden pins - it is very difficult to check and draw schematic. For example, how do you know what decoupling capacitors need to be placed close to specific chips? Maybe have a look at my Learn to Design Your Own Boards course - it could help you: https://www.fedevel.com/academy/onli...arduino-board/
Didan , 01-21-2019, 10:14 AM
sounds good, I bought this course on Udemy, but I just did whole course for switching power supply but even yet I need keep practicing and thats going to be my next course. After that i will keep on advanced layout course because I will need to help on design of a POS, its complex, gonna have LVDS, PCIe, Sata, USB, HDMI, high speed interfaces and its gonna be soon... However I already learned a lot from switching power supply course, thanks Robert, about my board i will trust that gonna work wel, my management just told me didnt find any error, run DRC and checked placement so I hope its ok...
Paul van Avesaath , 01-22-2019, 02:51 AM
Hi Didan,
So i had a quick look at your design.. and there is a lot of improvement to make.

Schematics:

make a good template. (or at least fill in the default template information.)
you schematics are hard to read. but that is mainly due to my lack of knowledge about what it supposed to do..
but in general try to clean your schematics up a little bit..

Use Bar for GND and arrow for voltage.. not only netlabels..
increase length of wires were netlabels are attached.. (easier to read and give no chance of a not connected netlabel.)

rename schematic sheets to something usefull, like IO / uP (micro processor) / power supply etc.. and place items that are related to that page on there.. (now its a bit unreadable for me at least)
try and draw schematic like you want it on the PCB so put the resistors were you would also want them on the PCB (for example near the Micro processor or near the connector)


draw things that are repeated in the same way all the time. now you are drawing the same thing in different ways..
also place decoupling caps at the components were u use them.. common practice is to add at least 100nf to every chip.

@U18, why did you put the INT/ to GND with a 10K pull up?

I believe the PCA955 has an internal weak pull up, so i dont know if you need the pull up resistors on U5?

I will not do a full review but there are some things you should question.. also have a good look into you decoupling caps..
Paul van Avesaath , 01-22-2019, 03:02 AM
on the PCB side there are a lot of things i don't understand, but lets walk through a few of them..

1) Layerstack.. its a bit thin right now..
2) why top and bottom components, as far as I can see it is definitly possible to do top components only..
3) no fiducials.. If you want this produced by a manufacturing company they will ask for fiducials for pick and placement.
4) try and change the design to full smd (for elco and Clk, diodes.)
5) you really need to get your power traces from the board better routed the singel source pin has a lot of 0.2mm tracks which i would increase...
also try an create a plane to attach to instead of traces from component to component.. now noise will be a massive impact on you design.
6) re update your PCB from the schematics...(when updating PCB from schematic there were a lot of differences still not done)
7) recheck design..and redesign the board.. making it like this it will not work..


don't get me wrong, its a good start but to get this ready for manufacturing you are going to do a bit more work..
typically i design even simple boards multiple times.. even though your netlist is complete its important to always look at your design and think can I do this even better... just save a copy in between and try thing out.. think like.. what if i rotate this component or.. does this connector need to be on this side??...
or if my optocouplers are the "gateways" between my connector and micro controller i should place them between the connector and the microprocessor.
Paul van Avesaath , 01-22-2019, 04:20 AM
Originally posted by Didan
After that i will keep on advanced layout course because I will need to help on design of a POS, its complex, gonna have LVDS, PCIe, Sata, USB, HDMI, high speed interfaces and its gonna be soon.....
thats a big step mate.. just looking at your design you just did and it will be a big leap going from this to a complex PCB like you mentioned..
do the full course that robert is sharing on highspeed design.. it will teach you a lot, but you do not seem to have a lot of experience yet.. (don't worry you will get there!!)
the forum is here to help, but like robert mentioned do not expect full board reviews.

b.t.w. what is a POS?? (Power Of Suggestion? (see the movie: 51st state ), Power On Reset? ) idk..
Didan , 01-22-2019, 07:02 AM
Hi @Paul van Avesaath thanks for sharing your tips and knowledge about this board. About POS, the full meaning of POS is "point of sale," or, in other words, it's where your transaction is finalized
What do you mean with fiducials?
Paul van Avesaath , 01-22-2019, 07:36 AM
fiducials are the reference points that pick & place machines use to place SMT components on your board. so if you have any SMT on top and or bottom, you need 3 fiducials on the top and 3 on the bottom for that machine. if you google you will find some specs about size and they are usually placed on X and Y locations( see image.. 0,y / 0.0 / x.0) you set your reference location on one of these points.
robertferanec , 01-25-2019, 01:00 AM
Thank you @Paul van Avesaath for helping with this
Paul van Avesaath , 01-25-2019, 01:37 AM

I just noticed that the image attached image highlights the 3 fiducials. however my own reference was on the mounting hole.. ... well the reason for that was the generating of a 3D model of the board. and needed the origin to be on a snap point that would make sense... normally you would use set-> referecence -> location. and choose the center of a fiducial.. then generate whatever you need... gerbers, pick and place.. ODB++

just thought i should clear that up..
Use our interactive Discord forum to reply or ask new questions.
Discord invite
Discord forum link (after invitation)

Didn't find what you were looking for?