Pages

Friday, September 23, 2016

Connectors 101

What is a connector?

A connector is an electrical component that links two or more components together. The major types of connectors are:

  • Wire to wire (e.g., an in-line connector that connects a battery to a wire harness)
  • Wire to board (e.g., a connector that attaches a sensor to a printed circuit board)
  • Board to board (e.g., connectors used to mate a daughterboard with a motherboard)
  • Power connectors, which handle higher currents
  • Modular connectors (e.g., Ethernet plugs)
  • Terminal blocks and barrier strips, which are useful for connecting and disconnecting wires with screw terminals (e.g., a connector used inside a sprinkler or security control box)

What companies manufacture connectors?

You can also order connectors directly from distributors (e.g., Newark, Digikey, Mouser)

How do I choose a connector?


Fuses 101

What are fuses and when do I need them?

A fuse is an electronic component that protects a circuit by creating an open circuit if it draws too much current. Fuses do not protect against voltages that are too high. 

Fuses are most useful around power supplies, both when power comes into a system and on individual power rails. For example, if you have a 12V rail that should only draw 750 mA and a 5V rail that should only draw 400 mA, you might put a 750 mA fuse in series with the 12V supply output and a 500 mA fuse in series with the 5V supply output.

A common mistake that fuses protect against is accidentally shorting the power rail to ground (e.g., with a DMM probe as you are trying to touch the correct pins). This causes an infinite amount of power to be drawn from the power supply, and can sometimes damage or destroy voltage regulators or power supplies.

What are the most common types of fuses?

  • Standard fuses contain a small piece of wire made of an alloy that melts readily. If the current gets too high, it burns out and opens the circuit. Standard fuses come in many different shapes and sizes.
    • Advantages: Inexpensive, replaceable
    • Disadvantages: Must be replaced when blown, sometimes no visual indication that they are blown
    • Examples from Littelfuse
  • Resettable PTC fuses are tripped by heat caused by current above the rating of the fuse. If the current flowing through the fuse goes above its rating, the fuse changes from having very low resistance to having a high resistance (thereby stopping the flow of current through the circuit). It is self-resetting after power is removed and the fuse cools.
    • Advantages: Reusable, useful when cause of overcurrent is a user failure (e.g., plugging a connector into the wrong pins on a PCB)
    • Disadvantages: More expensive than standard fuses, small leakage current after breaking, significantly lower voltage ratings (60V) compared with non-resettable fuses (600V)
    • Examples from Littelfuse
  • Circuit breakers are typically used in AC power applications like homes.
    • Advantages: Reusable and easy to reset by hand. This reduces downtime and repair costs. Easy-to-see indication of whether the circuit breaker is tripped. Useable as an on-off switch.
    • Disadvantages: Very expensive, not well suited for low-voltage DC applications

Tuesday, September 13, 2016

DC Motors 101

Watch the video mini-lecture on DC motor control from Dr. Jordan


What types of DC motors are most common?

  • Brushed DC motors. Current flowing in one direction makes the motor turn one direction, and current flowing in the opposite direction makes the motor turn the opposite direction.
  • Stepper motors - provide absolute position control but require a special controller IC
  • Servo motors - PWM signal controls the position of the motor

How do I connect a brushed DC motor to a microcontroller?

DC motors are inductive loads and therefore cannot be directly connected to a microcontroller without damaging the microcontroller. There are two protection mechanisms that go into a successful motor interface:
  1. Back EMF / flyback diode - protects against current spikes that can damage a microcontroller. Use "rectifier" diodes (e.g., 1N400x series)
  2. H-bridge - switches current on or off to the motor, and changes the direction of the motor
The LMD18200 is a common off-the-shelf H-Bridge IC.

How do I change the speed of the motor?

Generate a Pulse Width Modulation (PWM) signal from your microcontroller and use it to control the H-bridge.

How does a stepper motor work?

See the excellent animated GIFs in the Stepper motor entry on Wikipedia

How do I connect a stepper motor to a microcontroller?

Use an off-the-shelf driver IC instead of trying to build your own driver. The DRV8825 is a common stepper motor control chip.



Thursday, September 8, 2016

Getting Started with Cadence

Introduction

A number of basic Cadence tutorial videos are available on YouTube.

Getting Started

1. In Windows, find and open the application Capture CIS (see Cadence Schematic Tutorials)

2. Create and name a new project and add existing part libraries (see Creating a New Project in Cadence)

