회원가입 ID/PW 찾기
AA
현재 이소스를 사용하여 ADC해서 PWM까지 하고 있는데요.. 여기서 문제가 생겼습니다..
두가지의 문제에 직면했습니다. ㅠㅠ
1. 첫째는 ADC정확도를 높히기 위해서 평균을 내기위해서 만든 소스가 말을 듣지 않습니다. 어떤부분이 문제 인지 잘모르겠습니다.. 현재 계속 공부중인데.. 정말 어렵네요..
 
2. 두번째는 PWM의 전압출력이 어느정도의 값을기준으로 높아지면 신호를 떨어뜨리고 다시 낮아지면 신호를 올려주는 타이밍을 if작업을 통해서 만들어야 하는데요.. 이건 정말 어디부터 시작을 해야하는지 모르겠습니다..
 
@@현재 제가 만든소스와 ADC평균을 추가 해서 만들어본 소스를 올려놓겠습니다..
부디 고수님들의 소중한 한마디를 기다리겠습니다. 꾸벅...
 
댓글 3
  • No Profile

    납이 안되서리.. 소스를 보질 못하겠네요.. ㅠㅠ
    이렇게 해보심이...

    // ------------------------------------------------------------------------------------------- //
    unsigned int ADConversion(unsigned char channel) 
    {
           ADMUX = channel | 0xC0; 
           ADCSRA |= 0x40; 
          while( !(ADCSRA & 0x10)) Nop(1);

          return ADC;

    // ------------------------------------------------------------------------------------------- //
    void ADAverageResult(unsigned char mode)  
    {
     unsigned char iii;

     for(iii = 0; iii < TOTALCNT; iii++)                          // TOTALCNT = 16이면 16번을 더해서 평균 함.
            TotalDataBuffer[mode] += ADConversion(mode);
     
     TotalDataBuffer[mode] /= TOTALCNT;  
     AverageDataBuffer[mode] = TotalDataBuffer[mode]; 
     TotalDataBuffer[mode] = 0x00; 
    }

  • No Profile
    ADC가 제대로 동작은 하는지요? ADC는 기준전압을 기준으로 현재 AD포트로 들어오는 전압을 디지털화된 값으로
    출력해주는것입니다. 5V Vref를 10bit분해능이 있는 ADC를 사용한다면...AD레지스터의 1값은 몇 V일까요?
    제가 문제를 내버리네요...ㅠㅠ..평균값을 사용함은 ADC의 값이 정확하지 않기에 8번정도의 ADC를 통해 나오는 값을 /8로 평균값을 내는것에 불과합니다.
  • No Profile

    납이 부족해서 소스를 읽어볼 수가 없네요 ㅜㅜ

     

    일단은 ADC가 잘 되는지부터 파악하는게 우선인 듯 싶습니다. 평균처리를 하지 않고 순수 ADC값만을 받아서 Usart를 통해 출력해 보세요.. 일단 이 작업을 하였을때 문제가 없다면, 그다음 이동평균을 하시면 되겠습니다.

     

    그다음 PWM은 우선은 PWM을 만드시고 듀티비를 조절하시면 될 것 같습니다.

     

    보통 fast pwm 일 경우 OCR 값에 변화를 줘서 듀티비를 바꾸겠죠...?

     

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

search
  • 사람들로 하여금 당신을 좋아하도록 만드는 것은 당신이 그 사람들을 좋아하는 다른 측면에 불과하다.
    - 필
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.