디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

유리한과 함께하는 AVR로 임베디드 개념쌔우기 - #9. 돌아라~

유리한갤로그로 이동합니다. 2007.08.16 12:43:50
조회 2478 추천 0 댓글 10













한번 삭제 됐다가 알바한테 찌질대서 다시 살려낸 게시물.

지금 또 짤릴까 걱정되서 짤방은 그냥..

(물론 개념없는 듣보잡 찌질이가 신고한걸 무개념 먹튀알바가 확인없이 날린거였겠지만
그래도 바꿨다.)

그리고 인간적으로 관심 1g 좀.. 맆흘수가 어째..






유리한과 함께하는 AVR로 임베디드 개념쌔우기 - #9. 돌아라~


벌써 9번째 강좌 되시겠다.

별로 올린것도 없는데 9번째 강좌라니..

감동이다.

오늘 진도는 모터에 관한 내용이다. 로봇을 만들때는 필수지.

자, 흔히 MCU로 제어하는 모터는 크게 세가지.

DC모터, 스테핑모터, 서보모터 가 있겠다.

d0052452_46c3c593b3476.jpg


<DC기어모터>
d0052452_46c3c5a269f05.jpg
<스테핑모터>
d0052452_46c3c59942a71.jpg
<서보모터>
(사진출처 : 엘레파츠)

사진을 보면 대충 감이 오나?

dc모터는 그냥 미니카에 들어가던 모터. 일명 문방구 모터 되시겠다.

사진에 있는건 기어를 달아놔서 속도는 느려도 힘은 작살인 기어모터 되시겠다.

dc모터의 선은 두가닥이다. 말안해도 알겠지? 전원을 어느 라인에 걸어주느냐에 따라서

회전 방향이 바뀐다.

주의할점은 io포트에 다이렉트로 엮으면 역기전류때문에 칩이 뒈질수가 있다.

포토커플러나 TR, FET같은걸로 전원단을 분리해주는게 좋다.

(간단하게 io포트 출력으로 스위치를 껐다 켰다 하듯이 조절하라는거다.)

이건 스테핑모터도 마찬가지다.

스테핑모터를 보자면 좀 묵직하게 생겼다.

뭐하는 놈인고 하니 나름 정확한 각도제어가 가능 하시겠다.

선을 보면 6가닥으로 되어있다. 전원/접지를 제외하면 남는핀은 네개.

신호선이 네가닥 되시겠다.

A,  B, /A, /B 로 표현하는데.. 번갈아가면서 신호를 주면 돌아간다.

뭐 구동방법은 몇가지가 있긴한데.. 용어는 기억이 안난다.ㅋ

하여간.. 간단히 알아보자.

A B /A /B 순으로 나간다.

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

이렇게 주는 방법이 있지만 좀 부드럽지 못하다는 단점이 있지.

그래서 나온 방식이

1 1 0 0
0 1 1 0
0 0 1 1
1 0 0 1

이런 방식이나

1 0 0 0
1 1 0 0
0 1 0 0
0 1 1 0
0 0 1 0
0 0 1 1
0 0 0 1
1 0 0 1

같은 방식이 있겠고..

1 1 0 0
1 1 1 0
0 1 1 0
0 1 1 1
0 0 1 1
1 0 1 1
1 0 0 1
1 1 0 1

이라던지..

뭐 맘에 드는 방법으로 써라.

간단하게 소스 나가신다.

 1
 2
 3 /*  초단순 스텝모터 드라이빙 함수
 4  *  Step Moter == PORTD
 5  *  A   -   0x01    PD0
 6  *  B   -   0x02    PD1
 7  *  /A  -   0x04    PD2
 8  *  /B  -   0x08    PD3
 9  */
10
11
12 #define     MOT_PORT    PORTD
13 #define     FORWARD     1
14 #define     BACKWARD    -1
15
16 void Step_Mot(char Direction,int Delay_Time)
17 {
18     static signed char Mot_Step=0;
19
20     if(Direction==FORWARD)
21         ++Mot_Step;
22     else if(Direction==BACKWARD)
23         --Mot_Step;
24     else return;
25
26     if(Mot_Step==-1)
27         MOT_Step=3;
28     if(Mot_Step==4)
29         Mot_Step=0;
30
31     MOT_PORT=1<<Mot_Step;
32     delay_ms(Delay_Time);
33
34     return;    
35 }
36 



지금 대충 만들어서 잘 돌아갈지는 장담 못한다.
뭐 이런식으로 돌리면 된다는걸 말해주는것 뿐이다.
딜레이는 필수로 줘야되는데, 안주면 뭐 안돈다. 속도생각해서 알맞게 주도록 하고..
저놈 사용하려면 for(i=0;i<1000;++i) Step_mot(FORWARD,100); 형태로 루프 돌려야 된다. ㅇㅋ?

