95
A Reconfigurable Multi-Touch Remote Control System for Teleoperated Robots CHAPTER 1 1

A Reconfigurable Multi-Touch Remote Control System For

Embed Size (px)

Citation preview

Page 1: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

CHAPTER 1

1

Page 2: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

1.1 ABSTRACT

This paper presents a solution to control mobile robots by using customizable

haptic and multi-touch gesture interfaces on handheld devices.

INTRODUCTION

Mobile robots are gaining increasing attention in the “Internet of Things” (IoT).

Mobile robots have a wide range of applications: manufacturing, surveillance, disaster

response support, home automation, and so forth. In all these cases, a completely

autonomous system would be highly desirable, but its design is particularly challenging

or even not feasible yet. Therefore, robots have to be manually controlled by a human

operator when required.

In addition, many robots perform a specialized work that is not easily manageable

using standard input controls (e.g. mouse, joystick, keyboard, and other “standard” input

devices). In the last years, it has been shown that there is a need to introduce more

intuitive gesture-based input devices to allow an operator to effectively control one or

more robots. From the later point a “Multi-Touch gesture interfaces for Robot

concept” were decided to implement.

PROJECT DESCRIPTION:

In the Multi-Touch Gesture interfacing systems, the user can interact with robots

using touch and hand gestures. Currently, available robot actions comprise acceleration,

deceleration/reverse, and emergency stop, turn left/right. Each of these actions can be

mapped to any of the following gestures: single and multiple taps, clockwise and

counterclockwise rotations, device tilt and inclinations. Meanwhile, by touching a point

in the image shown by the handheld device the robot will follow the selected target i.e.,

moves left/right, get forward/reverse and stop.

The above two scheme will be done through Touch and accelerometer sensors, in

addition to this ZigBee / WiFi Communications are pooled to make a enhance the

mobility function of robots.

2

Page 3: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

2.1 METHODOLOGY OF THE STUDY

“A Reconfigurable Multi-Touch Remote Control System for Teleoperated Robots”

is designed and implemented using PIC Micro controller to make the display work easy.

The entire project was developed under embedded systems.

2.2 EMBEDDED SYSTEMS:

A system is something that maintains its existence and functions as a whole

through the interaction of its parts. E.g. Body, Mankind, Access Control, etc A system is

a part of the world that a person or group of persons during some time interval and for

some purpose choose to regard as a whole, consisting of interrelated components, each

component characterized by properties that are selected as being relevant to the purpose.

Embedded System is a combination of hardware and software used to achieve a

single specific task.

Embedded systems are computer systems that monitor, respond to, or control an

external environment.

Environment connected to systems through sensors, actuators and other I/O

interfaces.

Embedded system must meet timing & other constraints imposed on it by

environment.

An embedded system is a microcontroller-based, software driven, reliable, real-

time control system, autonomous, or human or network interactive, operating on diverse

physical variables and in diverse environments and sold into a competitive and cost

conscious market.

An embedded system is not a computer system that is used primarily for

processing, not a software system on PC or UNIX, not a traditional business or scientific

application. High-end embedded & lower end embedded systems. High-end embedded

system - Generally 32, 64 Bit Controllers used with OS. Examples Personal Digital

Assistant and Mobile phones etc .Lower end embedded systems - Generally 8,16 Bit

Controllers used with an minimal operating systems and hardware layout designed for the

3

Page 4: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

specific purpose. Examples Small controllers and devices in our every day life like

Washing Machine, Microwave Ovens, where they are embedded in.

4

Page 5: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

CHAPTER 3

5

Page 6: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

3.1 BLOCK DIAGRAM OF TRANSMITTER

Hand Held Device:

Robot Section:

6

Power supply source

Motor control unit Single-Chip

computer

Robot Displacement

motors

ZigBee Wireless Modem

Power supply source

Touch Screen Single-Chip

computer

Accelerometer Sensor

ZigBee Wireless Modem

Page 7: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

3.3 DESCRIPTION OF THE BLOCK DIAGRAM

The AC main Block is the power supply which is of single phase 230V ac. This

should be given to step down transformer to reduce the 230V ac voltage to low voltage.

i.e., to 6V or 12V ac this value depends on the transformer inner winding. The output of

the transformer is given to the rectifier circuit. This rectifier converts ac voltage to dc

voltage. But the voltage may consist of ripples or harmonics.

To avoid these ripples the output of the rectifier is connected to filter. The filter

thus removes the harmonics. This is the exact dc voltage of the given specification. But

the controller operates at 5V dc. So we need a regulator to reduce the voltage. 7805

regulator produces 5V dc.

The 7805 regulator produces 5V dc and this voltage is given to PIC micro

controller, Zigbee module. The output of the microcontroller is given to the Zigbee

module. The receiver receives the signal through antenna and sends that signal to

microcontroller. The output of the micro controller is given to the Robot displacement

motors with the help of motor control unit.

7

Page 8: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

8

Page 9: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

3.4 CIRCUIT DIAGRAM OF TRANSMITTER:

9

Page 10: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

3.5 CIRCUIT DIAGRAM OF RECEIVER:

10

Page 11: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

3.6POWERSUPPLY

3.7 CIRCUIT DESCRIPTION

POWER SUPPLY:

Power supply unit consists of Step down transformer, Rectifier, Input filter, Regulator

unit, Output filter.

The Step down Transformer is used to step down the main supply voltage from 230V AC

to lower value. This 230 AC voltage cannot be used directly, thus it is stepped down. The

Transformer consists of primary and secondary coils. To reduce or step down the voltage, the

transformer is designed to contain less number of turns in its secondary core. The output from the

secondary coil is also AC waveform. Thus the conversion from AC to DC is essential. This

conversion is achieved by using the Rectifier Circuit Unit.

The Rectifier circuit is used to convert the AC voltage into its corresponding DC voltage.

There are Half-Wave, Full-Wave and bridge Rectifiers available for this specific function. The

11

Page 12: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

most important and simple device used in Rectifier circuit is the diode. The simple function of the

diode is to conduct when forward biased and not to conduct in reverse bias.

The Forward Bias is achieved by connecting the diode’s positive with positive of the

battery and negative with battery’s negative. The efficient circuit used is the Full wave Bridge

rectifier circuit. The output voltage of the rectifier is in rippled form, the ripples from the

obtained DC voltage are removed using other circuits available. The circuit used for removing the

ripples is called Filter circuit.

Capacitors are used as filter. The ripples from the DC voltage are removed and pure DC