3. Add parts to your schematic. First, check to see if the parts you need already exist in a library. For example, schematic symbols for header pins (which are useful for connecting to components external to your custom printed circuit board, like batteries, PSoC® boards, and sensors, see Figure 1) can be found by searching for "Header" in the Place Part dialog box (see Figure 2)

Figure 1: Header
Figure 2: Place Part dialog box

4. Create a custom library to store custom schematic symbols for your design that are not included in the built-in libraries (very common), and add it to your project (see Creating a Custom Library in Cadence)

5. Create and save custom schematic symbols in your custom library. If you later need to edit a custom schematic symbol, make sure to replace the edited symbol in the cache (see Creating a Custom Schematic Symbol in Cadence)

6. Create printed circuit board footprints for all components on your printed circuit board
    1. For electronic devices with DIP/SOIC/PLCC/QFP/PGA/SIP/ZIP packages (which are typically integrated circuits and plug-in modules with evenly-spaced pins), it is easiest to use the "Package Symbol Wizard" (See Creating a Custom PCB Footprint using Package Designer in Cadence)
    2. For all other components, create custom footprints manually (see Creating a Custom PCB Footprint Manually in Cadence)
7. Create custom padstacks for the pads of each custom footprint (See Creating a Custom Padstack in Cadence)

8. Link all footprints to schematic symbols in Design Entry CIS by updating the library search path (see Changing the Library Search Path in Cadence Design Entry CIS)

8. Link all footprints to schematic symbols in PCB Editor by updating the library search path (see Changing the Library Search Path in Cadence PCB Editor)

9. Transfer the schematic to PCB Editor for the PCB layout and design (see Transferring a Cadence Schematic to PCB Editor)


Based on a tutorial by Cody Van Cleve

Monday, September 5, 2016

Power Supplies 101

What are the components of a basic power supply subsystem?

  1. Source of power - battery, AC adapter, solar
  2. Input electronic noise filtering circuit
  3. Voltage regulator to provide a constant supply voltage
  4. Output electronic noise filtering circuit

What are the design considerations for a battery-operated circuit?

  • How many Amp-Hours of capacity are needed?
    • Create a power budget to determine
  • What type of batteries?
  • Are the batteries rechargeable?
    • NiCd, NiMH, LIB, LiPoly? Different tradeoffs of cost, memory, lifetime, weight
    • Need a charging circuit. See Maxim Integrated Circuits
  • Discharge Rate
    • Batteries can only discharge up to a certain limit to remain safe.  Different chemistries have different limitations.

What are the design considerations for an AC-powered circuit?

The language "AC adapter" and "AC power supply" is used inconsistently. Sometimes it refers to regulated power supplies with a fixed voltage output, and sometimes it refers to unregulated power supplies with a promised voltage output that is inaccurate when measured with a DMM. More information on AC power adapters is available here: http://www.dxing.info/equipment/wall_warts_bryant.dx

Linear Power Supplies

Linear power supplies are made up of a transformer, diodes, and sometimes a filter capacitor. They provide clean power, but waste lots of energy in the form of heat. See http://www.allaboutcircuits.com/textbook/semiconductors/chpt-3/rectifier-circuits/ for more information on how a linear power supply works.

Switching Power Supplies

Switching power supplies are most commonly used in PCs and other digital applications. They have a "noisy" power output because of the switching frequency, and are not ideal for inductive loads. They also tend to be more expensive, but are much more energy-efficient and generate less heat.

How do I choose a voltage regulator?

There are three major types of voltage regulators that you will encounter in this program:
  • Linear voltage regulator - burns off extra power in the form of heat
    • Advantage: High current capacity
    • Advantage: Low cost
    • Disadvantage: Low precision
    • Disadvantage: High dropout voltage (the voltage difference between the input and output)
  • Low dropout voltage regulator - burns off extra power in the form of heat, but continues to regulate even when the input voltage is near the output voltage
    • Advantage: Excellent for battery-powered applications
    • Advantage: Higher precision
    • Disadvantage: Lower current capacity
    • Disadvantage: Higher cost
  • Switching voltage regulator - generates as much power as is needed by the circuit, up to the maximum allowed by the regulator. Similar to Switching Power Supplies above
    • Advantage: Highly energy efficient
    • Disadvantage: High cost
    • Disadvantage: External components (some difficult to find) may be necessary
    • Disadvantage: Printed circuit board layout can be difficult
A highly detailed guide to linear and switching regulators is available here: http://www.ti.com/lit/an/snva558/snva558.pdf

What capacitor values should I use for input and output noise filtering?

