Presentation on theme: "Liter Liquid Tending Robot Julie Lam Kevin Chang Jason Smith Andrew Jenkins."— Presentation transcript:
Liter Liquid Tending Robot Julie Lam Kevin Chang Jason Smith Andrew Jenkins
Objectives Move using tracks and motor Receive order by using Keypad and LCD Delivering an assortment of drink through controlled valves Read customer information (tab, name, preferences) through magstripe reader. Follow route using sensors. Pre-recorded voice prompts. Core Goals Extensions
Status 68HC11 is up, running uC code from ROM, read/writing to RAM, communicating via RS-232 to host PC. Interrupt-driven communication. Unregulated power supply complete, provides plenty of power for washer pumps and motors (>2A). Tested with pumps – works. Motor base turns, moves, varies speed; with bench setup (not a Puerile design).
FPGA Overview XCS10 FPGA device Interface between microcontroller and ‘dumb’ peripheral devices. Chip selection based on address bus Registers for valve controls and motor controls. Interrupt detector and interrupt controller.
LCD MICROCONTROLLER Store ROM information into registers Selects the LCD Outputs the ROM information FPGA Tells ROM to place information on the bus Selects LCD to receive information from the data bus
Pumps MICROCONTROLLER Processes pump selection and duration Outputs above information onto the address and data buses Receives interrupt FPGA Selects appropriate pump and outputs power to transistor Uses decrementer to hold selected pump for the duration Send interrupt when finished
Motor MICROCONTROLLER Outputs direction, speed, and stop command FPGA Controls the motor inputs Uses direction input to output to motor Stores speed input to the duty cycle register Uses stop command to turn off motors
Light Sensors MICROCONTROLLER Performs ADC of light sensor photo transistors Processes light sensor data for path correction or stop command Outputs appropriate data to FPGA FPGA Selects light sensors
Card reader MICROCONTROLLER Receives interrupt Reads from FPGA interrupt register Reads card information and location from card data shift register FPGA Generates XIRQ interrupt when card leaves card reader Stores serial card data into shift register as card is swiped
RS-232 Receives and sends debugging commands to the microcontroller.
High level microcontroller processes Priority queuing Priority interrupt control Processing orders Processing path following algorithm Processing card reader information
Interface Circuits Pump Control Circuit Motor Control Circuit Line Follower Sensors Keypad Interface LCD Interface
Motor Control Circuit Uses L293D Motor Driver DC Gear Motors Input 2x PWM signal (square wave, ~1kHz, duty cycle->speed). Input 2x direction signal. Provide motor power (12VDC, 400mA). FPGA provides PWM, direction.
Line Follower LED current adjustable, >= 1mA LED on/off controlled by FET, TTL/CMOS compatible. Phototransistor senses light level, believe ~1mA peak current. Will add OpAmp to expand signal if needed. Uses 4 channels of CD4051 Analog Multiplexer, select controlled by FPGA.
Magnetic Card Reader 3 Mag Card Readers Outputs “Card Inserted” signal – used to enable the FPGA shift register Outputs “Data Clock” – used to clock the data into the FPGA shift register Outputs “Data” – the data.
Power Supply Tech From ~110VAC Wall outlet, fused. One transformer from ~110VAC to 12VDC Using a bridge rectifier, diode and large cap for the circuit. Using a pre-assembled 110VA to 5VDC @ 1.8A power supply for Logic devices (with +/- 15 for Analog). Using an unregulated power supply for peripherals such as motor and pumps (~12VDC, > 2A).
Milestone 1 1st PCB rev completed and ordered Complete and working setup for motor, pumps and other hardware Communication between microcontroller and FPGA Initial integration of motor, pumps and software controls
Milestone 2 All software coded Completed integration of design Begin testing full system