voltage is obtained. And also these capacitors are used to reduce the harmonics of the input

voltage. The primary action performed by capacitor is charging and discharging. It charges in

positive half cycle of the AC voltage and it will discharge in negative half cycle. Here we used

1000µF capacitor. So it allows only AC voltage and does not allow the DC voltage. This filter is

fixed before the regulator. Thus the output is free from ripples.

Regulator regulates the output voltage to be always constant. The output voltage is

maintained irrespective of the fluctuations in the input AC voltage. As and then the AC voltage

changes, the DC voltage also changes. Thus to avoid this Regulators are used. Also when the

internal resistance of the power supply is greater than 30 ohms, the output gets affected. Thus this

can be successfully reduced here. The regulators are mainly classified for low voltage and for

high voltage. Here we used 7805 positive regulator. It reduces the 6V dc voltage to 5V dc

Voltage.

The Filter circuit is often fixed after the Regulator circuit. Capacitor is most often used as

filter. The principle of the capacitor is to charge and discharge. It charges during the positive half

cycle of the AC voltage and discharges during the negative half cycle. So it allows only AC

voltage and does not allow the DC voltage. This filter is fixed after the Regulator circuit to filter

12

Page 13: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

any of the possibly found ripples in the output received finally. Here we used 0.1µF capacitor.

The output at this stage is 5V and is given to the Microcontroller. The output of the 7805

regulator is connected to PIC 16f877A microcontroller.

CONTROLLER CIRCUIT

The controller used in the circuit is the PIC 16f877A micro controller. The circuit

consists of LCD, Transmitter and Receiver. Transmitter used in the circuit is TWS-434. It is

having 4 pins. 1st pin is grounded and 2nd pin is given to the 25th pin of the PIC. 3rd pin is

connected to the +5v dc supply. 4th pin is given to the antenna. The +5v power supply given to the

1st pin of the PIC.

13

Page 14: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

14

Page 15: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

CHAPTER 4

15

Page 16: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

4.1 Hardware Requirements:

1. Power Supply

2. Microcontroller

3. Zigbee module

4. touch screen

5. accelerometer sensor

6. motor control unit

4.2 POWER SUPPLY UNIT:

Circuit Diagram

Power supply unit consists of following units

i) Step down transformer

ii) Rectifier unit

iii) Input filter

iv) Regulator unit

v) Output filter

16

Page 17: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

4.2.1 STEPDOWN TRANSFORMER:

The Step down Transformer is used to step down the main supply voltage from 230V AC

to lower value. This 230 AC voltage cannot be used directly, thus it is stepped down. The

Transformer consists of primary and secondary coils. To reduce or step down the voltage, the

transformer is designed to contain less number of turns in its secondary core. The output from the

secondary coil is also AC waveform. Thus the conversion from AC to DC is essential. This

conversion is achieved by using the Rectifier Circuit/Unit.

4.2.2 RECTIFIER UNIT:

The Rectifier circuit is used to convert the AC voltage into its corresponding DC voltage.

There are Half-Wave, Full-Wave and bridge Rectifiers available for this specific function. The

most important and simple device used in Rectifier circuit is the diode. The simple function of the

diode is to conduct when forward biased and not to conduct in reverse bias.

The Forward Bias is achieved by connecting the diode’s positive with positive of the

battery and negative with battery’s negative. The efficient circuit used is the Full wave Bridge

rectifier circuit. The output voltage of the rectifier is in rippled form, the ripples from the

obtained DC voltage are removed using other circuits available. The circuit used for removing the

ripples is called Filter circuit.

4.2.3 INPUT FILTER:

Capacitors are used as filter. The ripples from the DC voltage are removed and pure DC

voltage is obtained. And also these capacitors are used to reduce the harmonics of the input

voltage. The primary action performed by capacitor is charging and discharging. It charges in

positive half cycle of the AC voltage and it will discharge in negative half cycle. So it allows only

AC voltage and does not allow the DC voltage. This filter is fixed before the regulator. Thus the

output is free from ripples.

17

Page 18: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

4.2.4 REGULATOR UNIT:

7805 Regulator

Regulator regulates the output voltage to be always constant. The output voltage is

maintained irrespective of the fluctuations in the input AC voltage. As and then the AC voltage

changes, the DC voltage also changes. Thus to avoid this Regulators are used. Also when the

internal resistance of the power supply is greater than 30 ohms, the output gets affected. Thus this

can be successfully reduced here. The regulators are mainly classified for low voltage and for

high voltage. Further they can also be classified as:

i) Positive regulator

1---> input pin

2---> ground pin

3---> output pin

It regulates the positive voltage.

ii) Negative regulator

1---> ground pin

2---> input pin

3---> output pin

It regulates the negative voltage.

18

Page 19: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

4.2.5 OUTPUT FILTER:

The Filter circuit is often fixed after the Regulator circuit. Capacitor is most often used as

filter. The principle of the capacitor is to charge and discharge. It charges during the positive half

cycle of the AC voltage and discharges during the negative half cycle. So it allows only AC

voltage and does not allow the DC voltage. This filter is fixed after the Regulator circuit to filter

any of the possibly found ripples in the output received finally. Here we used 0.1µF capacitor.

The output at this stage is 5V and is given to the Microcontroller.

4.3 MICRO CONTROLLER:

A computer-on-a-chip is a variation of a microprocessor which combines the processor

core (CPU), some memory, and I/O (input/output) lines, all on one chip. The computer-on-a-chip

is called the microcomputer whose proper meaning is a computer using a (number of)

microprocessor(s) as its CPUs, while the concept of the microcomputer is known to be a

microcontroller. A microcontroller can be viewed as a set of digital logic circuits integrated on a

single silicon chip. This chip is used for only specific applications.

4.3.1 ADVANTAGES OF USING A MICROCONTROLLER OVER

MICROPROCESSOR:

A designer will use a Microcontroller to

1. Gather input from various sensors

2. Process this input into a set of actions

3. Use the output mechanisms on the Microcontroller to do something useful

4. RAM and ROM are inbuilt in the MC.

5. Cheap compared to MP.

19

Page 20: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

6. Multi machine control is possible simultaneously.

Examples:

8051 (ATMAL), PIC (Microchip), Motorola (Motorola), ARM Processor, Applications:

Cell phones, Computers, Robots, Interfacing to two pc’s.

4.3.2 Microcontroller Core Features:

• High-performance RISC CPU.

• Only 35 single word instructions to learn.

• All single cycle instructions except for program branches which are two cycle.

