BASIC4MCU | 질문게시판 | PWM 출력파형 질문입니다.
페이지 정보
작성자 nicefo 작성일2021-02-19 16:35 조회50,957회 댓글8건본문
댓글 8
조회수 50,957master님의 댓글
master 작성일
데드타임 주는 것 때문에 고민 하는 것일까요?
PWM 모드가 여러 종류가 있으니 어느 모드를 사용하는 것이 원하는 제어에 맞는지 고민하시고
fast pwm이 아니면 원하는 제어가 가능할 것 같기도 합니다.
단순히 각각의 채널 시작위치를 변경하고 싶다면
채널1은 타이머1을 사용하고, 채널2를 타이머3을 사용해서
TCNT1과 TCNT3 중 어느 하나를 변경해주면 됩니다.
nicefo님의 댓글
nicefo
와.. 마스터님 정말감사합니다 해결책이 안보였었는데요.
알려주신내용들은 생각을 못했던 부분입니다.
바로 알려주신부분 실습 테스트 적용을 하지못하여 생각만해보다가 다시 질문드립니다.
단순히 각각의 채널 시작위치를 변경하고 싶다면 채널1은 타이머1 사용하고, 채널2를 타이머3 사용해서 TCNT1과 TCNT3 중 어느 하나를 변경하라고 하셨는데 WGM3~WGMn0 사용하는 모드 0~15번 까지중에 선택해서 사용할때 TCNT1, TCNT3 초기값이 0부터 올라가니 이 값을 변경하면 시작위치가 바뀌는 것이고 제가 이렇게 이해한게 맞을까요?
master님의 댓글
master
mode14 fastpwm을 예로들고, TOP값인 ICR을 100으로 설정하면
TCNT는 0~100까지 증가를 반복합니다.
시작위치를 50 차이나게 만든다면
TCNT1=0; TCNT3=50;
이렇게 설정하면 타이머3이 50 빠르므로 타이머3의 파형이 타이머1보다 절반 앞서게 됩니다.
nicefo님의 댓글
nicefo
마스터님 알려주신대로 타이머1, 타이머3 두개 사용해서 시작위치를 차이나게 만들었습니다.
제가 계속 고민했던것이 이미 다른기판은(제가 만든것이 아닙니다) AVR에서 타이머1(OCR1A, OCR1B) 두개로 시작위치가 차이나게 만들고 있어 그대로 타이머1로만 이용해서 따라하려고 했습니다.
질문은 타이머1(OCR1A, OCR1B)로는 시작위치를 어떤방법으로든지 차이나게 만들수 없는것인지 궁금합니다.
nicefo님의 댓글
nicefo 작성일
예로 설명해주시니 이해가 잘되었습니다
알려주신내용 왜 생각이 안났었는지..
깨우쳐 주셔서 너무너무 감사합니다
당장 해보고싶지만 할수 없는상황이라 월욜날 테스트실험해보면 왠지 해결될거같습니다..!!
매번 가르침 주셔서 감사합니다 꾸벅(__ )
master님의 댓글
master 작성일OC1A, OC1B 두 개 모두 TCNT1 한개로 구동되는데 어떻게 다르게 할 수 있을까요?
nicefo님의 댓글
nicefo
그렇죠..! 불가능한걸 알지만 제가 모르는부분이 있을까하여 여쭈어봤습니다
그렇다면 제가 따라하려고 하는 기판은 스코프로 봤을때 파형이 시작위치를 변경한 것처럼 보일뿐 뭔가 다른방법?으로 한것이겠네요.. 더 고민해봐야겠습니다
답변 달아주셔서 감사합니다(__ )
master님의 댓글
master
어떤 목적으로 그런 파형을 만들려는 것인지 명확하게 설명을 먼저 하는 것이 좋습니다.
뭘 하려는지를 모르면 답변이 어렵죠