'hs-311'에 해당되는 글 5건

  1. 2011.10.14 디지털 도어락 (65)
  2. 2011.07.12 초음파센서를 이용한 거리측정 및 모터제어 (35)
  3. 2011.07.10 HS-311 (서보모터 제어하기) (7)
  4. 2011.05.10 CDS 센서특성 (14)
  5. 2011.05.10 무인탐사로봇 (JH)
AVR 8BIT/디지털도어락2011. 10. 14. 19:30
안녕하세요 숭덕이 박제현입니다. 요즘 너무 뜸하게 블로그를 관리했네요....무엇을 만들가 무엇을 만들가
고민고민하다가 벌써 이렇게 시간이 많이 지체가 되었네요....이제부터는 작품을 만들어서 작품을 공부하시는 분에게
기증하기로 마음을 먹었습니다. 디지털도어락은 키패드와 LCD 모터부분으로 3개를 준비했습니다. 머 부수적인 부품은 몇개가 있겠지만 큰것만 적어보니 3개 있더라고요!!!! 자 이제 그럼 곧 시작해보겠습니다.


 

 


음 간단히 키패드 확인만 해봤습니다. 음 키패드의 번호가 눌리면 해당 LED가 켜지는것을 했는데요 채터링때문인지 가끔 다른 LED가 켜지는것을 봅니다. 그래서 채터링 방지 딜레이를 사용했습니다. 소스는 아래 있습니다.

 


 #include <mega128.h>
#include <delay.h>


void keypad(void)
{

   PORTC.2=0;
   PORTC.0=1;
   PORTC.1=1;
  
   if(PINC.3==0) PORTE.0=1; else PORTE.0=0; 
   if(PINC.4==0) PORTE.1=1; else PORTE.1=0;
   if(PINC.5==0) PORTE.2=1; else PORTE.2=0;
   if(PINC.6==0) PORTE.3=1; else PORTE.3=0;
  
   delay_ms(5);
  
   PORTC.2=1;
   PORTC.0=1;
   PORTC.1=0;
  
   if(PINC.3==0) PORTE.4=1; else PORTE.4=0; 
   if(PINC.4==0) PORTE.5=1; else PORTE.5=0;
   if(PINC.5==0) PORTE.6=1; else PORTE.6=0;
   if(PINC.6==0) PORTE.7=1; else PORTE.7=0;
  
   delay_ms(5);
  
   PORTC.2=1;
   PORTC.0=0;
   PORTC.1=1;
  
   if(PINC.3==0) PORTD.0=1; else PORTD.0=0; 
   if(PINC.4==0) PORTD.1=1; else PORTD.1=0;
   if(PINC.5==0) PORTD.2=1; else PORTD.2=0;
   if(PINC.6==0) PORTD.3=1; else PORTD.3=0;
}  


void main(void)
{
    DDRC=0x07 ;
    DDRE=0xff; 
   
    while(1)
    {
       keypad();
    
    }

}


자 이제는 LED가 아닌 LCD에 숫자를 표시해보겠습니다....시뮬레이션이 다 완성되면 그때 납땜과 함께 디자인도 하고 해서 집에 소중히 모셔두겠습니다 ^^;;;

 


#include <mega128.h>
#include <delay.h>

#asm
   .equ __lcd_port=0x12 ;
#endasm

#include <lcd.h>

void keypad(void)
{

   PORTC.2=0;
   PORTC.0=1;
   PORTC.1=1;
  
   if(PINC.3==0) PORTE.0=1; else PORTE.0=0; 
   if(PINC.4==0) PORTE.1=1; else PORTE.1=0;
   if(PINC.5==0) PORTE.2=1; else PORTE.2=0;
   if(PINC.6==0) PORTE.3=1; else PORTE.3=0;
  
   delay_ms(5);
  
   PORTC.2=1;
   PORTC.0=1;
   PORTC.1=0;
  
   if(PINC.3==0) PORTE.4=1; else PORTE.4=0; 
   if(PINC.4==0) PORTE.5=1; else PORTE.5=0;
   if(PINC.5==0) PORTE.6=1; else PORTE.6=0;
   if(PINC.6==0) PORTE.7=1; else PORTE.7=0;
  
   delay_ms(5);
  
   PORTC.2=1;
   PORTC.0=0;
   PORTC.1=1;
  
   if(PINC.3==0) PORTD.0=1; else PORTD.0=0; 
   if(PINC.4==0) PORTD.1=1; else PORTD.1=0;
   if(PINC.5==0) PORTD.2=1; else PORTD.2=0;
   if(PINC.6==0) PORTD.3=1; else PORTD.3=0;
}  

void lcd_pal(void)
{
  lcd_gotoxy(0, 0); lcd_putsf("Park jae hyun"); 
  lcd_gotoxy(0, 1); lcd_putsf("010-8741-2739"); 
}

void main(void)
{
    DDRC=0x07;
    DDRD=0xff;
    DDRE=0xff; 
    lcd_init(16);
   
    while(1)
    {
       keypad();
       lcd_pal();
    
    }

}



음 이제 시뮬레이션 테스트는 다 끝났습니다 동영상 첨부하겠습니다. 음 주말에 납땜 유후훗~~~~
작품 하나만들고 테스트.......흠............

 

              



 