• Operating speed: DC - 20 MHz clock input DC - 200 ns instruction cycle.

• Up to 8K x 14 words of FLASH Program Memory, Up to 368 x 8 bytes of Data Memory

(RAM) Up to 256 x 8 bytes of EEPROM data memory.

• Pin out compatible to the PIC16C73B/74B/76/77

• Interrupt capability (up to 14 sources)

• Eight level deep hardware stack

• Direct, indirect and relative addressing modes.

• Power-on Reset (POR).

• Power-up Timer (PWRT) and Oscillator Start-up Timer (OST).

• Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable operation.

• Programmable code-protection.

• Power saving SLEEP mode.

• Selectable oscillator options.

• Low-power, high-speed CMOS FLASH/EEPROM technology.

• Fully static design.

• In-Circuit Serial Programming (ICSP) .

20

Page 21: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

• Single 5V In-Circuit Serial Programming capability.

• In-Circuit Debugging via two pins.

• Processor read/write access to program memory.

• Wide operating voltage range: 2.0V to 5.5V.

• High Sink/Source Current: 25 mA.

• Commercial and Industrial temperature ranges.

• Low-power consumption.

In this project we used PIC 16f877A microcontroller. PIC means Peripheral Interface Controller.

The PIC family having different series. The series are 12- Series, 14- Series, 16- Series, 18-

Series, and 24- Series. We used 16 Series PIC microcontroller.

4.4 Pic Microcontroller 16F877A:

4.4.1 INTRODUCTION TO PIC MICROCONTROLLER 16F877A

The PIC 16f877A microcontroller is a 40-pin IC. The first pin of the controller is

MCLR pin and the 5V dc supply is given to this pin through 10KΩ resistor. This supply is also

given to 11th pin directly. The 12th pin of the controller is grounded. A tank circuit consists of a 4

MHZ crystal oscillator and two 22pf capacitors is connected to 13th and 14th pins of the PIC.

4.4.2 FEATURES OF PIC MICROCONTROLLER 16F877A

Operating frequency: DC-20Mhz.

Flash program memory (14 bit words):8K

Data memory (in bytes): 368

EEPROM Data memory (in bytes):256

Interrupts: 15

I/o ports: A, B, C, D, E

Timers: 3

Analog comparators: 2

Instructions: 35

21

Page 22: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

4.4.3 PIN DIAGRAM OF PIC 16F874A/877A:

22

Page 23: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

4.4.4 FUNCTIONAL BLOCK DIAGRAM OF PIC 16F877A

23

Page 24: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

INTRODUCTION TO ZIGBEE

ZIGBEE(IEEE 802.15.4)

ZigBee is the set of specs built around the IEEE 802.15.4 wireless protocol. The

IEEE is the Institute of Electrical and Electronics Engineers. They are a non-profit

organization dedicated to furthering technology involving electronics and electronic

devices. The 802 group is the section of the IEEE involved in Information technology—

Telecommunications and information exchange between systems—Local and

metropolitan area networks including mid-sized networks. Group 15.4 deals specifically

with wireless networking (Wireless Medium Access Control (MAC) and Physical Layer

(PHY) Specifications for Low-Rate Wireless Personal Area Networks (WPANs))

technologies.

ZigBee devices are actively limited to a through-rate of 250Kbps, operating on

the 2.4 GHz ISM (The Industrial, Scientific and Medical) band, which is available

throughout most of the world.

INTRODUCTION:

An LR-WPAN (Low Data Rate-Wireless Personal Area Network) is a simple,

low-cost communication network that allows wireless connectivity in applications with

limited power and relaxed throughput requirements. The main objectives of an LR-

WPAN are ease of installation, reliable data transfer, short-range operation, extremely

low cost, and a reasonable battery life, while maintaining a simple and flexible protocol.

DEVICETYPES

ZigBee networks use three device types:

The network coordinator maintains overall network knowledge. It's the most

sophisticated of the three types and requires the most memory and computing power.

The full function device (FFD) supports all 802.15.4 functions and features

specified by the standard. It can function as a network coordinator. Additional memory

and computing power make it ideal for network router functions or it could be used in

network-edge devices (where the network touches the real world).

24

Page 25: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

The reduced function device (RFD) carries limited (as specified by the standard)

functionality to lower cost and complexity. It's generally found in network-edge devices.

NETWORK TOPOLOGIES

Depending on the application requirements, an IEEE 802.15.4 LR-WPAN may

operate in either of two topologies: the star topology or the peer-to-peer topology. Both

are shown in Figure. In the star topology the communication is established between

devices and a single central controller, called the PAN coordinator.

The peer-to-peer topology also has a PAN coordinator; however, it differs from

the star topology in that any device may communicate with any other device as long as

they are in range of one another. Peer-to-peer topology allows more complex network

formations to be implemented, such as mesh networking topology. Applications such as

industrial control and monitoring, wireless sensor networks, asset and inventory tracking,

intelligent agriculture, and security would benefit from such a network topology. A peer-

to-peer network can be ad hoc, self-organizing, and self-healing. It may also allow

multiple hops to route messages from any device to any other device on the network.

Such functions can be added at the higher layer, but are not part of this standard.

Each independent PAN selects a unique identifier. This PAN identifier allows

communication between devices within a network using short addresses and enables

transmissions between devices across independent networks.

25

Page 26: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

ARCHITECTURE

The IEEE 802.15.4 architecture is defined in terms of a number of blocks in order

to simplify the standard. These blocks are called layers. Each layer is responsible for one

part of the standard and offers services to the higher layers. The layout of the blocks is

based on the open systems interconnection (OSI) seven-layer model. The interfaces

between the layers serve to define the logical links that are described in this standard. An

LR-WPAN device comprises a PHY, which contains the radio frequency (RF) transceiver

along with its low-level control mechanism, and a MAC sub-layer that provides access to

the physical channel for all types of transfer. Figure y shows these blocks in a graphical

representation

Figure x, Cluster tree Network

26

Page 27: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Figure y, ZigBee stack architectureThe upper layers, shown in Figure y, consist of a network layer, which provides

network configuration, manipulation, and message routing, and an application layer,

which provides the intended function of the device.

Physical layer (PHY)

The PHY provides two services: the PHY data service and the PHY management

service interfacing to the physical layer management entity (PLME) service access point

(SAP) (known as the PLME-SAP). The PHY data service enables the transmission and

reception of PHY protocol data units (PPDUs) across the physical radio channel. The

features of the PHY are activation and deactivation of the radio transceiver, ED, LQI,

