Seminar #2 Inteligent Car 15th, J.H Won 18th, C.H Cho
영상 자료
자 시작해볼까?
8ch Periodic Interrupt Timer DEMO9S12XEP100 (Freescale) 8ch PWM 8bit 8ch Timer 16bit 8ch Periodic Interrupt Timer 32ch ATD 12bit X-GATE Max Speed : 50Mhz 그 외 5ch SPI, 3ch SPI …
Infrared Sensor Nomalize Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
Infrared Sensor Nomalize Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
Infrared Sensor Nomalize System Flow ? Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
Infrared Sensor Nomalize 1KHz & Sequential Cycle Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
Infrared Sensor Nomalize 1KHz & Sequential Cycle Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
Normalize – First Attempt AllowedArea = MaximumVal - MinimumVal NormalizeVal = (PresentVal – MinimumVal) / AllowedArea - Make Position Position = ∑WeightedMult /∑NormalizeVal ∑WeightedMult = ∑(NormalizeVal * Importance) Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
This approach cause noisy result So, we decided to apply “Digital Filter” Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
What is “Digital Filter”? There is TWO method for this FIR, IIR Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
H[n]FIR = x[n] + x[n-1] + x[n-2] … H[n]IIR = y[n] + y[n-1] + … + x[n] + x[n-1] … Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
FIR(Finite Impulse Response) 위상특성이 강하다 > 위상변화에 민감하다. 즉, 우리가 필요한 필터와 거리가 멀다. IIR(Infinite Impulse Response) 각진 필터 구현에 용이하다 > Low-pass 역할을 한다. 즉, 변화가 작은 노이즈를 해결할 수 있다. Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
We cannot avoid this serious problem But ! We cannot avoid this serious problem Because Position-value have too wide range. Ex. -100 < Pv < 100 Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
Make Position – Second Attempt If(NormalizedVal > X) Set or Clear Position = (∑(WeightedSum * SetIndex))/ NumofSet Importance = Odd Number Z ( -7 < Z < 7 ) Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
Make Position – Second Attempt If(NormalizedVal > X) Set or Clear Position = (∑(WeightedSum * SetIndex))/ NumofSet Importance = Odd Number Z ( -7 < Z < 7 ) Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
We could get smaller cases, and applied it to Servo Motor Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
Infrared Sensor Nomalize 2. Distance Sensor Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
Adjustable range : 10cm ~ 80cm SHARP - GP2Y0A21AK Adjustable range : 10cm ~ 80cm Analog to Digital Conversion Infrared Sensor Nomalize & Distance Masure Digital Servo Control with PWM Encoder Counting DC Motor Control By PID ctrler
My Semnar is done ! But… 내가 한 것은 이것밖에 없는가? 그렇다. 사실 이것도 경환이가 거의 다했다. Volatile 은 왜 사용되는가?
Ex. (i=0;i<100;i++) b++; 왜 volatile 키워드를 사용하는가? 컴파일러 최적화에서 제외시키기위해 Ex. (i=0;i<100;i++) b++; 2. 메인 루틴과 인터럽트 루틴에서 변수를 통해 메모리 공간을 공유할 때 3. 순서를 유지하고 싶을 때 Ex. X = 1; Y = 1; 내가 한 것은 이것밖에 없는가? 그렇다. 사실 이것도 경환이가 거의 다했다. Volatile 은 왜 사용되는가?