모터의 속도 제어에 사용 PIC16F877

G

Guest

Guest
안녕 모두,

가능한 모터의 속도를 제어하는 다양한 PIC16F877를 사용하는 것입니다?가능하다면, 당신은 같은 방식으로 구성하는 방법을 보여주 C 프로그래밍을 사용하실 수있습니다.

많은 감사!

초보자는 여기에있습니다.

 
안녕

그것은 모터의 어떤 유형에 따라 사용합니까?

여러 가지 종류가있습니다

<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="매우 행복" border="0" />

C가 BLDC, 단계 오후 ....

전체 최고

Bobi

 
<img src="http://g.imagehost.org/0651/Vibrator_Motor_7AL_09WB.jpg" border="0" alt=""/>안녕 bobcat1, 이건 내가 사용하고 진동 모터입니다.이에 대해 어떤 생각을 가지고 유합니까?

 
안녕

더 알고 데이터 시트 볼 필요

전체 최고

Bobi

 
데이터 시트가없는 경우에는 모터를 개설하고 그것을 설명하려고합니다.난 당신 모터의 diffirent 종류의 익숙한 것 같아요?

 
사실 난 모터의 종류가 있지만 익숙하지 않아 그냥 내 프로젝트의 일환으로 모터 제어에 PIC는 컨트롤러를 사용해야하는 ...

 
거기에 다른 종류의 모터, DC 모터와 AC 모터가없습니다.디지털 가전에서 우리 ussually AC 모터를 사용하지 않습니다.우리는 무엇을 사용하여 DC 모터입니다.DC 모터에는 당신의 그림에, 물론 DC 모터의 극성을 어떻게 보여처럼 겨우 2 극성 남북있다.레드와 블랙의 전선의 전선은 무엇을 보여 전기자에 연결되어있습니다.

 
PIC16F877를 사용하여 활성화하는 데 문제가 / 비활성화 L293D IC 칩이 활성화와
DC 모터를 해제합니다.

내가 PIC16F877의 PORTD 제어 핀 1 L293D의 활성화를 사용하지만, 그것이 전혀 통제하지 희한 하군요.

이곳의 코드입니다 :

/ / 컴파일러 오류 메시지를 정의합니다.
# ifndef __CPU_16F877__
# 오류 "이 프로그램은 PIC16F877 컨트롤러에 맞게"
# 각각 endif

/ / 여기에 필요한 헤더 파일을 포함합니다.
# "io16f877.h"/ / 하드웨어 레지스터 정의 파일을 포함합니다./************************************************* ***************
변수는 두 개의 연속적인 타이머 인터럽트 timer_value 사이의 수를 보유하고있다.
이것은 원하는 시간 () 인터럽트 사이 초 수로 나눈 값입니다
각 타이머의 기간을 계산합니다.
이 프로그램의 예를 들면, 각 TIMER1 그렇게 계산 =
1월 6일 우리 구성되어있습니다
그래서 60000의 timer_value an 96 MS의 기간을 방해 줄 것이다.
************************************************** **************/
/ / int timer_value = 0xEA60; / / 10 진수 60000./************************************************* *********************
함수 선언의 주요 프로그램, 즉에 사용될
무효 DelayUs (int 카운트)
무효 initialize_IO_ports (무효)
무효 기다릴 ()

************************************************** ********************/
/ / 여기, ISR 전에 이런 모든 함수의 시신을 넣어 ()와 주 ().

무효 DelayUs (int 카운트)
(
int 난;
int j를;
은 (i = 0; 나는 <카운트; 난 )
(
(일본 = 0; j를 <5000000; j를 );

/ /이 루프에 대한 5 NOPs했습니다 &
1 20MHz의 클럭 주파수를위한 우리의 PIC는 우리를 소모하게됩니다.
)
)무효 기다릴 ()
(
숯불 난;

위한은 (i = 0; 난 <100; 난 )
(
RD1 = 0;
DelayUs (100);
)
)
무효 initialize_IO_ports (무효)
(
/ / 요구 사항에 따라 디지털 입출력 포트를 설정할 수있습니다.
TRISB =를 0xFF; / / 입력으로 portB.
TRISD = 0x00; / / 출력으로 portD.

처음에 /
/ 출력 포트를 비우십시오.
PORTD = 0x00; / / portD 분명합니다.
)주요 무효 ()
(
/ / 설치 포트 출력으로 D 조(1) 동안
(

RD1 = 1;
기다릴 ();

/ /
스톱RD1 = 0;
기다릴 ();
)
)

 
glenndr_15 썼습니다 :

거기에 다른 종류의 모터, DC 모터와 AC 모터가없습니다.
디지털 가전에서 우리 ussually AC 모터를 사용하지 않습니다.
우리는 무엇을 사용하여 DC 모터입니다.
DC 모터에는 당신의 그림에, 물론 DC 모터의 극성을 어떻게 보여처럼 겨우 2 극성 남북있다.
레드와 블랙의 전선의 전선은 무엇을 보여 전기자에 연결되어있습니다.
 
만약 그렇다면 당신은 당신이 아마 모터가 시계 방향으로 돌아가면서하고 싶다는 뜻을 시계 카운터 DC 모터의 와이어의 색상을 무시합니다.

 
AdvaRes 썼습니다 :

이러한 목적으로의 PWM 포트를 사용합니다.
 
glenndr_15 썼습니다 :AdvaRes 썼습니다 :

이러한 목적으로의 PWM 포트를 사용합니다.
 
glenndr_15 썼습니다 :

만약 그렇다면 당신은 당신이 아마 모터가 시계 방향으로 돌아가면서하고 싶다는 뜻을 시계 카운터 DC 모터의 와이어의 색상을 무시합니다.
 

Welcome to EDABoard.com

Sponsor

Back
Top