channel selection, clear channel assessment (CCA), and transmitting as well as receiving

packets across the physical medium.

27

Page 28: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

The radio operates at one or more of the following unlicensed bands:

— 868–868.6 MHz (e.g., Europe)

— 902–928 MHz (e.g., North America)

— 2400–2483.5 MHz (worldwide)

MAC sub layer

The MAC sub layer provides two services: the MAC data service and the MAC

management service interfacing to the MAC sub layer management entity (MLME)

service access point (SAP) (known as MLME-SAP). The MAC data service enables the

transmission and reception of MAC protocol data units (MPDUs) across the PHY data

service. The features of the MAC sub layer are beacon management, channel access, GTS

management, frame validation, acknowledged frame delivery, association, and

disassociation. In addition, the MAC sub layer provides hooks for implementing

application-appropriate security mechanisms.

28

Page 29: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

The data frame provides a payload of up to 104 bytes. The frame is numbered to ensure

that all packets are tracked. A frame-check sequence ensures that packets are received

without error. This frame structure improves reliability in difficult conditions.

Another important structure for 802.15.4 is the acknowledgment (ACK) frame. It provides

feedback from the receiver to the sender confirming that the packet was received without

error. The device takes advantage of specified "quiet time" between frames to send a

short packet immediately after the data-packet transmission.

A MAC command frame provides the mechanism for remote control and configuration of

client nodes. A centralized network manager uses MAC to configure individual clients'

command frames no matter how large the network.

29

Page 30: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Finally, the beacon frame wakes up client devices, which listen for their address and go

back to sleep if they don't receive it. Beacons are important for mesh and cluster-tree

networks to keep all the nodes synchronized without requiring those nodes to consume

precious battery energy by listening for long periods of time.

DATA TRANSFER MODEL

Three types of data transfer transactions exist. The first one is the data transfer to

a coordinator in which a device transmits the data. The second transaction is the data

transfer from a coordinator in which the device receives the data. The third transaction is

the data transfer between two peer devices. In star topology, only two of these

transactions are used because data may be exchanged only between the coordinator and a

device. In a peer-to-peer topology, data may be exchanged between any two devices on

the network; consequently all three transactions may be used in this topology.

The mechanisms for each transfer type depend on whether the network supports

the transmission of beacons. A beacon-enabled PAN is used in networks that either

require synchronization or support for low latency devices, such as PC peripherals. If the

network does not need synchronization or support for low-latency devices, it can elect not

to use the beacon for normal transfers. However, the beacon is still required for network

discovery.

30

Page 31: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

DEVICE TYPES

ZigBee networks use three device types:

The network coordinator maintains overall network knowledge. It's the most

sophisticated of the three types and requires the most memory and computing

power.

The full function device (FFD) supports all 802.15.4 functions and features

specified by the standard. It can function as a network coordinator. Additional

memory and computing power make it ideal for network router functions or it

could be used in network-edge devices (where the network touches the real

world).

The reduced function device (RFD) carries limited (as specified by the standard)

functionality to lower cost and complexity. It's generally found in network-edge

devices.

POWER AND BEACONS

Ultra-low power consumption is how ZigBee technology promotes a long lifetime

for devices with non rechargeable batteries. ZigBee networks are designed to conserve

the power of the slave nodes. For most of the time, a slave device is in deep-sleep mode

and wakes up only for a fraction of a second to confirm its presence in the network. For

example, the transition from sleep mode to data transition is around 15ms and new slave

enumeration typically takes just 30ms.

31

Page 32: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

ZigBee networks can use beacon or non-beacon environments. Beacons are used

to synchronize the network devices, identify the HAN, and describe the structure of the

super frame. The beacon intervals are set by the network coordinator and vary from 15ms

to over 4 minutes. Sixteen equal time slots are allocated between beacons for message

delivery. The channel access in each time slot is contention-based. However, the network

coordinator can dedicate up to seven guaranteed time slots for non contention based or

low-latency delivery.

The non-beacon mode is a simple, traditional multiple-access system used in

simple peer and near-peer networks. It operates like a two-way radio network, where

each client is autonomous and can initiate a conversation at will, but could interfere with

others unintentionally. The recipient may not hear the call or the channel might already

be in use.

Beacon mode is a mechanism for controlling power consumption in extended

networks such as cluster tree or mesh. It enables all the clients to know when to

communicate with each other. Here, the two-way radio network has a central dispatcher

that manages the channel and arranges the calls. The primary value of beacon mode is

that it reduces the system's power consumption.

Non-beacon mode is typically used for security systems where client units, such

as intrusion sensors, motion detectors, and glass-break detectors, sleep 99.999% of the

time. Remote units wake up on a regular, yet random, basis to announce their continued

presence in the network. When an event occurs, the sensor wakes up instantly and

32

Page 33: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

transmits the alert ("Somebody's on the front porch"). The network coordinator, powered

from the main source, has its receiver on all the time and can therefore wait to hear from

each of these stations. Since the network coordinator has an "infinite" source of power it

can allow clients to sleep for unlimited periods of time, enabling them to save power.

Beacon mode is more suitable when the network coordinator is battery-operated.

Client units listen for the network coordinator's beacon (broadcast at intervals between

0.015 and 252s). A client registers with the coordinator and looks for any messages

directed to it. If no messages are pending, the client returns to sleep, awaking on a

schedule specified by the coordinator. Once the client communications are completed, the

coordinator itself returns to sleep.

This timing requirement may have an impact on the cost of the timing circuit in

each end device. Longer intervals of sleep mean that the timer must be more accurate or

turn on earlier to make sure that the beacon is heard, both of which will increase receiver

power consumption. Longer sleep intervals also mean the timer must improve the quality

of the timing oscillator circuit (which increases cost) or control the maximum period of

time between beacons to not exceed 252s, keeping oscillator circuit costs low.

SECURITY

Security and data integrity are key benefits of the ZigBee technology. ZigBee

leverages the security model of the IEEE 802.15.4 MAC sub layer which specifies four

security services:

33

Page 34: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

access control—the device maintains a list of trusted devices within the network

data encryption, which uses symmetric key 128-bit advanced encryption standard

frame integrity to protect data from being modified by parties without

cryptographic keys

sequential freshness to reject data frames that have been replayed—the network

controller compares the freshness value with the last known value from the device

and rejects it if the freshness value has not been updated to a new value

The actual security implementation is specified by the implementer using a standardized

toolbox of ZigBee security

ACCELEROMETER SENSORS:

Introduction