60 % 동영상

 

 문제점
 1. 채터링이 심함
 2. 문열림, 문닫힘
 3. 모터 작동시 LCD 멈춤현상
 4. 비밀번호 배열 초기화 후 배열에 비밀번호 다시 입력
 
 고칠 것..
 1. 채터링쪽 딜레이로써 문제점 해결예정
 2. 타이머로 인한 문열림 문닫힘 할 예정 ( 약 5초후 문잠김 )




100 완성...

 


나중에는 온도센서, 조도센서를 달아 집과 비슷한 구조를 만들어보겠습니다...업그레이드 기대하세용!!!!!


나머지는 나중에 가주고 가시는 분에게....
----소스 비공개----



'AVR 8BIT > 디지털도어락' 카테고리의 다른 글

소스  (1) 2011.10.20
디지털 도어락  (65) 2011.10.14
Posted by 숭덕이

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. 익명

    비밀댓글입니다

    2014.10.26 17:18 [ ADDR : EDIT/ DEL : REPLY ]
  3. 학부생

    현재 AVR을 공부하는 학생입니다.
    아직 배우는 단계라 회로도와 소스좀 얻어서 공부하고 싶은데 가능할까요? ㅠㅠ

    2014.11.20 01:34 [ ADDR : EDIT/ DEL : REPLY ]
  4. 익명

    비밀댓글입니다

    2014.12.08 12:35 [ ADDR : EDIT/ DEL : REPLY ]
    • 채터링이 심한 부분을 보내주세요.
      소스코드를 보내주시면 분석 후 코멘트 달아드리겠습니다.

      2014.12.29 15:20 신고 [ ADDR : EDIT/ DEL ]
  5. 석이

    현재 대학교에서 공부하고 있는 학생입니다.
    도어락을 만들어 보고 싶은데
    막상 처음부터 도어락을 만들려고 하니 막막합니다..
    도어락에 관한 소스를 얻고 싶은데 가능할까요??
    0428woo@naver.com으로 보내주시면 감사합니다.

    2015.02.02 21:06 [ ADDR : EDIT/ DEL : REPLY ]
  6. 석이

    현재 대학교에서 공부하고 있는 학생입니다.
    도어락을 만들어 보고 싶은데
    막상 처음부터 도어락을 만들려고 하니 막막합니다..
    도어락에 관한 소스를 얻고 싶은데 가능할까요??
    0428woo@naver.com으로 보내주시면 감사합니다.

    2015.02.02 21:06 [ ADDR : EDIT/ DEL : REPLY ]
  7. 덩균이

    저 프로젝트떄문에 고민하고있는 학생입니다.
    이번 프로젝트에서 도어락을 만드려고 고민중인데
    처음시도하는거라 너무 막막합니다.
    혹시 소스나 회로도나 부품 관련된 정보를 얻고싶은데
    olkimlo@naver.com 으로 보내주실수있으신가요?ㅜㅜ

    2015.04.27 00:26 [ ADDR : EDIT/ DEL : REPLY ]
  8. 익명

    비밀댓글입니다

    2015.04.28 16:38 [ ADDR : EDIT/ DEL : REPLY ]
  9. 익명

    비밀댓글입니다

    2015.05.10 21:31 [ ADDR : EDIT/ DEL : REPLY ]
  10. 안녕하세요

    안녕하세요 저희가 지금 캡스톤 디자인 을 진행중인데 저희가 원하는 도어락이 없어서 만들려고 찾는중 이 사이트를 찾아서 들어왔습니다 혹시 소스를 부탁 드려도 될까요? 그리고 부품들에 대한 정보도 물어봐도 될까요

    2015.05.12 16:44 [ ADDR : EDIT/ DEL : REPLY ]
  11. 라진수

    공개좀

    2015.05.13 13:34 [ ADDR : EDIT/ DEL : REPLY ]
  12. AVR교육생

    안녕하십니까? 위에분들도 많으신대 저희 또한 프로젝트로 고민하고있는 학생입니다.
    프로젝트에서 블루투스무선도어락을 설계하여 만들려고하는대 일부분을 참고하싶어 메세지남깁니다. ㅠㅠ
    또한 이번 작품이 초기 작품이여 이곳저곳 아이디어와 정보를 공유하고 참고하여 조금씩 설계하는중입니다.
    소스 또한 회로도 부품 관련된 정보를 얻고싶습니다.
    시간이되신다면 rnay003@naver.com 으로 메일을 한번 받아보고 싶습니다. 위글 정보도 감사합니다 ㅠ ㅎ

    2015.05.13 17:40 [ ADDR : EDIT/ DEL : REPLY ]
  13. 열공맨

    안녕하십니까 요즘 활발하게 AVR 공부중인 학생입니다.

    여러글들을 찾아보다가 굉장히 흥미로운 주제를 발견하게 됬는데 소스와 회로도좀 공유해주시면 정말 큰 도움이 되실거 같습니다..ㅠㅠ

    선행을 베풀어 주시면 감사하겠습니다..!

    tksjw200@naver.com으로 보내주시면 감사하겠습니다!

    2015.05.19 20:20 [ ADDR : EDIT/ DEL : REPLY ]
  14. 웨하스

    안녕하세요. 블루투스 도어락을 만들려고 하는 학생입니다.
    블로그 보고 열심히 따라해봤는데 잘안되네요.
    죄송하지만 소스와 부품 회로도좀 얻을 수 있을까요?
    jinvmin@naver.com 으로 보내주시면 감사하겠습니다

    2015.05.25 19:57 [ ADDR : EDIT/ DEL : REPLY ]
  15. 헬프미

    도어락 만드는거 꿈인데 제 노력으로 해보겠지만 잘 안돼서요
    소스하고 회로도좀 참고해서 할 수 있게 보내주시면 감사하겠습니다
    부탁드립니다 ㅠ kbh4791@naver.com

    2015.10.07 10:57 [ ADDR : EDIT/ DEL : REPLY ]
  16. 도어락

    안녕하세요. 지금 avr에서 키패드를 이용해서 도어락 만드는 공부를 하고 있는 학생입니다.

    키패드와 키트를 연결하여 숫자 입력받는 방법이랑 포트를 어떻게 사용해야 하는지 막혀서 그러는데 소스를 참고하고 싶어서 댓글 남깁니다.

    프로그램 코드소스 좀 qta1234@naver.com으로 보내주실수 있을까요?

    보내주시면 정말 감사하겠습니다 ㅠㅠ

    2015.10.28 16:16 [ ADDR : EDIT/ DEL : REPLY ]
  17. 키패드

    avr atmega128을 이용하여 키패드로 LED 전원을 넣는 공부를 하고 있는 학생입니다.

    소스코드를 좀 받을 수 있을까요??

    dangyo616@naver.com 으로 보내주시면 감사하겠습니다

    2015.11.02 11:49 [ ADDR : EDIT/ DEL : REPLY ]
  18. 도어락1

    atmega128 을 이용해 도어락 제작을 고민하고 있는 학생입니다.

    소스 코드 작성하신 것 참고하고 싶은데 받을 수 있을까요?? ㅠㅠ

    jnkim786@naver.com 으로 보내주시면 정말 감사하겠습니다.

    2015.11.15 18:39 [ ADDR : EDIT/ DEL : REPLY ]
  19. 아트메갸

    아트메가128 사용을 해서 작품을 만드는데 취미가 있는 공대생 입니다~! 이번에 도어락을 한번 만들어 보려고 하는데 조금 막막해서요 ㅜㅜ 죄송하지만 회로도와 소스코드 참고해서 공부해 보고 싶습니다 혹시 받을수 있을까요?ㅠㅠ 제 메일주소는 gagzz1@naver.com 입니다 ㅜㅜ 꼭 부탁드립니다ㅜㅜ

    2015.11.19 00:54 [ ADDR : EDIT/ DEL : REPLY ]
  20. 아트메갛

    안녕하세요 atmega128 로 작품 준비중인 학생입니다.

    소스코드와 회로도를 받아 볼 수 있을까요? 부탁드립니다ㅠㅠ
    sjjs0583@naver.com입니다ㅠㅠ부탁드립니다ㅜㅜ

    2015.11.29 11:37 [ ADDR : EDIT/ DEL : REPLY ]
  21. 숭덕이 님
    디지털 도어락에 대해서 공부중입니다.
    네이트온 메시지 보냈으니 확인해보시고 답장주시면 감사하겠습니다.

    2015.12.07 16:07 [ ADDR : EDIT/ DEL : REPLY ]

