<4D F736F F D20C0DBC7B0C6ED5FBDBAC5D7C7CE20B6F3C0CEC6AEB7B9C0CCBCAD20B0B3B9DF2E646F63>
|
|
- 광식 경
- 7 years ago
- Views:
Transcription
1 테핑라인트레이서개발하기 류대우 1. 센서보드 적외선센서 1. 적외선센서 (Photo Sensor) 라인트레이서나마이크로마우혹은다른마이크로로봇에서센서로사용하는것중가장많이사용하는것이 photo sensor입니다. 거리의측정에도사용되지만원거리는잘사용하지않고근거리를측정하고자할때사용되기도하며물체의유 / 무등많은곳에서사용되고있습니다. Photo sensor는보통적외선을많이이용하고있습니다. 발광부와수광부로나눌수있습니다. 발광부는일반 LED와비슷하지만가시광선을내는것이아니고적외선을발산합니다. 수광부는적외선이들어온양에따라아날로그전압이출력되게됩니다. 이아날로그신호를디지털신호로바꾸어 MCU에서인식하여사용합니다. 수광부는빛의양에따라서저항값이변하는가변저항으로생각해도됩니다. 2. Photo Sensor 회로도 왼쪽다이오드가발광부이고오른쪽트랜지터처럼생긴것이수광부입니다. 발광부는일반 LED와같이 330옴을달아주면적외선이나옵니다.
2 수광부에는 1M~2M정도의저항을달아주는데이보다저항이더커져버리면값이너무커지고, 전류가너무적게흐르기때문에적당히달아야합니다. 포토센서의수광부는일종의 TR입니다. BASE 입력대신적외선이들어가면위치가연결되어 Corrector와 Emiter 에전류가흐르고, 적외선이없으면위치가끊어져서전류가흐르지않는다고생각하시면됩니다. 전류가흐르면 센서입력 이라고명시한 Node에전압이걸리고그전압을컨버팅해서적외선이얼마나들어왔는지알수있습니다. 또는연산증폭기의비교기능을이용하여입력이있음과없음으로바꾸어마이크로컨트롤러에입력할수있습니다. 위그림과같이센서의방광부와수광부감지하기위한물체방향을바라보게합니다. 정당한거리를기준으로반사가가장많이되도록살짝꺽어줍니다. 물체가접근하면수광부에감지되는적외선의양이많아져서전압이올라가고멀어지면감지되는적외선의양이작아져전압이내려가게됩니다. 위그림과같이라인을감자할수있도록라인간격을고려하여센서 2개의위치를정한다. 약 2Cm 정도간격으로한다.
3 3. Photo Sensor 신호의입력적외선센서의신호는아래와같이아날로그신호로출력이된다. 실제로멀티미터로출력 V 를측정하면센서에물체가접근할때전압이증가하는것을볼수있을것이다. 회로설계에따라반대로물체가접근할때전압이감소할수도있다. 위와같은아날로그신호를 MCU에서인식하는방법에는 OP-Amp 를사용하거나 Analog-Digital Converter 를사용하여입력받는방법이있다. F/W 프로그래밍을하기전에멀티미터 ( 테터 ) 또는오실로코프를이용하여센서거리에따라서전압값이바뀌는지확인해본다. 4. H/W 구성 #2 (Analog-Digital Converter 를사용하는방법 ) Analog to Digital Converter는아날로그신호를디지털신호로바꾸어주는역할을하는장치이다. 이를이용하여아날로그신호를 MCU에서인식할수있는디지털신호로바꿀수있다. 아래그림은아날로그신호를 3bit ADC 를이용하여디지털로변환하는것이다.
4 MCU F/W 프로그래밍 (ATMega128 의예 ) 1. AD 컨버터를초기화한다. ( 인터럽트사용여부, 공급되는클럭, 데이터포멧등을초기화한다.) void adc_init(void) ADCSRA = 0x00; //disable adc ADMUX = 0x00; //select adc input 0 ACSR = 0x80; ADCSRA = 0xC6; 2. 원하는채널의컨버팅을시작한다. void startconvertion(unsigned char ch) ADMUX = 0x20 (ch & 0x0f); // 컨버팅채널선택 ADCSRA = 0xc7; // 컨버팅시작 3. 충분한시간이흐른후또는컨버팅완료된것을확인한후에컨버팅한값을읽는다. unsigned char readconvertdata(void) volatile unsigned char temp; while((adcsra & 0x10)==0); // 컨버팅완료까지기다림. ADCSRA = ADCSRA 0x10; temp = ADCH; return temp;
5 ADC 를사용하는센서부회로도
6 2. 테핑모터구동 (Stepping Motor Control) 1 테핑모터란? 테핑모터란 Step 에의해구동되는모터이다. 4개의모터상이있어서한한진행하면서모터가회전하는것이다. 한당보통 1.8' 씩회전한다. 테핑모터는 AC servo, DC servo 모터에비하여값이싸고정확한각도제어에유리하여우리주위에서쉽게접할수있다. 테핑모터는 pulse에의해 digital적으로제어하는것이가능하므로마이크로컨트롤러에서사용하기에적합한모터이다. 테핑모터는다른모터와달리모터의위치를검출하기위한 feedback없이, 정해진각도를회전하고, 상당히높은정확도로정지할수있다. 그리고, system에적용된뒤에도초기성능이만족되어있으면, 갱년변화가적고, 보수가용이하며, 매우신뢰성이높은 system을구성할수있다. 또다른모터에비해정지시매우큰유지토크 ( 정지토크 ) 가있기때문에전자브레이크등의유지기구를필요로하지않는다. 회전속도에있어서도테핑모터에부여하는 pulse rate에비례하므로임으로제어할수있다. 2 테핑모터구동하기 DC모터는회로는간단하지만제어하는방법이복잡하다. 반면테핑모터는구동회로는상대적으로복잡하지만제어는훨씬쉽다. 테핑모터를구동하기위해서는 L297과 SLA7024를같이사용한다. L297은테핑모터구동에필요한상 ( 클럭 ) 을만들어주기위한것이고 SLA7024는만들어진상 ( 클럭 ) 의전압과전류를증폭시키는역할을합니다. 테핑모터의구동부구성 모터클럭생성부 Stepping motor의여자상 (Step) 을만든다. 증폭부 모터입력신호를증폭하여 Stepping motor를구동한다.
7 테핑모터의동작 1. 마이크로컨트롤러에서모터구동을위한클럭을발생시킨다. 2. 모터클럭생성부에서입력클럭을기준으로테핑모터를구동을위한 Step 신호를발생시킨다. 3. 증폭부에서는모터클럭생성부에서출력된신호를모터를구동할수있는전압, 전류로증폭하여모터로전달한다. 3 구동방식의종류 - 전류의흐름에따른구분 1. Unipolar 구동각각의 coil에 1개의 transistor가접속되고 transistor를 ON하는것으로서각 coil에전류를흐르게한다. 또그림에서와같이 1방향만의 coil에는전류 ( A -> Com, A' -> Com, B -> Com, B' -> Com ) 밖에흐르지않는다. 이와같이 coil에 1방향밖에전류가흐르지않기때문에 unipolar( 편극성 ) 구동이라부르고있다. 2. Bipolar 구동 Stepping motor 의구동으로는전술한것과같은간단한구성으로끝나는 unipolar구동외에, 회로는복잡하지만저속영역에서의 torque 를개선하는 bipolar 구동이라는방법이있다. 이 bipolar 구동은 motor 의 coil 에교대로전류를흘리도록드라이브한다. 이강좌에서는 bipolar 구동방식의종류 - 여자방식에따른구분 Stepping motor 의구동방법은그권선코일에어떤형태로전류를흐르게하는가에따라구별되고있다. 이것은모터의종류에따라서도달라지지만, 가장많이사용되고있는 PM형 stepping motor의 step값 90` 의경우를예로설명한다. 대부분의 Stepping motor의기본적인구조나사고방식은같다. 여기서 A, B, /A, /B 는신호입력에따라전자석으로동작하게된다. 아래나오는신호에서신호입력이들어가면전자석이동작하여축에연결되어있는영구자석을당기게된다.
8 1. 4 상 motor 의 1 상여자동작 A 상 B 상 /A 상 /B 상 위그림은 1 상여자방식의 motor 의동작을위한신호를나타낸다. Step 1 A상에연결된 TR이 On 이되어 A->Com로전류가흐른다. coil에전류가흐름으로써고정자의상은 N,S극으로여자된다. 이때 B 쪽에는전류가흐르고있지않으므로 B 쪽의상은비여자이지만, A쪽의여자에동반해서회전자의영구자석은각각 N 과 S, S 와 N 이결합해서안정한위치에정지한다. 다음에 step 2로진행하면먼저 on 하고있던 A상에연결된 TR 은 off가되고, 대신에 B상에연결된 TR 가 on 이된다. B상에연결된 TR이 on이되면 B -> Com의 coil 에전류가흘러이번에는 90o씩어긋나고있는고정자가여자가된다. 그리고여자위치가이동한것으로회전자도시계방향으로당겨져 90 회전하게된다. 같은방법으로 step 3 과 step 4 의동작을함으로써모터는각 step 당 90 씩진행시켜회전시킬수있다.
9 앞에서설명한것을그림으로표현하면아래그림과같다. 1 2 A 영구자석 A /B B /B B /A /A A 상만 ON 되고나머지는 OFF B 상만 ON 되고나머지는 OFF 앞에서 90`만큼시계방향으로회전하였다. A 3 4 A /B B /B B /A /A /A 상만 ON 되고나머지는 OFF 앞에서 90`만큼시계방향으로회전하였다. /B 상만 ON 되고나머지는 OFF 앞에서 90`만큼시계방향으로회전하였다.
10 2. 4 상 motor 의 2 상여자동작 A 상 B 상 /A 상 /B 상 기본적인동작은 1상여자방식과동일하다차이점은토크를좋게하기위해 2개의코일을동시에동작시킨다는것이다. 1상여자에비하면전류가많이흐르는단점이있지만정지상의오버슈터나언더슈터가작고과도특성이좋아진다 상 motor 의 1-2 상여자동작 A 상 B 상 /A 상 /B 상 위그림의 1-2 상여자는전술한 1상여자와 2상여자가교대로반복하는것이다. 따라서회전자는 step 마다 45` 회전한다. 즉 step 각은 maker 가표시하는각도의 1/2 가된다. 1-2상여자는 1상여자와 2상여자의특성을같고있으므로 step rate는배가된다. Step 의각도가다른동작법에비에 1/2 만큼작기때문에 3가지방식중가장성능이좋다. 단점은다른여자방식과같은속도를내려면마이크로컨트롤러에서클럭을 2배로만들어야한다는것이다.
11 4 H/W 구성모터구동보드회로도
12 회로설명 J203 은모터제어신호가입력되는커넥터이다. 마이크로컨트롤러에서생성한모터제어신호가들어온다. 제어신호는 U201, U202 SLA7024(7026) 으로입력되어이칩에서모터동작을위한전압으로증폭된다. 증폭된신호는모터연결커넥터인 J201과 J202 로연결되어모터로전달된다. R201 의가변저항은모터의전류를조절해주는가변저항이다. 적당히돌려모터의토크를결정할수있다. 나머지저항과캐패시터는 SLA7024 의기본회로이다. 예전에는모터클럭생성부와증폭부모두를하드웨어적으로구성하였으니모터클럭생성부의경우마이크로컨트롤러에서소프트웨어적으로구현이가능하기때문에여기서는증폭부만을하드웨어로구성하고아래 MCU F/W 파트에서모터구성을위한신호를소프트웨어적으로구현하도록한다. 5 MCU F/W 프로그래밍 step : 현재모터를위한출력값 switch(step) case 0x03 : step = 0x06; break; case 0x06 : step = 0x0c; break; case 0x0c : step = 0x09; break; case 0x09 : step = 0x03; break; default : step = 0x03; break; step : 다음모터출력위의루틴을한번실행할때마다모터가 1.8` 회전한다. 이루틴을 Timer 인터럽트루틴에서실행하면모터가타이머속도에맞게돌아가게된다. 위루틴을응용하여모터를돌려본다. 먼저 Main 함수에서 Delay 를적당히주고모터를회전시킨다. void main (void) char step = 0; while(1)
13 step = nextmotorclk(step); // 위의 switch case 문을응용해서작성 PORTD = step; // PORTD 에출력신호가연결되었있다. Delay(100); 지금까지는모터회전을확인하기위한단계이다. 모터구동회로가정상적으로제작되었는지모터는정상적으로동작하는지등을확인하기위하여작성하였다. 다음단계로 Timer Interrupt 를이용하여모터를구동해야한다. 타이머인터럽트에관련된사항을학습하여테트해보도록한다.
14 3. 기구부제작 1. 기구부제작알루미늄판을이용하여라인트레이서프레임을구성하였다 i. 테핑모터일반적으로 4 5V 용테핑모터를구매하면적당하다. 일반적으로테핑모터에는정격전압의 3배이상을걸어사용한다.
15 ii. 라인트레이서바퀴라인트레이서의바퀴는일반인이쉽게제작을할수없기때문에전문판매점에서구매하였다. iii. 라인트레이서바디제작하기테핑모터와바퀴를구매하였으면라인트레이서의구조물에해당하는바디를제작해야한다. 바디제작은청계천에서알루미늄판을구매하여직접가공함으로써제작할수있다.
16 앞바퀴는글루건을이용하여고정하있다.
17 4. 프로그래밍 1. 라인트레이서란? 라인트레이서는정해진주행선을따라움직이는자율이동로봇이다. 현재공장자동화부분에서이용되고있는무인반송차가라인트레이서이다. 라인트레이서의기본적인원리는주어진주행선을센서로검출하여이것에따라목적위치까지이동하는것이다. 라인트레이서는크게 3부분 - 컨트롤러부, 센서부, 모터구동부로구성된다. 우선센서부의센서를잘배치해야길을잘인식하고턴마크인식할수있다. 모터구동부분은잡음이많이생기기때문에잘만들지않으면잡음으로인해다른부분이정상적으로동작하지못하는경우가생길수있다. 컨트롤러부는기본적인라인트레이서를제작할때는상대적으로비중이낮으나지능적으로만들려면많은작업이필요로한다. 본강좌에서는라인트레이서를공부하여만들고자하는초보자를위한강좌이므로라인트레이서로서의동작에목표를두고최대한간단하게동작시킬수있도록한다. 2. 라인트레이서의기본동작알고리즘라인트레이서기본동작센서 2쌍을라인의두께보다약간크게위치하여하드웨어를제작할경우센서가라인외곽을따라주행하도록한다. 더복잡하게할수도있지만여기서는위와같이가장간단한알고리즘으로알아보겠다.
18 1 번상황에서센서는라인을감지하지못하였으므로직진한다. 2 번상황에서오른쪽센서가인식되었으므로왼쪽바퀴의속도를증가시켜라인트레이서를오른쪽으로향하게한다. 3 번상황에서왼쪽센서가인식되었으므로오른쪽바퀴의속도를증가시켜라인트레이서를왼쪽으로향하게한다. 위의동작을반복하면라인트레이서는라인을따라진행하게된다. 3. 프로그래밍하기기본적인 C 언어프로그래밍과인터럽트에관한공부를먼저해야한다. C언어와인터럽트에관련해서는관련서적에서자세히나와있으므로이강좌에서는다루지않는다. 1 타이머인터럽트를이용하여테핑모터구동하기타이머인터럽트를학습하여타이머인터럽트를이용하여테핑모터구동해본다. 라인트레이서는테핑모터를 2개구동해야하기때문에타이머인터럽트를 2개사용하여타이머인터럽트각각바퀴 1개씩을구동하도록한다. 2 센서입력받기센서의입력을받아흰색과검정색을구분할수있도록한다. 시리얼통신을이용하여값을확인하면쉽게할수있다. 3 메인함수와인터럽트루틴간의데이터공유메인함수에서는속도를변경하면타이머인터럽트에서변경된속도값을타이머에적용하여테핑모터의속도를변경할수있도록한다. 그렇게하기위해서는속도값을전역변수로선언하여메인함수와인터럽트루틴이공유할수있도록해야한다. 4 센서입력에따른테핑모터속도변경왼쪽센서입력이있을경우왼쪽테핑모터의속도를감소시키고오른쪽센서입력이있을경우오른쪽테핑모터의속도를감소시키도록프로그램을작성한다.
19 4. 예제프로그램 1 타이머인터럽트를이용하여테핑모터구동하기아래소는타이머 2 인터럽트의초기화루틴이다. void timer2_init(void) TCCR2 = 0x00; //stop TCNT2 = 0xF1; //setup OCR2 = 0x0F; TCCR2 = 0x04; //start 아래소는타이머 2 인터럽트의인터럽트서비루틴이다. void timer2_ovf_isr(void) unsigned char temp; CLI(); //disable all interrupts temp = PORTD & 0x0f; TCNT2 = l_speed; //reload counter value if(l_speed == 0) temp = temp; else temp = motoroneclock(temp, 1); PORTD = temp (PORTD & 0xf0); SEI(); //re-enable interrupts
20 2 센서입력받기아래소는 AD Convert 의구동소이다. startconvertion 함수는해당채널의컨버팅을시작하라는함수이고 readconvertdata 함수는컨버팅한채널의데이터를읽어오라는함수이다. void startconvertion(unsigned char ch) ADMUX = 0x20 (ch & 0x0f); ADCSRA = 0xc7; unsigned char readconvertdata(void) volatile unsigned char temp; while((adcsra & 0x10)==0); ADCSRA = ADCSRA 0x10; temp = ADCH; temp = ADCL; temp = ADCH; return temp; 3 메인함수루틴다음소는메인함수에서수행되는무한루프로센서가연결되어있는 6번과 7번센서를컨버팅하여변수에저장시키고이것을임계값과비교하여왼쪽바퀴와오른쪽바퀴의속도를결정하도록하였다. void main(void) volatile unsigned char temp, l_sensor, r_sensor; volatile unsigned char step=0; while(1) l_sensor = 0; r_sensor = 0;
21 startconvertion(6); // Left sensor Converting l_sensor = readconvertdata(); startconvertion(7); // Right sensor Converting r_sensor = readconvertdata(); PORTF = 0x03; if(l_sensor > THRESHOLD && r_sensor < THRESHOLD) l_speed = SLOW_SPEED; r_speed = FAST_SPEED; PORTF = 0x01; else if(l_sensor < THRESHOLD && r_sensor > THRESHOLD) l_speed = FAST_SPEED; r_speed = SLOW_SPEED; PORTF = 0x02; else l_speed = FAST_SPEED; r_speed = FAST_SPEED; printf("ch6 :%d ch7 : %d\n\r", l_sensor, r_sensor); 5. 소코드 // LineTracer Application // Target : M128 // Crystal: Mhz // Programed by Minsuk Kim #include <iom128v.h> #include <macros.h> #define FAST_SPEED 0x80 // 센서가감지되었을때빠른바퀴의센서값 #define SLOW_SPEED 0x10 // 센서가감지되었을때느린바퀴의센서값
22 #define THRESHOLD 17 // 센서의라인감지임계값 unsigned char l_speed=0, r_speed=0; // 모터를구동위한타이머값 void port_init(void) PORTA = 0x00; DDRA = 0x00; PORTB = 0x00; DDRB = 0x00; PORTC = 0x00; DDRC = 0x00; PORTD = 0x00; DDRD = 0xff; PORTE = 0x00; DDRE = 0x00; PORTF = 0x00; DDRF = 0x03; PORTG = 0x00; DDRG = 0x00; // Stepping Motor Port Left, Right // LED Port PF1, PF2 //UART0 initialize // desired baud rate: 9600 // actual: baud rate:9600 (0.0%) // char size: 8 bit // parity: Disabled void uart0_init(void) UCSR0B = 0x00; //disable while setting baud rate UCSR0A = 0x00; UCSR0C = 0x06; UBRR0L = 0x47; //set baud rate lo UBRR0H = 0x00; //set baud rate hi UCSR0B = 0x08;
23 //ADC initialize // Conversion time: 75uS void adc_init(void) ADCSRA = 0x00; //disable adc ADMUX = 0x00; //select adc input 0 ACSR = 0x80; ADCSRA = 0xC6; //TIMER2 initialize - prescale:64 // WGM: Normal // desired value: 1KHz // actual value: 1.008KHz (0.8%) void timer2_init(void) TCCR2 = 0x00; //stop TCNT2 = 0xF1; //setup OCR2 = 0x0F; TCCR2 = 0x04; //start #pragma interrupt_handler timer2_ovf_isr:11 void timer2_ovf_isr(void) unsigned char temp; CLI(); //disable all interrupts temp = PORTD & 0x0f; TCNT2 = l_speed; //reload counter value if(l_speed == 0) temp = temp; else
24 temp = motoroneclock(temp, 1); PORTD = temp (PORTD & 0xf0); SEI(); //re-enable interrupts //TIMER3 initialize - prescale:64 // WGM: 0) Normal, TOP=0xFFFF // desired value: 1KHz // actual value: 1.008KHz (0.8%) void timer3_init(void) TCCR3B = 0x00; //stop TCNT3H = 0xFF; //setup TCNT3L = 0xF1; OCR3AH = 0x00; OCR3AL = 0x0F; OCR3BH = 0x00; OCR3BL = 0x0F; OCR3CH = 0x00; OCR3CL = 0x0F; ICR3H = 0x00; ICR3L = 0x0F; TCCR3A = 0x00; TCCR3B = 0x04; //start Timer #pragma interrupt_handler timer3_ovf_isr:30 void timer3_ovf_isr(void) unsigned char temp; CLI(); //disable all interrupts //TIMER3 has overflowed TCNT3H = 0xFF; //reload counter high value
25 temp = (PORTD & 0xf0)>>4; TCNT3L = r_speed; //reload counter low value if(r_speed == 0) temp = temp; else temp = motoroneclock(temp, 0); PORTD = (temp<<4) (PORTD & 0x0f); SEI(); //re-enable interrupts //call this routine to initialize all peripherals void init_devices(void) //stop errant interrupts until set up CLI(); //disable all interrupts XDIV = 0x00; //xtal divider XMCRA = 0x00; //external memory port_init(); uart0_init(); adc_init(); timer2_init(); timer3_init(); MCUCR = 0x00; EICRA = 0x00; //extended ext ints EICRB = 0x00; //extended ext ints EIMSK = 0x00; TIMSK = 0x40; //timer interrupt sources ETIMSK = 0x04; //extended timer interrupt sources SEI(); //re-enable interrupts //all peripherals are now initialized
26 /* Analog Converter */ void startconvertion(unsigned char ch) ADMUX = 0x20 (ch & 0x0f); ADCSRA = 0xc7; unsigned char readconvertdata(void) volatile unsigned char temp; while((adcsra & 0x10)==0); ADCSRA = ADCSRA 0x10; temp = ADCH; temp = ADCL; temp = ADCH; return temp; /* */ void delay(int n) volatile int i,j; for(i=1;i<n;i++) for(j=1;j<600;j++); /* Stepping Motor derive */ unsigned char motoroneclock(unsigned char step, char dir) unsigned char test; step = step & 0x0f; if(dir) switch(step)
27 case 0x03 : step=0x06; break; case 0x06 : step=0x0c; break; case 0x0c : step=0x09; break; case 0x09 : step=0x03; break; default : step=0x03; break; else switch(step) case 0x03 : step=0x09; break; case 0x06 : step=0x03; break; case 0x0c : step=0x06; break; case 0x09 : step=0x0c; break; default : step=0x03; break; return step; /* main function */ void main(void) volatile unsigned char temp, l_sensor, r_sensor; volatile unsigned char step=0; init_devices(); //insert your functional code here... printf(" \n\n\rtest program...\n\r"); PORTF = 0x03; delay(1000); PORTF = 0x00; delay(1000); PORTF = 0x03;
28 while(1) l_sensor = 0; r_sensor = 0; startconvertion(6); // Left sensor Converting l_sensor = readconvertdata(); startconvertion(7); // Right sensor Converting r_sensor = readconvertdata(); PORTF = 0x03; if(l_sensor > THRESHOLD && r_sensor < THRESHOLD) l_speed = SLOW_SPEED; r_speed = FAST_SPEED; PORTF = 0x01; else if(l_sensor < THRESHOLD && r_sensor > THRESHOLD) l_speed = FAST_SPEED; r_speed = SLOW_SPEED; PORTF = 0x02; else l_speed = FAST_SPEED; r_speed = FAST_SPEED; printf("ch6 :%d ch7 : %d\n\r", l_sensor, r_sensor);
29 라인트레이서하드웨어구성도 Sensor Atmega128 Board Atmega128 ADC6 ADC7 Stepping Motor Controller PORTD ATMega128 내부장치사용용도 ADC6 왼쪽센서입력 ADC7 오른쪽센서입력 PORTD0-3 왼쪽모터구동포트 PORTD4-7 오른쪽모터구동포트 타이머3 오른쪽모터구동 타이머2 왼쪽모터구동 UART0 디버깅포트
<4D F736F F D20BDBAC5D7C7CE20B6F3C0CEC6AEB7B9C0CCBCADB0ADC1C2202D203420C7C1B7CEB1D7B7A1B9D62E646F63>
라인트레이서강좌 4. 프로그래밍 2005년 8월 1일류대우 (davidryu@newtc.co.kr) 1. 라인트레이서란? 라인트레이서는정해진주행선을따라움직이는자율이동로봇이다. 현재공장자동화부분에서이용되고있는무인반송차가라인트레이서이다. 라인트레이서의기본적인원리는주어진주행선을센서로검출하여이것에따라목적위치까지이동하는것이다. 라인트레이서는크게 3부분 - 컨트롤러부,
More information<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>
8주차중간고사 ( 인터럽트및 A/D 변환기문제및풀이 ) Next-Generation Networks Lab. 외부입력인터럽트예제 문제 1 포트 A 의 7-segment 에초시계를구현한다. Tact 스위치 SW3 을 CPU 보드의 PE4 에연결한다. 그리고, SW3 을누르면하강 에지에서초시계가 00 으로초기화된다. 동시에 Tact 스위치 SW4 를 CPU 보드의
More informationUART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ UL UART PORT1 void UAR
IMC-V0.1 예제소스파일 1. UART 소스코드 (page 1-3) 2. Encoder 소스코드 (page 4-7) 3. ADC 소스코드 (page 8-10) UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ
More information슬라이드 1
마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***
More information<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>
7주차 AVR의 A/D 변환기제어레지스터및관련실습 Next-Generation Networks Lab. 3. 관련레지스터 표 9-4 레지스터 ADMUX ADCSRA ADCH ADCL 설명 ADC Multiplexer Selection Register ADC 의입력채널선택및기준전압선택외 ADC Control and Status Register A ADC 의동작을설정하거나동작상태를표시함
More information정보보안 개론과 실습:네트워크
` 마이크로프로세서설계및실습 12-13 주차강의자료 학습목표 A/D 변환기의제어방법을이해한다 능숙하게 A/D 변환기를제어할수있도록반복실습한다 2/28 아날로그 - 디지털변환회로 아날로그 - 디지털변환회로 (A/D 변환회로 ) 는, 아날로그전기신호를디지털전기신호로변환하는전자회로이다 A/D 컨버터 (ADC: Analog-to-digital converter) 라고도불린다
More information<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202831C1D6C2F72C2032C1D6C2F729>
1주차 ATmega128의구조와메모리 Next-Generation Networks Lab. 1. ATmega128의특징 고성능, 저전력의 8 비트마이크로컨트롤러 진보된 RISC 구조 대부분단일클럭에서실행되는강력한 133개의명령어구조 16MHz에서거의 16MIPS로동작 32개의 8 bit 범용작업레지스터와추가된주변장치제어레지스터 2 사이클내에서수행되는강력한곱셈기내장
More information실험 5
실험. OP Amp 의기초회로 Inverting Amplifier OP amp 를이용한아래와같은 inverting amplifier 회로를고려해본다. ( 그림 ) Inverting amplifier 위의회로에서 OP amp의 입력단자는 + 입력단자와동일한그라운드전압, 즉 0V를유지한다. 또한 OP amp 입력단자로흘러들어가는전류는 0 이므로, 저항에흐르는전류는다음과같다.
More informationATmega128
ATmega128 외부인터럽트실습 Prof. Jae Young Choi ( 최재영교수 ) (2015 Spring) Prof. Jae Young Choi 외부인터럽트실험 외부인터럽트를사용하기위해관렦레지스터를설정 일반적으로 I/O 포트에대한설정이끝난후에외부인터럽트나타이머 / 카운터설정 PE4~7 번까지 4 개의외부인터럽트 INT4~INT7 까지사용 외부인터럽트사용법요약
More information<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>
뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( yoo@netplug.co.kr) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128
More information(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -
(Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register
More informationSection 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역
Section 03 인터럽트활성화와인터럽트서비스루틴연결 33/82 Section 03 인터럽트활성화와인터럽트서비스루틴연결 34/82 장치에대한인터럽트설정과활성화 내부장치에대한특수레지스터존재 장치의특성을반영한동작설정용또는상태관찰용비트로구성 인터럽트사건의발생패턴을설정해야함 인터럽트활성화비트를 1 로셋하여, 인터럽트발생을허락» 전제, 전역인터럽트활성화비트가 1 로셋되었을때
More informationChapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee
Chapter. 14 DAC 를이용한 LED 밝기제어 HBE-MCU-Multi AVR Jaeheung, Lee 목차 1. D/A 변환기 2. 병렬 D/A 변환기로 LED 밝기제어하기 3. 직렬 D/A 변환기로 LED 밝기제어하기 D/A 변환기 D/A 변환기 (Digital to Analog Converter) 디지털데이터를아날로그전압으로변환하는소자 A/D변환기와함께마이크로프로세서응용회로에서널리사용됨.
More information인터럽트 * 인터럽트처리메커니즘 ATmega128 인터럽트 2
ATmega128 인터럽트 1 제 04 강 인터럽트 (Interrupt) 인터럽트개요외부인터럽트참고 ) FND 회로실습및과제 인터럽트 * 인터럽트처리메커니즘 ATmega128 인터럽트 2 인터럽트 ( 계속 ) ATmega128 인터럽트 3 * 인터럽트벡터 (P.104 표 7.1 참조 ) : 35 개 인터럽트 ( 계속 ) * 인터럽트허용 / 금지메커니즘 ATmega128
More information<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >
10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절
More informationÀ̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp
l Y ( X g, Y g ) r v L v v R L θ X ( X c, Yc) W (a) (b) DC 12V 9A Battery 전원부 DC-DC Converter +12V, -12V DC-DC Converter 5V DC-AC Inverter AC 220V DC-DC Converter 3.3V Motor Driver 80196kc,PWM Main
More informationK&R2 Reference Manual 번역본
typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct
More information2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다.
C 언어와 Assembly Language 을사용한 Programming 20011.9 경희대학교조원경 1. AVR Studio 에서사용하는 Assembler AVR Studio에서는 GCC Assembler와 AVR Assmbler를사용한다. A. GCC Assembler : GCC를사용하는경우 (WinAVR 등을사용하는경우 ) 사용할수있다. New Project
More informationRVC Robot Vaccum Cleaner
RVC Robot Vacuum 200810048 정재근 200811445 이성현 200811414 김연준 200812423 김준식 Statement of purpose Robot Vacuum (RVC) - An RVC automatically cleans and mops household surface. - It goes straight forward while
More informationMicrosoft Word - Lab.4
Lab. 1. I-V Lab. 4. 연산증폭기 Characterist 비 tics of a Dio 비교기 ode 응용 회로 1. 실험목표 연산증폭기를이용한비교기비교기응용회로를이해 응용회로를구성, 측정및평가해서연산증폭기 2. 실험회로 A. 연산증폭기비교기응용회로 (a) 기본비교기 (b) 출력제한 비교기 (c) 슈미트트리거 (d) 포화반파정류회로그림 4.1. 연산증폭기비교기응용회로
More information(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로
Lab. 1. I-V Characteristics of a Diode Lab. 6. 연산증폭기가산기, 미분기, 적분기회로 1. 실험목표 연산증폭기를이용한가산기, 미분기및적분기회로를구성, 측정및 평가해서연산증폭기연산응용회로를이해 2. 실험회로 A. 연산증폭기연산응용회로 (a) 가산기 (b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로 3. 실험장비및부품리스트
More information실험 5
실험. OP Amp 의기본특성 이상적 (ideal) OP Amp OP amp는연산증폭기 (operational amp) 라고도불리며, 여러개의트랜지스터로구성이된차동선형증폭기 (differential linear amplifier) 이다. OP amp는가산, 적분, 미분과같은수학적연산을수행하는회로에사용될수있으며, 비디오, 오디오증폭기, 발진기등에널리사용되고있다.
More information그룹웨어와 XXXXX 제목 예제
데이터통신 부호화 (encoding) 부호화 (Encoding) 의개념 정보 Encoder 신호 1 Digital - to - Digital 2 Analog - to - Digital 3 Digital - to - Analog 4 Analog - to - Analog 2 1 Digital-to-Digital Encoding Digital 정보를 Digital
More informationlecture4(6.범용IO).hwp
제 2 부 C-언어를 사용한 마이크로컨트롤러 활용기초 66 C-언어는 수학계산을 위해 개발된 FORTRAN 같은 고급언어들과는 달 리 Unix 운영체제를 개발하면서 같이 개발된 고급언어이다. 운영체제의 특성상 C-언어는 다른 고급언어에 비해 컴퓨터의 하드웨어를 직접 제어할 수 있는 능력이 탁월하여 마이크로프로세서의 프로그램에 있어서 어셈블 리와 더불어 가장
More informationPowerPoint 프레젠테이션
A 반 T2 - 김우빈 (201011321) 임국현 (201011358) 박대규 (201011329) Robot Vacuum Cleaner 1 Motor Sensor RVC Control Cleaner Robot Vaccum Cleaner 2 / Event Format/ Type Front Sensor RVC 앞의장애물의유무를감지한다. True / False,
More information(b) 연산증폭기슬루율측정회로 (c) 연산증폭기공통모드제거비측정회로 그림 1.1. 연산증폭기성능파라미터측정회로
Lab. 1. I-V Characteristics of a Diode Lab. 1. 연산증폭기특성실험 1. 실험목표 연산증폭기의전압이득 (Gain), 입력저항, 출력저항, 대역폭 (Bandwidth), 오프셋전압 (Offset Voltage), 공통모드제거비 (Common-mode Rejection Ratio; CMRR) 및슬루율 (Slew Rate) 등의기본적인성능파라미터에대해서실험을통해서이해
More information인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고
CHAPTER 7 인터럽트 가. 레지스터구조이해하기 나. 엔코더제어하기 인터럽트 (Interrupt) 범용입출력포트에서입출력의내용을처리하기위해매번입출력을요구하는플래그를검사하는일 (Pollong) 에대하여마이크로컨트롤러에게는상당한시간을소비하게만든다. 인터럽트란 CPU가현재처리하고있는일보다급하게처리해야할사건이발생했을때, 현재수행중인일을중단하고급한일을처리한후에본래의일을다시수행하는것을말한다.
More information<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>
뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)
More information1. 제품소개 그림. 1.1 이란? DC 모터구동시하드웨어제작에소요되는시간을단축시켜프로그래밍연구개발및학습효과를극대화시켜주는 입니다. 또한당사 DEV 보드와 1P 점퍼클립케이블을이용하여연동이가능하며, 산업용 DC 모터의정회전, 역회전구동및속도제어시유용하게사용되는 입니다.
매뉴얼 (Model: ET-DCM) 이경남 L K 임베디드 서울북부기술인재학원 2013 LK EMBEDDED ET-DCM version 1.0 페이지 1 1. 제품소개 그림. 1.1 이란? DC 모터구동시하드웨어제작에소요되는시간을단축시켜프로그래밍연구개발및학습효과를극대화시켜주는 입니다. 또한당사 DEV 보드와 1P 점퍼클립케이블을이용하여연동이가능하며, 산업용
More information목차 1. A/D 컨버터개요 2. ATMega128 의 A/D 컨버터기능 3. A/D 컨버터로광센서읽기
Chapter. 9 A/D 컨버터 HBE-MCU-Multi AVR Jaeheug, Lee 목차 1. A/D 컨버터개요 2. ATMega128 의 A/D 컨버터기능 3. A/D 컨버터로광센서읽기 A/D 컨버터개요 A/D 컨버터 (Aalog-to-Digital Coverter) 아날로그신호를컴퓨터가읽을수있는병렬또는직렬의디지털데이터로변환하여주는장치 측정하려는아날로그물리량의범위및시스템의응용목적에따라분해능이나정밀도가적합한것을사용.
More information[8051] 강의자료.PDF
CY AC F0 RS1 RS0 OV - P 0xFF 0x80 0x7F 0x30 0x2F 0x20 0x1F 0x18 0x17 0x10 0x0F 0x08 0x07 0x00 0x0000 0x0FFF 0x1000 0xFFFF 0x0000 0xFFFF RAM SFR SMOD - - - GF1 GF0 PD IDL 31 19 18 9 12 13 14 15 1 2 3 4
More informationMicrosoft PowerPoint - ch07 - 포인터 pm0415
2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자
More informationMicrosoft PowerPoint - es-arduino-lecture-03
임베디드시스템개론 : Arduino 활용 Lecture #3: Button Input & FND Control 2012. 3. 25 by 김영주 강의목차 디지털입력 Button switch 입력 Button Debounce 7-Segment FND : 직접제어 7-Segment FND : IC 제어 2 디지털입력 : Switch 입력 (1) 실습목표 아두이노디지털입력처리실습
More informationPowerPoint 프레젠테이션
Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi
More information시리얼통신 (USART) 범용동기및비동기시리얼수신기와송신기 (USART) 는매우유연한시리얼통신장치이다. 주요특징은다음과같다. w 송수신레지스터가독립적으로운용되는전이중방식. w 비동기또는동기동작. w 마스터또는슬레이브동기동작. w 고해상도전송속도생성기. w 5, 6, 7
CHAPTER 12 시리얼통신 가. 레지스터구조이해하기 나. 하이퍼터미널을이용하여로봇제어하기 시리얼통신 (USART) 범용동기및비동기시리얼수신기와송신기 (USART) 는매우유연한시리얼통신장치이다. 주요특징은다음과같다. w 송수신레지스터가독립적으로운용되는전이중방식. w 비동기또는동기동작. w 마스터또는슬레이브동기동작. w 고해상도전송속도생성기. w 5, 6,
More informationMicrosoft PowerPoint - Ch13
Ch. 13 Basic OP-AMP Circuits 비교기 (Comparator) 하나의전압을다른전압 ( 기준전압, reference) 와비교하기위한비선형장치 영전위검출 in > 기준전압 out = out(max) in < 기준전압 out = out(min) 비교기 영이아닌전위검출 기준배터리 기준전압분배기 기준전압제너다이오드 비교기 예제 13-1: out(max)
More informationMicrosoft Word - AM-GYRO-P V02 메뉴얼.doc
2 축자이로센서플러스모듈 ( Model : AM-GYRO-P ) 메뉴얼 뉴티씨 (NEWTC) 1 AM-GYRO-P 소개 2축자이로 ( 각속도 ) 센서 (InvenSense사의 IDG-650/IXZ-650) 를이용한 Evaluation 보드 출력신호에 Low Pass Filter ( 약 2kHz) 구현 AM-GYRO 모듈과 AVR 보드와연결하여테스트할수있는보드입니다.
More information6_5상 스테핑 모터_ _OK.indd
모델구성 적용모델 : 표준축형,, A 8K M 5 6 6 B Autonics motor 1: 은편축형만제공합니다. 2: Standard 결선방식은주문사양입니다. ( 단, 24각, A4K-G564(W), A8K-G566(W) 은제외입니다.) 모델구성 Q-42 모터형식 적용모델 : 기어드일체형,, 로터리액츄에이터형, 로터리액츄에이터 + A M 5 최대허용토크 모터상수
More information<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>
#include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0
More information슬라이드 1
AVR(Atmega128) Interrupt 1 Interrupt Polling 사용자가명령어를사용하여입력핀의값을계속읽어서변화를알아냄 모든경우의입력또는값의변화에대응하여처리가가능 Interrupt MCU 자체가하드웨어적으로그변화를체크하여변화시에만일정한동작 하드웨어적으로지원되는몇개의입력또는값의변화에만대응처리가가능 처리속도는일반적인경우인터럽트가빠름 인터럽트발생시
More informationPowerPoint Presentation
신호조절 (Signal Conditioning) 메카트로닉스 시스템의 구성 ECU 인터페이스 회로 (시그널 컨디셔닝) 마이컴 Model of 기계 시스템 인터페이스 회로 (드라이빙 회로) 센서 액츄에이터 (구동기) 기계 시스템 PN 접합 다이오드 [1] 다이오드의 DC 해석과 등가모델 [1] 다이오드의 DC 해석과 등가모델 [1] 다이오드 응용회로 [1] 다이오드
More information목차 1. 키패드 (KeyPAD) 2. KeyPAD 를이용한비밀번호입력기
Chapter. 13 KeyPAD 를이용한비밀번호입력기 HBE-MCU-Multi AVR Jaeheung, Lee 목차 1. 키패드 (KeyPAD) 2. KeyPAD 를이용한비밀번호입력기 키패드 (KeyPAD) 키패드 (KeyPAD) 마이크로컨트롤러활용에서사용자의입력을받아들이기위한장치 전화기, 컴퓨터, 핸드폰, 냉장고등거의모든가전제품에서사용 키패드인터페이스방식
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More informationMicrosoft PowerPoint - chap05-제어문.pptx
int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.
More informationHBE-MCU-Multi 로배우는 마이크로컨트롤러 (AVR 편 ) 마이크로컨트롤러기능 제 6 장타이머와카운터
HBE-MCU-Multi 로배우는 마이크로컨트롤러 (AVR 편 ) 마이크로컨트롤러기능 제 6 장타이머와카운터 타이머와카운터 1. 클럭과카운터 2. ATMega128 의타이머 / 카운터 3. 8 비트타이머 / 카운터의일반동작모드 4. 타이머로 LED 점멸시키기 5. 타이머로디지털시계만들기 타이머 / 카운터 타이머와카운터 정확한시간의측정이필요하다.( 자명종과스톱워치
More informationMicrosoft PowerPoint - 제5장 인터럽트 (HBE-MCU-Multi AVR).ppt [호환 모드]
Chapter. 5 인터럽트 HBE-MCU-Multi AVR Jaeheung, Lee 목차 1. 폴링과인터럽트그리고인터럽트서비스루틴 2. ATMega128 인터럽트 3. 인터럽트로 LED 점멸시키기 4. 인터럽트로스톱워치만들기 인터럽트 1. 폴링과인터럽트그리고인터럽트서비스루틴 2. ATMega128 인터럽트 3. 인터럽트로 LED 점멸시키기 4. 인터럽트로스톱워치만들기
More informationMicrosoft PowerPoint - polling.pptx
지현석 (binish@home.cnu.ac.kr) http://binish.or.kr Index 이슈화된키보드해킹 최근키보드해킹이슈의배경지식 Interrupt VS polling What is polling? Polling pseudo code Polling 을이용한키로거분석 방어기법연구 이슈화된키보드해킹 키보드해킹은연일상한가! 주식, 펀드투자의시기?! 최근키보드해킹이슈의배경지식
More information1. 기본설정 목차 1-1. 설치해야할프로그램및파일 1-2. 프로그램올리기 1-3. MAKEFILE 2. 캐릭터 LCD(PORT) 3-1. 개요 3-2. 사용하는레지스터 3-3. Source Code 3-4. 실습사진 3. 타이머카운터및초음파센서활용 (PORT, TIM
AVR (ATmega2560) 보고서 2013 년 6 월 14 일 스마트컨트롤러 2013 조유진 1. 기본설정 목차 1-1. 설치해야할프로그램및파일 1-2. 프로그램올리기 1-3. MAKEFILE 2. 캐릭터 LCD(PORT) 3-1. 개요 3-2. 사용하는레지스터 3-3. Source Code 3-4. 실습사진 3. 타이머카운터및초음파센서활용 (PORT,
More information실험 5
실험. apacitor 및 Inductor 의특성 교류회로 apacitor 의 apacitance 측정 본실험에서는 capacitor를포함하는회로에교류 (A) 전원이연결되어있을때, 정상상태 (steady state) 에서 capacitor의전압과전류의관계를알아본다. apacitance의값이 인 capacitor의전류와전압의관계는다음식과같다. i dv = dt
More information<BDC7C7E83520BFB9BAF1BAB8B0EDBCAD2E687770>
제목 : 실험 #5 예비보고서 Interrupt 제어 실험목적 - Interrupt에대한기초지식을알아본다. - Atmega128의 Interrupt를사용해보고, 동작방식과동작방법및특징을확인한다. 실험장비 - ATmega128(AVR Chip), Switch, LED(Green-LED) 실험이론 - 인터럽트 (Interrupt) 인터럽트는프로그램이수행되고있는동안에어떤조건이발생하여수행중인프로그램을일시적으로중지시키게만드는조건이나사건의발생을말한다.
More information< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>
Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법
More informationM16_32KIT_Manual.hwp
M16/32KIT Mega 16/32 KIT Technical Manual AVRMALL http://www.avrmall.com/ September 20, 2004 Copyright (c) 2003,2004 AVRMALL All Rights Reserved. M16/32KIT Technical Manual September 20, 2004 Page 2 of
More informationuntitled
if( ) ; if( sales > 2000 ) bonus = 200; if( score >= 60 ) printf(".\n"); if( height >= 130 && age >= 10 ) printf(".\n"); if ( temperature < 0 ) printf(".\n"); // printf(" %.\n \n", temperature); // if(
More information2주차: 입출력 제어 복습
마이크로프로세서 응용및실습 ` 13-14 주차 : 직렬통신 (2) 한철수 전자공학과 2/35 직렬통신과병렬통신 직렬통신 한가닥의선으로송수신할데이터를차례대로전송하는방식 장점 : 통신선로가적기때문에경제적임 단점 : 전송속도가느림. 송수신약속이복잡해짐 병렬통신 여러가닥의선으로동시에여러개의데이터를전송하는방식 장점 : 전송속도가빠름 단점 : 직렬통신보다비쌈 3/35
More informationPowerPoint 프레젠테이션
KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된
More information뉴티씨 (NEWTC) 2. FB-CY4E-DEV (FPGA 개발 키트) 구성도 Port Select SW 7 Segment Text LCD UART RS-232C JTAG PORTA (5V) Active Serial PORTB (5V) OSC. 50MHz Analog
뉴티씨 (NEWTC) FPGA 개발 키트 (FB-CY4E-DEV) 매뉴얼 (주) 뉴티씨 ( NEWTC ) 1. FB-CY4E-DEV (FPGA 개발 키트) 소개 ALTERA 사의 FPGA(EP4CE6E22C8N)를 이용한 개발보드 입니다. USB 블래스터(FM-USBBLASTER) 를 이용하여 프로그램을 다운로드 가능 LCD, FND(7-Segment), 스위치
More information<4D F736F F F696E74202D2037C0E55FC0CEC5CDB7B4C6AEC0C720B5BFC0DB2E707074>
7 장. 인터럽트의동작 한국산업기술대학교 이응혁교수 WWW.ROBOTICSLAB.CO.KR 1 7.1 인터럽트 (Interrupt) 개요 인터럽트개념 프로그램이수행되고있는동안에어떤조건이발생하여수행중인프로그램을일시적으로중지시키게만드는조건이나사건의발생 비동기적으로처리 다른프로그램이수행되는동안여러개의사건을처리할수있는메커니즘 인터럽트가발생하면마이크로컨트롤러는현재수행중인프로그램을일시중단하고,
More informationAPI 매뉴얼
PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations
More informationMicrosoft Word - PEB08_USER_GUIDE.doc
0. PEB08 이란? PEB08(PIC EVALUATION BOARD 8bits) 은 Microchip 8bit Device 개발을쉽고편리하게할수있는보드입니다. 1. 다양한 8bit Device 지원 기존대부분의 8bit 보드의경우일부 Pin-Count만지원을하였지만, PEB08은 PIC10, PIC12, PIC16, PIC18의 DIP Type Package의모든
More informationZPONZCMGOVQK.hwp
졸업논문 2011. 11. 15. 1 초음파센서를이용한자동주차차량 Automatic Parking Car Using Ultrasonic Sensors 김정수, 김형필, 장호진 Jeong-su Kim, Hyoung-pil Kim, Ho-jin Jang 강원대학교 IT대학전기전자전공 E-mail: nextstep12@nate.com, kimhp@kangwon.ac.kr,jini870720@nate.com
More informationKEY 디바이스 드라이버
KEY 디바이스드라이버 임베디드시스템소프트웨어 I (http://et.smu.ac.kr et.smu.ac.kr) 차례 GPIO 및 Control Registers KEY 하드웨어구성 KEY Driver 프로그램 key-driver.c 시험응용프로그램 key-app.c KEY 디바이스드라이버 11-2 GPIO(General-Purpose Purpose I/O)
More informationStepper Motors
tepper Motor 제어 28 Microchip Technology Incorporated. All Rights Reserved. tepper Motor Control lide 1 Agenda 1. 스텝모터기초 2. Full tep 제어 (1상/2 상제어 ) 3. Half tep 제어 (1-2 상제어 ) 4. Micro tepping 제어 28 Microchip
More informationMicrosoft PowerPoint - 08-MP-8-ADC
8. A/D 변환기 순천향대학교 컴퓨터학부 이 상 정 학습 내용 ATmega28 ADC ADC 개요 ADC 레지스터 ADC 프로그램 온도센서 프로그램 순천향대학교 컴퓨터학부 이 상 정 2 ATmega28 ADC 순천향대학교 컴퓨터학부 이 상 정 3 A/D 변환기 개요 물리적인 현상(전압, 전류,온도,속도,조도,습도,압력,속,,습,압력 )들은 아날로그 값이므로
More information<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>
뻔뻔한 AVR 프로그래밍 The 6 th Lecture 유명환 ( yoo@netplug.co.kr) 1 2 통신 관련이야기 시리얼통신 관련이야기 INDEX 3 ATmega128 시리얼통신회로도분석 4 ATmega128 시리얼통신컨트롤러 (USART) 분석 5 ATmega128 시리얼통신관련레지스터분석 6 ATmega128 시리얼통신실습 1 통신 관련이야기 동기
More information비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2
비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,
More informationMicrosoft Word - LAB_OPamp_Application.doc
실험. OP Amp 의기본응용회로 Voltage Follower/Impedance Buffer 위의 OP amp 회로에서출력전압신호는입력전압신호와항상같으므로, voltage follower라고불린다. 이회로는어떤기능을가지는회로에부하저항을연결하였을때, 부하저항이미치는영향을최소화하기위해서사용될수있다. 예를들면 low-pass filter 회로에부하저항이연결된다음과같은회로를고려해본다.
More informationPowerPoint 프레젠테이션
7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment
More informationPowerPoint 프레젠테이션
7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment
More informationMicrosoft Word - Lab.7
Lab. 1. I-V C Lab. 7. Characterist tics of a Dio 능동필터 ode 1. 실험목표 연산증폭기를이용한저역통과필터 (low-pass filter), filter), 대역통과필터 (band-pass filter) 회로를구성, 연산증폭기능동필터회로를이해 고역통과필터 (high-pass 측정및평가해서 2. 실험회로 A. 연산증폭기능동필터
More informationuntitled
1... 2 System... 3... 3.1... 3.2... 3.3... 4... 4.1... 5... 5.1... 5.2... 5.2.1... 5.3... 5.3.1 Modbus-TCP... 5.3.2 Modbus-RTU... 5.3.3 LS485... 5.4... 5.5... 5.5.1... 5.5.2... 5.6... 5.6.1... 5.6.2...
More informationCANTUS Evaluation Board Ap. Note
Preliminary CANTUS - UART - 32bits EISC Microprocessor CANTUS Ver 1. October 8, 29 Advanced Digital Chips Inc. Ver 1. PRELIMINARY CANTUS Application Note( EVM B d ) History 29-1-8 Created Preliminary Specification
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More informationC & System
1-1 마이크로컨트롤러 (MCU) MCU = CPU Core(Architecture) + Peripherals(Controllers) 1 1-2 마이크로컨트롤러동작구조 1-3 AVR ATmega128 특징 뛰어난성능 (Advanced RISC Architecture) Most Single Clock Cycle Execution 32 X 8bit General
More information슬라이드 1
Hardware/Iot Hacking AVR 프로그래밍 mongii@grayhash 마이크로컨트롤러소개 MCU = Micro Controller Unit 한마디로 작은 CPU 혹은작은컴퓨터 특수목적을수행하는소형화된 CPU 주변장치를추가해나가며기능확장 (Control) 가능 주로 C언어를이용하여프로그래밍 칩내부에 RAM과 ROM 등을포함 System on a
More informationAPI 매뉴얼
PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include
More informationYD-3533.xls
Y D - 3 5 3 3 사 용 설 명 서 78, Daechun-Dong, Dalseo-gu, Daegu, KOREA TEL : +8-53-585-56(Main) FAX : +8-53-585-788 http://www.setech.co.kr e-mail : setech@setech.co.kr 페이지 . 특징 당사의 제품을 사용하여 주셨어 감사하며, 사용중 혹시라도
More information[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi
2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,
More informationKXATUHEFFPYO.hwp
졸업논문 2011 11 15 1 스마트주차장시스템 Smart paking lot system 김대훈 * ** ***, 임동균, 황윤철 Dae-Hun Kim and Dong-Gyun Lim and Yoon-chul Hwang 강원대학교 IT대학전기전자공학부전기전자전공 E-mail: * lalalaoops@hanmailnet ** dk1234@navercokr
More informationMicrosoft Word doc
2. 디바이스드라이버 [ DIO ] 2.1. 개요 타겟보드의데이터버스를이용하여 LED 및스위치동작을제어하는방법을설명하겠다. 2.2. 회로도 2.3. 준비조건 ARM 용크로스컴파일러가설치되어있어야한다. 하드웨어적인점검을하여정상적인동작을한다고가정한다. NFS(Network File System) 를사용할경우에는 NFS가마운트되어있어야한다. 여기서는소스전문을포함하지않았다.
More information0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x = (12 + 6) / 2 * 3; x = 27 x = 3 * (8 / 4
Introduction to software design 2012-1 Final 2012.06.13 16:00-18:00 Student ID: Name: - 1 - 0. 표지에이름과학번을적으시오. (6) 1. 변수 x, y 가 integer type 이라가정하고다음빈칸에 x 와 y 의계산결과값을적으시오. (5) x = (3 + 7) * 6; x = 60 x
More informationuntitled
Step Motor Device Driver Embedded System Lab. II Step Motor Step Motor Step Motor source Embedded System Lab. II 2 open loop, : : Pulse, 1 Pulse,, -, 1 +5%, step Step Motor (2),, Embedded System Lab. II
More informationuntitled
int i = 10; char c = 69; float f = 12.3; int i = 10; char c = 69; float f = 12.3; printf("i : %u\n", &i); // i printf("c : %u\n", &c); // c printf("f : %u\n", &f); // f return 0; i : 1245024 c : 1245015
More informationMicrosoft Word - LKP-RTD 사용자 설명서
LKP-RTD 보드 사용자설명서 Version Information H/W Version : Version 1.0 소속 : ( 주 ) 엘케이일레븐연구소주소 : 성남시중원구상대원동 190-1 SKn테크노파크메가센터 1306호전화 : 031-776-4120 / FAX : 031-766-4119 목차 1. 개요... 5 2. 사양... 6 3. 블록도... 7 4.
More informationPoison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3
Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow
More information(SW3704) Gingerbread Source Build & Working Guide
(Mango-M32F4) Test Guide http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document History
More informationMicrocontrollerAcademy_Lab_ST_040709
Micro-Controller Academy Program Lab Materials STMicroelectronics ST72F324J6B5 Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun Sang Sa Ltd. Seung Jun
More informationchap 5: Trees
5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경
More informationMicrosoft PowerPoint - AVR 시리얼 통신.ppt [호환 모드]
AVR UART 통신 류대우 davidryu@newtc.co.kr 시리얼 (Serial) 통신이란? Serial 통신은하나의신호선을이용해서데이터를비트단위로보내는방식 8 비트비동기식통신콘트롤러 (UART : Universal Asynchronous Receiver Transmitter) 데이터는 LSB 부터 MSB 순으로데이터전송 Serial interface
More informationDSP_MON 프로그램 메뉴얼
UART_CAN Analyzer 윈도우 프로그램 사용자 메뉴얼 리얼시스 TEL : 031-420-4326 FAX : 031-420-4329 주소 : 경기도 안양시 동안구 관양동 799 안양메가밸리 319호 - 1 - UART_CAN Analyzer 제품을 구입해 주셔서 감사합니다. 본 제품을 구입하신 고객께서는 먼저 사용 설명서를 잘 읽어 보시고 제품을 사용하여
More information<30302E20BEC6C6AEB8E120BDBAC6A9B5F0BFC020BFACBDC0B9AEC1A620C7D8B4E42E687770>
연습문제해답 3-1 ATmega328P-AU는 TQFP 형태의패키지를가지면 32개의핀을가지고있다. 이중 28개핀은 ATmega328P-PU와동일한기능을가지는핀이며추가된 4개중 2개는 VCC와 GND에해당한다. 나머지 2개는 ADC6과 ADC7에해당한다. ADC6과 ADC7은아날로그입력을받을수있는핀으로 MUX에연결되어있지만다른아날로그입력핀 (ADC0 ~ ADC5)
More information11장 포인터
누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리
More informationCAN-fly Quick Manual
adc-171 Manual Ver.1.0 2011.07.01 www.adc.co.kr 2 contents Contents 1. adc-171(rn-171 Pack) 개요 2. RN-171 Feature 3. adc-171 Connector 4. adc-171 Dimension 5. Schematic 6. Bill Of Materials 7. References
More information중간고사
중간고사 예제 1 사용자로부터받은두개의숫자 x, y 중에서큰수를찾는알고리즘을의사코드로작성하시오. Step 1: Input x, y Step 2: if (x > y) then MAX
More information프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어
개나리 연구소 C 언어 노트 (tyback.egloos.com) 프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어먹고 하더라구요. 그래서,
More informationPowerPoint 프레젠테이션
7-SEGMENT DEVICE CONTROL - DEVICE DRIVER Jo, Heeseung 디바이스드라이버구현 : 7-SEGMENT HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 디바이스드라이버구현 : 7-SEGMENT 6-Digit 7-Segment LED
More information키트전자 KE-RC-B 코드비젼
-------------------------------------------------------- 키트전자 www.i8051.co.kr KE-RC-B01 2013.08-13 코드비젼 -------------------------------------------------------- 1. LED 점등 --------------------------------------------------------
More informationMicrosoft Word - PLC제어응용-2차시.doc
과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,
More informationMicrosoft Word - AM-2560PRO_V01 메뉴얼.doc
ATMEGA 2560 모듈 ( Model : AM-2560PRO V01) 메뉴얼 ( 주 ) 뉴티씨 (NEWTC) 1 AM-2560Pro 소개 ATMega2560 16AU AVR 마이크로컨트롤러사용 256Kbit (32Kbyte) SRAM 내장 (ISSI IS62C256AL) 2줄짜리 2mm Header Pin이양쪽으로 50 핀씩배치되어있음. MAX3232 내장으로
More information슬라이드 1
-Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역
More information