Lv. 68 (상무보) 47,827 납
42%
Exp. 46,816/47,610 | 42%
회원가입 ID/PW 찾기
AA


안녕하세요... 오늘은 햇빛 뜨면서 폭우가 내리는 날이네요..;;

 

요즘 마이크로 마우스 를 만들고 있는데요;...

 

센서부분에서 막혀서 질문드립니다..

 

일단 발광 적외선 다이오드 (CL-1L5R)  6개로 발광 센서 부분을 만들었고

 

적외선이 나오는 것을 핸폰 카메라로 확인하였습니다..

 

그리고 수광 다이오드 (ST-1KLA) 6개를 사용하여 수광 센서 부분을

 

만들었는데요.. AD7828  이란 칩을 사용하여  수광에서 받는 빛의 양을

 

ADC하여 LCD 에 나타내려고 합니다. (AD7828 을 제어하는 다리 23,24,25 를 포트 F 에 연결하였습니다.) 

 

그런데 AD7828  의 ADC결과 다리 8에서 22 를

 

포트 B( 그림을 잘못 표시했네요;;) 에 연결시켜서 그 결과를 LCD  에 나타냈는데요;;

 

항상 No.7 즉 (1111 1111) 만 나오게 됩니다..;

 

제가 짠 코드를 첨부하고 일단 메인부분만 살펴보면


int main(void)
{
   while(1)
   {
  u08 n;
  DDRD=0xff;
  DDRB=0x00;
  
  DDRF=0xff;
  PORTF=0x00;
  temp1=PINB;
  delay_5ms();
  lcd_init();
  delay_5ms();
 
 
  compare(temp1);
  cmd_write(0x80);
  for(n=0;n<9;n++)
  {
    data_out(table[n]);
  }
 
  delay_5ms();
  delay(20000);
   delay(20000);
   delay(20000);
   delay(20000);
   delay(20000);
   delay(20000);
  
  PORTF|=0x10;
  
  for(;PORTF<128;PORTF+=16)
  {
   DDRB=0x00;
   temp2=PINB;
   compare(temp2);
   delay_15ms();
   cmd_write(0xc0);
   for(n=0;n<9;n++)
   {
     data_out(table[n]);
   }
 
 
    
 
    delay(20000);
    delay(20000);
    delay(20000);
    delay(20000);
    delay(20000);
    delay(20000);
     }
     delay_15ms();
    }
 
 
 return 0;
}

 

이런 식으로 짯습니다.. PINB의 값을 비교하여  table[n]에

 

다른 문자를 넣어주어  lcd 에 나타내도록 하였습니다..

 

 

수광 다이오드 뒤에 그냥  LED 를 달았더니 적외선을 쏘일때

 

빛이 나타나지 않더군요;; 그럼 잘못된 것인가요?

 

저항이 커서 안나오는 것 아닐까요;;

 

수광센서가 동작하게 끔 하려면 무엇을 바꿔줘야 할지 궁금합니다..;;