One of the most common inertial sensors is the accelerometer, a

dynamic sensor capable of a vast range of sensing. Accelerometers are available that

can measure acceleration in one, two, or three orthogonal axes. They are typically used

in one of three modes:

As an intertial measurement of velocity and position;

As a sensor of inclination, tilt, or orientation in 2 or 3 dimensions, as referenced

from the acceleration of gravity (1 g = 9.8m/s2);

As a vibration or impact (shock) sensor.

34

Page 35: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

There are considerable advantages to using an analog accelerometer as opposed to

aninclinometer such as a liquid tilt sensor – inclinometers tend to output

binary information(indicating a state of on or off), thus it is only possible to detect

when the tilt has exceeded some thresholding angle.

Principles of Operation:

Most accelerometers are Micro-Electro-Mechanical Sensors (MEMS). The basic

principle of operation behind the MEMS accelerometer is the displacement of a small

proof mass etched into the silicon surface of the integrated circuit and suspended by

small beams. Consistent with Newton's second law of motion (F = ma), as an

acceleration is applied to the device, a force develops which displaces the mass. The

support beams act as a spring, and the fluid (usually air) trapped inside the IC acts as a

damper, resulting in a second order lumped physical system. This is the source of the

limited operational bandwidth and non-uniform frequency response of accelerometers.

For more information, see reference to Elwenspoek, 1993.

Types of Accelerometer:

There are several different principles upon which an analog accelerometer can be built.

Two very common types utilize capacitive sensing and the piezoelectric effect to sense

the displacement of the proof mass proportional to the applied acceleration.

35

Page 36: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Capacitive:

Accelerometers that implement capacitive sensing output a voltage dependent on the

distance between two planar surfaces. One or both of these “plates” are charged with an

electrical current. Changing the gap between the plates changes the electrical capacity

of the system, which can be measured as a voltage output. This method of sensing is

known for its high accuracy and stability. Capacitive accelerometers are also less prone

to noise and variation with temperature, typically dissipate less power, and can have

larger bandwidths due to internal feedback circuitry. (Elwenspoek 1993)

Piezoelectric:’

Piezoelectric sensing of acceleration is natural, as acceleration is directly proportional

to force. When certain types of crystal are compressed, charges of opposite polarity

accumulate on opposite sides of the crystal. This is known as the piezoelectric effect. In

a piezoelectric accelerometer, charge accumulates on the crystal and is translated and

amplified into either an output current or voltage.

Piezoelectric accelerometers only respond to AC phenomenon such as vibration or

shock. They have a wide dynamic range, but can be expensive depending on their

quality (Doscher 2005)

Piezo-film based accelerometers are best used to measure AC phenomenon such as

vibration or shock, rather than DC phenomenon such as the acceleration of gravity.

They are inexpensive, and respond to other phenomenon such as temperature, sound,

and pressure (Doscher 2005)

36

Page 37: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Other:

There are many other types of accelerometer that are less important to musical

applications, including:

Piezoresistive

Thermal

Null-balance

Servo force balance

Strain gauge

Resonance

Magnetic induction

Optical

Surface acoustic wave (SAW)

Specifications

A typical accelerometer has the following basic specifications:

Analog/digital

Number of axes

Output range (maximum swing)

Sensitivity (voltage output per g)

Bandwidth

Amplitude stability

37

Page 38: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Analog vs. digital: The most important specification of an accelerometer for a given

application is its type of output. Analog accelerometers output a constant variable

voltage depending on the amount of acceleration applied. Digital accelerometers output

a variable frequency square wave, a method known as pulse-width modulation. A pulse

width modulated accelerometer takes readings at a fixed rate, typically 1000 Hz

(though this may be user-configurable based on the IC selected). The value of the

acceleration is proportional to the pulse width (or duty cycle) of the PWM signal.

For use with ADCs commonly used for music interaction systems, analog

accelerometers are usually preferred.

Number of axes: Accelerometers are available that measure in one, two, or three

dimensions. The most familiar type of accelerometer measures across two axes.

However, three-axis accelerometers are increasingly common and inexpensive.

Output range: To measure the acceleration of gravity for use as a tilt sensor, an output

range of ±1.5 g is sufficient. For use as an impact sensor, one of the most common

musical applications, ±5 g or more is desired.

Sensitivity: An indicator of the amount of change in output signal for a given change in

acceleration. A sensitive accelerometer will be more precise and probably

more accurate.

Bandwidth: The bandwidth of a sensor is usually measured in Hertz and indicates the

limit of the near-unity frequency response of the sensor, or how often a reliable reading

38

Page 39: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

can be taken. Humans cannot create body motion much beyond the range of 10-12 Hz.

For this reason, a bandwidth of 40-60 Hz is adequate for tilt or human motion sensing.

For vibration measurement or accurate reading of impact forces, bandwidth should be

in the range of hundreds of Hertz. It should also be noted that for some older

microcontrollers, the bandwidth of an accelerometer may extend beyond the Nyquist

frequency of the A/D converters on the MCU, so for higher bandwidth sensing, the

digital signal may be aliased. This can be remedied with simple passive low-pass

filtering prior to sampling, or by simply choosing a better microcontroller.

Amplitude stability: This is not a specification in itself, but a description of several.

Amplitude stability describes a sensor's change in sensitivity depending on its

application, for instance over varying temperature or time (see below).

Other specifications include:

Zero g offset (voltage output at 0 g)

Noise (sensor minimum resolution)

Temperature range

Bias drift with temperature (effect of temperature on voltage output at 0 g)

Sensitivity drift with temperature (effect of temperature on voltage output per

g)

Power consumption

39

Page 40: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Output:

An accelerometer output value is a scalar corresponding to the magnitude of the

acceleration vector. The most common acceleration, and one that we are constantly

exposed to, is the acceleration that is a result of the earth's gravitational pull. This is a

common reference value from which all other accelerations are measured (known as g,

which is ~9.8m/s^2).

Digital output:

Accelerometers with PWM output can be used in two different ways. For most accurate

results, the PWM signal can be input directly to a microcontroller where the duty cycle

is read in firmware and translated into a scaled acceleration value. (Check with the

datasheet to obtain the scaling factor and required output impedance.) When a

microcontroller with PWM input is not available, or when other means of digitizing the

signal are being used, a simple RC reconstruction filter can be used to obtain an analog

voltage proportional to the acceleration. At rest (50% duty-cycle) the output voltage

will represent no acceleration, higher voltage values (resulting from a higher duty

cycle) will represent positive acceleration, and lower values (<50% duty cycle) indicate

