본문 바로가기

ATtiny13

(7)
[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 E..
[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 |= (PW..
[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 = AD..
[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)를 테스트 할 수 있는 보드에 적용하여 기능 테스트를 할 수 있다.
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:\W..
AtTiny13의 보드 제작 8핀의 조그만 싸이즈에도 불구 하고 20MIPS의 속도를 내고 1K Flash, 64byte EEPROM, 64Bytes SRAM을 가지고 있다. Tiny13에서 특히 SRAM을 추가 하였는데 스텍을 써야 하는 C언어 환경에서도 쉽게 프로그램 가능하게 되었다. 그전 Tiny15는 SRAM이 없어 코드 재 사용에 문제가 많이 있었는데 개인적으로 맘에드는 부분이다. 내부 오실레이터가 있어 외부 크리스탈을 붙일 필요가 없고 SPI프로그램도 가능해 쉽게 프로그램을 업데이트 할 수 있다. 8비트 타이머 카운트가 있고 PWM, 4채널 10비트 ADC가 제공된다. 예전 아날로그 회로로 구현 했던 부분을 쉽게 변경가능한 디지털 회로로 변경 가능하리라 기대해 본다.
Attiny15를 이용한 저가형 충전기 제작 Attiny15를 이용한 충전기 제작 소형 로봇에 들어가는 밧데리를 대신해 충전기 기능이 있는 소형 보드를 제작 하였다. 저가형이라 Attiny15를 이용하여 충전기를 구현 했다. AVR ATtiny15 Charger Source Code