Calibre Press – Developing Smarter, Safer, More Successful ...
Programmable Systems Electronic devices have been developed to make life more enjoyable, easier,...
-
Upload
sandra-griffin -
Category
Documents
-
view
215 -
download
3
Transcript of Programmable Systems Electronic devices have been developed to make life more enjoyable, easier,...
Programmable Systems
Electronic devices have been developed to make
life more enjoyable, easier, safer or more
productive.
Some examples:
Microwave oven.Traffic lights.Computers.Games consoles.
There are 2 types of Electronic device,
1) Purely electronic devices such as Digital Watches
2) Mechatronic devices such as a Computer Hard Drive
Question: Why do you think a Computer Hard Drive comes under Mechatronic devices?
Electronic Control Systems
Pupil Assignment
1. List three electronic devices.
2. List three mechatronic devices.
3. Explain the ‘mechanism’ in each of the three mechatronic devices listed.
Some possible answers:
1) Mobile Phone, Television remote control, Calculator
2) Computer DVD-ROM drive, Smart Phone, Remote door lock in a car
Mechatronic Device
A typical mechatronic system picks up signals from the environment, processes them to generate output signals, transforming them for example into forces, motions and actions.
System Diagram
Both Electronic and Mechatronic devices have one thing in common, they both have a control unit.
0 C0
The system diagram for a warning device for a freezer in a restaurant would be drawn as below.
HEAT SOUNDTEMPERATURESENSOR DRIVER BUZZER
Transducers
Input transducers are electronic devices that detect changes in the ‘real world’ and send signals into the process block of the electronic system.
Output transducers are electronic devices that can be switched on and off by the process block of the electronic system.
A popular electronic toy is shown. Try to identify as many input and output transducers as you can.
Pupil Assignment
P op
F i zzy
K olah
J ui ce
Gi nger
Y uk
List the Input and Output transducers for the following products
Washing machine
Vending Machine
Personal Music Player
Hairdryer
Microcontrollers
A microcontroller is often described as ‘a computer on a chip’
It has a memory and the ability to receive inputs and control outputs
It is a small & inexpensive device
Often built into products to make them more intelligent and easier to use
Usually programmed for a specific purpose/ product
Advantages of Microcontrollers
A microcontroller can often replace several parts or even a complete circuit.
The main advantages to using one are:
Increased reliability (less parts to fail)
Simplified product assembly (less parts required)
Greater product flexibility (can be re-programmed)
Pupil Assignment
List three devices that may contain a microcontroller.
Explain why you think it would be useful to have a microcontroller in these devices.
Stamp Controller
Programming Procedure:
Draw a flowchart for the control
task. Write the program
on the computer using the Stamp software.
Connect the download cable from the computer to
the stamp controller.
Connect the power supply to the stamp controller.
Use the Stamp software to download the program.
Getting Started - Programming
Start up the Stamp software and key in the program.
Save the program and then download it to the stamp controller by clicking ‘Run’.
Your teacher will give you help with the software, if you need it.
In your own words explain what the program does.
main:
high 7
pause 1000low 7pause 1000end
Pupil Assignment
red 10 s
red and amber
2 s
green 10 s
amber 2 s
Using the times shown in the table for each stage of a Traffic Light sequence, write a P-Basic Program for the lights then run and test your program.
Flow ChartsSTART
SWITCH PIN 7HIGH
SWITCH PIN 6HIGH
SWITCH PIN 4 & 5 HIGH
WAIT 2 SECONDS
SWITCH ALLOFF
WAIT 3 SECONDS
STOP
WAIT 1 SECOND
Start / Stop Symbol
Input / Output Symbol
Wait Symbol
There are other symbols you will need to learn, but we will discuss those when we need to use them.
Pupil AssignmentA microwave oven operates with the following sequence. Draw a flowchart and write a P-Basic program for this sequence.
Light onTurntable onMagnetron onWait 30 secondsMagnetron offWait 10 secondsTurntable offBuzzer onWait 0.5 secondBuzzer offLight off
You can decide for yourself which pins to allocate to the output transducers
Adding Comments
Comments are always added to program listings to help explain the program operation. An example is shown below.
Main:
high 7 ‘switch pin 7 high
pause 1000 ‘wait 1 second
low 7 ‘switch pin 7 off
pause 1000 ‘wait 1 second
goto main ‘jump to label main
Note the apostrophe which tells the program that what follows is a comment, not a line of code.
Program Layout & White Space
Main:
high 7 ‘switch pin 7 high
pause 1000 ‘wait 1 second
low 7 ‘switch pin 7 off
pause 1000 ‘wait 1 second
goto main ‘jump to label main
Lets have a look at the layout of the previous code. Note how the code is indented, (tabbed in). This is known as leaving “WHITE SPACE”. White space makes the layout and reading of programs much clearer.
The start of the program is indicated by the “LABEL” main, note the colon after the label. Labels can have any name as long as it is not a P- Basic command.
Copy down the program below and label each part as shown.
Label
Code
White Space
Comments
Symbols
Sometimes it can be hard to remember which pins are connected to which devices. The ‘symbol’ command can then be used at the start of a program to rename the inputs and outputs.
symbol red = 7 ' rename 7 ‘red’symbol green = 5 ' rename 5 ‘green’
main: ' make a label called ‘main’
high red ' red LED onlow green ' green LED offpause 1000 ' wait 1 secondlow red ' red LED offhigh green ' green LED onpause 1000 ' wait 1 secondgoto main ' jump back to the start
Key in the program, then run and test.
LOOPS
Sometimes it is necessary to create programs that loop ‘forever’, as is the case in this flowchart. There is no ‘Stop’ symbol because the program never ends!
What command makes the program loop?
main:
high 7
pause 2000high 6pause 1000high 4high 5pause 3000low 4low 5low 6low 7pause 1000goto main
START
SWITC H PIN 7HIG H
SWITC H PIN 6HIG H
SWITC H PINS 4 5HIG H
&
WAIT 2 SEC O NDS
SWITC H ALLO FF
WAIT 3 SEC O NDS
WAIT 1 SEC O ND
WAIT 1 SEC O ND
Pupil Assignment
red 10 s
red andamber
2 s
green 10 s
amber 2 s
1. Draw a flow chart for the control of the traffic lights
2. Write a P-Basic program using the symbol command to give names to pins
3. The program should loop
4. Run and test your program
Pupil AssignmentA fountain in a garden centre is to be used to attract visitors to a new range of plastic ponds. The garden centre owner wishes to develop a microcontroller-based system that can be programmed to switch the fountain pump and an external lighting system on and off at regular intervals.
Draw a flowchart for the control sequence and add the missing comments to the program listing.
main: high 7 ' switch the pump onpause 10000 ' wait 10 secondshigh 6 ' switch the lights onpause 40000 ' …low 6 ' …pause 10000 ' …low 7 ' …pause 60000 ' …goto main ' …
Pupil Assignment
Input connection
Pin Output connection
7 train motor
6 points
5 green signal
4 red signal
3
2
1
0
1. Switch the green signal on2. Switch the train on for 30
seconds3. Stop the train4. Switch the green signal off and
the red signal on5. Switch the points on6. Switch the train on for 30
seconds7. Stop the train8. Switch the points off9. Switch the red signal off 10. Jump back to step 1
A toy shop has a train set in the window. The train set has an electric train, a set of red/green signals and a set of moving track points that allow the train to move around two different loops of track. Draw a flow chart and write a P-Basic program to control the train set.
Output Module
Allows output transducers to be connected to the stamp
controller
Typical output transducers are Motors, Buzzers and Bulbs
To use the output module, the output device should be
connected between the screw-terminal numbered output (4–7) and a V+ connection.
Pupil Activity
STAM PC O N TR O LLER
O U TPU TD R IVER
M O D U LE
main: ' make a label called ‘main’high 5 ' motor A forwardhigh 7 ' motor B forwardpause 1000 ' wait 1 secondlow 5 ' motor A haltlow 7 ' motor B haltpause 1000 ' wait 1 secondhigh 4 ' motor A backwardhigh 6 ' motor B backwardpause 1000 ' wait 1 secondlow 4 ' motor A haltlow 6 ' motor B haltgoto main ' jump back to the start
Connect 2 dc motors to the output module, enter the following code then run and test your program.
YOUR TEACHER WILL EXPLAIN THE MODULE CONNECTIONS
Speed Control
There are two ways to control the speed of a d.c. motor.
Vary the voltage applied to the motor. Unfortunately the ‘turning power’ (torque) of the motor will also drop, which means the whole motor system will be less powerful.
The second way to control the motor is to always apply the full voltage but then to switch the power supply on and off rapidly. The advantage of this system is that the torque remains quite high.
This method is known as PULSE WIDTH MODULATION
Pulse Width Modulation
V
tSPACE
MARK
Motor off is known as SPACE – Larger Space to Mark Ratio = slow speed
Motor on is known as MARK – Larger Mark to Space Ratio = fast speed
Pupil Activity
Connect a d.c. solar motor across the ‘V+’ and ‘7’ terminals on the output driver module.
Key in, download and run the program listed below. This program drives the motor at approximately half speed, as the space (off time) is twice the length of the mark (on time).
main: high 7 ' output highpause 5 ' pause for 5 mslow 7 ' output lowpause 10 ' pause for 10 msgoto main ' loop
Try out different speeds (by experiment) by altering the length of the pause delays.
Pupil Assignment
1) Explain the terms ‘mark’ and ‘space’ in relation to PWM speed control of a d.c. motor.
2) Describe the advantages and disadvantages of using PWM speed control.
3) Sketch 2 PWM graphs, one for a fast speed and one for a slow speed.
Pupil Assignment
The motor on the washing machine is controlled by outputs 6 and 7 (motor B). Switching output 6 on will make the motor turn one way; switching output 7 on will make the motor turn the other way.
Draw a flowchart and write a PBASIC program that will make the motor rotate at full speed in each direction for five seconds.
Write a second PBASIC program that will make the motor rotate at half speed in each direction for five seconds. Use PWM speed control for the motor.
For Next Loops
It is often useful to repeat the same part of a program a number of times, for instance when flashing an LED. In these cases a ‘for … next’ loop can be used.
START
SET COUNTER = 5
SWITCH PIN 7HIGH
WAIT 1 s
SWITCH PIN 7LOW
HAVE WELOOPED 5
TIMES?
STOP
WAIT 1 s
YES
NO
?
Note the new flowchart symbol. This is the decision symbol
For Next Loops – Pupil Activity
Key in, download and run the following program.
symbol counter = b0 ' define the variable ‘counter’symbol red = 7 ' define pin 7 with the name ‘red’
main: for counter = 1 to 5 ' start a for … next loop
high red ' switch pin 7 high pause 1000 ' wait for 1
second low red ' switch pin 7 low pause 1000 ' wait for 1
secondnext counter ' end of for …
next loopend ' end program
Pupil Assignment
3
3
33
Connect the buggy to the output module.
The buggy should follow the path shown in the diagram, moving in each direction for three seconds.
Draw a flowchart for the movement of the buggy, making use of a ‘for … next’ command structure.
Write a high-level program in PBASIC to control the movement of the buggy as shown by your flowchart.
Sub - Procedures
A sub-procedure is a separate ‘mini-program’ that can be called from the main program.
Once the sub-procedure has been carried out, the main program continues.
Sub-procedures are often used to separate the program into small sections to make it easier to understand.
Sub-procedures that complete common tasks can also be copied from program to program to save time.
Pupil Activity
symbol red = 7 ' rename pin 7 ‘red’symbol buzzer = 6 ' rename pin 6 ‘buzzer’symbol counter = b0 ' define a counter using variable b0
main: ' make a label called ‘main’gosub flash ' call the sub-procedure flashgosub noise ' call the sub-procedure noisegoto main ' loop backend ' end of the main program
flash: ' make a sub-procedure called ‘flash’for counter = 1 to 25 ' start a for … next loop
high red ' red LED on pause 50 ' wait 0.05 second low red ' red LED off pause 50 ' wait 0.05 secondnext counter ' next loopreturn ' return from the sub-procedure
noise:high buzzer ' buzzer onpause 2000 ' wait 2 secondslow buzzer ' buzzer offreturn ' return from the sub-procedure
Flowchart Symbol
Sub-Procedure symbol
Your teacher will show you the correct way to draw a flowchart which includes a sub-procedure
Pupil Assignment
A washing machine motor should rotate 15 seconds in one direction before reversing and rotating 15 seconds in the opposite direction. This should repeat 10 times.
Draw a flowchart
Write a P-Basic program making use of sub-procedures
Run and test your program
Allows sensors to be connected to the stamp controller
There are 4 digital and 2 analogue inputs Pins 0 and 1 have a test button, they can be
pressed instead of adding switches
Input Module
Digital Sensors act like switches
They are either ON or OFF HIGH or LOW 1 or 0
Some common switches you will meet are the , MicroswitchPush and Rocker switchReed switch
Digital Signals and Input Transducers
VOLTAGE
TIME
5 V
0 V
Analogue Signals
Time (s)
Volts (V)
Analogue signals can vary between a maximum and minimum value and depend on the conditions being monitored, for example light or temperature.
Common analogue input transducers are the Light Dependent Resistor, thermistor, (temperature sensor) and variable resistor.
More Symbols
Microswitch (Single pole, single throw).
Push Switch
Reed Switch
Thermistor
-t
Light Dependent Resistor, LDR
Magnet
Variable Resistor
Push to make
if-then Command
To enable the Stamp Controller to accept inputs, we need to learn a new command, the IF – THEN command
Connect a switch to pin 0, key in, download and run the program listed below. This program makes output pin 7 flash every time the push-switch on input pin 0 is pushed.
main: ' make a label called ‘main’
if pin0 =1 then flash ' jump if the input is ongoto main ' else loop back around
flash: ' make a label called ‘flash’
high 7 ' switch output 7 onpause 2000 ' wait 2 secondslow 7 ' switch output 7 offgoto main ' jump back to start
Pupil Assignment
A burglar alarm must sound a buzzer and light a warning signal for 20 seconds when any of the 2 windows in a room are opened. Each window contains a reed switch that is connected to the alarm.
Draw a flowchart and write a PBASIC program that will operate the burglar alarm correctly. Use the following input and output connections.
Input connection
Pin Output connection
7 red light
6 buzzer
5
4
3
2
switch 1 1
switch 0 0
Pupil Assignment
Input connection
Pin Output connection
7 red light
6 yellow light
5 green light
4
3
2
1
pressure mat
0
As part of a Christmas decoration in a shop, a lighting sequence is to be controlled by a microcontroller. The output connections are shown below.
When a visitor treads on a pressure mat under the carpet, the lights should flash on and off in sequence three times.
Pupil AssignmentInput connection
Pin Output connection
7 motor reverse
6 motor forward
5 solenoid bolt
4 LED
3
2
door Microswitch
1
start switch 0
A washing machine operates as follows.
Wait until the start switch is on.Wait until the door switch is on.Switch on the LED.Switch on the solenoid bolt.Wash cycle: repeated 20 times
– motor forwards for five seconds, motor backwards for five seconds.
Spin cycle: repeated 10 times – motor forwards for two seconds, motor backwards for two seconds.
Switch off the solenoid bolt.Switch off the LED.
Draw a flowchart and write a PBASIC program to control the movement of the washing machine as described above.
Pupil Assignment
N
Y
START
GREENLED ON
SWITCHPUSHED?
GREEN LED OFFAMBER LED ON
WAIT 3 s
GREEN LED OFFRED LED ON
WAIT 4 s
AMBER LED ON
WAIT 2 s
RED/AMBER LEDOFF
GREEN LED ON
Develop a PBASIC program that will carry out the instructions shown in the flowchart. Use the following pin configuration.
Input connection
Pin Output connection
7 red light
6 amber light
5 green light
4
3
2
1
start switch 0
Red On/ Amber Green Off
Pupil Assignment
State whether each of the input transducers below is an analogue or digital sensor.
(a) LDR(b) reed switch(c) microswitch(d) thermistor(e) variable resistor(f) tilt switch(g) push switch(h) rocker switch
For each of the input transducers give an example of an electronic product that may use that transducer. Explain how the transducer would be used within the product.
Number Systems
The Stamp Microcontroller can accept decimal numbers as well as binary numbers. However, we need to tell the microcontroller what we are using.
Decimal values are written as usual: 10 (= 10 in decimal)
Binary values are indicated by a % symbol: %10 (= 2 in decimal)
Your teacher will now show you how to convert decimal to binary and binary to decimal.
Pupil Assignment
Convert each of the following binary numbers into decimal.
1) %111100002) %110000113) %010101014) %10101010
Convert each of these decimal numbers into binary.
1) 172) 233) 114) 385) 33
The “let dirs” command
Up till now, if we wanted to switch on more than one output, we needed to switch them on one by one. However, by using binary, we can now switch on more than one pin at a time.
To enable us to achieve this, we must first tell the microcontroller what pins are outputs and which are inputs.
To do this we use the dirs command.
Let dirs = %00001111 ‘let pins 0 to 3 be outputs the rest inputs
The “let pins” command
Once we have instructed the microcontroller what is outputs and what is inputs, we use the let pins command.Let dirs =%11111111 ‘all pins outputs
Main:
let pins = %00001111 ‘switch on pins 0 to 3
pause 1500 ‘1.5 second delay
let pins = 0 ‘switch all pins off
pause 1500 ‘1.5 second delay
let pins = %11110000 ‘switch on pins 4 to 7
pause 1500 ‘1.5 second delay
let pins = 0 ‘switch off all pins
end ‘end program