A -> B - > /A -> /B 까지 한사이클을 돌면 1.8도가 움직이는거야.

180도를 움직이고 싶다면 100번 사이클을 돌려주면 되는거지. 저 함수의 경우에는 100*4 번 돌리면 될테고. ㅇㅋ?

추가하자면, 따로 IC칩을 쓰면 알아서 신호를 돌려주는 놈도 있다. 전류값에 따라 알아서 신호를 준다더라. 써본적 없으니 패스.


자, 이제 서보모터 한개 남았다.

어디다 쓰는 놈이냐? -90~+90도 까지 180도 밖에 안움직인다.

디지털 도어락에도 사용되고

로봇 관절에 사용된다. 자동차 와이퍼도 서보모터 쓰던가?

원운동이지만 직선운동도 가능하게 할수 있다.

이놈은 선이 세개다.

역시 전원 1 접지 1 한개는 신호선.

근데 디지털 신호가 아니라 아날로그 신호다.
(물론 디지털 서보나 rs-232나 485를 지원하는 서보도 있다더라. 써본적 없으니 역시 패스.)

20ms 주기로 0.7~2.3m 까지 PWM 신호를 주면 -90~+90 까지 움직인덴다.
(PWM개념은 초반 강좌에 있을꺼다.)
 
지금은 테스트할 방법이 없으니

역시 발로 짠 소스를 보자.

 1
 2 // 비트 토글
 3 #define     ServoOn     PORTD|=0x01;
 4 #define     ServoOff    PORTD&=~0x01;
 5
 6 ISR(TIMER0_OVF_vect)
 7 {
 8     static unsigned int cnt;
 9     TCNT0 = 0x00;  //계산하기 귀찮아. 하여간 100us.
10     if(cnt<200)
11         cnt++;
12     else cnt=0;
13     if(Servo<cnt)
14         ServoOn;
15     else ServoOff;
16 }
17

주기는 알아서 100us로 맞춰라. 자세한 내용은 강좌 중 delay 부분에 있다.

100us * 200은 20ms 되시겠고..

0.7~2.3이라고 했으니 서보모터를 움직이고 싶을때 Serv0 값을 7~23 까지 주고싶은데로 주면

-90~+90까지 움직이겠지?



오늘 강좌는 이것으로 끝이다.

사족을 붙이자면 dc모터 속도제어도 PWM 방식으로 가능하다.

스텝은 딜레이 따라 속도가 달라지고

서보는 속도조절 그딴거 업ㅂ다



다들 즐거운 하루 되시라

난 휴가 마지막 날이다..ㅠㅠ

그리고 캐생키들

관심좀..ㅠㅠ 굽신굽신

뻘글도 맆흘이 두자린데 이건뭐..


다음번 강좌는 뭘로할까?

초음파센서나 할까?