First, check the data sheet for the voltage regulator and see if it specifies values for the input and output filtering capacitors. If it does not, the rule of thumb is to use 0.33 µF ceramic non-polarized capacitors for input filtering and 0.1 µF ceramic non-polarized capacitors for output filtering.

What capacitor values should I use for bypass filtering near each integrated circuit?

Digital integrated circuits (ICs) need "bypass capacitors" to both filter the power going into the IC and provide a nearby reservoir of energy that the IC can draw from instantaneously. The rule of thumb is to put one 0.1 µF ceramic non-polarized capacitor between each power pin on an integrated circuit and ground. This means a microcontroller might have 2 - 8 or more capacitors, one for each power pin on the IC.

Where can I find additional information about power supplies?


Where can I find companies that manufacture power supply components?



Wednesday, April 13, 2016

Using Bitwise Operators in C

What are bitwise operators?

Bitwise operators allow access to individual bits in a variable or register. A typical register or variable is at least 1 byte (8 bits) in size.

What bitwise operators are available in C?

&, |, ^, ~, <<, and >>

Where can I learn more about bitwise operators?

See the Writing C Code for Microcontrollers with Bitwise Operators presentation from Dr. Jordan.

Tuesday, February 16, 2016

Soldering and Desoldering Tips and Tricks

Video Walkthrough


How do I turn on the soldering irons in PRLTA 103?


How do I solder through-hole components by hand?


How do I solder surface mount components by hand?

Capacitors, diodes, inductors, resistors



DPAK-style components (MOSFETs, voltage regulators)



Integrated circuits (ICs)



How do I solder surface mount components using a reflow oven?

This method involves applying solder paste to the pads on the PCB, manually placing your surface mount components into the solder paste, and baking the board in a special oven to solder the entire PCB at once. This method is not really easier than hand soldering for one-off PCBs; you are trading one set of challenges for a different set. If you are interested in using solder paste and the reflow oven to solder your components, please contact Osama Jameel in PRLTA 109.

How do I desolder components?


How can I practice soldering without damaging my project?

A great way to practice is to find an old PCB at Goodwill (inside a printer, scanner, camera, floppy drive, etc.) and practice desoldering and soldering components on the board. You can also find old circuit boards in the cabinets in the front of PRLTA 103.

Monday, February 15, 2016

Particle Argon Wifi Board

What is the Particle Argon? What does it do?

The Particle Argon is a "wi-fi for everything" development kit that includes a microcontroller, wi-fi hardware, and easy-to-use web-based IDE (Integrated Development Environment). It is typically used to add wi-fi functionality into products without spending a huge amount of development time on the wi-fi hardware and software. A more detailed introduction is available here.

Note: The Particle Argon was previously known as the Photon and the Spark Core, so you may see documentation referring to Spark Core or Photon instead. The software API is basically the same for all of them.

Where can I get an Argon board?

  • Each team can check out one (1) Argon board in PRLTA 109. If you need additional Argon boards, please see Dr. Jordan
  • If you want to buy your own Argons, you can purchase them from Particle

Where can I find the hardware specifications for the Argon?

Where can I find the firmware/software for the Argon?

Notes: Firmware is a term used to describe software that directly interfaces with hardware. An API (Application Programming Interface) is a guide to the software/firmware functions you can use in your code.

How do I configure the Argon to run on my computer?

How do I communicate between the Argon and my microcontroller?

There are two major ways to communicate between the devices:
  1. Using a UART (Universal Asynchronous Receiver Transmitter). UART connections transmit ASCII text, meaning that if you are trying to send numbers you will first need to convert them into strings (see FAQ question below). This strategy allows you to send data either to or from the Argon by either reading from or writing to the UART. An older example of how to do this is available here (note that it is for the older version of the Argon called the Spark Core, so some of the code may not work).
  2. Using the I/O pins on the Argon (Note: This is not a form of serial communication). If you only need to turn something on and off, or read a simple bit or analog value, then this is a simpler solution than using the UART. See the Pins and button definitions section of the datasheet and the Input/Output API pages on the Argon for more information.
  3. Here is a UART PIC to Argon Tutorial written by Mykol Reklaitis

How do I send numeric or formatted data over a UART connection?

  • Use the sprintf() function for your microcontroller. sprintf() prints formatted data to a string that can be sent over a UART connection. See this tutorial from tutorialspoint for more information.

Where can I find examples of Argon projects?

How do I communicate between a Argon and a phone app?

Option 1: Tinker Mobile App

One option is use the Tinker mobile app from Particle. This off-the-shelf app is a good option if your project only needs to send simple information between Argon and the microcontroller.

