±â¼ú°øÀ¯
 ÁúÀÇÀÀ´ä
 ÀÚ·á½Ç
 ¸¶ÀÌÄÞÁ¦¾î
  Home >> ±â¼ú°øÀ¯ > ¸¶ÀÌÄÞÁ¦¾î

Total 38  (34/38)
ºÎ·ÏÀ» Æ÷ÇÔÇÏ¿© ÃÑ 38°­Á·Π±¸¼ºµÇ¾î ÀÖ½À´Ï´Ù. Ã¥À» ÀеíÀÌ ¾ÕÆä¿¡ÁöºÎÅÍ »ç¿ëÇϽʽÿä

Á¦9Àå 8051 È°¿ë- 5°­


8. D.C ¸ðÅÍÀÇ Á¦¾î
D.C ¸ðÅÍ´Â ÀÔ·ÂÀü·ù¿¡ ºñ·ÊÇÏ¿© ȸÀü·ÂÀÌ ¹ß»ýÇÑ´Ù. Áï

ȸÀü·Â T = Kt x I (Kt : ÅäÅ©»ó¼ö)
ÀÔ·ÂÀü·ù´Â ÀÔ·ÂÀü¾Ð¿¡ ºñ·ÊÇÏ°í ¸ðÅÍÀÇ ±Ç¼± ÀúÇ׿¡ ¹Ýºñ·ÊÇÑ´Ù





D.C ¸ðÅÍ´Â ÀԷ´ÜÀÚ¿¡ Á¤Àü¾ÐÀ» °¡ÇÏ¸é ½Ã°è¹æÇâÀ¸·Î ȸÀüÇÏ°í ÀԷ´ÜÀÚ¿¡ ¿ªÀü¾ÐÀ» °¡ÇÏ¸é ¹Ý½Ã°è¹æÇâÀ¸·Î ȸÀüÇÑ´Ù.





/*****************************************************/
/* - D.C MOTOR SPEED CONTROL - */
/*****************************************************/
/* ¾Ë°í¸®Áò : ½Ã°£Áö¿¬ ¾Ë°í¸®ÁòÀ» ÀÌ¿ëÇÑ D.C ¸ðÅÍÀÇ 3¼Ó Á¦¾î */