안녕하세요 숭덕이 박제현 입니다. 회사에서 일끝나고 또 의자에 앉아 이렇게 글을 남깁니다. 조금 있으면 블로그시작한지 음 기억이 안나요!!!!!!!!암튼 초음파로 거리측정하고 모터를 움직여보겠습니다..


                                                             데이터시트
 

 

 





 주파수 40Khz 
 최대 측정거리 3~4M 
 최소 측정거리 1CM 
 입력전압 5V 
 초당 측정횟수  1000ms(1초) 한번 측정시 50ms 1초당 약 20회
 입력신호 10usec 
 소비전류 4mA 
 크기 43 * 20 * 17 mm 
 스펙참조   (http://eleparts.co.kr/front/productdetail.php?productcode=005035002004000009&sort=)
 SRF-05 Single Pin Mode 



 

SRF-05에 제가 쓸 핀은 VCC,Echo,Trigger,Gnd 4개의 핀으로 회로와 초음파를 사용해보겠습니다.
초음파는 민감하고 잘 고장나는 센서이므로 회로도를 잘 보고 결선을 해주셔야 합니다. 이제 한번 이 센서를 먼저 분석해보도록 하겠습니다. 현재 가지고 있는 센서가 예전에 쓰던건데 고장난것인지 아닌지는 정확하게 모르겠으나 일단 초음파센서에 대해 적고 그 다음 빠른시일내에 테스트 해보겠습니다.

데이터시트에 보시면 타이밍 다이어그램이 있습니다. 그 그림을 가지고 설명을 드리겠습니다.


자 이 센서의 타이밍도 입니다. 정확한 펄스를 안맞춰도 되지만 정확한 값을 받지는 못하겠죠? 그래서 데이터시트에 나와있는 그대로 하면 좋습니다. 값은 나와도 값이 정확하지가 않으면 센서는 무용지물입니다.

처음 타이밍도를 보면 10us동안에 High로 되어 있습니다. 그 다음 Low로 내려간 상태에서 거리측정이 되시는것을 보실 수 있습니다. 10us의 펄스를 가하게 되면 2번째의 그림에서와 같이 8 cycles의 초음파가 발생합니다.


자 여기서 58us일때는 cm로 계산이 되며 148us는 inches로 계산된다고 나와있네요 제가 항상 실수하는것이
데이터시트를 정확하게 안보고 일단 만들어보고 그 다음에 실수한 부분을 찾는 다는 겁니다.
잘못되긴 했어도 만드는것이 재미있다 보니 어쩔 수 없이 안되더군요.

흠냥 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

초음파의 음파속도는 340m/s 입니다. 초음파는 음파를 발생하고 벽이나 장애물에 부딪치고 돌아오는 시간을 계산해보면 S= V * T/2 로 했을시 거리가 나오게 됩니다. 조금 어렵네요 저는 수학을 잘 못해서............



저도 예전에 한 2년전에 초음파센서로 거리측정한 후에 한번도 사용해보지를 못해서 정확하지는 않아서 인터넷을 찾아보니 1 ~ 2M 까지는 오차가 거의 없고 그 이상에서 1cm 정도 오차가 난다고 합니다... 참고하세요



 

자 이제 LCD에 대해 간단하게만 설명해야겠죠?????


자 집에 없는게 없군요 LCD도 있고 ^^ 일단 회로를 봐야겠군요

그냥 간단히 하고 넘어가겠습니다. LCD는 그다지 그렇게 많은 설명이 필요없을거 같습니다. 1번핀은 GND네요
당연히 GND는 연결을 해야겠지요?? 자 다음은 VDD 저는 여기에 5V를 연결하겠습니다. ㅋㅋㅋㅋ
자 이제 새로운게 나왔네요 Vo 흠 머지 Contrast 음 LCD에 선명도를 나타내는군요 !!!!   원래 가변저항을 써야하는데 제가 가난한 나머지 1k옴을 연결하고 GND와 연결하겠습니다.  가변저항을 연결하실때는 10K옴 가변저항을 사용하세요.
생각해보니까 이렇게 하난하나 설명하는거 보다 그냥 회로도를 올려드리는게 좋을거 같습니다. 다음에 한번에 해서 올려드리겠습니다...............


LCD TEST 완료....



주말에 조금 노느냐고 공부를 못했습니다. 지금 시간이 7월 17일 11시 24분 입니다.

지금 막 초음파 센서를 가지고 거리측정을 해봤습니다.

동영상을 찍어서 올리려고 했는데 전송잭을 안가져와서 그냥 일단 사진으로만 올리도록 하겠습니다





 #include <mega128.h>
#include <stdio.h>
#include <delay.h>
#include <lcd.h>
#asm
   .equ __lcd_port=0x1B ;PORTA
#endasm

#define Trigger         PORTD.4 //초음파 트리거
#define Echo            PINE.4 //초음파 에코

unsigned int i=0;
char s[21];


unsigned int getEcho(void){
    unsigned int range;
    while(!Echo);                  // Wait for echo pin to go high
    TCNT1=0; TCCR1B=2;            // 1:8 prescaler = 0.5us
    while(Echo);                   // Wait for echo pin to go low
    TCCR1B=8; range=TCNT1/116;   // the range in CM
    return(range);
}

void main(void){
    unsigned int range;
    DDRB=0x60;
    DDRD=0x10;
    DDRE=0x00;
    TCCR1A=0; TCCR1B=8;    // Set timer up in CTC mode
    delay_ms(100); lcd_init(16);
    while(1){    
        Trigger=1; delay_us(10); Trigger=0;    // 10uS
        range = getEcho(); 
        lcd_gotoxy(0, 0); sprintf(s,"Bongpjh");   lcd_puts(s);
        lcd_gotoxy(0, 2); sprintf(s,"Jae Hyun=%u cm", range); lcd_puts(s);
      
   
        if(range<30)
       {
       PORTB=0x20, delay_us(1300)  , PORTB=0x00, delay_ms(23);
       }                                                            
        else if(range<50)
       { 
       PORTB=0x20, delay_us(1050)  , PORTB=0x00, delay_ms(23);
       }
    
    
    }
  }



Posted by 숭덕이

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. 이민철

    안녕하세요.자료 잘봤습니다.제가 이걸로 과제전 해보려고 하는데 지금 만드신거는 초음파를 손에 닿을때마다
    거리를 측정하나요?혹시 버튼으로도 제어가 가능하나요?

    2011.10.05 11:28 [ ADDR : EDIT/ DEL : REPLY ]
    • 폴링방식으로 계속 측정이 가능하며 버튼으로 동작하게 할 수도 있습니다...

      2011.10.05 11:54 신고 [ ADDR : EDIT/ DEL ]
  3. 차수현

    800w bldc모터 36v 도 제어가 가능할까요 ㅠ?
    거리가 3m정도가 되면을 원래시속에서 5km정도로 가도록 해보고 싶은데
    사실 고등학생이여서 모르는게 많아요 ㅠㅠ
    꼭도전해보고싶은거라서요ㅎ
    대략적으로 어떻게 해야하는지좀 부탁드려요 ...ㅠㅠ 어떻게든 해보겠습니다,~!!
    디스바이즈에서 보니까 레이져센서 같은거는 5v 던데 36v같이 높은단위는 어떻게해야하고
    또 회로도 구성을 해도 c언어를 다룰줄 알아야 쓸 수 있나요 ?

    2011.11.11 00:10 [ ADDR : EDIT/ DEL : REPLY ]
    • 숭덕이

      음 모터제품명도 모르겠고 음 데이터시트를 봐야 알 수 있지 않을가요??

      올데이터시트에 가서 제품명 치면 그 제품에 대한 상세정보가 나옵니다.

      2011.11.11 12:15 [ ADDR : EDIT/ DEL ]
  4. 익명

    비밀댓글입니다

    2011.11.17 10:06 [ ADDR : EDIT/ DEL : REPLY ]
  5. 김민근

    저기 궁금한게 있어 글남깁니다.lcd연결에서 15와16번핀도 연결이 되야하나요?? 위에 그라운드와 5V입력이 되는거 같은데.. 연결이 되야하나요???

    2011.11.19 19:02 [ ADDR : EDIT/ DEL : REPLY ]
  6. 궁금한것이 있는데 초음파센서를 이용해서 값을 측정할때 다른요소는 상관안해도 되나요?
    예를 들어 주변환경의 빛이나 어두운 환경이라던지 등등

    2012.02.08 22:01 [ ADDR : EDIT/ DEL : REPLY ]
  7. 강희원

    댓글달구 가라고 옆에서 아들이 그러네요..... 울 아들이 무척 좋아해서 한 번 만들어 보려 합니다.
    다음에 도움 부탁 드립니다.

    2012.02.15 23:49 [ ADDR : EDIT/ DEL : REPLY ]
    • 숭덕이

      알겠습니다^^ 다음에 연락주세요~~

      2012.02.16 21:29 [ ADDR : EDIT/ DEL ]
  8. 김승호

    지금 졸업작품으 고민하는도중 필요한게 여기 있었네요!
    빨간색 기판이랑 LCD 제품이 뭔지좀 알고싶네요 ㅎ 그리고 저렇게 프로그램을 짜서 회로에 어떻게 입력을하나요 .?
    지금 하려는것의 구동방식이.. 버튼을누르면 전동실린더 밀리고 전동실린더 앞에 있는 초음파센서가 벽을감지해서 10cm정도 거리에서 작동이 정지되는 방식인데.. 조언좀부탁드립니다 ㅠㅠ

    2012.03.19 13:51 [ ADDR : EDIT/ DEL : REPLY ]
    • 숭덕이

      무슨 말씀을 드려야 할지 모르겠습니다.
      AVR책을 사셔서 대충 한번 읽어보시고
      천천히 따라해보시면서 응용해보세요!!!

      2012.03.21 22:13 [ ADDR : EDIT/ DEL ]
  9. 안녕하세요..

    폐사는 충남 아산에 소재하고 있는 자동차부품기업입니다.
    먼저 회사소개서 링크하여 송부하오니 참조바랍니다.

    파일명 : 광진_국문.wmv, URL : http://webdisk.kwangjin-kr.com:80/cgi-bin/nbox.cgi?page=DiskLinkDown®info=20111024182551746521

    폐사 선행개발품 중 초음파센서를 제어해야 하는 아이템이 있습니다.
    하여 초음파센서 제어가 가능 하시다면 회신 부탁드리겠습니다.

    간략히 설명드리면, 초음파센서의 신호를 받아 당사 기구물을 제어하는 ECU 개발입니다.
    귀사에서 정책적으로 개발에 참여의사가 있으시다면 연락주십시오.

    010-3246-8133, 041-421-5886

    이상/수고하십시오

    2012.03.27 13:22 [ ADDR : EDIT/ DEL : REPLY ]
  10. jack


    질문하나드리겠습니다.

    의료용 목적으로 사용시에, 초음파센서를 이용하여 척추의 움직임의 변위도 측정할 수 있는지좀 알려주세요~

    2012.05.17 10:40 [ ADDR : EDIT/ DEL : REPLY ]
  11. 익명

    비밀댓글입니다

    2012.10.30 21:30 [ ADDR : EDIT/ DEL : REPLY ]
  12. 나나

    여기에 사용된 부품좀 알수 있을까요??
    양면기판, SRF-05 또 뭐가 필요한가요??

    2012.12.24 14:29 [ ADDR : EDIT/ DEL : REPLY ]
  13. 나나

    상세하게 부탁합니다. 와이여 등등,,,

    2012.12.24 14:30 [ ADDR : EDIT/ DEL : REPLY ]
    • 숭덕이

      LCD 20X4, MEGA128 , SFR(초음파), 저항 및 캐패시터, HS-311
      사용하였습니다. 와이어는 일반적은 래핑와이어 입니다.

      2012.12.27 09:42 [ ADDR : EDIT/ DEL ]
  14. 박형규

    잘 보고 가요 항상 참고 하는데 도움이 되어요..^^

    2013.02.05 15:35 [ ADDR : EDIT/ DEL : REPLY ]
  15. 이석훈

    저기 죄송한데 에이티메가 128 입문 단계인데..

    저기 atm 128 회로를 자세히 볼수있을까요??

    정보있으시면 lsh2077@naver.com 으로 메일 한통 쏴주실수잇나요?ㅎㅎ

    2013.02.19 19:46 [ ADDR : EDIT/ DEL : REPLY ]
  16. 익명

    비밀댓글입니다

    2013.05.14 16:31 [ ADDR : EDIT/ DEL : REPLY ]
  17. 센스쟁이

    ATMEGA 말고
    msp430으로 만들어보려하는데 코딩이 많이 다른가요..?

    2013.06.01 12:04 [ ADDR : EDIT/ DEL : REPLY ]
  18. 신명헌

    ATmega128초보자입니다.

    위의 그림의 센서와 ATmega128 이용하여 거리측정계를 제작하고자합니다만

    회로와 소스파일을 공유가 가능한지 궁금합니다.

    shinmh2623@naver.com으로 보내주시면 감사하겠습니다.

    2013.11.11 21:18 [ ADDR : EDIT/ DEL : REPLY ]
  19. 익명

    비밀댓글입니다

    2015.06.02 15:23 [ ADDR : EDIT/ DEL : REPLY ]
  20. 공학도

    전자공학 배우는 학생입니다.
    위와 같은 실험을 직접 해보는 중인데 제가 부족한게 많네요.

    소스 헤더파일과 회로도를 받아 볼 수 있을까요?

    꼭 부탁 드립니다..
    kimje0713@naver.com

    2015.06.02 15:42 [ ADDR : EDIT/ DEL : REPLY ]
  21. 익명

    비밀댓글입니다

    2015.12.08 12:54 [ ADDR : EDIT/ DEL : REPLY ]

AVR 8BIT/Motor2011. 7. 10. 18:08

안녕하세요 숭덕이 박제현입니다. 오늘은 서보모터에 대해 공부할겁니다.

음 제가 이번에 암제어 로봇을 만들고 싶어 서보모터에 대해 자료조사를 하다 좋은 자료인거 같아 몇가지

자료를 올립니다. 암로봇이라 해서 특정지역이나 사람이 오갈 수 없을 때 유용하게 사용되거나 의료시술, 공장

특정제어 등 많은 곳에 쓰이고 많은곳에 현재에도 많이 쓰이는것으로 알고 있습니다.

저는 이 작품을 포맥스로 이용해 통신으로 제어를 해보겠습니다 일단 모터에 대해서만 서술하는 내용이니

HS-311에 대해서만 말씀드리겠습니다.

출처 : http://www.google.co.kr/imgres?imgurl=http://www.yeogie.com/wwwfiles/img.board/000000000459/E23DE056-652A-42F1-A6AD-DCC7D9CCE6A5.jpg&imgrefurl=http://news.yeogie.com/news/business/detail.htm%3Fcontentno%3D13932%26MENUCODE%3D000000000139%26CurrentPage%3D16%26PageSize%3D10%26blockN%3D0&h=321&w=400&sz=24&tbnid=g0_QKd1xDzuALM:&tbnh=93&tbnw=116&prev=/search%3Fq%3D%25EC%2595%2594%25EB%25A1%259C%25EB%25B4%2587%26tbm%3Disch%26tbo%3Du&zoom=1&q=%EC%95%94%EB%A1%9C%EB%B4%87&hl=ko&usg=__c_dSsAXFT57iLjTwScYVcprqJds=&sa=X&ei=T5YZTsm7EsPfmAXDy8z_Dw&ved=0CFwQ9QEwBg



HS-311은 5V에서 동작하며 OPERATING SPEED는 0.19sec 입니다 스톨토크는 3.0kg.cm 입니다.

머 자세한 내용은 데이터시트를 첨부하겠습니다..............


 서보모터 데이터시트 (HS-311)
 



음 회로도 그리기 정말 싫으네 ㅋㅋㅋㅋ

엔지니어라면 회로도를 제일 먼저 그리는게 맞지만 왜 이렇게 회로도 그리는게 싫은건지 금방 그리고 오겠습니다.

대충 그린 회로도 입니다. 이해해주세요 ^^









자 서보모터는 180˚ 회전이 가능합니다. 600usec에는 -90 이며 1500usec에서는 0 2400usec에서는 90 을 나타내고 있습니다 그럼 어떻게 저렇게 모터를 움직이느냐에 대해서 일단 딜레이로만 가지고 모터에 각도를 조절해보도록 하겠습니다
그 다음에는 PWM으로 제어를 해보도록 하겠습니다.

일단 딜레이로 PWM같은 파형을 발생시킬 수 있겠지요 정확하지는 않겠지만 그래도 얼추 맞다고 보시면 됩니다.
컴파일로는 코드비젼을 사용했으며 CPU는 ATMEGA128으로 제어하였습니다.
자 제가 코드는 조금 약해서 그래도 이해하면서 봐주시기 바랍니다. 이 아래 표에 있는 것은 딜레이문으로
서보모터를 제어했습니다. 동영상과 같이 올리니 참고 하세요



#include  
#include  


void main(void){

    unsigned int i=0;
    DDRB=0x60;  //PB5,6 입니다.


    while(1){         
      
      for(i=0; i<100; i++) //해당 각도에서 유지하는 시간 
      {
          PORTB=0x20; //포트 B의 5번핀에 High 출력
          delay_us(600);  //600us 동안  
          PORTB=0x00; //포트 B의 5번핀에 Low 출력
          delay_ms(23); // 23ms 동안
      }                                                      
     for(i=0; i<100; i++)
      {
       PORTB=0x20, delay_us(1050)  , PORTB=0x00, delay_ms(23);
      }           
      for(i=0; i<100; i++)
      {
       PORTB=0x20, delay_us(1500)  , PORTB=0x00, delay_ms(23);
      }
      for(i=0; i<100; i++)
      {
       PORTB=0x20, delay_us(1950)  , PORTB=0x00, delay_ms(23);
      }
      for(i=0; i<100; i++)
      {
       PORTB=0x20, delay_us(2400)  , PORTB=0x00, delay_ms(23);
      }
      
  
    }
}
   

 


자 여기까지 잘 오셨으면 이제 PWM으로 한번 제어해보겠습니다 시간이 벌써 이렇게 되었으니 일단 밥 먹고 와서 시작하겠습니다. 아훙~~~~~~~~

밥을 맛있게 먹고 왔네요 ^^

자 이제 딜레이로 제어가 아닌 PWM으로 한번 제어를 해볼가요??

딜레이는 조금 정확한 제어가 안됩니다. 따라서 PWM은 정확한 제어가 되기때문에 타이머/카운터만 정확하게 배우셔도

취업이나 AVR을 거의 다 배우셨다고 해도 과언이 아닐겁니다.

자 이제 PWM을 안다는 가정하에 소스와 오실로스코프에 나온 주파수 주기 등을 올려드리겠습니다.

자 PWM을 B포트에 PWM포트가 있습니다 그 중에 PORTB.5로 제어를 했습니다.


 이 소스는 AVR 전자공작의 키트님이 작성하신 소스 입니다.


#include  //16MHz
#include  
void RC_Motor(int angle){ // angle : -90도 ~ +90도
    int i;
    if(angle<-90)angle=-90;
    if(angle> 90)angle= 90;
    i=(angle+ 90)*20 +1500;
    OCR1A=i; //PB5
}
void main(void){
    DDRB=0x60;   // PB5
    TCCR1A=0xAA; // FAST PWM
    TCCR1B=0x1A; // 8분주=0.5usec
    ICR1=19999;  // 0.5usec*20000= 100Hz  

    while(1){
        RC_Motor(-90), delay_ms(500);  
        RC_Motor(-45), delay_ms(500);
        RC_Motor(  0), delay_ms(500);
        RC_Motor(45), delay_ms(500);
        RC_Motor( 90), delay_ms(500); 
      
    
    }
}



 



이상 끝.....................

 

조금만 힘을 내자!!!!!!!!!! 여름이라 기운이 없는거 뿐이야........ 열심히 2년 아니 3년만 해보자 아니야 3년도 작아 10년만???? 너무 길어 5년만 해보고 아 그럼 결혼인데 흠 3년만 해보자 그 다음에 머 할지 생각해보자!!!!

박제현 아자아자!!!화이팅이다........



 



'AVR 8BIT > Motor' 카테고리의 다른 글

HS-311 (서보모터 제어하기)  (7) 2011.07.10
Posted by 숭덕이

댓글을 달아 주세요

  1. 김시후

    atemega2560k로 쓰면 제어방법은 똑같나여? 그리고 회로도애서 Y1이 무엇인지좀;.

    2011.12.15 10:11 [ ADDR : EDIT/ DEL : REPLY ]
  2. 청주 수암골 같네요 ㅎ

    2013.05.05 22:59 [ ADDR : EDIT/ DEL : REPLY ]
  3. 김동환

    잘봤어요~ㅎㅎ
    기본 서보모터 제어 동작이지만 열심히 하셨네요..

    2013.05.28 07:32 [ ADDR : EDIT/ DEL : REPLY ]
  4. ssw

    delay_us 사용하기위해 include 무엇을 하신거죠?

    2015.05.27 19:08 [ ADDR : EDIT/ DEL : REPLY ]
  5. 오승민

    저도 키트님이 작성한걸루 모터제어를 해봣는데 모터가 움직이지 않아서 질문드립니다 왜그런걸까요???
    다른 설정 같은게 필요한가요???

    2015.08.10 23:21 [ ADDR : EDIT/ DEL : REPLY ]
  6. 익명

    비밀댓글입니다

    2015.08.12 11:59 [ ADDR : EDIT/ DEL : REPLY ]
  7. 바쁘시겠지만 8월 12일에 답변좀 해주시면 감사하겠습니다.

    2015.08.14 10:47 [ ADDR : EDIT/ DEL : REPLY ]

조도 센서(CDS)

  – 조도 센서는 광센서의 가장 기본적인 센서로서, 빛의 밝기에 대하여 전기적인 성질로 변환시
     켜주는 역할을 하는 센서

  – CDS는 가장 보편적으로 사용되는 조도 센서로서 밝기에 비례하여 저항이 선형적으로 증가
    하는 것이 아니라 로그 그래프에 가까운 형태를 그리기 때문에 정확한 Lux 값을 구하기보다
     는 “밝다 / 어둡다” 정도만을 판별하기에 적합한 센서

  – 다른 이름으로는 광도전셀이라고 불리기도 하며 어두운 곳에서는 절연체와 같이 저항이 높아
     졌다가 가시광선이 닿으면 도체와 같이 저항이 낮아지는 성질을 가짐

   – 이 센서는 고감도, 소형, 저가격, 가시광선에 민감하다 등의 장점이 있지만 반응시간이 느려
     즉각적인 반응을 필요로 하는 센서에는 적합하지 않다. 광량이 많을 시 빨라지는 등 광량에
     따라 반응시간이 달라지긴 하지만 오히려 불완전한 요소가 될 수 있다.

   – 정확한 Lux의 수치를 측정하고 싶다면 포토다이오드 소자를 사용하여야 하며, CDS와 같이
     광센서의 일종이며 가시광선부터 적외선까지 다양한 영역의 광원을 감지할 수 있지만 가격이
     상대적으로 비싸고 주변회로가 복잡해진다는 단점이 있다. 하지만 밝기대비 저항 값이 선형적
     으로 나와서 수치화하기 좋고 프로그램 소스가 간단해진다는 장점도 있다.



     GL5516을 예를 들면 어두울때 200K옴 10Lux에서 5~10k옴으로 나와 있으므로 10LUX 측정 하려고 한다면
     저항은 7.5K옴을 사용 하면 가장 오차가 적은 입력을 받을 수 있다.
     AVR에서는 ADC 입력 후 2.5V에서 10Lux가 된다. (오차가 심하므로 범위를 둬야 한다.)



회로도 첨부












'AVR 8BIT > CDS 태양트래커' 카테고리의 다른 글

트래커 SOURCE  (0) 2011.05.12
완성 --(2)  (8) 2011.05.12
완성 --(1)  (0) 2011.05.11
HS-311  (3) 2011.05.10
CDS 센서특성  (14) 2011.05.10
Posted by 숭덕이

댓글을 달아 주세요

  1. 유재천

    좋은 자료입니다. 시간을 많이 투자하신것 같습니다.

    좋은 정보 감사합니다.

    2011.09.22 16:05 [ ADDR : EDIT/ DEL : REPLY ]
  2. 감사합니다.

    좋은정보 감사합니다.

    2011.11.02 21:40 [ ADDR : EDIT/ DEL : REPLY ]
  3. 굳굳

    좋은 간단한 자료였음

    2011.11.29 18:37 [ ADDR : EDIT/ DEL : REPLY ]
  4. 김세인

    가시광선이 아닌 적외선에 대해서도 저항이 변하는지 궁굼합니다.

    2011.11.30 15:09 [ ADDR : EDIT/ DEL : REPLY ]
    • 숭덕이

      저도 해보지는 않았지만 파장대역을 확인해보시면 될 듯한데요!!

      2011.11.30 19:20 [ ADDR : EDIT/ DEL ]
  5. 꿈에서볼까무서워

    꿈에서 볼까 무서워 댓글 남기고 갑니다. 좋은 정보 감사합니다 딱 제가 찾는 글이네요 ㅎㅎ

    2012.03.12 15:28 [ ADDR : EDIT/ DEL : REPLY ]
  6. 굿장@!

    감사하비다!!!

    2012.03.18 18:38 [ ADDR : EDIT/ DEL : REPLY ]
  7. 변성호

    이득이요

    2013.03.29 17:17 [ ADDR : EDIT/ DEL : REPLY ]
  8. ddd

    센서아래 2.5킬로옴은 뭔가요?

    2013.06.04 14:56 [ ADDR : EDIT/ DEL : REPLY ]
  9. zz

    자르보고가브니다

    2013.08.26 15:50 [ ADDR : EDIT/ DEL : REPLY ]
  10. 윤샘

    안녕 하세요.

    2013.10.23 16:49 [ ADDR : EDIT/ DEL : REPLY ]
  11. 익명

    비밀댓글입니다

    2015.04.12 19:17 [ ADDR : EDIT/ DEL : REPLY ]
  12. ㅎㅎ

    깔끔히 정리되어서 잘 알고 갑니다~ 근데 7.5키로 옴에서 가장 오차가 적은 값을 얻을 수 잇다는 건 어떻게 아나요?

    2015.10.12 00:27 [ ADDR : EDIT/ DEL : REPLY ]
  13. 승원아빠

    핵심내용만 잘 정리하셨네요. 잘보고 갑니다.

    2015.12.17 11:08 [ ADDR : EDIT/ DEL : REPLY ]

d

6족 만들기전에 간단히 4족로봇을 만들어 보았다....


 

 

동영상은 완성 50% 정도 된 동영상입니다................100%는 환상적이였다는................ㅅ.ㅅ









'AVR 8BIT > 6족 무인탐사로봇' 카테고리의 다른 글

무인탐사로봇 (JH)  (0) 2011.05.10
Posted by 숭덕이

댓글을 달아 주세요