Wireless Eyeball Group 9 Alpesh Patel Jesse Gusse Derek Vick Jeff Schwentner
Wireless Eyeball Allows full control of a motorized camera from a remote location. • Camera is mounted on two motors. • One motor for Pan. • One motor for Tilt. • User will control camera remotely using hand • held device. • Video signal will be sent to hand held device • and displayed on the LCD monitor. • User can move camera by touching screen.
Wireless Eyeball Three modes of operation. • User mode • Allows user to control camera by touching screen. • Camera moves to desired location. • Video Tracking • Camera tracks motion. • Computer Interface • User controls camera via personal computer.
Wireless EyeballArtist’s Rendition 360° Tilt 1 User 2 Tracking 3 Computer On/Off 360° Pan
LCD Display & Touch Screen LCD Display & Touch Screen Transmitter Transmitter Receiver Receiver Control Unit (Motors) Control Unit (Motors) Camera Mount Camera Mount
Wireless Eyeball • Wireless Video Camera specifications • NTSC Signal Format • 2.4GHz Wireless Technology • LCD Monitor specifications • Composite NTSC & RGB input • Connects by RCA video jack • 100.7 mm diagonal viewing area
Touchscreen Touchscreen uses are varied, therefore we wanted to implement the use of one in this project. Touchscreens can be found in the following arenas: Monitors. Information Kiosks. PDA’s. Automobiles Industry and production at all levels Self-service stations.
Analog Resistive Touchscreen The analog resistive touchscreen that we used was donated by 3M Dynapro. An analog resistive touchscreen acts much like a variable resistor. Depending on the touch, a different resistance occurs. This yields different voltage levels which can be used by an AD converter to determine the location of a valid touch.
Valid Touch The analog resistive touchscreens are sensors consisting of two layers, horizontal and vertical. These layers are coated with a resistive material called ITO (indium tin oxide). This resistivity is between 100 and 500 ohms per square. PL (polyester laminated) very rugged include a TFT (Thin Film Transistor) display FG (flex-on-glass) more affordable and smaller made for non-extreme conditions most importantly, this was the type that Dynapro donated
Two types, 4-wire and 8-wire designs The 8-wire design is for larger touchscreens 4-wire design is for the smaller and more common applications. The one used in this project is the 4-wire design. When reading the opposing axes of the touchscreen, the 4 lines are alternated. Multiplexing must occur to decipher the different axes. FG analog resistive touchscreen
Touchscreen Picture Dimensions are 2.75” by 3.75”. It has the flex cable tail. Which is basically a film with the signal lines painted on. This makes it very fragile and ZIF (zero insertion force) connector will be used.
Touchscreen Controller The MCU used is the AVR 8535 from Atmel. 32 x 8 General-purpose Working Registers Up to 8 MIPS Throughput at 8 MHz Data and Nonvolatile Program Memories 8K Bytes of In-System Programmable Flash SPI Serial Interface for In-System Programming Endurance: 1,000 Write/Erase Cycles 512 Bytes EEPROM 512 Bytes Internal SRAM 8-channel, 10-bit ADC
Analog/Digital Conversion ADMUX Register The ADMUX is where you set the appropriate bits so that you can multiplex between input signals. This is necessary for this project because the different axis reads on the touchscreen will need to be multiplexed. ADCH and ADCL Register When a conversion is made. The result is found in these two registers. ADCH and ADCL. ADCH holds the upper two bits of the 10-bit result. ADCL holds the lower 8 bits. ADCL gets read first, and once this is read, the register will not be updated until ADCH is read. A value of $000 represents ground and $3FF is the highest value (reference voltage – 1).
AD Program Snippet *ADCSR = (*ADCSR | 0xE0); /* enable ADC *//* change ADMUX HERE and take new*/ ADMUX = 0x00; ALVert = ADCL; AHVert = ADCH; /*get full 10 bit ADC must shift upper register */ AinVert = ( (ALVert) | (AHVert << 8) ); . . . . /*change ADMUX HERE and take new*/ ADMUX = 0x02; ALHorz = ADCL; AHHorz = ADCH;
Example Touch(assume AD got 2.5 volt read for both X and Y axes) ADC conversion coordinate is then (512,512)
Example Touch Therefore the pixel location would be (184,184). Which is about in the middle of the display, consistent with a 2.5 Volt read on a 5 Volt scale.
However, pixel precision is very high, that precision will not be obtainable. We have decided to break our screen into a set number of units. 16 units by 16 units is the grid that will be used. Therefore, if a touch yielded a pixel location of (245, 245), the coordinate marked by the X on the following diagram will be what is sent, RF, to the stepper motors. This coordinate is (12,12)
Wireless Coordinate Link Used to facilitate the transfer of coordinate data from the user’s display module to the Camera Mount. • Activated when the touch screen is pressed. • High data rate to minimize response time of the motorized camera mount. • Parallel method of coordinate transfer for simplicity of use.
The transmitter must support a data rate of: This includes any overhead bits associated with the method of data transfer used (checksum, repetitive bits, etc.) Wireless Coordinate LinkTransmitter Specifications
Wireless Coordinate LinkTransmitter Specifications LINX Technologies offered the best RF modules suited for the data link. • 433-LC SeriesTransmitter & Receiver • 4,800 bps data rate • 300 foot max range • Surface Mount • $ 0.00 (Sampled) • 900-HP-II SeriesTransmitter & Receiver • 50,600 bps data rate • 1,000 foot max range • Though hole mounting • $ 76.29
Wireless Coordinate LinkTransmitter Specifications LINX 433-LC RF Module Characteristics: • Serial bit stream • 433 MHz Base Frequency • CPCA (Carrier-Present Carrier-Absent)‘0’ = 433 MHz Carrier not detected‘1’ = 433 MHz Carrier detected • 5 msec Oscillator settling time • Needs additional hardware to support parallel data transfer.
Wireless Coordinate LinkEncoder/Decoder Specifications Motorola MC145026P (Encoder) and MC145027P (Decoder) provide the parallel to serial conversion needed to complete the wireless data link. Advantages: • 5 trinary address bits available (243 values) • Encode 4 data bits of data per sample. • Saves space, only one data bus needed for coordinate system. • The operating frequency of the chips are fully configurable.
Wireless Coordinate LinkEncoder/Decoder Specifications Encoder Decoder
FCC ConsiderationsCode of Federal Regulations (CFR) • Section 15.231, Title 47: • Governs the 433 MHz frequency • Restricts the use of this frequency to periodic transmissions. • Used to relay control signals such asgarage door openers, remote switches, etc. • Illegal “toy” frequency
Camera Mount • Pan and Tilt capabilities. • Full 360 degrees both horizontal • and vertical directions. • Use of two stepper motors • interfaced with gears.
Use of Stepper Motors • Precision control of position and speed. • Software can determine the exact position at all times. • Speed can be controlled by varying the time delay between energizing each coil. • Eliminates the need for feedback. • Ordinary dc motors require a feedback mechanism for accurate control. • More efficient. • Less circuitry.
Unipolar Most common. Does not require polarity of the voltage across each coil to change. Less complicated driver circuitry. Easily interfaces to cpu requiring only four I/0 lines for each motor. Bipolar More expensive. Requires a reverse in voltage polarity across each coil for every other step. More complicated driver circuitry. Kinds of Stepper motors
Unipolar Stepper Motor A unipolar stepper motor consists of four coils created by actually only two coils each center tapped to a common source. To turn the motor, each coil must be energized in a certain sequence called a step sequence.
Full Step Sequence Less steps per sequence. Provide motor with greater torque. Less resolution as in more degrees per step. Half Step Sequence Double the amount of steps per sequence than full step. Less torque. Double the resolution. Step Sequence
Full Step Sequence Total of four steps in one complete sequence. Half Step Sequence Total of eight steps in one complete sequence.
Camera Motion vertical vertical horizontal horizontal • Move the camera completely horizontal then move completely vertical. • Move the camera one step horizontal then one step vertical and so on. • Problem: • Number of steps in the horizontal direction differs from the number of steps • in the vertical direction. • Solution: • Determine which line of direction has requires a greater number of Steps. • Then take the ratio of the two numbers. • Example: • Number of horizontal steps = 12 • Number of vertical steps = 4 • Ratio 12 / 4 = 3 • Move three horizontal steps for every one vertical step until desired camera • Position is reached.
AVR MEGA163 Microcontroller • 8 bit microcontroller manufactured by ATMEL Co. • Memory space • 16 Kbytes of flash program memory • 512 bytes of EEprom • 1024 bytes of Sram • 32 by 8bit general purpose working registers • 32 programmable bi-directional I/O lines • Sleep mode • Operating voltages between 2.7-5.5V • Power consumption @ 4MHz • Active 5mA @ 5V • Sleep 1.9mA @ 5V
Driver • The purpose of the driver is to supply enough current to the coils of the motor. • Since the microcontroller ports source a max of 20mA it is insufficient to drive a motor directly. • ULN2003 Driver IC manufactured by Allegro Microsystems. • The IC is an NPN TTL input Darlington driver capable of sinking up to 500mA of current which is sufficient for the motors we are using.
Driver allows control signals from processor to selectively create a current path to ground. • Design Issues • Back electro-magnetic force (EMF). • Solution • Zener diode • Separate voltage sources
Interface Driver 1 Data Lines Motor 1 RF DECODER portB portA Valid Data External Interupt Driver 2 Motor 2 portC Microcontroller
Coordinate Scheme • LCD screen broken down into 256 different squares and 4 quadrants. • X and Y coordinates are represented by a four bit binary number. • Quadrants I and IV: Pan left Quadrants II and III: Pan right • Quadrants I and II : Tilt up Quadrants III and IV: Tilt down • Dimensions of LCD screen are 2.75” x 3.75”
Programming Initializations • Programming done in assembly language. • The AVR instruction set offers 118 powerful instructions. • Most instructions execute in a single clock cycle. • 4 MHz operating frequency. Sleep mode wake on interrupt Pan left or right Tilt up or down Calculate number of steps horizontal and vertical Calculate horizontal to vertical ratio Determine previous camera position Move camera to new position
Power Requirements 9 V 12 V 4 V 5 V LCD monitor X-10 Transmitter Receiver X-10 Receiver Tilt Motor CPLD Atmel Microcontroller Pan Motor Memory (512k X 8) Transmitter Video Decoder Encoder / Decoder Motorized Camera Mount Hand-held module