#include
#define MOTOR P3.0 /* Motor Æ÷Æ® ¼³Á¤ */
#define SW_1 P1.0 /* °í¼Ó Á¦¾î Switch */
#define SW_2 P1.1 /* Áß¼Ó Á¦¾î Switch */
#define SW_3 P1.2 /* Àú¼Ó Á¦¾î Switch */
#define ON 1
#define OFF 0
#define IN_BYTE P1 /* ÀÔ·Â Port ¼³Á¤ */
void delay0(char delay_time) /* tt sec delay module */
{
char loop0;
for(loop0=0;loop0
void motor_3() /* °í¼ÓÁ¦¾î */
{ unsigned char count;
for(count=0;count<6;count++)
{
MOTOR=ON;
delay0(50);
MOTOR=OFF;
}
MOTOR=OFF; }

void motor_1() /* Àú¼ÓÁ¦¾î */
{
unsigned char count;
for(count=0;count<3;count++)
{
MOTOR=ON;
delay0(1);
MOTOR=OFF;
}
MOTOR=OFF; }

void motor_2() /* Áß¼ÓÁ¦¾î */
{
unsigned char count;
for(count=0;count<3;count++)
{
MOTOR=ON;
delay0(10);
MOTOR=OFF;
}
MOTOR=OFF; }


void main()
{
unsigned char pre_data=0; /* ÀÌÀü data °ª »èÁ¦ º¯¼ö */
unsigned char key;
while(1)
{ key=IN_BYTE; /* ÀԷ»óÅ ÀúÀå */
if(key=SW_1)
{
key=pre_data; motor_1(); }
if(key=SW_2)
{
key=pre_data; motor_2(); }
if(key=SW_3)
{
key=pre_data; motor_3(); }
}
}







8-1. ÆÄ¿ö µå¶óÀ̹ö¸¦ ÀÌ¿ëÇÑ D.C Motor ÀÇ °í±ÞÁ¦¾î





8-1-1. L298 ±âº»Æ¯Â¡
- ÃÖ´ë µ¿ÀÛ °ø±ÞÀü¾Ð : 46 volt
- ÃÖ´ë D.C Àü·ù : 4 A
- ³·Àº Æ÷È­ Àü¾Ð
- °ú¿­¹æÁö ±â´É
- ±âº»ÀûÀÎ TTL ³í¸®·¹º§À» ¹Þ±â À§ÇÏ¿© ¼³°èµÊ
- ¸±·¹ÀÌ, ¼Ö·¹³ëÀ̵å, ½ºÅÜÇÎ_¸ðÅÍ¿Í °°Àº À¯µµºÎÇϸ¦ ±¸µ¿
- ³ôÀº Àü¾Ð°ú ³ôÀº Àü·ù¿¡ °­ÇÑ Dual Full-Bridge Drive

8-1-2. L298 ÀÇ ÇÉ ±â´É
- Sense A(No 1), Sense B(No 15) : Sense ÀúÇ×À» ÀÔ·Â
- Out_1(No 2), Out_2(No 3) : ºê¸®Áö A ÀÇ Ãâ·Â´ÜÀÚ
- Vs(No 4) : Àü·ÂÃâ·ÂÀ» À§ÇÑ °ø±ÞÀü¿øÀÇ Àΰ¡
- Input_1(No 5), Input_2(No 7) : ºê¸®Áö A ÀÇ TTL ȣȯÀÔ·Â ´ÜÀÚ
- Enable A(No 6), Enable B(No 11) : TTL ȣȯ Enable ÀԷ´ÜÀÚ
- GND(No 8) : Á¢Áö´ÜÀÚ
- Vss(No 9) : ·ÎÁ÷ºí·ÏÀ» À§ÇÑ °ø±ÞÀü¾Ð(100¥ìF ÀÇ Äܵ§¼­¸¦ ¿¬°á)
- Input_3(No 10), Input_4(No 12) : ºê¸®Áö B ÀÇ Ãâ·Â´ÜÀÚ
- Out_3(No 13), Out_4(No 14) : ºê¸®Áö B ÀÇ Ãâ·Â´ÜÀÚ






/*********************************************************/
/* ÆÄ¿ö µå¶óÀ̹ö L 298À» ÀÌ¿ëÇÑ D.C MOTOR ÀÇ °í±ÞÁ¦¾î */
/*********************************************************/

#include
#define MOTOR_R P3.0 /* Motor ¿ìȸÀü Á¦¾î Æ÷Æ®¼³Á¤ */
#define MOTOR_L P3.1 /* Motor ÁÂȸÀü Á¦¾î Æ÷Æ®¼³Á¤ */
#define SW_1 P1.0 /* ¹æÇâÀüȯ Switch Æ÷Æ®¼³Á¤ */
#define ON 1
#define OFF 0
#define IN_BYTE P1 /* ÀÔ·Â Port ¼³Á¤ */
void delay0(char delay_time) /* tt sec delay module */
{
char loop0;
for(loop0=0;loop0 }

void r_motor() /* ½Ã°è¹æÇâ ȸÀü */
{
MOTOR_R=1;
MOTOR_L=0; }

void l_motor() /* ¹Ý½Ã°è¹æÇâ ȸÀü */
{
MOTOR_R=0;
MOTOR_L=1;
}

void slow_motor() /* ½Ã°£Áö¿¬À» ÀÌ¿ëÇÑ ¸ðÅÍÀÇ Àú¼ÓȸÀü */
{
unsigned char count;
for(count=0;count<3;count++)
{
MOTOR_R=1;
MOTOR_L=0;
delay0(1);
MOTOR_R=0;
MOTOR_L=0;
}
MOTOR_R=0;
MOTOR_L=0;
}
void main()
{
unsigned char pre_data=0; /* clear data variable */
unsigned char key;
while(1)
{
key=IN_BYTE; /* ÀÔ·Â °ª ÀúÀå */
if(key=SW_1)
{
key=pre_data;
r_motor();
}
else
slow_motor();
}
}

±Û¾²±â ±Û¼öÁ¤ ±Û»èÁ¦

±Û¾²±â

[1]...[PRE][31][32][33][34][35][36][37][38]
   °Ë»ö¾î    

Copyright ¨Ï All rights reserved