회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
72 마이크로프로세서 HOT테스트21 화언 651 2007.08.14
71 마이크로프로세서 HOT테스트1 화언 575 2007.08.14
70 마이크로프로세서 HOT신호가바뀔때마다 펄스를 만들기2 빛나는 영혼 911 2007.08.14
69 마이크로프로세서 HOTatmega128 ADC 질문있습니다...1 아우슈비츠 1132 2007.08.13
마이크로프로세서 HOT수광센서 질문 드립니다..3 아우슈비츠 2347 2007.08.10
67 마이크로프로세서 HOTRC서보모터의 토크에 관해서.1 챠리스만 971 2007.08.09
66 마이크로프로세서 HOT라인트레이서 제작에 관해서 질문드려요2 sinpk 746 2007.08.07
65 마이크로프로세서 HOTwav 파일을 부져 또는 스피커 재생시6 빛나는 영혼 3717 2007.08.05
64 마이크로프로세서 HOT이제 라인트레이서를 제작하고있는데요1 sinpk 647 2007.07.27
63 마이크로프로세서 HOT라인트레인서에 질문있습니다.1 해보자 721 2007.07.27
62 마이크로프로세서 HOT악마 라인드레이서 부품 질문드립니다!!1 신이 715 2007.07.27
61 마이크로프로세서 HOT드디어 센서값 lcd로 확인했어요 그런데 값이 조금 이상해요2 sinpk 802 2007.07.24
60 마이크로프로세서 HOT어셈블리어를 먼저 해야 하나요?6 난리법석 1139 2007.07.24
59 마이크로프로세서 HOT컴패어 매치 인터럽트사용을 위해서 초기 레지설정에 질문있어요3 sinpk 1001 2007.07.18
58 마이크로프로세서 HOT어쩌다 주워들은 소리3 나야소달ㅋ 1431 2007.07.17
57 마이크로프로세서 HOT타이머로 펄스를 만든다고 코딩해보앗는데 이렇게 하는게 맞는지 확인좀해주세요.15 sinpk 1265 2007.07.13
56 마이크로프로세서 HOT아침에 생각하다가 궁금증이 떠올라 질문해봅니다2 sinpk 631 2007.07.12
55 마이크로프로세서 HOT라인트레이서의 하이패스필터회로에 대해서 질문있어요2 sinpk 1476 2007.07.11
54 마이크로프로세서 HOT센서예제2에서 이루틴 설명좀 해주세요1 sinpk 692 2007.07.10
53 마이크로프로세서 HOT펄스발광에 대해서...6 sinpk 733 2007.07.05
  • 전쟁에선 어느 편이 스스로를 승자라고 부를지라도 승리자는 없고 모두 피해자뿐이다.
    - 챔벌린
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.