변속기에 MCU의 PA0를 연결하고 PF0를 통하여 전원분배를 통한 전압값을 읽고
전압값에 비례하여 모터드라이버 제어신호를 출력하는 회로도와 코드입니다.
모터드라이버의 경우 일반적으로
1ms~ 2ms 의 High 값을 통하여 모터의 RPM 을 제어하는듯 합니다.
(물론 변속기 마다 다르긴 하겠죠....)
void main(void){
int i=0;
unsigned int adc=0;
//ADC SETTING
PORTF=0x00;
DDRF=0x00;
ADMUX |= (0<<REFS1) | (0<<REFS0 ) & (0b11100000) ;
ADCSRA |= (1<<ADEN) |(1<<ADSC) | (1<<ADFR);
PORTA=0x00;
DDRA=0x01;
while(1){
i=ADCW;
PORTA.0=1;
delay_ms(1);
while(i--)
{
delay_us(1);
}
PORTA.0=0;
delay_ms((unsigned int)4);
}
}