BASIC4MCU | 질문게시판 | atmega128 FAN 제어법
페이지 정보
작성자 고둥 작성일2023-05-18 20:56 조회63회 댓글1건본문
가스센서 값이 750 이하가 되면 2초동안 FAN이 정지하게 만들고 싶습니다.
가스센서 값은 정상 작동합니다
그런데 FAN이 2초동안 정지하지 않습니다.
알려주실분
가스센서 F1
FAN B0
FAN은 5V / 0.24A 입니다.
#include <mega128.h>
#include <stdio.h>
#include <delay.h>
#include <alcd.h>
#define FIRST_ADC_INPUT 0
#define LAST_ADC_INPUT 0
unsigned int adc_data[LAST_ADC_INPUT-FIRST_ADC_INPUT+1];
#define ADC_VREF_TYPE 0x00
interrupt [ADC_INT] void adc_isr(void)
{
static unsigned char input_index=0;
adc_data[input_index]=ADCW;
if (++input_index > (LAST_ADC_INPUT-FIRST_ADC_INPUT))
input_index=0;
ADMUX=(FIRST_ADC_INPUT | (ADC_VREF_TYPE & 0xff))+input_index;
delay_us(10);
ADCSRA|=0x40;
}
void main(void)
{
int gas_sensor_val;
char str[20];
PORTB=0x00;
DDRB=0xFF;
lcd_init(16);
#asm("sei")
while (1)
{
lcd_clear();
ADMUX=1; //가스센서 시작
lcd_init(16);
ADCSRA = 0xE7;
gas_sensor_val=ADCW;
sprintf(str,"Gas value: %4d",gas_sensor_val);
lcd_gotoxy(0,0);
lcd_puts(str);
delay_ms(1000);
if(gas_sensor_val<=750)
{
PORTB=0x00;
delay_ms(2000);
PORTB=0xFF;
}
};
}
댓글 1
조회수 63master님의 댓글
master 작성일
관성에 의해서 일정시간 더 돈 후에 완전히 정지합니다.
제동시간을 줄이려면 기계적 강제 브레이크 장치를 사용해야 하는데
자동차 경우 기계적 강제 브레이크를 사용해도 상당거리를 밀린 후에 정지합니다.
딜레이를 5초정도로 늘려서 몇초 정지하는지 측정한 후에 딜레이를 조정하세요