Printed Circuit Boards or PCBs are categorized into several types based on design specifications, manufacturing processes, and application requirements. They are used in various sectors such as automotive, medical, defense, and other areas, you can learn more information at PadPCB.
Before you select a PCB, there are several factors you need to consider. Moreover, it is essential to seek advice from professionals. Although there are several types of PCBs, the five standard PCBs are multilayer PCBs, Rigid PCBs, Flex PCBs, HDI PCBs, and Heavy Copper PCBs.
Let's have a look at the common types of PCBs:
One commonly used PCB is the multilayer PCB. The board has more than two copper layers and is designed in a sandwich fashion. Also, they have many double-sided conductive layers separated by several insulating material sheets.
All are laminated and bonded together through high temperatures to ensure no air gaps occur and ensure the final PCB assembly is stable.
Multilayer PCBs are commonly used in laptops, computers, tablets, smartphones, medical equipment, GPS trackers, and many other complex gadgets and circuits.
A Rigid Printed Circuit Board cannot be folded or twisted. The board base is made of a rigid substrate giving it strength and rigidity.
In addition, it is composed of many layers that include a copper layer, a substrate layer, a silkscreen layer, and a solder mask layer. They adhere together with heat and adhesive.
Depending on the needs, it is possible to find single-sided rigid PCBs, rigid double-sided PCBs, and rigid multilayer PCBs. Nevertheless, once a rigid PCB has been made cannot be changed or modified.
Rigid PCBs are commonly used in laptops, GPS equipment, computers, mobile devices, tablets, CAT scans, X-rays, heart monitors, MRI systems, control towel instrumentation, and temperature sensors.
Flex PCBs or Flexible Printed Circuit Boards are designed with several printed components and circuits arranged on a flexible substrate. Flex PCBs are also known as flex circuit boards, flexible circuits, or versatile printed boards.
A flex PCB is mainly made from polyamide, transparent conductive polyester film, or polyether ether ketone.
They are made using the same elements as rigid printed boards. But with Flex circuits, the board can flex to your preferred form throughout the use. There are flex single-sided PCBs, flex double-sided PCBs, and flex multilayer PCBs.
Flex PCBs are typically used in flex solar cells, LCD fabrication, cellular telephones, automotive industries, laptops, cameras, and many other devices.
HDI PCB or High-Density Interconnect is a PCB with several interconnections but minimal space. The components are placed nearer, and the board space is considerably reduced, but the functionality is not affected.
Heavy copper Printed Circuit Board is also known as a thick copper PCB. It features three ounces of copper. Hence, they are highly valued due to their thermal management capabilities. Due to the increased copper thickness, the board can carry more current.
Some of the applications of heavy copper PCBs are overload relays, solar power converters, power converters, weapons control systems, nuclear power applications, HVAC systems, and safety and signal systems.
PCBs have modernized the electronic industry. Today, the boards are used in almost every electronic gadget you know. However, those mentioned above are the commonly used PCBs.
If you are not sure of the best PCB to consider for your applications, make sure you seek help from an expert. Moreover, it is essential to purchasing PCBs from reputed manufacturers for commercial or industrial use.
Interlock is how to prevent one process or equipment from running to satisfy safety requirements or fulfill the logic of the operation. A clear example of an interlock is to prevent cutting weapons from executing as long as the hands of the operator are away from the working area. In this case, there will be two push buttons on the left and right of the operator and out of the working space to make sure, when the operator requests the cutting machine to operate, his hands were pressing those two push buttons which are out of the working space. The previous example shows how to employ interlock for realizing safety purposes. Another instance that shows how Interlock can be used to satisfy the operation logic requirements is when we need to drive the motor in two directions. In that case, we commonly use two relays or contactors for forward and reverse directions. So, there should be an interlock of each contactor to each other meaning we cannot activate both at the same time because that will end up with a short circuit on the motor or the supply.
There are two main types of interlock which are safety interlocks and machine or equipment interlocks. Safety interlocks for securing people from getting hurt while they operate the machine. And machine interlock concerns with securing the safety of machine parts and or realizing specific philosophy of logic. Figure 1 shows the different types and subcategories of interlock. The machine or equipment interlock can be classified into three types which are mechanical, electrical, and logical interlock types. And from their titles, the mechanical interlock can be physically satisfied by making mechanical connections between equipment to let or prevent them from running. An electrical interlock can be achieved by using electrical devices like relys’ coils, sensors, and switches. The first one which is relays’ coils is the most interesting electrical interlock technique as they can be utilized in creating a dependency between equipment so we can design flexibly dependence between two motors, for example, to not running simultaneously meaning one of two running scenarios. The last type is the logical interlock which is the most important here in this tutorial and I hope you get an astonishing start to master that type because that is the most frequently used in real life in the industry. Do you know why? Because it is done programmatically without the need for mechanical connections and setup or even electrical devices or hardwiring. Also, it is very flexible as you can change it when there is a need to change the logic at any time.
Fig.1: interlock types
Figure 2 shows the very example of a safety interlock to protect the operator from entering the zone of robot work to save him from the movable parts. Is that a mechanical or electrical interlock? Or maybe logical? What do you think? Well! Let’s move forward in the tutorial and come back to this question to see if you know the answer or not.
Fig. 2: the safety interlock
The non-safe interlock is designed for protecting equipment and lock specific processes from execution. The machinery interlock is classified into three main categories which are mechanical, electrical, and logic interlock. In mechanical interlock, a set of mechanical setups is designed to prevent equipment or operation from running at some operating conditions. Figure 3 shows a schematic of a mechanical interlock for a setup that makes the motor spin either forward or reverse direction and prevent enabling both at the same time. The dotted line represents the mechanical interlock between the two contactors for reverse and forward contactors for guaranteeing to enable only one of them at any given time.
Fig. 3 mechanical interlock example
Figure 4 shows the case of missing the mechanical interlock between the two contactors. It shows the possibility of activating bother of them at a given time. In that case, you can see the damaging effects on the motor and the short circuit possibility on the power lines.
Fig. 4: fault condition due to missing interlock
Another example of mechanical interlock is car steering interlock as shown in fig. 5. The steering wheel is interlocked mechanically and unlocked by inserting the key.
Fig. 5: car steering mechanical interlock
The mechanical interlock was commonly used in the past and my be exist nowadays but very rarely. On the other hand, the electrical interlock is the most commonly used in control systems currently. Similarly, the idea of electrical interlock can be achieved by preventing the flow of current between two devices at the same time. Typically two contactors or relays are used for achieving such electrical interlock. One of these contractors will be normally open and the other will be in a normally closed configuration as in Fig. 6. It is very clear that for energizing the lamp, CR2 will be energized when CR1 is de-energized.
Fig. 6: electrical interlock example 1
Another example of electrical interlock which is very common is the thermal overload shown in Fig 7. It shows two contactors are used in electrical interlock configuration. The main contractor is in a normally open configuration while the thermal overload contactor is in a normally closed configuration. When there the temperature is getting high to a specific value the thermal overload turns over from normally closed to normally open to disconnect the load.
Fig. 7: electrical interlock example 2
Now, let's move to the logical interlock which is our target in this tutorial. Logical interlock is applying the same concept of interlock programmatically. In this type, there is no mechanical or electrical physical connection for achieving interlock. Instead, programming is used to perform the interlock. This logical interlock saves the effort of commissioning including mechanical or electrical connections. In addition, it realizes reliability and flexibility.
Figure 8 shows one example of logic interlock. You can notice the left part of the figure shows there are no mechanical or electrical hardwiring or connections between pumps 1 and 2. However, pump 2 is interlocked with pump 1 logically as shown in the most left part that shows the ladder logic code. To have pump 2 running, pump 1 should run first by the level switch. As shown on the right part of the figure below, when the level of the liquid reaches above the level switch, the switch is turned on and energized pump 1 which activates pump 2.
Fig. 8: logic interlock example 1
Figure 9 shows another logic interlock example in which a timer of type on delay is used to interlock equipment. As shown on the left the ladder logic code and on the right, an image shows the scenario of the logic with astonishing visualization. It shows that, when the operator presses the start pushbutton and keep pressing on it for the preset time value which is 3 second, the timer contact turns on and the coil of the contactor is energized. Now let us go to the lab and open our simulator to run those examples to validate their logic and verify their proper operations.
Fig. 9: logic interlock example 2
Fig. 10: The first example ladder logic program
Well! Now we have started our simulation. Figure 11 shows the initial case when no pumps are requested to run. So you can see each pump is all set to run once being requested.
Fig. 11: the initial case when no pumps were requested
Figure 12 shows the case when we requested the first pump to run. Because the stop button is not raised and the second pump is not running; The first pump goes running as shown in figure 12. So the question is that what is going to happen when requesting pump 2 to run?! Let’s see
Fig. 12: starting the first pump
Fig. 13 shows the case when we request pump 2 to run by hitting its start push button “start-pump2”. As expected, the second pump does not run for the interlock condition we designed for by putting a contact of the first pump’s coil as a condition to run the other pump. So let’s remove the hindering condition of interlock by stopping pump 1 and trying to run pump 2 and see.
Fig. 13: requesting one pump to run when the other is running
Figure 14 shows what happens when we remove the interlock condition. By hitting the stop push button of the first pump “stop-pump1”, the first pump has stopped. Consequently, the second pump went running once the interlock conditions has been removed. So now simulation verifies our design and proves our code of interlock is working great. Well done!
Fig. 14: remove the interlock condition by stopping the first pump
As we aforementioned section earlier, the interlock could be done by sensors state or reading, running and stopping statuses of other equipment, or logical devices like timers or counters as well. Timers and counters can be used as an interlocking technique for creating a running condition based on some delay or specific counting. Figure 15 shows one example of a timer-based interlock in which the pump won’t run by hitting the start button until the operator holds the start push-button pressed for 3 seconds then the pump goes running.
Fig. 15: timer-based interlock ladder logic example
Figure 16 shows the simulation of the second example. My friends, please notice, despite the start pushbutton having been hit by the operator; the pump does not start because it waits for the timer to count 3 seconds, and then it can run.
Fig. 16: pump wait timer to start
Now after 3 seconds of holding start push-button pressed, fig. 17 shows the pump goes running because the interlock condition is no longer there. I am very happy you would get that!
Fig. 17: pump start running after 3 seconds
My friends, before talking about what we are going to practice next time; I just want to express my appreciation that you patiently follow up till this point and hope your experience moves forward and gets more and more every lesson. Next time we will navigate the mathematical functions and how to perform mathematical computations in your ladder logic programming. my friends I really can’t wait to see you very soon to practice mathematics in ladder logic programming.
In this project, we are going to make a water level indicator. We all know it is one of the most essential products because there are many water tanks in every house or office, and most of them are not easily accessible to check the level of water in it and I think most of us faced the problem such as shortage of water as we do not have anything to monitor the exact amount of water available in the tank and this causes many problems on our daily lives.
Where To Buy? | ||||
---|---|---|---|---|
No. | Components | Distributor | Link To Buy | |
1 | LEDs | Amazon | Buy Now | |
2 | Arduino Uno | Amazon | Buy Now |
As we are going to make this project in the simulation first, for that, we will use the Proteus simulation tool. It is a tool used for electronic projects in which, we can run the real-time simulation of any electronic project and we can debug it in real-time without making any damage to real components.
Proteus has a very big database for electronic components which comes in the installation package of Proteus, but still, sometimes we have to install packages or libraries for some modules which are not pre-installed in it.
As in this project, we are going to use Arduino which is not pre-installed in the Proteus software. So we can download the Arduino module package from the link given below:
Note- While uploading the code on the Arduino UNO, disconnect any wire which is connected to Rx(D0) and Tx(D1) pins, otherwise it will give an error while uploading the code.
The water level indicator works on the principle of change in the resistance of the water level sensor due to a change in the amount of water in the container.
Basically, there are two parallel strips in the water level sensor, one for the power supply and another is for the sensor strip. As we know, water is a conductor of electricity so when we increase the amount of water in the container then more length of the sensor emerges in the water and that will increase the conductivity between the strips therefore, it increases the voltage on the sensor pin as well. We will read that voltage on the Arduino UNO.
To get the exact amount of water level in the container, we have to calibrate the sensor with the water because we can not be assured that the output voltage will be the same for every water because we know that there are lots of materials dissolved in the water so it will vary for a different source of water, therefore, we have to calibrate it first.
For calibration of the sensor, we will take a container with the water and we will read the values from the sensor by changing the level of water in the container. We will perform this action till the container gets filled with water and we will note down all the reference values and mark them as thresholds for each level.
As in this project, we are making it in the simulation so it would not be possible for changing the values as per the water level therefore we have used the potentiometer and we have chosen the threshold values randomly.
No need to worry while making this project with the real components as the sensor values from the water level sensor will be in the same format as the output of the potentiometer.
Now that we know the working principle of the water level indicator let’s go for the circuit diagram of the project.
As we know the required components which we are going to use in this project.
For coding, we will use the Arduino IDE. It is a built-in IDE for Arduino developments.
Arduino code is divided into mainly three parts: declaration of function and variables, second is void setup section, and third is void loop.
First of all, declare the variables and pin number which we are going to use in this project.
Now we have completed our code and circuit, it's time to run the project.
I hope we have covered all the points related to this project, and I think it will be very useful in daily life and it will give us ease of monitoring water in our water tanks. After this project, we don’t have to take the headache of how much water is available in our tank. And please let us know in the comment section if you have faced any issues while making it and also how you are going to use it in real life.
Thanks for reading this article. All the best for your projects.
Hello everyone and welcome to this article which will be a great introduction to high-speed PCB design. For sure it is going to be a very interesting class. Let me start by posing a question; Is this something that you have ever come across in your world of PCB design? Where you spent too much time doing the schematics, selecting the right components, doing the footprint addition, generating the netlists, doing the proper layout and routing and sending the end product of your design to the manufacturer? At this level you might probably be designing standard types of PCB boards and if someone was to introduce a project that talks about signal integrity, reflections or even crosstalk, very much believe you will feel like a lost person. It might be something new to you. The reason is that such kind of task is not what you have been handling in your day-to-day design activities.
In this field of PCB design, you might not guess what your clients want in the future and sooner or later, you might be slapped with a design that involves high-speed PCB design process and at this stage be assured of finding things so hard if you have never worked with the high-speed PCB designs. Today we are going to have a look at the high-speed PCB design and this article is best suited for people who want to go beyond the horizon when it comes to printed circuit board design.
When we introduce a high-speed PCB design, signal integrity should be the first thing that runs in your mind. When your signal integrity starts to be affected by the physical properties of your printed circuit board like the schematic, layouts etc then the design of your board is a high-speed PCB design.
Signal integrity is a set of measures that define electrical signal quality.
Having introduced what high-speed PCB design is and making note that it is all about signal integrity, now let us have a look at the signal integrity to get a proper understanding;
When doing a PCB design of any kind, it is obvious that you will be sending some sort of signal through copper traces from the input to your desired area of interest. The signal you will be sending can either be a digital signal or an analog signal.
The main issue about these signals is that they are prone to interference and this is where we bring in signal integrity because anytime a signal is affected by the environment there are some issues that arise.
Let us have a look at the following example.
Let us say you have a circuit that is transmitting signal from point 1 to point 2 in your PCB board. The point 1 can be classified as the transmitter and point 2 can be classified as the receiver. As the signal moves from point 1 to point 2, there is a likelihood that the signal is affected by different factors like;
Remember that the listed challenges above are just some of the challenges that you might come across during the design of the PCB. Otherwise, we have so many others that we have not mentioned above and all of them just have one thing in common which is causing of disturbance to the signal you are sending from point 1 to point 2.
In reality, there is no a specific way to determine if the project is a high speed PCB project or not but the evaluation should be done by case to case. As we have noted in our example above, the first thing that should indicate that your project is classified as a high speed project is when you come across some signal integrity challenges in your PCB layout process.
You can identify a high speed design PCB by;
When working on the high speed PCB design, there are a number of issues that you will come across while trying to transmit your signal from point 1 to pint 2 and the main three challenges that you are likely to encounter are;
Here we have to look at our signal at the destination and ask ourselves if the signal looks exactly as it should look like. If the signal does not look like it should, then it must have faced some interferences along the way which might have ruined its integrity.
The issue here is if your signal came across any form of interference during the transmission. It is obvious that PCB signals have some sought of noise in their output, but if this noise exceeds a certain limit, it might corrupt the signals being transmitted.
We are looking at how the signals are arriving at the destination. Are they arriving at the expected time with respect to other signals? Remember that all the signals in a PCB board are controlled by the clock and if the transmitted signal does not match with the clock signal then the signal is corrupted.
The big three problem can be rectified by involving the following three solutions;
If traces have a matched length, it will ensure that the signals arrive at the same time and sync with the rates of the clock. Matching is a must thing when working with HDMI, SATA, USB, PCI Express and the DDR.
The close you place your traces to each other, the more they are prone to noise and other forms of interferences. Therefore, it is advisable to ensure that your traces are having proper standard spacing. By placing your traces where they should be, with proper spacing reduces the amount of noise affecting your trace.
By ensuring that you have proper impedance between your receiver and the transmitter will create a direct effect on the quality od the signal and its integrity. This will also have an impact on how your signals are exposed to the noise challenge.
As it is in any engineering design work, there are rules that have to be followed when we are handling the high speed PCB design. Let us have a look at some of these challenges in depth;
Here if you are using the high speed interface, you have to do a signal tuning of the length of your traces in order to synchronize your signal propagation. If you miss to do the synchronization, then expect your interface to fail at very high frequencies or even not to work at all. Therefore, the tuning aspects is a very important aspect when it comes to high speed designs.
It is very rare to meet straight tracks from the source to the receiver on a PCB especially when the high speed design is involved because you have to keep bending the tracks while looking for track locations that will fine tune the trace. In real sense, tracks required smooth, rounded corners without sharp bending and you will need a lot of time to make that possible. What makes since task more time consuming is the fact that you will have to redo this so many times repeatedly until you get the optimized path.
Don’t bent tracks at 90 degrees because the width of the track changes affecting the impedance of the track. It is advised you do the bending at 45 degrees as shown in the figure below;
Any time you are doing a PCB design, it is very important to make an observation of the single-end point ZO impedances and also as well as the differential impedances Zdiff.
Adherence to the correct impedance is one of the most important rules in the design of the PCB.
Given below are the parameters for the differential impedance calculations;
Component placement is one of the most important rules in process of high speed PCB design. Before you begin this process, you have to mark where you are going to place your component.
For example, you can place components according to their functions. If components do same functions or even related purpose, they should always be in the same location to each other.
Analog components should be placed in their locality, with their ground different from others to avoid the EMI.
During placement, remember that the tracks are not long and therefore you should ensure that you leave the space for tuning.
Most common type of termination is the parallel termination. This is where a resistor is placed in the track between the differential pair and as close to the receiver as possible.
The purpose of termination is for getting rid of the reflected signals in the truck and this leads to the upgrading of the data that is being transferred. When differential pairs are used, the resistor should be equal to the differential impedance or less than the differential impedance.
In most occasion, it is very impossible to completely trace high speed interfaces in a single layer and this will require introduction of vias in order to move the traces from one layer to another.
Vias are just electroplated holes that allows you to move the tracks from one layer of the board to the other.
It is very important to ensure that you accompany the track via with a ground via. These vias are called stitching vias and they help in maintaining the use of a single reference point in the high speed PCB design.
This is a basic thing in PCB design and it is very important to have a plan to avoid so much errors and issues in the design process. So before doing any connections of the symbols or the net list you need a checklist at hand so that you can confirm what to do next to ensure that you have done everything accordingly. The plan will help in;
This are not the only things that you will consider during planning but it is among the first things to do.
After having the plan, the next thing is to ensure that your layer stackup are documented. This is where you have to contact your manufacturer in order to know which material you will use in the design and also and what type of constraints you should employ in those designs.
Expect to work with the following type of materials;
Here you have to organize your board into logical sections. Remember high speed boards are organized into many subcircuits and it is your duty as a designer to determine where each subcircuit should be placed.
This is more so for the case of the analog and digital signals which require that they placed in separate places so that they cannot interfere with each other.
Your physical floor planning should have something like what is below;
Now that your plan and stackup is fully laid, it is time to get into important details that you will need in order to start the design.
I the previous design, you might have been using very large pads maybe for easier soldering and inspection. For the high speed design, the space you leave is the key for the success and therefore pads should be 0 to 5% of the size of the components. This drop in space will always help in improving the mechanical strength of the board.
The high frequency signals will be producing a lot of electromagnetic effects as they travel from the source to the sinking region. And this might lead to two signals having an interference on each other. To avoid this, consider each of the following;
This will involve the use of vias so that to avoid the current path from crisscrossing each other or the ground and to make sure that the signal integrity is maintained.
If you’re thinking ahead about the long-term prospect of selling your app that’s now in development or wanting to exit in the next year, these 5 tips for selling an app are for you.
You might believe it is time to cash out your app, but there could be a few problems in your immediate future. Apps developed for the Apple ecosystem can’t always be transferred from one developer to another. It is a good idea to check the latest criteria on app transfers before you look at selling your app. While developers can transfer an entire account to a buyer, it will limit the price you can ask for.
Apps don’t all sell with similar multiples or attract the same level of interest.
It depends on how large the related app marketplace is, how many apps are for sale, and the pool of interested buyers too. The multiple of earnings for app sales reflects their long-term potential but also the demand in that particular marketplace.
If you discover that the app you’ve developed and built up over the years sits in a marketplace that isn’t much in demand, maybe choose differently next time?
It’s necessary to get the most value from your app before listing it for sale. Ideally, any boost in top-line revenues should have occurred months ago. This helps to confirm that it wasn’t a one-time bump and is sustainable.
So, when identifying profitable marketing channels, do it as early as you can. Avoid trying one and adding others incrementally over the years. It’ll make it harder to implement them all before you’re thinking about selling the app.
A buyer is purchasing the app’s code, an existing relationship with its customers, and the reputation of the app too. When there are negative reviews left and right, the listing will be avoided.
It might be impossible to not get any negative reviews – some people are overly critical – but deal with them pragmatically. Reply to them in an informative, helpful, and friendly manner. Even if the review was unfair, unbalanced, or rude, don’t reciprocate.
Also, if one or more points within the review were valid, update the app to address those. Then amend your response to reflect how the app has been updated based on their observations.
Apps are typically sold for up to 36X the app’s monthly profit. So, that’s the money you make after all associated expenses have been deducted. Be clear on this figure from the get-go. Potential buyers will want to see evidence of your earnings. Even if an app is making good sales, if operational costs are high, profit margins are going to be lower.
You may have landed on the best pricing model that’s fine with the customers and extracts the most value for what’s offered. However, it might just be the first one you tried, and you never considered any others.
Before concluding that that’s all your app can realistically generate, reconsider all options. Do some market research with current customers to gauge their reaction to switching the monetization model. See if there’s any wriggle room to add a premium version, extra features, add-ons, or something else to increase the app’s earnings when selling it.
Remember, an app is only worth what someone will pay for it. Be realistic about how much you can charge for the app. If you overvalue the app, interest will be limited for obvious reasons and you may struggle to find any buyers willing to take things to the next level.
While an app might flout standards set for the marketplace, it can’t do so forever.
Any broker or prospective buyer who’s aware of the appropriate standards will actively avoid an app that’s in breach of them, especially if they’ll be eventually stuck with making changes to fix the problem after delisting and begging forgiveness from the powers that be.
Depending on the marketplace, standards differ. Therefore, they must be investigated properly. For example, there are established WordPress Coding Standards. For WordPress plugins, these state that they must be written in the PHP language and be fairly easy to interpret. Spaghetti code that technically runs but is confusing and intentionally so won’t pass muster.
Also, requirements do change, so verify before any app sale listing it still isn’t in breach of standards that came into force recently.
Prepare ahead of time before selling your app and consider whether this is a smart business decision. Often, there is no good reason to sell an app, as you can continue making a great monthly income and the app won’t be worth any more in a year. However, you may have personal reasons for wishing to take a step back, and that’s OK. You may also want to pursue new development opportunities, which is another common reason why developers decide to sell a successful app and move on to the next project.
It’s also worth pointing out that there are tax benefits, as the sale profit could be classed as capital gain and taxed at a lower rate. Speak to an accountant to verify this first.
Once you are ready to sell, it’s time to look for buyers. There are sites where you can list an app for sale, such as Flippa, or you can work with an app broker. Either way, don’t rush into anything, and always check the reviews first if you decide to use a broker.
Finally, never accept the first offer you receive, it’s likely to be a low-ball offer and you can do much better if you exercise some patience.
Hello friends and welcome to this article. Today we are going to have a look at the introduction to the ceramic printed circuit boards. we have previously introduced what a printed circuit board is and we noticed that it is a very important part that makes electronic circuits complete and well organized. Having that in mind, we had also discussed several materials that build up these PCBs and today our focus is on the ceramic types of PCBs.
There are many online PCB companies, where we can place our PCB orders and the best of them all is JLCPCB. JLCPCB is a China-based PCB Fabrication house and offers the cheapest PCB rates. It's quite simple to place your PCB order on the JLCPCB official site. Here are the steps:
In this discussion, we shall have a look at a single-layer ceramic PCB. It consists of; the ceramic substrate layer, the copper layer and the solder mask layer. Let us have a look at the image below which is a double-sided layer ceramic PCB constructed through the normal method of lamination.
Single-sided layer ceramic PCB is shown below;
Ceramic PCBs are classified according to ceramic substrate material used and also according to the manufacturing method that was used. Let us have a deeper look into these classifications below;
They are the most used types of ceramic PCBs and aluminum oxide is the most readily available substrate.
They are also commonly used PCBs but they are a bit expensive when a comparison is done with the alumina PCBs.
They gave high thermal conductivity and smartly higher frequency performance again when compared to the Alumina ones.
More costly when compared with the aluminum nitride PCBs. They have higher mechanical strength and toughness hence finding greater use in the power modules such as IGBT and military modules.
This is diamond and has high thermal conductivity and electrical conductivity. They find applications in the areas of laser technology.
Has dozen times boron activities than the alumina ceramics but this type of ceramic is very poisonous. They find use in high power and frequency applications
This is the earliest method known for PCB manufacturing. The method is suitable for high power and not for high speed or high-frequency PCB manufacturing.
This one requires lower temperature compared to the HTCC. They have no PTH vias and they are mainly preserved for power electronic module packaging.
This has a requirement that the circuit line space should be at 60 micrometers. They find their use in applications that require lower power utilization.
They are usually multilayer and normally three-dimensional. They are best suited for communication devices with high frequency.
Has very high precision circuits but the copper layer has a limited thickness. These types of PCBs find their use in high precision devices and also in very small devices development.
They are developed from thin-film technology and can be in 3D and has very high circuit precision. They find their use in high-frequency and high-power circuits.
Ceramic boards have very distinct characteristics that always give them an advantage over the other type of boards. below is the list of these special characteristics;
The ceramic PCB boards are given high priority due to a number of material features and characteristics that they offer which proves to be beneficial in the process of PCB manufacturing. The character of heat dissipation gives this board an advantage over the traditional types of PCB boards. components of the board are placed on the boards directly without the involvement of the isolation layer and this makes the flow of heat throughout the board better compared to the other types of boards. The following are some of the benefits that make this board the most preferred;
They are the most popular in the field of electronics due to their features that are unique. One of these features is that it provides a very high thermal coefficient expansion. These boards will still offer very high thermal conductivity even when operated at high temperatures.
These types of boards use a metal core. The metal core is used when the board is undergoing the engineering process. The board can be changed to a rigid carrier which will offer a stiff mechanical strength. This stiffness is very crucial as it allows the board to be used in both fluids and solids.
The ceramic material offers a lasting-results to the PCBs being manufactured. The toughness of the material used in the making of the board will protect it against routine wear and tear. In addition, these boards offer high thermal resistance which will slow down the decomposition of these types of boards and therefore increase their durability.
They offer very high stability which is a result of a stable dielectric property that originates from the dielectric materials. Due to the toughness of the ceramic materials, it has a natural resistance to many chemicals.
It has a very high melting point hence it can be used in many applications for both low and high temperatures. The best thing about these ceramic boards is that they will offer good thermal conductivity while distributing heat evenly throughout the board and different positions of the devices.
It was done in Japan when a company crested an SRAM memory module by the use of the multilayer ceramic PCB. The ceramic PCB is appreciated for both high-density PCB and low-density PCB. Another example is about the USA company that had developed the telecommunication, aerospace and missile products using this type of board.
This is being done by an American company that is determined is building a transmission module for radar communication using the ceramic PCB boards.
Japanese have used low-temperature PCBs in the manufacture of digital PCBs. This is used because it reduces the weight of the circuit greatly. It also reduces the volume of the circuit.
The ceramic boards are mostly used in printed circuit boards because they support the miniaturization of the devices. It has a very high probability in the application of the boards in multilayer interconnects.
HTCCs and LTCCs are both applied in the process of making photovoltaic panels. In this device, we shall use multilayer ceramic PCBs to make them tough and durable.
There has been an increase in the use of wireless power transmission systems and this implies that most power transmission system has to use ceramic boards to achieve that ability.
With the introduction of very small pocket gadgets, many electronic circuits are getting miniatured. To achieve miniaturization, it starts with the use of semiconductors that have a highly reduced size. The normal boards cannot give the support needed in order to make sure that the miniaturization process is fully achieved. In order to make this possible, ceramic semiconductors have been introduced and this is accompanied by the use of ceramic PCBs.
When you are choosing the person or the manufacturer who can produce your board, you have to consider the manufacturer who has the superior tooling that is required to make the process successful. The manufacturer should be able to control the oxidation process so that the board can have superior thermal conductivity and higher temperature resistance.
Ensure that the manufacturer uses the automated process to do the manufacturing and this will make sure that your board is in perfect condition and of very high quality and the process will be less time-consuming.
Hello friends. In this lecture, we are going to have a look at the different kinds of MATLAB data types.
As we have already seen in previous lectures, MATLAB stands for MATrix LABoratory and allows us to store numbers in the form of matrices.
Elements of a matrix are entered row-wise, and consecutive row elements can be separated by a space or a comma, while the rows themselves are separated by semicolons. The entire matrix is supposed to be inside square brackets.
Note: round brackets are used for input of an argument to a function.
A = [1,2,3; 4,5,6; 7,8,9];
An individual element of a matrix can also be called using ‘indexing’ or ‘subscripting’. For example, A(1,2) refers to the element in the first row and second column.
A larger matrix can also be cropped into a smaller matrix, as we can see in the example below.
A scalar is just a special case of a matrix and its element size is 1x1. Square brackets are not needed to create a scalar variable. Also, a vector is a special case of a matrix with a single row or column. Square brackets without an element inside them create a null vector. We see examples of this in the code below:
Elements of a matrix can be all kinds of numeric datatypes, whether they are floating-point, integers, or imaginary numbers, as we will see in the next section. They can even be symbolic.
Every variable that is stored in the workspace of MATLAB has a datatype. It can be an in-built or default datatype or users can build their own datatypes depending on the purpose of the code.
You can always find a datatype in MATLAB by using the 'class’ function.
Following is a list of operations on the numeric datatypes.
Single quotes are used to declare a character array. For example,
A = ‘Hello World’ is a character vector.
However, double quotes are used to declare a string. String is different from a character because individual parts of a character array can be accessed using indexing but the same is not true for strings.
You can carry out the exercise shown below to understand this subtle difference.
The various operations that can be performed on character array include:
The function ‘cell2mat’ takes a cell as an argument and outputs a matrix. However, for this, all the elements of a cell array must be the same data type. This is what distinguishes Cell arrays from Matrices.
Non-numeric datatypes also include function handles, symbolic variables and anonymous functions but they are a topic worth a separate lecture for discussion and will come up in the upcoming lectures.
In further chapters, we will look at some of the applications of MATLAB in Linear algebra, look at different kinds of matrices inside MATLAB that are commonly used in a linear algebra class, and also work with input and output of data and functions using ‘m’ files as well as ‘mat’ files. We will also read about saving and loading operations, for input and output of data from MATLAB, and we will look further at making GUI in MATLAB, plotting linear, polar, 2D and 3D graphs with data sets.
So in this project, we will overcome this issue and learn to make an adjustable DC power supply, in which we will get a wide range of voltages.
We will make this project in the simulation, as it is a good practice to make any project in the simulation first so that if we do any mistakes or errors in the circuit, which can be corrected without making any physical damage to actual components.
To make this project we will be using the Proteus simulation tool. A brief about the Proteus, it is a simulation software for electronics, here we can make different types of electronic circuits and run the simulation and it will give us the real-time working model of our circuit. Also, we can easily debug in case of a wrong connection.
It has a very large database of pre-installed components which has basically all types of different electronic components and in case, if it is not pre-installed, then we can install a library for those.
In this project, we will use the following components-
Now we know the basic role of each component, so let's talk about how actually our power supply will work. In brief, the flow of our power supply will be as mentioned further.
We connect it with AC power then we will lower down the AC supply to 12-24 AC because most of the electronic component has this working voltage range, thereafter we will change the AC to DC and do the smoothening of that DC supply, and then we will regulate that using a potentiometer and LM317 IC.
Now we know all the components which we will use in this project and their use cases also. Let's start connecting them.
I hope we have explained all the points related to this project. And I hope this will be a very useful project for your daily use as a power supply.
Please let us know if you face any issues while making this project in the comment section below.
We will be happy to know if you will make this project and how you are going to use it in your daily life.
Thanks for reading this article and All the best for this project, see you in the next one.
Hello readers, we hope you all are doing great. Welcome to the 4th lecture of Section 5(ESP32 Sensor) in the ESP32 Programming Series. So far, we have discussed the ESP32 built-in sensors in this section. Today, we are going to interface an external embedded sensor(i.e. PIR Sensor) with the ESP32 Microcontroller board. At the start, we will discuss the basics of a PIR Sensor(HC-SR501) i.e. its pinout and working. After that, we will design a simple project to detect the motion with a PIR sensor and ESP32. Finally, we will display the motion detection results on the ESP32 WebServer.
We will use ESP32 interrupts to detect the motion. Interrupts are used when a microcontroller needs to continuously monitor an event while executing other tasks at the same time. We have already posted a tutorial on ESP32 Interrupts, which includes both software and hardware interrupts. In this tutorial, we are implementing the hardware interrupt(Hardware interrupts are the external interrupts that are caused by an external event). In our project, the hardware interrupt will be generated by the PIR sensor.
PIR motion sensor is mostly used in home automation & security projects, used to enable the system to respond automatically over human presence. Appliances connected to ESP32 will respond automatically(as per the instructions provided) whenever an interrupt is triggered by the PIR motion sensor. Let's first have a look at the working of PIR Sensor:
Where To Buy? | ||||
---|---|---|---|---|
No. | Components | Distributor | Link To Buy | |
1 | ESP32 | Amazon | Buy Now |
In today's project, we will use the HC-SR501 PIR Sensor to detect the motion. PIR stands for Passive Infrared sensors. It uses a pair of pyroelectric sensors to detect heat energy in the surrounding environment. Both the sensors sit beside each other, and when a motion is detected or the signal differential between the two sensors changes the PIR motion sensor will return a LOW result (logic zero volts). It means that you must wait for the pin to go low in the code. When the pin goes low, the desired function can be called.
PIR Sensor has two variable resistors on its back side, used to adjust the Sensitivity and Detection Range, explained below:
Thermal sensing applications, such as security and motion detection, make use of PIR sensors. They're frequently used in security alarms, motion detection alarms, and automatic lighting applications.
Now let's interface the PIR Sensor with ESP32:
As I mentioned earlier, in today's project, we will design a motion detection project with ESP32 and PIR Sensor. In the first example, we will turn "ON" the LED on motion detection, while in the second project, we will display the results in the ESP32 WebServer.
Here's the list of the components for today's project:
Here's the circuit diagram for motion detection with ESP32 and PIR Sensor:
Now let's design the programming code for motion detection:
We are using Arduino IDE to compile and upload code into the ESP32 module. You need to first Install ESP32 in Arduino IDE to get started. Here's the code for motion detection:
//----Set GPIOs for LED and PIR Motion Sensor
const int led = 23;
const int PIRSensor = 4;
// -----Timer: Auxiliary variables
#define timeSeconds 10
unsigned long now = millis();
unsigned long lastTrigger = 0;
boolean startTimer = false;
//---Checks if motion was detected, sets LED HIGH and starts a timer
void IRAM_ATTR detectsMovement()
{
Serial.println( " MOTION DETECTED " );
Serial.println("Turning ON the LED");
digitalWrite(led, HIGH);
startTimer = true;
lastTrigger = millis();
}
void setup()
{
Serial.begin( 115200 ); // Serial port for debugging purposes
pinMode( PIRSensor, INPUT_PULLUP ); // PIR Motion Sensor mode INPUT_PULLUP
pinMode( led, OUTPUT );
digitalWrite( led, LOW );
attachInterrupt( digitalPinToInterrupt( PIRSensor ), detectsMovement, FALLING ); // Set PIRSensor pin as interrupt, assign interrupt function and set RISING mode
}
void loop()
{
now = millis();
if( startTimer && (now - lastTrigger > ( timeSeconds*500)))
{
Serial.println(" Turning OFF the LED " );
digitalWrite( led, LOW );
startTimer = false;
}
}
//----Set GPIOs for LED and PIR Motion Sensor
const int led = 23;
const int PIRSensor = 4;
//-----Timer: Auxiliary variables
#define timeSeconds 10
unsigned long now = millis();
unsigned long lastTrigger = 0;
boolean startTimer = false;
//---Checks if motion was detected, sets LED HIGH and starts a timer
void IRAM_ATTR detectsMovement()
{
Serial.println( " MOTION DETECTED " );
Serial.println("Turning ON the LED");
digitalWrite(led, HIGH);
startTimer = true;
lastTrigger = millis();
}
void setup()
{
Serial.begin( 115200 ); // Serial port for debugging purposes
pinMode( PIRSensor, INPUT_PULLUP ); // PIR Motion Sensor mode INPUT_PULLUP
pinMode( led, OUTPUT );
digitalWrite( led, LOW );
attachInterrupt( digitalPinToInterrupt( PIRSensor ), detectsMovement, FALLING ); // Set PIRSensor pin as interrupt, assign interrupt function and set RISING mode
}
We have activated the interrupt in the Setup Function, so when the PIR Sensor detects the motion, it will automatically execute the interrupt function, which will turn the LED ON and start the timer.
void loop()
{
now = millis();
if( startTimer && (now - lastTrigger > ( timeSeconds*500)))
{
Serial.println(" Turning OFF the LED " );
digitalWrite( led, LOW );
startTimer = false;
}
}
This concludes the tutorial. I hope you find this tutorial helpful. Thanks for reading. See you soon with a new tutorial on ESP32. Take care !!!
Hello Geeks, I hope you all are doing great and enjoying your festive seasons. This time, we have come up with a new project which will make your festival a bit brighter so here comes a Christmas tree.
It is said that Christmas is the center of all the celebrations. Did you guys know the scientist who discovered the light bulb, Thomas Edison and his friends were the first to put up the light bulbs on the Christmas tree, and here we are going to keep that tradition forward? Well, it’s time to gear up for the next season of Christmas being tech-savvy. Hence we have decided to brighten up a Christmas tree with the usage of Arduino Uno and LEDs in real life.
Where To Buy? | ||||
---|---|---|---|---|
No. | Components | Distributor | Link To Buy | |
1 | LEDs | Amazon | Buy Now | |
2 | Arduino Uno | Amazon | Buy Now |
To make our festival a little safer, we will first make our Christmas tree in the simulation and for that, we will use the Proteus simulation software. Making it in the simulation will give us a good understanding of how it is going to work, and how we are about to design the Christmas tree such as the placements of lights and lighting patterns.
Proteus is a simulation tool for electronic projects. In this software, we can make approximately every type of electronic circuit and run the working simulation. It will show the real-time working simulation of the circuit and errors as well if any occurs.
It has a large database of mostly all types of electronic components but still, for some, we have to install libraries. In this project, we are using Arduino UNO and it is not pre-installed so we have to download it first.
Following components will be required to design our Christmas Tree
Mostly it has not been damaged yet.
Now let's start with the circuit diagram of our project. The first step would be to import all the components to the workspace of Proteus software.
We will be using one Arduino UNO for controlling the LEDs and six different colors of LEDs. Here we will make 6 rows and 6 columns of LEDs for our Christmas tree, so we will be using 6 Aqua color LEDs, 6 Green color LEDs, 6 Orange color LEDs, 6 White color LEDs, and 6 Yellow color LEDs.
After the connection of the circuit, let's start to code our Christmas tree:
? We have declared all the row and column pins in the output modes.
After completing the development side of the Christmas tree, it is time to test it.
Here is the working demo of our Christmas Tree
I hope we have covered all the points related to this project and you have enjoyed reading it. We can use this with the real component and decorate the Christmas tree or we can use some cardboard and insert the LEDs on them in the same way.
If you have any doubts regarding the project. And we will be glad to read about how you made your Christmas tree using this project and if you try any interesting new patterns with it, please let us know in the comment section.
Merry Christmas.