[AVR]/ATTiny2012. 12. 14. 15:25

[ATtiny10 EVM] 6핀초소형 AVR 보드 제작

[ATtiny10 EVM] 6핀초소형 AVR 보드 제작

 


타입의 초소형 MCU시장에 AVR도 들어왔다. Microchip사의 PIC10시리즈가 가장 작았는데 동일한 타입에 성능은 더 좋은 MCU를 출시 했다.


ATtiny10의 특징은 아래와 같다.

512/1024 Bytes FLASH
32 Bytes SRAM
12 MIPS Throughput at 12 MHz
One 16-bit Timer/Counter with Prescaler and Two PWM Channels
4-channel, 8-bit ADC
Idle Mode : 25uA at 1MHz and 1.8V
Power-down Mode: < 0.1uA at 1.8V

 

 

 

 


[SS-Type EVM] 확장 보드에 연결하여 테스트가능 하다.









[ATtiny10 EVM] 회로도

 

 

 

 

 

 

 

Posted by nexp

댓글을 달아 주세요

[AVR]/ATTiny2008. 4. 17. 12:57

[AtTiny13 EVM] ADC, PWM 테스트 - PWM을이용한 모터 속도 제어

[AtTiny13 EVM] ADC, PWM 테스트 - PWM을이용한 모터 속도 제어
사용자 삽입 이미지

AtTiny13은 2개의  Output Compare Unit(PB0, PB1)이 있고 이를 이용하면 PWM출력이 가능하다.



AtTiny13 OC0 구조



AtTiny13 PWM을 이용하여 고휘도 LED테스트 진행



LED제어를 위해서는 고속의 PWM보다 저주파의 정밀한 PWN이 피요하다.



소스코드
pwm.c
void InitPWM0_B(void)
{
    Sbi(PWM0A_DDR, PWM0B_BIT); //Output for PWM
    
    //고속 PWM모드
    //TCCR0A |= (PWM0B_CLEAR|PWM_MODEA_FAST);
    //TCCR0B |= (PWM0_PRESCALE_DIV8);
   
   //정밀 PWM 모드
   TCCR0A |= (PWM0B_SET|PWM_MODEA_PHASE); 
   TCCR0B |= (PWM0_PRESCALE_DIV256);
 
    SetPwm0B(0);
}

 
main.c
#include "system.h"
#include "pwm.h"
#include "adc.h"

//-----------------------------------------------------------------------------
int main(void)
{
 unsigned char pwm = 0;
 unsigned char flag = 0;
 //시스템 초기화
 SystemInit();

 AdcInit(); 
 InitPWM0_B();

 while(1)
 {
  SetPwm0B(~(AdcRead(3)>>2));
  Led3Toggle();
  Delay(50);  
 }
}
//-----------------------------------------------------------------------------
 

Attiny13 PWM을 이용한 모터 제어 테스트 동영상



Attiny13 ADC, PWM을 이용한 고휘도 LED제어 테스트 동영상
가변 저항의 변화값에 따라 고휘도 LED의 밝기 조절


Posted by nexp
TAG ATtiny13

댓글을 달아 주세요

[AVR]/ATTiny2008. 4. 17. 12:26

[AtTiny13] ADC테스트 - ADC값을 LCD에 출력

[AtTiny13] ADC테스트 - ADC값을 LCD에 출력



AtTiny13는 8핀의 소형 마이컴 이므로 디버깅에 어려움이 많다. 특히 ADC값에 따라 특정 기능을 수행하려 할때 ADC값을 보면서 디버깅해야 하는 경우가 많은데 이런 상황에서 [LCD Module] 을 이용하면 쉽게 ADC값을 확인하고 디버깅 가능하다.

PB1, PB3, PB4포트를 LCD Module에 연결하고 PB2(ADC1)으로 가변 저항을 연결



AtTiny13 ADC 구조



AtTiny13 ADC 채널 선택



소스코드
adc.c
//Read ADC Value
unsigned int AdcRead(unsigned char Channel)
{
 unsigned int value = 0;
 
 ADMUX = Channel&7;
 ADCSRA = ADCSRA|ADC_START_CONVERSION;
 
 while(!(ADCSRA & ADC_COMPLETE));
 value = ADCL;
 value = ((ADCH)<<8) | value;
 
 return value;
}

main.c
//-----------------------------------------------------------------------------
int main(void)
{
    //시스템 초기화
    SystemInit();

    InitShfitRegister();
    LcdInit();
    //               0123456789abcdef
    LcdDspStr(0, 0, "AtTiny13 ADC    ");

    AdcInit(); 

    while(1)
    {
     TbiShiftData(BIT8);
     SendIntStr(0, 1, AdcRead(1));
     Delay(50);
    }
}
//-----------------------------------------------------------------------------



AtTiny13 ADC-LCD 테스트 동영상
가변저항을 돌려 전압값을 조절하면 LCD에 0~1024까지 출력되는것을 확인 할 수 있다.



Posted by nexp

댓글을 달아 주세요

[AVR]/ATTiny2006. 6. 25. 17:55

[AtTiny13 EVM] 보드 관련 자료

[AtTiny13 EVM]보드 제작

사용자 삽입 이미지


ATtiny13 핀아웃





회로도








AtTiny13/15 SMD/DIP타입 모두 가능하도록 구성

->주의 사항 : 2번핀 PB4 ,3번핀 PB3의 실크가 바뀌어 있음. 회로도와 같이 PB3, PB4의 순으로 되어 있음


 Attiny13






사이즈는 기존 MSP430 보드와 호환되로록 하기위해 조금 큰 느낌이 있다.
PCB는 0.8T로 제작하여 얇고 ISP단자를 호환 커넥터로 빼 두었다.




실제 어플리케이션에서는 세로로 연결하여 적용할 수 있다.


Application Board
DC Motor (PWM), AV(ADC), Tacometer(ADC), SW(GPIO)를 테스트 할 수 있는 보드에 적용하여 기능 테스트를 할 수 있다.


Posted by nexp
TAG ATtiny13, AVR

댓글을 달아 주세요

[AVR]/ATTiny2006. 6. 15. 13:44

AtTiny13 개발환경 설정

AtTiny13 개발환경 설정

 

AVR Tiny13 컴파일

 AVRGcc 2004버전과 호환 해서 프로그램을 작성해야 한다면 아래와 같이 설정한다.

Tiny13 AVRGcc 2005버전으로 컴파일 해야 하므로 2005버전을 WinAVR2005디렉토리에 설치하고 make 호출 해주도록 Edit 설정한다.

 

 

 

Makefile에서 디렉토리를 변경 시켜주면 된다.

   :

# Define directories

DIRAVR = C/WinAVR2005

DIRAVRBIN = $(DIRAVR)/bin

DIRAVRUTILS = $(DIRAVR)/utils/bin

DIRINC = .

DIRLIB = $(DIRAVR)/avr/lib

  :

 

 

 

환경변수 수정

새로운 컴파일러를 위해 환경변수에서 Path부분을 수정 주어야 한다.

 

C:\WinAVR\bin;C:\WinAVR\utils\bin

 

C:\WinAVR2005\bin;C:\WinAVR2005\utils\bin

 

 

 

 

ISP프로그램

ISP프로그램은 AVR Studio에서 컴포트를 알맞게 설정하면 된다.

USB 겨우 컴포트를 지원하는 버전으로 설정해야 한다.

 

 


Posted by nexp

댓글을 달아 주세요