Download presentation
Presentation is loading. Please wait.
1
An In-Depth Look At DARSI Matt Hulse Marc Kessler Chris Lites Preston Schipper Andy Lin Project Overview Sensor Systems Communication Main Board & Storage Project Administration & Management Data Acquisition & Real-Time System Integration: Presentation Outline:
2
DARSI: Project Overview Sensors Sensor pre- processing units Sensor network & communication Main processing Storage Our data acquisition system:
3
Where Are We Now? Sensors Testing apparatus Wheel speed tested and implemented with pre-processor Linear position sensor circuit prototype Microcontroller (Preprocessor) Development environment for processor working Preprocessor system prototype Coding complete except CAN communication Main processor: Written code & developed schematics
4
Sensors Wheel Speed: -Hall effect -5V supply Shock Position: LVDT: Linear Variable Differential Transducer
5
Sensor Microcontroller: PIC18F258 16 MHz C Programmable Hardware CAN A/D Converter Preprocessor Details:
6
Microcontroller Details 23 GP I/O External Clock 5 10-bit A/D Converter 1536 RAM (256 used) Hardware CAN ICSP
7
PIC18F258 Block Diagram
8
Code #include //for chip ports #include //for A/D conf #include //for timer conf #include "CB256.h" struct CB raw_data_buffer; //struct CB send_data_buffer; struct pulse_data { int csample; int psample; int pulses; int trigger_level; int cur_pulse; int samples; } frequency_data; char dev_id; char reset_now = 0; char raw_data_overflow = 0; char send_data_overflow = 0; char counter = 0; int sample_time; int timerval; int speed; char wheel_dia; char num_teeth; char sample_type = 0; /*Valid Sample types: 0: Voltage 0-5 corresponding to resistance 1: Periodic corresponding to frequency */ void configure_a_d_c(void); void configure_sample_timer(void); void configure_interrupts(void); void int_handler(void); void get_dev_id(void); void resistive_samples(void); void frequency_samples(void); void can_send(int my_data); void set_constants(void); void no_calib_data(void); void EEPROM_Write(int location, int value); void main (void) { get_dev_id(); SetCBEmpty(&raw_data_buffer); //SetCBEmpty(&send_data_buffer); //DEFAULT VERSION EEPROM_Write(255,2); set_constants(); configure_a_d_c(); configure_sample_timer(); configure_interrupts(); PORTAbits.RA1 = 1; PORTC = dev_id; if(sample_type == 0) { while (reset_now == 0) { resistive_samples(); } else if(sample_type == 1) { while (reset_now == 0) { frequency_samples(); }
9
Inter-Sensor Communication In a CAN system, all messages sent out on the bus are detected by all nodes on the bus. Error detection: Bit stuffing Cyclic redundancy check Self checking Probability for undetected corrupt message < message rate * 4.7 * 10 -11 Controller Area Network: CAN 2.0A: 11 bit identifier field
10
Data Frames: Data, Remote, Error, Overload Data Frames
11
Main Control Board PIC18F458 Voltage Regulator Flash Controller Master Controller for CAN
12
Details Same Family and Data Sheet Two more Ports (8 bit registers) 8 – bit Parallel 2 comparators (not used) Total 34 I/O compared to 23 I/O
13
Memory Smart Media 22 Pads 8 bit parallel I/O FAT16
14
Parts List PIC18F258 PIC18F458 Software Development Tools Honeywell hall effect sensor Linear Variable Differential Transducer Assorted inverters, voltage regulators, DIP switches, clocks
15
Labor & Responsibilities Andy: PCB design Christ & Matt: CAN bus Marc: In circuit serial programming (ICSP) Software development Preston: Memory
16
Milestone Goals Milestone 1 Goals: Sensor Unit Main control schematics CAN working on preprocessor in loop-back mode Milestone 2 Goals: Everything constructed Final debugging & testing
17
Schedule: CDR Expo
18
Questions & Answers Thank you
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.