Jake BaldwinKrista Hasling
Maryam Moghaddam-ZadehJack Oakes
Scott Wisdom
Project OverviewProject OverviewS.C.A.D.A. system
Manna Energy Foundation , RwandaWater Purification
Project ObjectiveRemotely determine system healthPerform control operations based on use
(autonomous and supervisory)Report and record
FeaturesFeaturesThis design goal:
32 External ADC’s 6 Relay/Valve controls4 Bus Power3 Bus DataGSM communicationMemory SD card
Demo will not include max number of sensors
Structural SetupStructural Setup
System Block DiagramSystem Block Diagram
System Block DiagramSystem Block Diagram
Schematic for 3.3V buck Schematic for 3.3V buck converterconverterUses LM3100 ChipSame as 5V and 10V buckSupplies max currents of 1.5 APredicted max current needed
is <1 A
Schematic for 12 V Buck-BoostSchematic for 12 V Buck-Boost Uses LM5118 Converter can supply a
max current of 3.5 amps
Predicted Max current < 1.5 Amps
Schematic for 24V BoostSchematic for 24V BoostUses LM3488Max current of 3.4 AmpsPredicted max value <1
Amp
ProgressProgressConverters and PCB are designed and
orderedNo implemented circuit protection yet….Separating headers on current PCB will be
removed for finished project
System Block DiagramSystem Block Diagram
Pressure Meter 1Pressure Meter 2
Flow MeterUV light
Valve12 Vdc
5 Vdc5 Vdc
24 Vdc240 Vac
ADCADS7828 MC
ATxmega64A1
I2C
0- 5 Vdc2- 40 mA
0- 12 Vdc
0- 5 Vdc
3.3 Vdc
0- 12 Vdc
Analog/Digital ConverterAnalog/Digital Converter
SensorsSensorsFlow Meter
•Signet 2551•No device due to cost ($1500 each)•Using a direct current output to act as device in testing•2 devices per system•Output: 4 to 20 mA•Temperature: -20° to 70° C
Pressure Meter•Omega 209•2 devices for testing•6 devices per system•Output: 0 to 5 V at .0125 V/division•Temperature: -20° to 80° C
SensorsSensors
Terminal Block•PT 1935006•PCB attachment for ADC to sensors•16 connections
Brass Actuated Ball Valve•DynaMatic AP20DA•1 device for testing•Temperature: -15° to 300 ° C
UV lights•Sterilight with ICE controller•1 device for testing•Water temperature: 2° to 40° C•UV wavelength: 254 nm•SP100-HO: 11 gpm•9000 hours of use
Water Collection
Tank
Water Storage TankFilter 1
UV light 1
UV light 2
Pressure Pressure
Flow
*No Flow Meter due to cost
Pressure
Pressure
UV lightValve
“Flow”
Pump
System Block DiagramSystem Block Diagram
Microcontroller – Microcontroller – ATxmega64A1ATxmega64A1Calibration of internal 32 MHz RC DFLL oscillatorInitialize and use communication modules
SPII2CUART
Sample sensors with timer interruptLog data to SD CardParse and execute commands from cell module and
base-stationMonitor and control using programmed algorithm
Image source: http://www.atmel.com/dyn/resources/prod_documents/doc8067.pdf
SD Card
RS-232DebugPort
ADC
PDIPort
SPI
UART UART
DMA
I2C
I2C
Buses and ConnectionsBuses and Connections32kHzXTAL
Serial-to-USB IC
(to base-station)
CellModule
ATmega32
Code FlowCode FlowInitializemodules
Power on Idle
Samplesensors
Timer 1 interrupt
Writemeasurement
to SD Cardover DMA
Readmeasurementfrom SD Card
SendMeasurement
Over Cell
Measurementssatisfy algorithm
conditions?
Performalgorithmresults of
satisfied conditions
Yes
READ
Parse command
Return to Idle
No
Command from base-station or cell
Otherbase-station/cell commands...
WRITE
XXXX
Monitor and Control Monitor and Control AlgorithmAlgorithmStructure of one software algorithm block
…With additional blocks, control is a “sum of
products”
Condition 1
Condition 2
Condition n
&
& …
Result 1
Result 2
Result n
&
& …
Monitor and Control Monitor and Control AlgorithmAlgorithm
Condition types:Threshold(Value, Above/Below, SensorID)True/False(Condition)
Result types:ChangeValve(Closed/Open)ChangeRelay(On/Off)SendAlert(AlertType, Method, Value)
Memory – SD CardMemory – SD CardUse 512-byte block size
Microcontroller allocates 512-byte buffer that can be read or written to
SPI at 4MHz
Hash table between time stamps and block addresses (grouped by day and hour)
Memory: SchematicMemory: Schematic
Memory: Process Flows for Memory: Process Flows for SD CardSD Card
SD Card Initialization:
SD Card Read Cycle:
SD Card Write Cycle:
GO_IDLE_STATE trace
SEND_OP_CONDtrace
System Block DiagramSystem Block Diagram
GSM CellularGSM CellularAVR-GSMCalling cardEmbedded antennaDirect interface for USB
terminal communicationOff board connectors for
power and buses
FBD: GSM ModuleFBD: GSM Module
Serial Interface
Serial Interface
SIM300D
FTDISERIAL-
USB
ATMEGA32
I2C
XMegaLaptop 12Volt DC
Prototype Components
2 PIN Power EXT I/O
USB PORT
6 pin ISP
26 Pin IO
I2C
-DAQFactory-Real Term
-Prototype power-’Wall’ power
GSM CellularGSM CellularATxmega64 /ATMega32 SIM300 Bus/ATMega32
I2C with defined commands ‘Get’ and ‘Set’
2 BuffersData Transmit (~160
byte)Data Receive (~160 byte)
100Khz ~ 400KhzExternal connections
12V, GND, SCL, SDA ISP programmer
UART commands ‘AT’ ASCII commands
2 BuffersUART RX 256 bytesUART TX 256 bytes
3x30 SIM300 BuffersStatus buffer/byte115K2 desired
Code FlowCode FlowPeripheral
Init (UART,
I2C)
Status Byte
Cellular Init
Monitor Traffic
Update Status
GSM Data
Received
Update Status
No DataYes
MCU Data
Request
Forward
No
Data Available
MCU Command
Back to Monitor Traffic
MCU Send Data
GSM Cellular - ProgressGSM Cellular - Progress+ Text messaging works (AT&T)+ Uart for ATmega32 works (interrupt)+ I2C master configured for ATMega32
(interrupt)- Needs to be slave
+ Fully defined status byte, bus protocol- Perform simple Uart/I2C test via terminal
System Block DiagramSystem Block Diagram
BaseBase StationStation
Base StationBase StationTwo ways of communication:
Serial to Microcontroller (and ADC)Serial to GSM module
Two drivers on DAQFactoryTwo sets of Sequences
GSM cell needs AT parsing
GSM CommunicationGSM CommunicationDAQFactory now communicates with GSM
cell
MCU CommunicationMCU CommunicationWill Communicate with ADC through STK
500Dummy microcontroller Atmega 32Transmit commands and receive status
Interface CommandsInterface CommandsCmd Type Commands Cmd Tx Parameters Tx Rx Parameters Rx
GET_Status Sensor (ADC) 0x01 Cmd,Sensor ID (1-32)(0x01-0x20)
\x01\x02
Cmd,Sensor ID, Data length (12 bits), Data Measured
\x01\x02\x02\x0F – Pressure \x65
Relay State 0x02 Cmd, Relay ID (0x01-0x04)
\x02\x04
Cmd, Relay ID,Data length (8 bits),State
\x02\x04\x01\x00 - Not Flipped
Valve State 0x03 Cmd,Valve ID (0x1-0x2)
\x03\x01
Cmd,Valve ID,Data length (8 bits),State
\x03\x01\x01\x01 - Open
Power Sensor 0x04 Cmd,Sensor ID (0x1-0x4)
\x04\x03
Cmd,Sensor ID,Data length (12 bits),Data Measured
\x04\x03\x0F – Power Value\x01
Memory (Block)
0x05 Cmd,Day (0x0-0x1F),Beginning Hour,Ending Hour(00-23)(0x00-17)
\x05\x10\x11 – 11am\x14
Cmd,Day,Beginning Hour,Ending Hour,Data length (512 Bytes),Measurements
\x05\x10\x11 – 11am\x14\x200\23….
Memory (Recent Measurement)
0x06 Cmd, \x06 Cmd,Data length (64 Bytes),Measurements
\x06\x40\x23….
MOD Status 0x07 Cmd,MOD ID (0x1-0x3)
\x07\x01
Cmd,MOD ID,Data length (8 bits),Status
\x07\x01\x01\x00
Interface CommandsInterface CommandsCmd Type Commands Cmd Tx Parameters Tx Rx Parameters Rx
SET_Status Data Logging Mode
0x11 Cmd,Log Mode ID (0x01-0x02)
\x11\x01
Cmd,Log Mode ID,Data length (8 bits),Confirmed State
\x11\x01\x01\x01 – Was set! And begins logging Data..
Relay State 0x12 Cmd, Relay ID (0x01-0x06)Relay State (00 or 01)
\x12\x04\x01
Cmd, Relay ID,Data length (8 bits),Confirmed State
\x12\x04\x01\x01 - Was Flipped!
Valve State 0x13 Cmd,Valve ID (0x1-0x2)
\x13\x01
Cmd,Valve ID,Data length (8 bits),Confirmed State
\x13\x01\x01\x01 – Was Opened!
ID Sensor Relay Valve Power Sensor MOD Log Mod
0x01 Pressure 1 Relay 1 Valve 1 PS 1 Microcontroller Keep logging0x02 Pressure 2 Relay 2 Valve 2 PS 2 GSM Cell (Signal
Strength, etc.)Stop logging until requested!
0x03 AC Current 1 Relay 3 PS 3 DAQFactory0x04 AC Current 2 Relay 4 PS 40x05 Temperature 0x060x07 …..
DAQFactory User InterfaceDAQFactory User Interface
Division of LaborDivision of Labor
PowerSensors/ Relays Primary MCU Memory Cellular
Base station
Board Layout
Jack Oakes X X X X
Scott Wisdom X X X X
Krista Hasling X X X X
Maryam Moghaddam-zadeh X X X X
Jake Baldwin X X X X
Sub-Section Component Quantity Unit Cost Running Total Cost Date Purchased
Power Power Components 1 $ 65.00 $ 65.00 IC's 10 $ 4.50 $ 45.00
Sensors ADS7828 5 $ - SampleMAX3377EEUD 2 $ - SampleTPIC2603 2 $ - SampleRELAY 2 $ 2.50 $ 5.00 9/21/2009Omegadyne 2 $ 100.00 $ 200.00 Phidgets 2 $ 30.00 $ 60.00 9/16/2009DynaMatic 1 expensive 9/19/2009
Memory memory card pin out board 1 $ 18.00 $ 18.00 Main Processor USB 2 $ - Sample
max3232 1 $ - Capstone sampleSerial db9 2 $ - SampleHeader pinsatxmegastk600 1 $ 102.00 $ 102.00
Cellular PIC-GSM 1 $ 275.00 $ 275.00 8/24/2009AVR-GSM 1 $ 250.00 $ 250.00 9/15/2009SIM CARD 2 $ 15.00 $ 30.00 8/31/2009PIC-DEV board 1 $ 107.00 $ 107.00 8/24/2009D-26 pin 2 $ - $ - Header 6-pin 2 $ - $ - Header 6-pin 2 $ - $ -
BaseStation DAQ-FACTORY (Starter) 1 $ 45.00 $ 45.00 PCB Orders Proto PCB 2 $ 33.00 $ 66.00
Shipping 1 $ 14.88 $ 14.88 PackagingIntegrationCapstone DEMO
Total Available Currently Spent RemainingUROP Funding $800.00 $ 292.88 $507.12EEF ??Manna Energy $2,000.00 $ 990.00 $1,010.00Running Totals $2,800.00 $ 1,282.88 $1,517.12
Milestone 1Milestone 1 Power Converters-efficiency numbers at different load conditions Physical Demo Constructed ADC and uC working together (with dummy test voltages) Physical connections for out-of-box items design completed GSM receiving text messages through serial port I2C slave functional – GSM module GSM module commands working Read/Write to SD card I2C functional Define Communications Protocol Retrieve sensor data Retrieve requested data in base module from remote module – on-
site One-way communication between base station and uC – through
text
Milestone 2Milestone 2Power circuit protection implementedPhysical connection to battery and PCB designedAll sensors connected to ADCAC power safely workingSensors and ADC working togetherADC data written to SD card using timer interruptsImplementing Basic Set commandsHard-coded antonymous control algorithmGSM two-way functionality with uCParse received commands and update status in
DAQFactory
Questions?Questions?
Top Related