I can’t believe it is over. Today, I spent most of my day preparing for my presentation. I was able to fix my program that program and make some improvements. It took a very long time to figure out the problem and then the solution. I figured out that my program was getting stuck trying to read from the serial. I was able to fix this be sending and receiving another data type an int. This seemed to speed the process up. Otherwise, my code from yesterday was just fine. The improvements that I made the code quicker and only update the variables when the user changes them. In the afternoon, I presented those who hosted me this week. I presented both the business and technical aspects of the device. After presenting the market, the ideation and the pros and cons of each design, I demoed the user interface and LED’s. I couldn’t demo the motor because it needed 12V. I loved the experience of being at Plexus and I learned so much from everyone that I worked with. I would just like to thank everyone who took time to talk to me while I was Plexus and thank them for hosting me these past two weeks. The lessons that I have learned are invaluable.
Author: cameronf742
Day 7
Today, I spent most of my time preparing for my presentation and finishing my project. I began my editing my CAD files this morning with the help of Daniel to make them easier to print. After this, I spent most of my time try to fix code. I was trying to send another value of serial communication. I also spent a lot of time testing the program to ensure it worked properly and the correct values were being received. I also created some algorithms to interpret what the user is inputting to change values in the program. After some help from Zack I was able to get the program working. I saved the working version as final and then it stopped working. Zack and I have not been able to figure out why it had mysteriously started to not function properly. I had been able to get serial communication in both directions and the screen to update properly and then serial communication broke down after no code changes. This will be my first priority tomorrow. Hopefully, I will be able to figure this out. The code below creates sliders on the user interface that allows them to adjust values within the code.
Day 6
Today, I shadowed some software engineers today. I can’t tell you what they showed me, but I learned a lot about embed programming and low-level programming. I got a chance to try programming in virtual studio. Virtual studio is very different from any IDE I had ever programmed in. It was much easier to program in as it is easier to move the aspects around than to reset the value across a grid. I made a project with two radio buttons and a single button that updated everything. Depending upon which radio button was clicked when the update button was clicked different text would show. I also had time to work on the software for my project. I began by writing out an algorithm design and implementing code. I used example libraries to help me as I am not as familiar with C as java. Additionally, Zack had an idea to create a user interface. This meant connecting Arduino and another IDE called Processing. This is done through serial communication, something I had never done before. This creates a series of calls and responses. While this makes the program more interesting, it creates some challenges as multiple messages can not be sent. Therefore, the messages must be combined into something that can be passed into a single message and then decoded on the other side. I created a way to put together and decode a message. Check it out below. Tomorrow I shall try to finish up the code and put everything together, as I shall make a presentation on Thursday about my project. Luckily, I have documented very well so it shall be easy to prepare. I hope that as I begin to try to fit everything together that I haven’t made any errors.
Day 5
Today, I did a lot of research about transistors. There are two different groups of transistors ones that work off current and ones that work off voltage. For both, they are made up of layers of silicon called n and p layers depending upon what the silicon is mix with. The p is for positive and the n is for negative. LED’s are made from layers of this silicon. The silicon will only allow voltage to flow in one direction from n to p just like on an LED. There a two different types of current transistors npn and pnp which describes the ways the layers of silicon are laid out. Transistors are great for acting as switches or amplifying current. One great depiction a ran across in my research was about a hearing aid which used a transistor to increase the current to make the sound louder. MOSFET transistors work by voltage. MOSFET uses a metal oxide to separate the path in which current will flow until a greater voltage is applied. An important part to a transistor is the three pins which vary in name depending on whether they are voltage or current based. They are the variable, in, and out (my names for simplification across both types of transistors). Current flows in only one direction in transistors which is why I renamed them in and out. The variable pin is what is used to determine if current will flow or not. For the current to flow, the VGS (voltage between the variable and the out pins) must be greater than the Vth (voltage threshold) of the particular transistor. I did all this research to understand how I must connect my pump and power supplies together in order for a transistor to act as a switch. I tinkercaded my circuit to show how I would connect everything to an Arduino board. The following are pictures of how everything got connected. I ended up using 1 analog port and 4 digital ports. I have three LED’s on my breadboard to indicate water tank status. Additionally, the yellow device pictured below is a resistance sensor that can be used to detect how much water is present. This sensor will output numbers from 1023 all the way too 300 which we and the computer must be able to interpret. Additionally, the black and silver tower on the red board is a transistor that I mentioned above. I was able to solder this transistor, resistor, and ports to the board to create something that is a bit easier to use. However, we did not find this to be the case. Once I had soldered the board, I was trying to test the board, but we were unsure of how to plug the board into the circuit and which inputs were connected to which part of the transistor. Therefore, we did as one person called it, the bleep test. A basic connectivity test showed us which parts were connected and were able to diagram the circuit out. If you are wondering why it is called the bleep test, it is because the volt meter bleeps with the there is a path between the two nodes. Today, I was also able to test the pump which works very well and should be able to move a lot of water in very little amount of time reducing the amount of time we will need to run the pump for. I also got a chance to test the resistive sensor for values for various amounts of water present. I believe that a sensor value between 650-750 maybe even higher would indicate need for watering. I am not sure if I have mentioned this yet in my blog, but I have been doing a lot of math that I haven’t posted. From sizing of the casing of the device to sizing of resistors, math is completely necessary and fun (as long as you get it right on the first try not the 8th). To give you an example of how a resistor calculator might go, I propose the following. Begin with the fact that in a closed circuit that the voltage drops across every component must cancel out the initial voltage. Therefore, if I have a 5V power supply to supply a LED and resistor, I must know the voltage drop across the LED. Simple in fact, just plug it in and measure with a volt meter.
5V-V(drop across LED) – V(drop across resistor)=0
5V-V(drop across LED)=IR
The I or current can be found from the same guide that told you that 5V is output from a pin on an Arduino.
(5V-V(drop across LED))/I=R
Simple Math.
Day 4
Today, I was with the digital group who is one of two groups of electrical engineers at Plexus. I finished up some CAD in the morning for the box for everything to sit into. I realized that I needed screws that would go into the sides of the box, but my sides were probably too thin for standard screws to go into and I forgot some important holes in the side of the box. These ended up sounding kind of basic written down but they didn’t present so easy on CAD. Kyle showed me how they use CAD for laying out circuits for boards. It was also interesting to learn about the various ways things can be soldered with both wave and with paste. After a really fun lunch, I visited the lab in which I was introduced the wide variety of lab equipment that they have at Plexus. I was shown how you can use an oscilloscope and all the different wave forms that you can see. We also talked about how box waves are formed using many different sin waves. There is another piece of equipment that graphs frequency over power which would show many spikes at many frequencies for a box wave. After spending some time doing calculations using a multimeter and information provided by the manufacturer, I was able to find the resistors needed. My biggest design challenge was that I needed to control a 12V pump off a 5V Arduino. I couldn’t power the pump through the Arduino for obvious reasons so therefore, I had to have a switch to control this, which created another problem. I didn’t want the user to have to flip a switch every time the plant needed to be watered. Therefore, I needed a Transistor. Transistors allow power to flow when the voltage proved to one of the pins is sufficiently high or low. This solved my problem. The one main electrical component that I still have out standing is the sensor for soil level. This should be fairly easy to install but will need to be tested for the values for high and low. I can’t believe that it is already day 4 and we are almost half way through. I have included some photos below of my notebook with some electrical diagrams and calculations about resistors below.
Day 3
Today, I was with the Mechanical Engineers. While I wish I could tell you everything I did today, I can’t there isn’t enough space. Daniel explained many aspects of mechanical engineering. We spoke a lot about injection molding and how plastics act during the process. I have included a picture below of a model that he showed me of the machine that actually does the injection molding. The machine is made up of several components the cavity, the mold, the ejector pins, and the gate. The gate releases the liquid plastic into the cavity which the mold is compressed into. During this process the plastic is under a lot of pressure from the cavity and the mold and is at a very high temperature. The ejector pins are used to remove the plastic part once it has been made. You can often times identify parts that have been made by injection molding because they have small circles that are different in texture from where they have been pushed out of the mold. Additionally, we talked about living hinges which are hinges that are made during ejection molding and they will never break due to the material in which they are made out of. The neat thing about the picture below of the living hinges is that the interior triangles shows the different finishes that injection molded pieces come in because they show machining marks when made. I did know that injection molding was very expensive due to the molds; however, I didn’t know how few times the molds could be used only a few hundred times. He also showed my their all the different machines they have from cutting solid metal, taping, sheet metal, wood, and paint or sanding. They really have endless possibilities. After discussing my project with him, I decided on a design for my project. My project is an automatic plant watering system. I decided on a design that would sit below the potted plant. I spent the rest of my day doing drawings and math to make sure that it would work out. Then I CADed my design. I also added my pictures from yesterday below. Enjoy!
Day 2
For my second day at Plexus, I began the morning with the industrial design group. We discussed how the group designs for the user not just based upon the customer’s needs. The industrial design group begins by defining the user and target audience of the product by creating a persona. A Persona is a document that defines the or many users that might be involved in a product from delivery to end of life. Chad described the most important aspect of industrial design is understanding the user. Therefore, the industrial design team finds users and spends time with the users and designs in multiple stages in the design process to understand their needs. Once the user is understood, a journey map is outlined for the current method of a process or task. Made up of multiple steps detailing the process, the benefits, and the drawbacks of the current method a journey helps to understand the improvements that could be made the product. Additionally, a journey map can be made for the future, what you intend on creating. I also spent some time with Jim and Cara who are Quality Engineers who elaborated on how to further requirements and ensure a products compliance and safety. Quality Engineers are involved throughout the whole process and are involved in narrowing down the idea. Quality Engineers begin by asking “What are your Intendids?”. An Intendids means who, what, where, when, why of your product. For my project in which I am creating a plant watering system, my intendids are a person who is busy either traveling or a working professional between the age of 20-45 who has a plant located in doors at a temperature between 65-75 degrees that needs little to moderate watering located in the United States. Additionally, the Quality Engineers reinforced the importance of SMART requirements, specific, measurable, testable, and repeatable. Additionally, Quality Engineers make sure that products are compliant to both laws and standards in all countries that the product will be sold into. They are in charge of documenting risk, mitigations, and testing. An important aspect of their job is verification in which both mitigations and requirements are tested to ensure that the goals and safety of the product. I forgot to post the environment, requirements, and validation statements from yesterday. I have added my work from today to that document, so you can see my progress towards a plant watering system. Look forward to another great day!
My phone cut out so picture coming soon!
Day 1
Today, was my first day at Plexus. Plexus is a contract engineering company meaning that they engineer product for other people and do not create any of their own products. After touring their massive labs and design areas, I met with Mr. Alan who is a Product manager. He talked me through how Plexus acquires work and the life cycle of the project. I found it very interesting that every project went through at least six stages with four of them having testing. I have included a picture below of the six stages being requirements, prototyping, engineering confidence, alpha, beta, and then production. This process can take anywhere from 6 months to 2 years. I thought that it was really cool that as an engineer at Plexus you could work on such a variety of projects and see a variety of projects in such a short time period. I had lunch with the Product Managers and learned the wide backgrounds that they come from. While they all had engineering degrees, they ranged from computer engineering to industrial engineering. After lunch I spoke with Jesse, he showed me how they write requirements at Plexus. The most important rule with requirements is that they cannot be subjective as they will be tested; therefore, the requirements must be test able. At Plexus, a requirement that must be in the final product is indicated with a shall in the statement. Additionally, something that is nice to have is indicated with a should. Once these, requirements have been written similar Verification statements are written that describe how one can be certain that the product delivered meets the requirements. Another important aspect of Product Management is called an architecture, this documentation, outlines components that will interact and varies from detailed interactions between individual pieces to broad overviews of what the product does in general. I look forward to another great day.