회원가입 ID/PW 찾기
AA
int main(void)
{
// 포트 설정
DDRA = 0xFF;
DDRB = 0x10;
DDRG = 0x03;
DDRF = 0x01;

// 인터럽트 설정 
EICRA = 0x29;
EICRB = 0x30;
EIMSK = 0x4F;
// 모터제어용 PWM 설정
TCCR0 = 0x00;
TCNT0 = 0;
TIMSK = 0x00;
//OCR0 = 200;
// 10MS 타이머 인터럽트 설정
TCCR2 = 0x0B;
TCNT2 = 0;
OCR2 = 156;
TIMSK |= 1<<OCIE2;

sei();
LCD_InitDriver();

while (1)
{
// RPM 값 출력
LCD_CMD(LINE1);
printf("RPM : %2d",RPM);
// PWM 값 출력
LCD_CMD(LINE2);
printf("OCR : %2d",OCR0);
//FRPM 값 출력
LCD_CMD(LINE3);
printf("FRPM : %2d",FRPM);

if (RPM>=FRPM)
OCR0 = 0;
if (RPM<FRPM)
OCR0 = FRPM/RPM*0.2;
}

}

ISR (TIMER2_COMP_vect ) {
// 10MS 인터럽트
static aa=0;

aa++;
if ( aa>=100) {
// 매 1초마다 실행 RPM 계산
RPM = counter*2;
counter = 0;
aa = 0;
}

}
On/Off제어는 할줄 알겠는데 ..
P제어를 할려고 하는데 ..
저기 빨간색으로 칠해져있는 부분을 어떻게 해야할지를 모르겠네요 
아무리 해봐도 ㅠ안되네요 목표값에 가까울수록 속도가 늦춰지고 목표값에 멀어질수록 빨라지도록 할려고 하는데 
고수님들 도와주세요 ㅠ
댓글 2
  • No Profile

    PWM으로 모터의 속도를제어 하려 하시는 건가요?


    PWM의 원리는 이해를 하셨는지요?


    모터에 걸리는 전압은 원래 고정전압이지만 PWM를 사용하게 되면 고정전압이 구형파형테의 짧은 펄스로 바뀌게 됩니다.

    즉 펄스갑(PWM)의 반복적인 출력값의 양에 의해 속도를 제어하게 되는거지요

  • No Profile

    p제어라면

    출력을 ( 입력-출력) 으로 하시면 피드백이 걸리는효과가 있지요...

    여기서 입력이란 기준치에 해당하는 것을 의미합니다.

    즉 ..출력 = 기준치(입력) - 현재출력;   <-- 당연히 현제 출력에 출력이 기준치에 도달하면  P제어기는 작동은 되지 않게 되지요..

    if (RPM>=FRPM)   <--- 이런 것은 의미가 없는 루틴입니다.

    이렇게 프로그램이 되어야 피드백이 걸리는 효과가 있지요.

     

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

search
번호 분류 제목 글쓴이 조회 수 날짜
1092 마이크로프로세서 avr 서보모터 질문드립니다 열심히합시다 172 2014.10.05
1091 마이크로프로세서 HOTavr 서보 모터 제어 질문합니다!1 열심히합시다 450 2014.10.05
1090 마이크로프로세서 HOTLin통신 문의 드립니다.. plus 706 2014.09.19
1089 마이크로프로세서 HOT압전센서를 이용한 맥박측정1 시크망크 675 2014.09.13
1088 마이크로프로세서 HOT아트메가 프로그래밍하는 프로그램차이가..1 오빠맘 423 2014.08.29
1087 마이크로프로세서 HOT1분간 스위치 입력횟수 표시1 이쌤 410 2014.07.24
1086 마이크로프로세서 HOTAVR 첫입문합니다.5 어딘데 447 2014.06.24
1085 마이크로프로세서 pasd part pin정보 중복에 관한 질문 올립니다.1 wjddmltn23 339 2014.06.02
1084 마이크로프로세서 HOT가변저항으로 ADC 조절 부분입니다.3 nogaring 584 2014.05.28
1083 마이크로프로세서 전자캐드 질문1 andrl 273 2014.05.27
1082 마이크로프로세서 ATME 128 SRAM 읽고 쓰기 소스는 ASM로 부탁합니다1 성택 180 2014.05.26
1081 마이크로프로세서 l4949 datasheet를 보고 질문 드립니다.1 wjddmltn23 214 2014.05.21
1080 마이크로프로세서 c프로그램 문의 입니다.3 까칠한금자씨 362 2014.05.15
1079 마이크로프로세서 RTC관련하여 질문드립니다.1 火난놈 218 2014.05.07
1078 펌웨어 & 코딩언어 matlab에서 작성된 m file을 c++로 변환하고 싶습니다.1 마린스토리 279 2014.04.28
1077 마이크로프로세서 MSP430에 대해서 질문인데요... 주파수 계산 ALCK의...1 구그하므니다 318 2014.04.27
1076 펌웨어 & 코딩언어 HOTC언어로된 MPPT제어 프로그램 Code Vision 으로 변환하기 찰떡젤리 578 2014.04.21
1075 마이크로프로세서 pic porta 인터럽트에 관해서1 모기근성 320 2014.04.03
1074 펌웨어 & 코딩언어 HOTC 명령어 좀 상세히 알고 싶습니다1 jsp 401 2014.04.03
1073 마이크로프로세서 인터럽트 선택적 on/off 질문1 내컴이야 370 2014.02.14
Prev 1 2 3 4 5 6 7 8 9 10 ... 58 Next
  • 누구도 자기가 하는 말이 다 뜻이 있어서 하는 것이 아니다. 그럼에도 자기가 뜻하는 바를 모두 말하는 사람은 거의 없다.
    - H.애덤즈
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.