negative acceleration. These voltages can then be scaled and used as one might the

output voltage of an analog output accelerometer.

Analog output:

When compared to most other industrial sensors, analog accelerometers require little

conditioning. Typically, an accelerometer output signal will need an offset,

amplification, and filtration. For analog voltage output accelerometers, the signal can

40

Page 41: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

be a positive or negative voltage, depending on the direction of the acceleration. As

with any sensordestined for an analog to digital converter, the value must be scaled

and/or amplified to maximally span the range of acquisition. Most analog to digital

converters usied in musical applications acquire signals in the 0-5 V range.

The image at right depicts an amplification and offset circuit, including the on-board

operational amplifier in the adxl 105, minimizing the need for additional IC

components. The gain applied to the output is set by the ratio R2/R1. The offset is

controlled by biasing the voltage with variable resistor R4. Accelerometers output bias

will drift according to ambient temperature. The sensors are calibrated for operation at

a specific temperature, typically room temperature. However, in most short duration

indoor applications the offset is relatively constant and stable, and thus does not need

adjustment. If the sensor is intended to be used in multiple environments with differing

ambient temperatures, the bias function should be sufficient for analog calibration of

the device. If the ambient temperature is subject to drastic changes over the course of a

single usage, the temperature output should be summed into the bias circuit.

Smart sensors may even take this into consideration.

The resolution of the data acquired is ultimately determined by the analog to digital

converter. It is possible, however, that the noise floor is above the minimum resolution

of the converter, reducing the resolution of your system. Assuming that the noise is

equally distributed across all frequencies, it is possible to to filter the signal to only

include frequencies within the range of operation. The filter required depends upon

41

Page 42: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

both the type of acquistion as well as the location of the sensor. The bandwidth is

primarily influenced by the three different modes of operation of the sensor.

Uses:

The acceleration measurement has a variety of uses. The sensor can be implemented in

a system that detects velocity, position, shock, vibration, or the acceleration of gravity

to determine orientation (Doscher 2005)

A system consisting of two orthogonal sensors is capable of sensing pitch and roll. This

is useful in capturing head movements. A third orthogonal sensor can be added to the

network to obtain orientation in three dimensional space. This is appropriate for the

detection of pen angles, etc. The sensing capabilities of this network can be furthered to

six degrees of spatial measurement freedom by the addition of three orthogonal

gyroscopes.

As a shock detector, an accelerometer is looking for changes in acceleration. This jerk

is sensed as an overdamped vibration.

Verplaetse has outlined the bandwidths associated with various implementations of

accelerometers as an input device. These are:

Location Usage Frequency Acceleration

Head Tilt 0-8 Hz xx

Hand , Wrist, Finger Cont. 8-12 Hz 0.04-1.0 g

Hand, Arm, Upper Body Cont. 0-12 Hz 0.5-9.0 g

42

Page 43: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Foot, Leg Cont. 0-12 Hz 0.2-6.6 g

Depending on the sensitivity and dynamic range required, the cost of an accelerometer

can grow to thousands of dollars. Nonetheless, highly accurate inexpensive sensors are

available.

43

Page 44: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

CHAPTER 5

44

Page 45: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

5.1 Software Tools:

1. MPLAB

2. Protel

3. Propic

4. HI-Tech PIC C Compiler

5.2 MPLAB Integration:

MPLAB Integrated Development Environment (IDE) is a free, integrated toolset for

the development of embedded applications employing Microchip's PIC micro and dsPIC

microcontrollers. MPLAB IDE runs as a 32-bit application on MS Windows, is easy to

use and includes a host of free software components for fast application development and

super-charged debugging. MPLAB IDE also serves as a single, unified graphical user

interface for additional Microchip and third party software and hardware development

tools. Moving between tools is a snap, and upgrading from the free simulator to MPLAB

ICD 2 or the MPLAB ICE emulator is done in a flash because MPLAB IDE has the same

user interface for all tools.

Choose MPLAB C18, the highly optimized compiler for the PIC18 series

microcontrollers, or try the newest Microchip's language tools compiler, MPLAB C30,

targeted at the high performance PIC24 and dsPIC digital signal controllers. Or, use one

of the many products from third party language tools vendors. They integrate into

MPLAB IDE to function transparently from the MPLAB project manager, editor and

compiler.

45

Page 46: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

5.3 INTRODUCTION TO EMBEDDED ‘C’:

Ex: Hitec – c, Keil – c

HI-TECH Software makes industrial-strength software development tools and C

compilers that help software developers write compact, efficient embedded processor

code.

For over two decades HI-TECH Software has delivered the industry's most

reliable embedded software development tools and compilers for writing efficient and

compact code to run on the most popular embedded processors. Used by tens of

thousands of customers including General Motors, Whirlpool, Qualcomm, John Deere

and many others, HI-TECH's reliable development tools and C compilers, combined with

world-class support have helped serious embedded software programmers to create

hundreds of breakthrough new solutions.

Whichever embedded processor family you are targeting with your software,

whether it is the ARM, PICC or 8051 series, HI-TECH tools and C compilers can help

you write better code and bring it to market faster.

HI-TECH PICC is a high-performance C compiler for the Microchip PIC micro

10/12/14/16/17 series of microcontrollers. HI-TECH PICC is an industrial-strength ANSI

C compiler - not a subset implementation like some other PIC compilers. The PICC

compiler implements full ISO/ANSI C, with the exception of recursion. All data types are

supported including 24 and 32 bit IEEE standard floating point. HI-TECH PICC makes

full use of specific PIC features and using an intelligent optimizer, can generate high-

46

Page 47: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

quality code easily rivaling hand-written assembler. Automatic handling of page and

bank selection frees the programmer from the trivial details of assembler code.

5.4 Embedded C Compiler:

ANSI C - full featured and portable

Reliable - mature, field-proven technology

Multiple C optimization levels

An optimizing assembler

Full linker, with overlaying of local variables to minimize RAM usage

Comprehensive C library with all source code provided

Includes support for 24-bit and 32-bit IEEE floating point and 32-bit long data

types

Mixed C and assembler programming

Unlimited number of source files

Listings showing generated assembler

Compatible - integrates into the MPLAB IDE, MPLAB ICD and most 3rd-party

development tools

Runs on multiple platforms: Windows, Linux, UNIX, Mac OS X, Solaris

47

Page 48: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Embedded Development Environment:

PICC can be run entirely from the. This environment allows you to manage all of

your PIC projects. You can compile, assemble and link your embedded application with a

