Presentation on theme: "Sensing and Control. Digital or Analog Digital Input: The interface device can detect a simple change in an electrical voltage level. That is, it can."— Presentation transcript:
Sensing and Control
Digital or Analog
Digital Input: The interface device can detect a simple change in an electrical voltage level. That is, it can detect if a switch is on or off. Digital Output: The interface device can change an electrical signal to on or off and therefore turn on motors, lights, etc.
Analog Input: The interface device can detect a continuously changing electrical voltage coming from sensors which may be responding to changing parameters such as light, sound, liquid levels in tanks, etc. The changing voltage levels are changed to digital numbers to be manipulated and stored in the computer. ( done by ADC) Analog Output: The interface device can take a series of stored digital numbers and change them into a varying electrical voltage. This voltage can be used to control an external device. (done by DAC)
The Simplest Circuit The simplest circuit consists of: –A source of electrical current –A conducting path –A control element (Switch) –Something that converts electrical energy to some other form of energy (called a load resistance) –See Mims, pp 14,18-25
There are a number of electrical parameters (measurements) that are of importance. The 3 most basic are: –Electric Potential Difference - measured in Volts –Electric Current - measured in Amperes –Resistance - measured in Ohms
Electric Potential Difference can be very loosely defined as the electric pressure which forces electric current through a conductor Electric Current is the flow of electric charge through a conductor in a unit of time Resistance is the opposition to the flow of current through the conductor
The relationship is expressed as Ohms Law V= I * R Rt = R1 + R2…. (series) 1/Rt = 1/R1 + 1/R2…(parallel)
Pulse Width Modulation
DC motors are often run at a constant speed. Other uses require variable speed. One of the most efficient methods of DC motor speed control is called Pulse Width Modulation
Pulses are simply on/off voltages. The length of time the voltage in on is the pulse width.
Cycle: a single pulse Period: Time to complete one cycle Duty Cycle: time on/length of cycle Frequency: number of cycles per second
PhidgetLVMotor Controller Two independent low-voltage terminal blocks Uses PWM for motor control 65 pulse steps (Code allows -100 to 100) Frequency: 2.5KHz Lamp – Brightness DC Motor - Torque
Servos do not have a continuous supply of voltage given to them. Instead, they are supplied with electricity using Pulse Width Modulation. What does this mean?? There are a series of pulses sent to the motor controller which judges how much you want the motor to turn and this causes the shaft to turn that amount.
Servo Motor Control The DC motor is connected to a set of gears which reduces speed and increases torque or the force of the turn. There is a control circuit which controls how much the motor turns. The position sensor is a variable resistor or potentiometer which is responsible for sensing the position of the motor.
Servo Motor Control The position of the motor is monitored by the potentiometer sensor. If the motor is not in the position as sent by the external servo controller, the internal control circuit causes the motor to turn until it is. When the motor is in the correct position, the sensor signals the control circuit to turn the motor off. The process of the sensor sending information to the control electronics which turns the motor which turns the sensor is called feedback or a closed loop control circuit. How does the potentiometer sensor know when the motor is in the correct position??
Servo Motor Control Each position of the servo is referenced by an internal control circuit pulse. 0 degrees is 1ms, 90 degrees is 1.5 ms and 180 degrees is 2 ms. When the external pulse is issued by the controller, it is issued in milliseconds as well. The internal circuit compares the external pulse to the internal and starts turning the motor. As the motor turns, the internal pulse changes relative to the position. When the difference in the two pulses is zero, the motor will stop turning. The difference in pulses is called the error signal. If the incoming pulse is greater than the internal pulse, it turns in the clockwise. If it is smaller, it turns counter-clockwise.
Referencing the Phidgets Install the Phidget Library on the computer Before you can use Phidget code in Visual Basic the library must be referenced Open the Project menu and select References. Scroll down and select Phidget Library by clicking the check box.
Declaring the Phidgets In General...Declarations enter the following code: Dim WithEvents MyPhidgetName As PhidgetDevice Note: MyPhidgetName is called an instance of the class of objects called PhidgetDevice You can use any name as long as it is not a Visual Basic reserved word.
Opening the Phidget Code the Form_Load procedure: Set MyPhidgetName = New PhidgetDevice Call MyPhidgetName.Open(True, -1) Call MyPhidgetName.Open
Servo Motor Control Phidget Code Example Assuming the Phidget library is installed and referenced in this Visual Basic application. Declare a variable of PhidgetServo type: Dim WithEvents Servo As PhidgetServo We then have to instantiate that servo instance when we load our form: Set Servo = New PhidgetServo Call Servo.Open(True, xxxx) The Servo instance now exists and has a set of member functions which can be accessed using dot notation. One of these member functions is called MotorPosition( n ) and is accessed by placing the dot between the instance of Servo and the member function. Servo.MotorPosition (n) The (n) is an index which represents which of the motors we are controlling at any given time. The servo controller can control up to four motors. The first is powered by the +5 v supplied by the USB cable. The other three are powered by the power supply attached to the device. Each device is independent of the other and can be assigned a degree value between 0 and 180.