adc도 해야되나..?

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 우리나라를 대표해서 UN 연설자로 내보내고 싶은 스타는? 운영자 25/09/29 - -
AD 프로게이머가 될테야!! 운영자 25/10/01 - -
공지 프로그래밍 갤러리 이용 안내 [96] 운영자 20.09.28 47614 65
2893741 노인개씹버러지새끼들 요즘 100세인생이라고 안해서 좋다 ㅋㅋㅋ [1] 타이밍뒷.통수한방(1.213) 15:32 14 0
2893739 추석 연휴 업소 가는 형들 꿀팁 반값 꿀팁 풀게ㅅㅅㅅ [1] ㅇㅇ(39.7) 15:26 15 0
2893738 좆븅신이 지가 잘난줄 아는 이유 프갤러(210.217) 15:15 25 2
2893737 진짜 개발자가 설명 못하는이유 [1] 프갤러(210.217) 15:11 24 1
2893736 이제 개인용으로 램 64기가정도는 충분히 [7] ㅇㄷ(211.234) 15:00 32 0
2893735 가짜개발자 진짜개발자 구분법 [2] 발명도둑잡기(118.235) 14:58 32 0
2893734 결혼식 갔다왔다 [1] 발명도둑잡기(118.235) 14:57 15 0
2893733 시원하당 ♥냥덩이♥갤로그로 이동합니다. 14:43 14 0
2893731 동생 동영상편집 하고 싶다는데 중고나라에서 30짜리 컴으로 될까?? ㅇㅇ(223.39) 14:17 15 0
2893730 대한민국에 쓰레기들 생각하니까 짱개가 땡기네 프갤러(210.217) 13:41 20 0
2893729 정치가 ㄹㅇ 역겨움 프갤러(210.217) 13:22 25 0
2893728 카카오같은거 보면 개발자들 ㄹㅇ 띨방한 애들밖에 없는듯 [4] 프갤러(210.217) 13:11 66 1
2893727 나는내향적이야 나는조현병이야 손발이시립디다갤로그로 이동합니다. 12:36 26 0
2893725 창업 조언 발명도둑잡기(118.235) 12:23 21 0
2893724 프로그래밍 이야기가 1도 없노 ㅇㅇ(218.157) 12:23 28 0
2893723 신은 왜 쓰레기 같은 새끼한테 시간을 줬을까? 프갤러(210.217) 12:14 32 1
2893722 앱 오버레이 컴포넌트들 다 만들었다 [1] 노력갤로그로 이동합니다. 11:44 34 0
2893721 인공지능, ai 국비하면 취업 가능? [4] cvs.갤로그로 이동합니다. 11:24 64 0
2893720 [이스트소프트] AI 교육받고 제주 자연 속 워케이션 즐기자! [1] [ESTsoft]oreumi-camp(125.183) 10:39 43 1
2893719 뭔지랄을해야 이딴나라에서 태어날수있는거지 [1] 타이밍뒷.통수한방(1.213) 10:35 29 0
2893718 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 10:09 29 0
2893717 ❤✨☀⭐⚡☘⛩나님 시작합니당⛩☘⚡⭐☀✨❤ ♥냥덩이♥갤로그로 이동합니다. 09:33 26 0
2893716 수..숨막혀..ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09:31 20 0
2893714 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 09:26 24 0
2893713 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 09:25 30 0
2893712 의정부역 PC방 ㅇㅇ(223.38) 08:40 18 0
2893711 앱공장 해볼만함? 프갤러(180.231) 08:12 25 0
2893692 넥도리아 양념 헌돈 돼지 갈비 추석을 향해 전진. [1] 넥도리아2025(220.74) 06:22 26 0
2893675 음기 충전 발명도둑잡기(118.216) 05:13 50 0
2893673 조심해라 프갤러(211.118) 04:44 45 0
2893671 스포티파이 개인정보 국방부로 팔려나가는 건 시간문제 발명도둑잡기(118.216) 04:16 24 0
2893666 이 패션 진짜 올 가을 유행인가요? 발명도둑잡기(118.235) 04:01 27 0
2893665 스포티파이 인공지능 규제 발표 [1] 발명도둑잡기(118.235) 03:56 32 0
2893663 “엡스타인, 정보기관과 연관됐나” 의혹 여전… 美 정부는 침묵 발명도둑잡기(118.235) 03:36 21 0
2893655 흐름 상징 발명도둑잡기(118.235) 02:54 30 0
2893649 한국 국회, 정부, 법원은 여전히 미군위안부같은 정치를 하고 있다 발명도둑잡기(118.216) 02:42 20 0
2893644 사실 세대론으로 비판하면 안되고 생산수단 가진자를 비판해야 발명도둑잡기(118.235) 01:57 25 0
2893642 오늘의 소설, 영화 실마리: 성매매자 데이터베이스가 외국 정보기관에 발명도둑잡기(118.235) 01:52 17 0
2893641 엠스타인 명단 공개 예정인 의원 발명도둑잡기(118.235) 01:38 21 0
2893639 형님들 스타트업은 원래 조용한가요? [4] ㅇㅇ(106.101) 01:16 83 0
2893638 이직 하고 싶은데 물경력이라 방법이 없다.. [1] ㅇㅇ(175.197) 01:16 39 0
2893637 BTS (방탄소년단) 'Dynamite' 발명도둑잡기(118.216) 01:07 20 0
2893636 먹고 살려고 안해본 일이 없는데, IT 프리랜서 장점은 [1] ㅆㅇㅆ(124.216) 01:06 62 0
2893635 내가 느끼는게 랜딩 페이지 하나 작성에 15만 ㅆㅇㅆ찡갤로그로 이동합니다. 00:59 38 0
2893634 프리로 협업 몇번해봤는데 항상 느끼지만 ㅆㅇㅆ찡갤로그로 이동합니다. 00:56 42 0
2893632 어차피 개발하다보면 서로 지식의 빈곳이 있을수밖에 없어서 [3] ㅆㅇㅆ찡갤로그로 이동합니다. 00:48 67 0
2893631 신해철, 싸이-Dear America [1] 발명도둑잡기(118.216) 00:38 32 0
2893629 우리나라가 소프트웨어 강국이 되려면 ㅇㅇ(121.168) 00:30 29 0
2893628 한국 10년뒤엔 러스트충들 국비찍어될듯 타이밍뒷.통수한방(1.213) 00:29 55 0
뉴스 '은수 좋은 날' 김영광, 미스터리한 미술강사의 아슬아슬한 이중생활! 극과 극 텐션으로 안방극장 장악! 디시트렌드 10.02
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2