single step.

Optionally, the compiler may be run directly from the command line, allowing

you to compile, assemble and link using one command. This enables the compiler to be

integrated into third party development environments, such as Microchip's MPLAB IDE.

5.5 DESIGN OF EMBEDDED SYSTEM

Like every other system development design cycle embedded system too have a

design cycle. The flow of the system will be like as given below. For any design cycle

these will be the implementation steps. From the initial state of the project to the final

fabrication the design considerations will be taken like the software consideration and the

hardware components, sensor, input and output. The electronics usually uses either a

microprocessor or a microcontroller. Some large or old systems use general-purpose

mainframe computers or minicomputers.

User Interfaces:

User interfaces for embedded systems vary widely, and thus deserve some

special comment. User interface is the ultimate aim for an embedded module as to the

user to check the output with complete convenience. One standard interface, widely used

in embedded systems, uses two buttons (the absolute minimum) to control a menu system

(just to be clear, one button should be "next menu entry" the other button should be

"select this menu entry").

48

Page 49: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Another basic trick is to minimize and simplify the type of output. Designs

sometimes use a status light for each interface plug, or failure condition, to tell what

failed. A cheap variation is to have two light bars with a printed matrix of errors that they

select- the user can glue on the labels for the language that he speaks. For example, most

small computer printers use lights labeled with stick-on labels that can be printed in any

language. In some markets, these are delivered with several sets of labels, so customers

can pick the most comfortable language.

In many organizations, one person approves the user interface. Often this is a

customer, the major distributor or someone directly responsible for selling the system.

PLATFORM:

There are many different CPU architectures used in embedded designs such as

ARM, MIPS, Coldfire/68k, PowerPC, X86, PIC, 8051, Atmel AVR, H8, SH, V850, FR-

V, M32R etc.

This in contrast to the desktop computer market, which as of this writing (2003) is

limited to just a few competing architectures, mainly the Intel/AMD x86, and the

Apple/Motorola/IBM PowerPC, used in the Apple Macintosh. With the growing

acceptance of Java in this field, there is a tendency to even further eliminate the

dependency on specific CPU/hardware (and OS) requirements.

Standard PC/104 is a typical base for small, low-volume embedded and ruggedized

system design. These often use DOS, Linux or an embedded real-time operating system

such as QNX or Inferno.

49

Page 50: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

A common configuration for very-high-volume embedded systems is the system

on a chip, an application-specific integrated circuit, for which the CPU was purchased as

intellectual property to add to the IC's design. A related common scheme is to use a field-

programmable gate array, and program it with all the logic, including the CPU. Most

modern FPGAs are designed for this purpose.

Tools:

Like typical computer programmers, embedded system designers use compilers,

assemblers, and debuggers to develop embedded system software. However, they also

use a few tools that are unfamiliar to most programmers.

Software tools can come from several sources:

Software companies that specialize in the embedded market.

Ported from the GNU software development tools.

Sometimes, development tools for a personal computer can be used if the

embedded processor is a close relative to a common PC processor. Embedded system

designers also use a few software tools rarely used by typical computer programmers.

One common tool is an "in-circuit emulator" (ICE) or, in more modern designs,

an embedded debugger. This debugging tool is the fundamental trick used to develop

embedded code. It replaces or plugs into the microprocessor, and provides facilities to

quickly load and debug experimental code in the system. A small pod usually provides

the special electronics to plug into the system. Often a personal computer with special

software attaches to the pod to provide the debugging interface.

50

Page 51: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Another common tool is a utility program (often home-grown) to add a checksum

or CRC to a program, so it can check its program data before executing it.

An embedded programmer that develops software for digital signal processing

often has a math workbench such as MathCad or Mathematica to simulate the

mathematics.

Less common are utility programs to turn data files into code, so one can include

any kind of data in a program. A few projects use Synchronous programming languages

for extra reliability or digital signal processing.

DEBUGGING:

Debugging is usually performed with an in-circuit emulator, or some type of

debugger that can interrupt the microcontroller's internal microcode. The microcode

interrupt lets the debugger operate in hardware in which only the CPU works. The CPU-

based debugger can be used to test and debug the electronics of the computer from the

viewpoint of the CPU. This feature was pioneered on the PDP-11.

As the complexity of embedded systems grows, higher level tools and operating

systems are migrating into machinery where it makes sense. For example, cell phones,

personal digital assistants and other consumer computers often need significant software

that is purchased or provided by a person other than the manufacturer of the electronics.

In these systems, an open programming environment such as Linux, OSGi or Embedded

Java is required so that the third-party software provider can sell to a large market.

OPERATING SYSTEM:

51

Page 52: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Embedded systems often have no operating system, or a specialized embedded

operating system (often a real-time operating system), or the programmer is assigned to

port one of these to the new system.

BUILT- IN SELF- TEST:

Most embedded systems have some degree or amount of built-in self-test.

There are several basic types.

1. Testing the computer.

2. Test of peripherals.

3. Tests of power.

4. Communication tests.

5. Cabling tests.

6. Rigging tests.

7. Consumables test.

8. Operational test.

9. Safety test.

START UP:

All embedded systems have start-up code. Usually it disables interrupts, sets up

the electronics, tests the computer (RAM, CPU and software), and then starts the

application code. Many embedded systems recover from short-term power failures by

restarting (without recent self-tests). Restart times under a tenth of a second are common.

52

Page 53: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Many designers have found a few LEDs useful to indicate errors (they help

troubleshooting). A common scheme is to have the electronics turn on all of the LED(s)

at reset (thereby proving that power is applied and the LEDs themselves work),

whereupon the software changes the LED pattern as the Power-On Self Test executes.

After that, the software may blink the LED(s) or set up light patterns during normal

operation to indicate program execution progress or errors. This serves to reassure most

technicians/engineers and some users. An interesting exception is that on electric power

meters and other items on the street, blinking lights are known to attract attention and

vandalism.

5.6 Embedded system tools:

5.6.1 Assembler:

An assembler is a computer program for translating assembly language —

essentially, a mnemonic representation of machine language — into object code. A cross

assembler (see cross compiler) produces code for one type of processor, but runs on

another. The computational step where an assembler is run is known as assembly time.

Translating assembly instruction mnemonics into opcodes, assemblers provide the ability

to use symbolic names for memory locations (saving tedious calculations and manually

updating addresses when a program is slightly modified), and macro facilities for

performing textual substitution — typically used to encode common short sequences of

instructions to run inline instead of in a subroutine. Assemblers are far simpler to write