Advantages of Tinker app
  • Off-the-shelf multi-platform option to control individual analog and digital I/O pins through a standard interface
  • Easy to use
  • Useful to test whether a problem is in software or hardware (because since it's provided by the manufacturer, it will hopefully work correctly)
  • You can modify the callback functions to include your own code
Disadvantages of Tinker app
  • App can not be modified, so you don't have control over the user interface on the phone. (This may be OK for a proof of concept)
  • Does not support entering text into the app directly (though you can send ASCII text over the UART in the firmware code)

Option 2: UbiDots App Framework

The UbiDots app framework is designed to capture and display sensor data using an off-the-shelf app provided by the company. This is a good option if your project primarily needs to display and/or log sensor data (e.g., body temperature).

Advantages of UbiDots
Disadvantages of UbiDots
  • UbiDots is primarily for gathering and displaying information (microcontroller --> Argon --> UbiDots --> UbiDots app), and may not be able to send information back to your microcontroller easily.

Option 3: Write your own phone app

You will need to create functions in the Argon firmware and call those functions via the Particle Cloud REST API. This is a good option if someone in your group has prior coding experience and/or time to figure out how to write an app.

Advantages of custom apps
  • Full access to send and receive data between the Particle and the microcontroller
  • Full access to modify the user interface (within Android/iOS limitations)
Disadvantages of custom apps
  • Apps are usually platform-specific, meaning that if you write an app for Android it will likely not be compatible with iOS and vice-versa
More information on custom app development is provided below.

Option 4: Run a web server on the Argon

You can run a web server (based on Webduino, documentation here) on the Argon and then log into it from a phone or computer. This is a good option if you want to have full control via HTML over what is displayed.

Advantages of a web server
  • Platform-independent
  • Allows use of JavaScript and HTML to sculpt your "app"
Disadvantages of a web server
  • Programming is time consuming and somewhat unintuitive

Option 5: Use Particle.publish() to post data to a web page on your computer

Advantages of Particle.publish()
  • Platform-independent
  • Tutorial available here
Disadvantages of Particle.publish()
  • Requires the use of HTML and JavaScript

How do I create an Android app?

You will need an app development environment. Suggested environments include:

Where can I find examples of custom Android apps that work with Argon?

How do I create an iOS app?

You will need an app development environment. Suggested environments include:

Where can I find examples of custom iOS apps that work with Argon?

  • Coming soon

How do I communicate between a Argon and a computer?

  • Coming soon

How do I communicate between a Argon and another Argon?



Wednesday, January 6, 2016

House of Quality

What is a House of Quality, and what is it used for?

The House of Quality diagram is used to translate customer requirements, market research, patent benchmarking, and technical benchmarking into product capabilities that can be targeted in a new product design. It is an integral component of the Quality Function Deployment (QFD) method for translating qualitative user needs into quantitative requirements.





How do I build a House of Quality?




Where can I find House of Quality templates?



Where can I find House of Quality examples?


Sunday, January 3, 2016

Microchip PIC Microcontrollers

What microcontrollers does Microchip specialize in?

Microchip specializes in 8-bit, 16-bit, and 32-bit PIC microcontrollers.

How do I choose a Microchip microcontroller?


What software do I need to install to program a Microchip microcontroller?


What hardware do I need to program a Microchip microcontroller?

Check the manufacturer's web page for the specific microcontroller you are using for specific information on the hardware you need to program it.

What do I need to consider when designing a printed circuit board (PCB) that includes a Microchip microcontroller?

See the microcontroller data sheet for information on PCB layout and external component considerations.

How do I use MPLAB® X?


What online forums focus on Microchip microcontrollers?


Where do I find code examples and tutorials for Microchip microcontrollers?


What resources exist for the PIC16F887 microcontroller?



What resources exist for PIC24 microcontrollers?


Texas Instruments Microcontrollers

What microcontrollers does Texas Instruments specialize in?

Texas Instruments (TI) specializes in low-power, performance, and wireless microcontrollers.

How do I choose a TI microcontroller?


What software do I need to install to program a TI microcontroller?


What hardware do I need to program a TI microcontroller?

Check the manufacturer's web page for the specific microcontroller you are using for specific information on the hardware you need to program it.

What do I need to consider when designing a printed circuit board (PCB) that includes a TI microcontroller?

See the microcontroller data sheet for information on PCB layout and external component considerations.

How do I use Code Composer Studio?


What online forums focus on TI microcontrollers?


Where do I find code examples for TI microcontrollers?

Microchip AVR Microcontrollers

What microcontrollers does Atmel specialize in?

Atmel was one of the top IC manufacturers that makes a number of 8-bit, 32-bit, and ARM microcontrollers, including the AVR microcontroller used in the Arduino. Microchip purchased Atmel in 2017 and is maintaining the AVR line of microcontrollers. The following is a list of helpful resources for getting started with Microchip AVR microcontrollers.

How do I choose an AVR microcontroller?


What software do I need to install to program an AVR microcontroller?

  • Atmel Studio Integrated Development Environment (IDE) from Microchip

What hardware do I need to program an AVR microcontroller?

Check the manufacturer's web page for the specific microcontroller you are using for specific information on the hardware you need to program it. Some common programmers include:

What do I need to consider when designing a printed circuit board (PCB) that includes an AVR microcontroller?


What online forums focus on AVR microcontrollers?


Where do I find code examples and tutorials for AVR microcontrollers?

Drawing Software

What is drawing software used for?

Drawing software is used to create diagrams for inclusion in presentations and reports.

Title
Description
Availability
Recommended. Open source drawing program which can produce professional vector drawings in many formats
Draw.Io
Recommended. Add-on to google drive documents, free
http://draw.io
Google Drawings
Recommended. Cloud-based collaborative diagramming app
available in Google Drive
cloud-based collaborative diagramming app
ASU has a site license if you use your ASU google account.  Or get an Education Account
Vector-based drawing program
Available for download here via Microsoft OnTheHub (formerly Dreamspark). Microsoft Visio 2013 Viewer available from Microsoft
Powerpoint
Recommended.  Can save Drawings as .png
Can be purchased as part of Office Suite.  Also available on ASU computers
Professional Vector-based Drawing Software.
Available on some ASU lab computers, or for purchase / subscription
Free AutoCAD clone, for dxf/dwg editing only
Free here, requires registering
Professional Vector-based Drawing Software
Available in Innovation Hub (for laser cutting). Must be purchased otherwise.

All About Escape Rooms

What is an escape room?

An escape room is a real-life adventure game where you pay to be locked in a room filled with puzzles and given a limited time (usually 60 minutes) to solve the puzzles with your team in order to escape the room. There are also virtual video game escape rooms.


Who designs escape rooms?


What are best practices for designing escape rooms?


Where can I find escape rooms?


All About Smart Homes

What is a smart home?

A smart home links together home comfort, entertainment, appliances, thermostats, lighting, and other electronic devices in a home together such that they can be controlled by voice, gesture, computer, or phone. Apple, Amazon, and other companies are trying to bring myriad smart home products from different manufacturers together through the Echo and HomeKit, respectively.


Where can I find databases of smart home devices?


Where can I find manufacturers of smart home devices?


Friday, January 1, 2016

Patents 101

What is a patent?

  • "A patent for an invention is the grant of a property right to the inventor, issued by the United States Patent and Trademark Office" (for more information, see General Information Concerning Patents from the USPTO).
  • Patents are the most common way of protecting intellectual property that is physically tangible (e.g., projects you might do in our engineering program).

What is a trademark?

  • "A trademark is a word, name, symbol, or device that is used in trade with goods to indicate the source of the goods and to distinguish them from the goods of others" (for more information, see What is a Trademark or Servicemark? from the USPTO).
  • Trademarks are typically used to protect a unique name for a product, but not the product itself. For example, Dr. Jordan's engineering education research lab is called STEAM Labs™.

What is a copyright?

  • "Copyright is a form of protection provided to the authors of 'original works of authorship' including literary, dramatic, musical, artistic, and certain other intellectual works, both published and unpublished" (for more information, see What is a Copyright? from the USPTO).
  • As a student, you automatically own the copyright for any text that you write (e.g., your project reports). However, copyrights are typically not used to protect engineering designs.

Why do I need to search for patents?

If you knowingly or unknowingly use intellectual property that is patented by someone else in your own commercial designs, you may become the target of lawsuits from the patent owner. Therefore, when designing new products it is best to search for the patents you may be infringing upon (either through the product as a whole or particular features, such as a touch display) so that you can either design around the patents or reach out to the patent owner to license the patent.

How do I search for a patent?


What patent databases should I use?

Mechanical CAD Software

What is CAD software used for?

Computer Aided Drafting (CAD) software is used to capture and simulate designs electronically. It is commonly used for electrical or mechanical designs.

What free mechanical CAD software is available for me to install on my computer?


What mechanical CAD software is available for me to use on campus computers?