댓글 3
  • No Profile
    덥긴 하네요

    일단 회로에서 의문점이 수광 저항 캐패시터 저항 ad7828로 들어가는데요.. 왜 이러케 하신거죠??


    PORTF|=0x10;
      
      for(;PORTF<128;PORTF+=16)
      {

    이런 문장이 잇는데요 제기억에는 PORTF는 읽기로는 사용이 안되므로 위와 같이 하면 안될꺼 같습니다(가물가물)

    변수를 하나 지정하셔서

    unsigned port_f;
    for(port_f = 0x10;port_f<128;port_f+=16)
    {
    PORTF = portt_f;
    }
    이런식으로 해주는게 좋겠습니다.


    adc칩을 제어하는데 PORTD와 PORTB를 섞어서사용햇네요..

    실제로는 어떻게 구현하셨는지..ㅡㅡ; PORTB에 데이터선을 물리셨다면 전부 PORTB로 바꾸세요-_-;;

    한번쯤 입력과 출력 프로세싱 부분을 나눠서 생각해보세요.


    PORT랑 회로도랑 확인도 해보시구요

    그다음에 테스트 하심이..좋을듯 하네요
  • No Profile
    글쓴이 아우슈비츠 07.09.08 19:47 댓글 좋아요 0 싫어요 0
    친절한 답변 감사드립니다 ^^~

    아.. ad7828 칩을 쓰게 된건.. 회로도를 얻게 되었는데 수광뒤에 달려있게 되어있드라구요.. 이 칩.. 아무데도 팔지 않아서

    청계천에서 2만원이나 하는 것을 중고로 구입해서 쓰게 되었습니다..;; ATMEGA128 을 쓰는데요.. 이 칩에서 ADC하는

    방법을 모르겠드라구요..또 비싼 칩을 쓰면 더 정확한 adc가 이뤄지지 않을까 생각했구요;;

    PORT B 에는 AD7828 을 거쳐서 나온 ADC 결과 값 을 연결시켰습니다..

    PORT D 에는 LCD 와 연결시켜주었구요..

    PORT E 부분에는 모터부를 연결시켰습니다. 스텝모터에 SLA7026 을 사용했구요..

    마지막 PORT F  부분에는 (모듈로 된것을 사서 4포트만 쓸수 있드라구요..)

    AD7828 제어에 필요한 23,24,25(A2,A1,A0) 번 다리와 연결 했는데 PORT F 6,5,4 번 다리를 연결했습니다..

    또 여쭤보고 싶은건.. AD7828 을 사용하는데 있어서.. 제가 지금 사용하고 있는 핀은..

    1~6번 까지의 수광다이오드와 연결된 입력 부분과. 8~11과 19~22 까지의 출력부분(PORT B와 연결)

    23,24,25 핀의 AD7828 제어 , 15 Vcc(5V) 16 GND 부분, 26번의 Vdd(5V)

    그리고 12번과 18번 핀을 GND에 연결하였습니다..

    이외에 또 연결해야하는 다른 핀이 있는지요??.. DATASHEET을 보면 .. 26번 Vdd 를 연결할때 캐패시터 2개를

    같이 연결하는 그림이 나오는데 그렇게 연결을 해야하는 건가요?

    그냥 이대로 돌리면 LCD 에 같은 글자만 뜹니다.. 즉 ADC가 제대로 이루어지지 않는다는 뜻이지요..;;;

    자꾸질문해서 죄송합니다.. 친절한 답변 감사드리구요..

    즐거운하루 되시길..!

  • No Profile

    일단 avr에 있는 adc 사용하는게 훨씬 편하구요 왜냐하면 결선도 없고 단지 레지스터만 설정하게 되면 되기때문입니다.


    그리고 비싸다고 좋은건 아닙니다..청계천 아저씨가 비싸게 판게 아닐런지요. 2만원은 좀 비싸다고 보는데요...

    8비트 adc에 10khz 샘플링인데요...(약간 고속이긴 하지만) avr adc는 분해능이 10비트라서 더 정밀하겠죠 7824보다는 느리겠지만요



    수광 센서 쪽 회로는 제가 올려놓은 아크마 라인트레이서의 회로도쪽을 한번 보시고 응용해서 하시면 되구요



    26번 vdd는 데이터쉬트 그림처럼 병렬로 연결해주시면 됩니다.(노이즈 제거)

    정말 중요한걸 연결안하셨군요


    10번 /RD, 16 /CS 핀도 연결해서 제어를 해줘야합니다.

    칩 셀렉트와 읽기 신호를 위한 핀이구요 ADC값을 읽기 위해서는 이 핀에 클럭 신호를 만들어 주고 값을 읽어와야합니다.


    아니면 마이크로 프로세서의 메모리맵 포트에 물려서 간단히 사용하는 방법도 있습니다. 이때는 님께서 램이 달린 모듈을 구입하신거 같기에 이를 고려해서 회로를 설계해야합니다..

    전 이칩을 써보진 않았지만 데이터 쉬트에도 MC6800과 메모리맵으로 물려서 사용하는 ㅇ예가 나와있군요//


    응용해보시면 좋을듯하군요( 근데 굳이 이 칩을 이용하는 이유가;; 싸고 흔한것도 많은데요///




하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
7 자유주제 HOT아 시험 망쳤다 -0-6 뺘쑝 30642 2007.04.24
6 자유주제 HOT무심코 후원하기를 눌렀다가20 나야소달ㅋ 30190 2007.04.22
5 자유주제 HOT홈페이지 업데이트가 거의 끝났네요..2 아크마 35564 2007.04.20
4 자유주제 HOT홈페이지 로고입니다. 투표해주세요 ㅋ14 보해소주 39769 2007.04.16
3 자유주제 HOT컴박스의 무궁한 발전이 있으시길..18 서주형 44573 2007.04.13
2 자유주제 HOT안녕하세요~9 화언 30352 2007.04.11
1 자유주제 HOT안녕하세요8 아크마 59698 2007.04.10
  • 회복의 유일한 길은 다시 시작하는 것이다.
    - 체이즈
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.