than compilers for high-level languages.

Assembly language has several benefits:

53

Page 54: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Speed: Assembly language programs are generally the fastest programs around.

Space: Assembly language programs are often the smallest.

Capability: You can do things in assembly which are difficult or impossible in

High level languages.

Knowledge: Your knowledge of assembly language will help you write better

programs, even when using High level languages. An example of an assembler we

use in our project is RAD 51.

5.6.2 Simulator:

Simulator is a machine that simulates an environment for the purpose of training or

research. We use a UMPS simulator for this purpose in our project.

5.6.3 UMPS:

Universal microprocessor program simulator simulates a microcontroller with its external

environment. UMPS is able to simulate external components connected to the

microcontroller. Then, debug step is dramatically reduced. UMPS is not dedicated to only

one microcontroller family, it can simulate all kind of microcontrollers. The main

limitation is to have less than 64K-Bytes of RAM and ROM space and the good

microcontroller library. UMPS provide all the facilities other low-cost simulator does not

have. It offers the user to see the "real effect" of a program and a way to change the

microcontroller family without changing IDE. UMPS provide a low-cost solution to the

problems. UMPS is really the best solution to your evaluation.

5.6.4 UMPS key features:

54

Page 55: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

-The speed, UMPS can run as fast as 1/5 the real microcontroller speed. No need to wait

2 days to see the result of a LCD routine access. All the microcontroller parts are

simulated, interrupts, communication protocol, parallel handshake, timer and so on.

- UMPS have an integrated assembler/disassembler and debugger. It is able to accept an

external assembler or compiler. It has a text editor which is not limited to 64K-bytes and

shows keyword with color. It can also communicate with an external compiler to

integrate all the debug facilities you need.

- UMPS is universal, it can easily be extended to other microcontroller with a library.

Ask us for toolkit development.

- External resource simulation is not limited. It can be extended to your proper needs by

writing your own DLL.

- UMPS allows you to evaluate at the lowest cost the possibility to build a

microcontroller project without any cable. - UMPS include a complete documentation on

each microcontroller which describe special registers and each instruction

5.6.5 Compiler:

A compiler is a program that reads a program in one language, the source language and

translates into an equivalent program in another language, the target language. The

translation process should also report the presence of errors in the source program.

Source

Program→  Compiler →

Target

Program

55

Page 56: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

    ↓    

   Error

Messages   

There are two parts of compilation. The analysis part breaks up the source program into

constant piece and creates an intermediate representation of the source program. The

synthesis part constructs the desired target program from the intermediate representation.

5.6.6 The cousins of the compiler are:

1. Preprocessor.

2. Assembler.

3. Loader and Link-editor.

A naive approach to that front end might run the phases serially.

1. Lexical analyzer takes the source program as an input and produces a long

string of tokens.

2. Syntax Analyzer takes an out of lexical analyzer and produces a large tree.

Semantic analyzer takes the output of syntax analyzer and produces another tree.

Similarly, intermediate code generator takes a tree as an input produced by semantic

analyzer and produces intermediate code

5.6.7 Phases of compiler:

The compiler has a number of phases plus symbol table manager and an error handler.

    Input Source    

56

Page 57: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Program

    ↓    

    Lexical Analyzer    

    ↓    

    Syntax Analyzer    

    ↓    

Symbol Table

Manager 

Semantic

Analyzer   Error Handler

    ↓    

   Intermediate Code

Generator   

    ↓    

    Code Optimizer    

    ↓    

    Code Generator    

    ↓    

    Out Target    

57

Page 58: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Program

5.7 COMPONENTS USED:

1. Step Down Transformer (230/12V) – 1 No.

2. Diodes (1N4007) – 4 No

3. Capacitors - 1000µF – 1 No, 22pF- 2 Nos

4. Regulators 7812 – 1 No, 7805 – 1 No

5. LCDs – 2 Nos

6. IR Sensors – Transmitters- 2 Nos,

Receivers - 2 Nos

7. Temperature sensor (LM35)- 1 No

8. PIC microcontroller (16f877A) – 2 No

9. Crystal Oscillator (4MHz) – 2 Nos

10. Resistors – 330 Ω – 3 Nos

10 KΩ- 1 No

22 KΩ – 3 Nos

12. Keypad Unit – 1 No

58

Page 59: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

59

Page 60: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

CHAPTER 6

RESULT

60

Page 61: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

RESULT : PLEASE PLACE ATLEAST TWO PHOTOGRAPHS OF UR PROJECT

CIRCUIT

61

Page 62: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

CHAPTER 7

CONCLUSION

62

Page 63: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

7.1 conclusion:

The System was operated successfully. and we control mobile robots by using

customizable haptic and multi-touch gesture interfaces on handheld devices.

7.2 Future enhancement:

This project done by using Zigbee communication, in the future this can be

enhanced to WiFi system.

7.3 Application:

manufacturing

surveillance

home automation

63

Page 64: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

CHAPTER 8

BIBILOGRAPHY

64

Page 65: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Bibliography:

BOOKS:

Customizing and programming ur pic microcontroller- Myke Predcko

Complete guide to pic microcontroller -e-book

C programming for embedded systems- Kirk Zurell

Teach yourself electronics and electricity- Stan Giblisco

Embedded Microcomputer system- onathan w.Valvano(2000)

Embedded PIC microcontroller- John Peatman

Web sites:

www.Microchips.com

http://www.mikroelektronika.co.yu/english/product/books/PICbook/

0_Uvod.htm

www.how stuff works.com

65

Page 66: A Reconfigurable Multi-Touch Remote Control System For

A Reconfigurable Multi-Touch Remote Control System for

Teleoperated Robots

Installing coding into PIC microcontroller:

1. Write the program in MPLAB IDE.

2. Save the file as *.c. and compile it.

3. After successful compilation of the coding close the MPLAB IDE.

4. Fix the Controller IC into PIC Flash kit.

5. Then click on Micro controller Micro Systems PIC Flash Software

Icon on the desktop.

6. It displays on dialog box. Then select open and select the program

which we already saved as *.c.

7. Then it asks the Confirmation that The IC is empty, select ok.

8. Then it asks Fuses Settings, select YES

9. Then it displays Fuses Settings Dialog Box.

10. In that put WDT -- > Disabled, WRT-- > Enabled, Oscillator-- >

XT then click on OK.

11. Then it displays the Program successfully installed into PIC.

12. Then Remove the IC from the PIC Flash and it is ready for used

into the project or circuit operation.

66