Looking for feedback on PCB antenna design - Page 1
Forum section: electronics / projects

author: AJ528
author_rank: Regular Contributor
timestamp: October 03, 2024, 05:54:21 am
content: Hi All,I'm working on a project where I am designing a PCB antenna for the first time, and I was hoping someone with experience could sanity-check my design for me.My goal is to create an inverted-F antenna that radiates at 915 MHz. I'm going to put this antenna on a 4-layer PCB made by Oshpark. The Dk values for the 4-layer board are 3.61 for the prepreg and 3.87 for the core. So I'm estimating my overall Dk value to fall somewhere in between those values.I downloaded openEMS and used that to perform some antenna simulations, and I ended up with the values shown in the image for my antenna dimensions. When I actually design the PCB I'm planning to add a half inch on to the end of the antenna so it's easier to tune just by trimming it.Does these antenna dimensions look reasonable? Am I forgetting anything critical? Otherwise I'm going to throw this antenna on my PCB design, order it, and hope for the best!edit: I forget to re-attach the image when I modified the post. Fixed now.

author: shabaz
author_rank: Frequent Contributor
timestamp: October 03, 2024, 07:13:17 am
content: Hi,It might be worth taking a look atCC-ANTENNA-DK(if you have not already done so) because TI have PCB antenna designs very well documented (they've likely spent tens of $k per antenna) so it would be a great starting point. There's a 915 MHz inverted-F antenna design there which is in a similar size to the one you have, just a few mm smaller. Even if you decide not to use that one, it can serve as a good reference to plug into software for a simulation if not tried for real.

author: selcuk
author_rank: Frequent Contributor
timestamp: October 03, 2024, 07:38:37 am
content: It is a good idea to simulate the design with an EM solver. I can recommend you to check these points:-Draw the ground planes, vias, substrate and prepreg layers quite similar to your PCB design. The other half of the antenna is the ground plane. Even the radiation pattern will be effected by the voids in ground plane. You don't need to import all the details, tracks, ICs etc.-Generate the mesh by applying the 1/3 and 2/3 rule. Like here:https://wiki.openems.de/index.php/FDTD_Mesh.html-Add plastic or metal enclosure or other mechanical parts to the simulation if they are very close to the antenna.-Place the excitation port on the location of MCU or RF amplifier's output pin and draw the transmission line to the antenna from this point.-I don't recommend using lumped components and try to match the antenna to the RF chip. You can try to design the antenna with 50 ohm impedance and excite it again with 50 ohm source. Then you can use a smith chart software or an online tool like this for matching.https://www.will-kelsey.com/smith_chart/.-IFA antenna is basically an RLC circuit. You can change the C and R together but not L by cutting the tip. So try to do it right on the simulation and not expect a great deal from manual cutting. You can change the center frequency of course. Feeding stub and main arm effects R, shorting arm effects L, main and shorting arm and ground plane effects C.https://www.antenna-theory.com/antennas/aperture/ifa.php

author: tszaboo
author_rank: Super Contributor
timestamp: October 03, 2024, 07:41:49 am
content: Make it longer, order a prototype. Connect to a VNA, cut it to length mm-by-mm while looking at the S11.

author: AJ528
author_rank: Regular Contributor
timestamp: October 03, 2024, 04:15:40 pm
content: Quote from: shabaz on October 03, 2024, 07:13:17 amThanks for the advice! I've actually looked at those antenna designs before. I considered using them, but I'm using this project as an excuse to learn more about wireless transmission, so I decided I would rather try to design my own simple antenna. But I hadn't thought about using one of the antennas as a reference design in my simulation; that's a good idea!

author: AJ528
author_rank: Regular Contributor
timestamp: October 03, 2024, 04:42:01 pm
content: Quote from: selcuk on October 03, 2024, 07:38:37 amThanks for the advice. As I mentioned in my initial post, I already downloaded openEMS and simulated my antenna in it. OpenEMS already had an inverted-F example, so I modified that file to fit my needs. It looks good to me, but this was my first time using the software, so I'm not sure if I missed anything. I attached my simulation file, you are welcome to look at it.Quote from: selcuk on October 03, 2024, 07:38:37 amI am planning to put this PCB in a custom enclosure, probably plastic, but I haven't gotten too far on this aspect. Where can you find the Dk value of various 3D printed plastics?Quote from: selcuk on October 03, 2024, 07:38:37 amThanks, that's a really intuitive way to think about it!Quote from: tszaboo on October 03, 2024, 07:41:49 amThat's my plan!

author: selcuk
author_rank: Frequent Contributor
timestamp: October 04, 2024, 08:14:34 am
content: Simulation seems fine. I needed to add "from mpi4py import MPI" line in the script to make it run. Your mesh lines are right on the edges of coppers. If you add meshes manually and apply the 1/3 rule, it may differ a little.Plastic may shift the center frequency to the lower side for about 20-30 MHz. I usually use 3.3 for ABS in the simulations. You can check this page for others:https://www.rfcafe.com/references/electrical/dielectric-constants-strengths.htm

author: AJ528
author_rank: Regular Contributor
timestamp: October 05, 2024, 12:06:43 am
content: Thanks for taking a look at my simulation! I appreciate it. I wonder why you needed to add that line to make it run. Were you otherwise getting an error? My computer runs python 3.11.8 and it runs the file as-is. Regardless, I appreciate it.Thank you also for the ABS Dk value and suggestion on the 1/3 rule. I may go back and add some of those lines in to see if it drastically changes the simulation.Lastly, I was curious if you know of any way to widen the bandwidth on this antenna. It looks like it should work well for my frequency of interest, but I'm curious if there are ways to tweak the antenna to make it work across a wider band of frequencies (probably at the cost of being worse at the center frequency). Something like I doodled on the attached image. As I mentioned before, I'm new to world of antenna design, so idk if that's possible to do with inverted F antennas.

author: selcuk
author_rank: Frequent Contributor
timestamp: October 05, 2024, 05:11:50 am
content: There was a MPI initialization error. No problem if you don't have that error. I have a different python version and running it on an Ubuntu system.You can increase the track width to widen the bandwidth. But there are many variables. You may read chapter "3.2.4 Micro-strip inverted-F antenna" on this document about bandwidth and other parameters:https://www.nxp.com/docs/en/user-guide/UM10992.pdfIt was attached in this previous topic as UM10992 BLE Antenna Design Guide.pdf:https://www.eevblog.com/forum/beginners/developing-a-digital-radio-communications-circuit-design-for-pcb/msg5508106/#msg5508106

author: AJ528
author_rank: Regular Contributor
timestamp: October 05, 2024, 07:39:52 am
content: Thank you for the links, those are interesting reads. The NXP design guide talks about how the ground plane is just as important as the antenna. That made me realize one way my simulation is inaccurate. In my simulation, I have a nice big solid ground plane on top and bottom layers, when in reality I was planning on putting parts there and routing traces. I'm fine leaving some buffer space of solid ground between the antenna and components, but I can't really afford a solid 6 square inches of just bare ground plane.Do you know of any rules of thumb? Or any suggestions on how big/thick the continuous ground plane needs to be? This will be a 4-layer board, and I'm dedicating at least one of the internal layers to be completely ground, but idk if that counts since there will be parts routed on top of it.I will also mess around with my simulation more tomorrow. Do you know of any way to import Gerbers into openEMS? If so, I could much more easily test ground plane sizes vs component routing.

author: selcuk
author_rank: Frequent Contributor
timestamp: October 05, 2024, 08:32:41 pm
content: Yes. Ground plane is important for the center frequency and bandwidth. The far field radiation pattern will be effected from the ground plane shape and voids as well.There is a tool to import PCB drawings.https://wiki.openems.de/index.php/Tutorial:_Importing_with_hyp2mat.htmlThere is a different method involving FreeCAD. I haven't followed these steps myself.If you import from a cad tool, the geometries are very complex. I couldn't find an easy way to do proper meshing and run a finite simulation. So I can suggest you to draw the ground planes as similar as possible to the PCB design. I usually draw a simple rectangular shape as large as the substrate for inner ground layers (do the same in the PCB layout). For top layer, I include the vias on the edge facing the antenna and a simple rectangular ground plane up to the point where there are components, voids etc. I assume there is no ground plane after that point. This is a very rough approximation. And place the substrate and PP dielectrics with the thicknesses and DK from the PCB manufacturer.

author: AJ528
author_rank: Regular Contributor
timestamp: October 08, 2024, 05:22:28 am
content: Hi Selcuk,So, I started laying out my PCB and quickly came to the realization that my initial antenna design took up like a quarter of the PCB. So, in order to hopefully reduce the footprint, I decided to pivot to a meandering inverted-F antenna design.After messing around for a few hours, I found a design I'm relatively happy with (attached), except I'm a little concerned about the bandwidth again. I'd like to use this antenna to transmit over the 902-928 MHz band, so I'm trying to make the antenna have a max return of -10dB over that range of frequencies. Is that too ambitious of a goal?My simulation almost achieves this goal, but I'm aware that there will be manufacturing tolerances and other stuff that will detune the actual antenna. I don't really know how much that will come into play though. Should I plan to see the center frequency drift by up to 10%?Lastly, I took your advice and tried increasing the width of the radiating arm to increase the bandwidth, but anytime my width goes above 2mm my simulations start taking like 8 or 9 minutes each and I also can't really tune it back to 50 ohms.Do you know of anything else I can do to improve my bandwidth? Does it already look sufficient to transmit over my band of interest?P.S. apologies for the poor contrast on the antenna rendering. I think my way of creating a ground cutout causes it, but I don't believe it impacts the results.

author: selcuk
author_rank: Frequent Contributor
timestamp: October 09, 2024, 06:40:43 am
content: S11 of -10dB max is fine but bandwidth can be a little wider than that on the graphics. It seems like on the edge. Manufacturing tolerances are not that bad. I don't expect 10% drift due to the tolerances. But you need to simulate as close as possible to the manufacturer specifications. Since you have already decided the PCB, check Stackup on this page and apply the DK and thicknesses exactly to the simulation.https://docs.oshpark.com/services/four-layer-swift/I think metal parts, plastic enclosure or user's hands are more influential than manufacturing tolerances. Holding the antenna with your hands can shift the center frequency lower and out of your intended band. You can easily observe that after manufactruing the prototpyes and measuring with a VNA. Not a big deal if this is not an handheld device.Widening the main arm track increases the bandwidth, decreases the center frequency and also derceases the real impedance. If you want to increase the impedance again, you try to increase the length of the feeding line. Check the antenna design below. The feed line is not straight and fully vertical. It has some thin 45 degree section. That increases the length and impedance.https://www.ti.com/lit/an/swru120d/swru120d.pdfBut it is not easy to alter those tracks with meandered design. You have little space. So I can recommend to place the enclosure to the simulation if you cannot manage to increase the bandwidth.There was a ground plane underneath the antenna. It effects the radiation pattern negatively. I removed it and edited the meshes. Center frequency became 860 MHz. I've attached the file for your reference.

author: AJ528
author_rank: Regular Contributor
timestamp: October 11, 2024, 11:47:24 pm
content: Hi Selcuk,Thank you so much for all the help, I really appreciate it. Thank you also for sharing your experience with manufacturing tolerances. It's good to know that the plastic enclosure will probably have a bigger impact than the PCB tolerances.I will work on including the enclosure into the simulation, but I believe I finally found a design I'm happy with. Its impedance varies depending on the size of the ground plane, but as long as the ground plane is at least a minimum size (something like 80mm long), I've found that I can usually tune it to be good simply by trimming the length. I'll attach it here as a thank you and a resource for anyone else with a similar problem.Thank for downloading and modifying my simulation. The way you incorporate the rule of thirds with the grid lines is pretty slick, I'm not sure I would have figured that out on my own. I know that it looked like there was a ground plane under the antenna in the sim I previously attached, but it was actually removed by the "ground cutout" substrate I added. Because the substrate had a higher priority, it overwrote the copper that was below the antenna. You can verify that's the case because if you change the substrate priority to be lower than the ground plane and run the simulation, it doesn't radiate at all. But I can see how it might be confusing and it definitely made the CSXCAD rendering kind of ugly.My plan is to buy a PCB with this antenna (with some extra length!) and mess around with that by itself before ordering my actual prototype PCB. I know my final prototype PCB antenna will probably look a bit different, but this way I at least get my feet wet.I did have one final question though: we spoke previously about how hard it is to simulate all the traces and components, so my overall plan is to do an approximate simulation and then tune the final version. But I want to make sure my intuition is right. If my simulation shows an antenna works well with a PCB of certain dimensions, is it pretty safe to route the rest of the circuit where I don't have ground pours? For example, in the attached image, can I put the rest of my circuit in the yellow area, on both sides of the PCB, and include an inner power plane? Would doing all that completely invalidate the simulation? Or does that stuff only affect antenna performance slightly? I'm assuming it's okay, because where else can you put the circuit? lol

author: selcuk
author_rank: Frequent Contributor
timestamp: October 16, 2024, 07:19:04 am
content: You are right. I didn't pay attention to the priorities. I removed the ground plane before updating the meshes.I usually do the same as in your graphics to the rest of the circuit. If the ground pour is missing in large areas due to the components or tracks, you may simulate by removing that part from the ground plane. You can simulate again after finishing populating the components on the layout and seeing the plane in general.But there is one important point here. You need to include the vias in the simulation. The rest of the circuit will be behind a wall of vias. You may use cylindrical conductors to connect the top layer to the bottom. Make the spacing between them smaller than about wavelength/10.

author: AJ528
author_rank: Regular Contributor
timestamp: October 17, 2024, 02:53:07 am
content: Quote from: selcuk on October 16, 2024, 07:19:04 amOkay, cool. Then I will plan to route the rest of my circuit above the ground plane in the yellow area.Quote from: selcuk on October 16, 2024, 07:19:04 amGood idea, I will do that! I'm using a 4-layer board, so I'm planning to have layer 2 be a total ground pour, but I may also have some ground pours on the outer layers in areas without components.Quote from: selcuk on October 16, 2024, 07:19:04 amHmmm, okay. I do have one via wall running in the x-direction (close to the antenna), but I don't have any running in the y-direction yet. Do you actually simulate individual vias? Or do you just simulate with a via wall?

author: selcuk
author_rank: Frequent Contributor
timestamp: October 20, 2024, 02:05:32 pm
content: Quote from: AJ528 on October 17, 2024, 02:53:07 amI recommend you to place them in the y direction as well. I tried a single piece conductor once. It was similar to a densely populated, single row of vias. But sometimes small changes around the feeding point effects the simulation results dramatically. I don't know the exact mechanism but it has to do with the transmission line segment just in front of the antenna. So I simulate with individual vias and then place them exactly the same location in PCB layout.You can find an example in the link below. I use Octave + openEMS instead of python. I hope you can open.https://github.com/uysan/iot-esp-eth/blob/main/antenna/simulation.mBy the way, you can export STL files and then import them to PCB software to check the geometries.