BASIC4MCU | 질문게시판 | 안녕하세요 ATMEGA128 과 L298N 을 이용해서 DC모터를 제어하려고 합니다.
페이지 정보
작성자 27315co 작성일2018-09-02 20:44 조회21,722회 댓글0건본문
안녕하세요 제목 그대로 아트메가에서 DC모터를 모터드라이버를 통해서 제어하려고합니다.
우선 라즈베리파이에서 L298N을 이용해서 정회전 동작을 확인했었기때문에 이번에는
ATMEGA 에서도 같은 방식을 통해 간단한 코드를 통해서 정회전 동작을 확인해보려고 했었습니다.
우선
모터드라이버와 ATMEGA의 전원은 5V 에 2A짜리의 어댑터로부터 받아주었고 GND 는 어댑터와 드라이버와 ATMEGA 모두 공통 GND를 잡아주었습니다.
그리고나서
D 포트의 0 번 1번에는 순서대로 ENA 와 ENB를 연결해주었습니다.
그리고 2번부터 5번까지는 순서대로 IN1부터 IN4 까지를 연결해주었습니다.
코드는 아래와 같습니다.
D포트의 0번과 1번에는 HIGH를 주었고 ENA 와 ENB 의 활성화
IN1과 IN3 에는 1을 주고 IN2와 IN4 에는 0 을 줌으로써 모터의 정회전 동작을 확인할수가있는데요
라즈베리파이에서는 이런식으로 해서 성공적으로 모터가 쩅쨍하고 썡쌩하게 돌아가는것을 확인해 보았습니다.
아래의 코드를 구동시에 ATMEGA에서 발생하는 문제점은 모터가 정회전을 하기는 하는데 힘이없이 천천히 회전하는 점에서 있었습니다. 저는 ENA 와 ENB 단자에 PWM신호를 주지않고 단지 HIGH 신호를 주었음에도 불구하고 마치 낮은 PWM 신호를 준것처럼 모터가 계속 힘없이 회전하고는 합니다.
대체 어느부분이 문제인지 여쭤보려고 질문드립니다.
#include <mega128.h>
#include <delay.h>
void main(void)
{
DDRD = 0xff;
PORTD = 0b00010111;
while(1)
{
}
}
댓글 0
조회수 21,722등록된 댓글이 없습니다.