Tuesday, December 30, 2014

Prodict 2010 - Từ điển kỹ thuật

Prodic 2010 Full Crack - Prodic 2010 Full Fshare Final
Prodic 2010
 một trong những phần mềm từ điển- tra cứu thông minh nhất hiện nay. Giúp người dùng có thể tra cứu từ cần tìm một cách nhanh nhất với ít thao tác nhất.
Giới thiệu về Prodic 2010 Full crack - từ điển đa ngôn ngữ thông dụng nhất hiện nay.
Từ điển chuyên nghành Anh-Việt Prodic 2010 là sản phẩm được phát triển bởi công ty EConTech là một bộ từ điển phong phú về tính thông dụng, chuyên nghành kỹ thuật và chuyên ngành kinh tế. Với Prodic 2010 Full Prodic 2010 Full nó sẽ đáp ứng đầy đủ yêu cầu tra cứu trong kỹ thuật kinh tế thương mại trong giai đoạn thế giới đang mửa cửa hội nhập & giao lưu quốc tế hiện nay.



Các chức năng chính của từ điển:
1, Tra Cứu Thông Minh tiện lợi cho người dùng
2,Phạm Vi Tra Cứu Đa Dạng
3,Phát Âm Tiếng Nói chuẩn theo ngôn ngữ nước ngoài
4, Bộ Gõ Tích Hợp, Chính Xác và Thông Minh
Phần mềm hoàn toàn tương thích với hệ điều hành Windows XP-Vista-7 Seven kể cả phiên bản 32bit và 64bit, cho phép bắt chữ trên màn hình tiện lợi và nhanh chóng
Download Prodic 2010 Full crack Fshare
Download
Link dự phòng: download
Với Giao Diện Đẹp, Tiện Dụng và Đa Ngôn Ngữ Prodic 2010 xứng đáng là phần mềm tra từ tốt nhất hiện nay.


Bài viết: Prodic 2010 Full Crack - tải kèm bản prodic 2010 portable mới 
Zing Blog

Friday, December 26, 2014

Stm8 -GPIO


Trước tiên ta làm quen với một vài thuật ngữ:
- Input floating: đầu vào thả nổi (cần có trở kéo lên vcc).
- Input pull-up: đầu vào đẩy kéo (không cần trở kéo lên vcc).
- No external interrupt: không cho phép ngắt ngoài.
- External interrupt:cho phép ngắt ngoài.
- Output open-drain: đầu ra cực máng hở (cần có trở treo)
- High-impedance level: mức trở kháng cao (hở mạch)
- Output push-pull: đầu ra đẩy kéo. (không cần trở kéo)
- Low level: mức thấp.
- High level: mức cao.

Khởi tạo:
GPIO_DeInit(GPIOx); //X là port A,B,C,D
GPIO_Init(GPIOx,GPIO_Pin,GPIO_Mode);
/*
Trong đó: GPIOx có thể là GPIOA, GPIOB, GPIOC, GPIOD.
             GPIO_Pin là chân cần thiết lập bao gồm:
                          GPIO_PIN_0         //chân 0 được chọn
                          GPIO_PIN_1         //chân 1 được chọn
                          GPIO_PIN_2         //chân 2 được chọn 
                          GPIO_PIN_3         //chân 3 được chọn   
                          GPIO_PIN_4         //chân 4 được chọn
                          GPIO_PIN_5         //chân 5 được chọn
                          GPIO_PIN_6         //chân 6 được chọn
                          GPIO_PIN_7         //chân 7 được chọn
                          GPIO_PIN_LNIB    //4 chân dưới được chọn
                          GPIO_PIN_HNIB   //4 chân trên được chọn
                          GPIO_PIN_ALL     //tất cả chân được chọn
              GPIO_Mode là thiết lập chế độ, bao gồm:
                          GPIO_MODE_IN_FL_NO_IT /*!< Input floating, no external
                         interrupt */
                          GPIO_MODE_IN_PU_NO_IT /*!< Input pull-up, no external
                         interrupt */
                          GPIO_MODE_IN_FL_IT /*!< Input floating, external interrupt */
                          GPIO_MODE_IN_PU_IT  /*!< Input pull-up, external interrupt */
                          GPIO_MODE_OUT_OD_LOW_FAST /*!< Output open-drain, low
                         level, 10MHz (tần số thạch anh) */
                          GPIO_MODE_OUT_PP_LOW_FAST  /*!< Output push-pull, low 
                        level, 10MHz */
                          GPIO_MODE_OUT_OD_LOW_SLOW /*!< Output open-drain, low
                         level, 2MHz */
                          GPIO_MODE_OUT_PP_LOW_SLOW /*!< Output push-pull, low
                         level, 2MHz */
                          GPIO_MODE_OUT_OD_HIZ_FAST/*!< Output open-drain, high
                         impedance level,10MHz */
                          GPIO_MODE_OUT_PP_HIGH_FAST/*!< Output push-pull, high
                        level, 10MHz */
                          GPIO_MODE_OUT_OD_HIZ_SLOW /*!< Output open-drain, high
                         impedance level, 2MHz */
                          GPIO_MODE_OUT_PP_HIGH_SLOW /*!< Output push-pull, high
                         level, 2MHz */
*/
Ví dụ:
CODE:
GPIO_DeInit(GPIOA); 
GPIO_Init(GPIOA, GPIO_PIN_ALL, GPIO_MODE_OUT_PP_LOW_FAST);
     
1. Output:

GPIO_Write(GPIOx,PortVal); // xuất mã tương ứng ra port
Ví dụ:
CODE:
GPIO_Write(GPIOD,0x7A);
GPIO_WriteHigh(GPIOx,PortPins); //đưa mức cao ra 1 chân nhất định
Ví dụ:
CODE:
GPIO_WriteHigh(GPIOA,GPIO_PIN_1);
GPIO_WriteLow(GPIOx,PortPins);//đưa mức thấp ra 1 chân nhất định
CODE:
GPIO_WriteLow(GPIOA,GPIO_PIN_1);
GPIO_WriteReverse(GPIOx, PortPins); // đảo trạng thái 1 chân nhất định
Ví dụ:
CODE:
GPIO_WriteReverse(GPIOA, GPIO_PIN_1);
Sau đây là một ví dụ cụ thể về output: (chạy led)
CODE:
#include"stm8s_conf.h"

void delay_ms(unsigned int timer)
{
  while(timer--)
    {
      for(int count=0; count<1000;count++);
    }
}
void delay_us(unsigned int timer)
{
  while(timer--);
}

void hieu_ung_1();

int main( void )
{
  GPIO_DeInit(GPIOA); 
  GPIO_DeInit(GPIOB);
  GPIO_DeInit(GPIOC);
  GPIO_DeInit(GPIOD);
  GPIO_Init(GPIOA, GPIO_PIN_ALL, GPIO_MODE_OUT_PP_LOW_FAST);     
  GPIO_Init(GPIOB, GPIO_PIN_ALL, GPIO_MODE_OUT_PP_LOW_FAST);    
  GPIO_Init(GPIOC, GPIO_PIN_ALL, GPIO_MODE_OUT_PP_LOW_FAST);    
  GPIO_Init(GPIOD, GPIO_PIN_ALL, GPIO_MODE_OUT_PP_LOW_FAST);    
  
  while(1)
    {
      hieu_ung_1();
    }
}

void hieu_ung_1()
{
      GPIO_WriteHigh(GPIOA,GPIO_PIN_1);
      delay_ms(20);
      GPIO_WriteLow(GPIOA,GPIO_PIN_1);
      delay_ms(20);
      GPIO_WriteHigh(GPIOA,GPIO_PIN_2);
      delay_ms(20);
      GPIO_WriteLow(GPIOA,GPIO_PIN_2);
      delay_ms(20);
      GPIO_WriteHigh(GPIOC,GPIO_PIN_3);
      delay_ms(20);
      GPIO_WriteLow(GPIOC,GPIO_PIN_3);
      delay_ms(20);
      GPIO_WriteHigh(GPIOC,GPIO_PIN_7);
      delay_ms(20);
      GPIO_WriteLow(GPIOC,GPIO_PIN_7);
      delay_ms(20);
      GPIO_WriteHigh(GPIOC,GPIO_PIN_4);
      delay_ms(20);
      GPIO_WriteLow(GPIOC,GPIO_PIN_4);
      delay_ms(20);
      GPIO_WriteHigh(GPIOC,GPIO_PIN_6);
      delay_ms(20);
      GPIO_WriteLow(GPIOC,GPIO_PIN_6);
      delay_ms(20);
      GPIO_WriteHigh(GPIOC,GPIO_PIN_5);
      delay_ms(20);
      GPIO_WriteLow(GPIOC,GPIO_PIN_5);
      delay_ms(20);
}
2. Input

GPIO_ReadInputData(GPIOx); // đọc trạng thái ngõ vào 1 port
GPIO_ReadOutputData(GPIOx); // đọc trạng thái ngõ ra 1 port
ví dụ:
CODE:
GPIO_ReadInputData(GPIOA);
GPIO_ReadOutputData(GPIOA);
GPIO_ReadInputPin(GPIOx, GPIO_Pin); // đọc trạng thái ngõ vào 1 chân nhất định
Ví dụ:

CODE:
GPIO_ReadInputPin(GPIOA, GPIO_Pin_2);
Code kiểm tra nút nhấn:
CODE:
#include"STM8S_conf.h"
#include"stdio.h"
//***** Dinh nghia co cac chan*****//
#define data    (GPIOD)
#define sw      (GPIO_PIN_3)
//*****Kai bao bien*****//
unsigned int data_sw;
//*****Ham tao thoi gian tre*****//
void delay(unsigned int timer)
{
  while(timer--);
}
//*****Ham doc nut nhan******//
void Read_sw(void)
{
  data_sw = GPIO_ReadInputPin(GPIOC,sw);
  if(data_sw==0)
  {
    delay(60000);
    if(data_sw==0)
    { 
      GPIO_WriteLow(GPIOD,GPIO_PIN_4);
    }
  }
  
  else
    GPIO_WriteHigh(GPIOD,GPIO_PIN_4);
}
void clk_config(void)
{
  CLK_DeInit();
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//cau hinh tan so xung noi HSI/1=16MHZ
  CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV1);// xung cpu=HSI/1=16MHZ 
  while(CLK_GetFlagStatus(CLK_FLAG_HSIRDY)!=SET);
}
void main(void)
{
  clk_config();
  GPIO_DeInit(GPIOD);
  GPIO_Init(GPIOD,GPIO_PIN_ALL,GPIO_MODE_OUT_PP_HIGH_FAST);
  GPIO_DeInit(GPIOC);
  GPIO_Init(GPIOC,GPIO_PIN_3,GPIO_MODE_IN_FL_NO_IT);
  while(1)
  {
    Read_sw();
  }
}

Wednesday, December 24, 2014

Các mạch điều khiển động cơ bước cơ bản

Phần 3 Động cơ bước dịch bởi Đoàn Hiệp

·        Giới thiệu
·        Động cơ biến thiên từ trở
·        Động cơ hôn hợp và nam châm vĩnh cửu đơn cực
·        Dẫn động từ trở và đơn cực trong thực tế
·        Động cơ lưỡng cực và cầu H
·        Mạch dẫn động lưỡng cực trong thực tế

Giới thiệu

Phần này của giáo trình trình bày về mạch dẫn động khâu cuối của động cơ bước. Mạch này tập trung vào một mạch phát đơn, đóng ngắt dòng điện trong cuộn dây của động cơ, đồng thời điều khiển chiều dòng điện. Mạch điện được nối trực tiếp với cuộn dây và cấp nguồn của động cơ, mạch được điều khiển bởi một hệ thống số" quyết định khi nào công tắc đóng hay ngắt.
Phần này cũng nói đến các loại động cơ, từ mạch điện cơ bản điều khiển động cơ biến thiên từ trở đến mạch cầu H để điều khiển động cơ nam châm vĩnh cửu lưỡng cực. Môi loại mạch dẫn động được minh họa bằng ví dụ cụ thể, tuy nhiên những ví dụ này không phải là một catalog đầy đủ các mạch điều khiển có sẵn trên thị trường, những thông tin này cũng không phải để thay thế bảng dữ liệu về chi tiết của nhà sản xuất.
Phần này chỉ đưa ra mạch điều khiển đơn giản nhất của từng loại động cơ. Tất cả các mạch đều được giả thiết rằng nguồn cung cấp một điện áp không vượt quá điện áp ngưỡng của động cơ, điều này giới hạn hiệu suất của động cơ. Phần kế" tiếp - mạch dẫn động có dòng giới hạn - sẽ đề cập đến các mạch dẫn động hiệu suất cao trong thực tế.

Động cơ biến từ trở

Bộ điều khiển điển hình của động cơ bước biến từ trở dựa theo nguyên tắc như trên Hình 3.1:




Trên Hình 3.1, các hộp ký hiệu cho công tắc, bộ điều khiển (controller  ‐ không thể hiện trên hình) chịu trách nhiệm cung cấp tín hiệu điều khiển đóng mở công tắc tại từng thời  điểm thích hợp  để  quay  động cơ. Trong nhiều trường hợp, chúng ta phải thiết kế bộ điều khiển, có thể là một máy tính hoặc một mạch điều khiển giao tiếp lập trình được, với phần mềm trực tiếp phát tín hiệu điều khiển đóng mở, nhưng trong một số trường hợp khác mạch điều khiển được thiết kế  kèm theo động cơ, và đôi khi được cho miễn phí.

Cuộn dây, lõi solenoid của động cơ hoặc các chi tiết tương tự đều là các tải cảm ứng. Như vậy, dòng điện qua cuộn dây không thể đóng ngắt tức thời mà không làm áp tăng vọt đột ngột. Khi công tắc điều khiển cuộn dây đóng, cho dòng điện đi qua, làm dòng điện tăng chậm. Khi công tắc mở, sự tăng mạnh điện áp có thể làm hư công tắc trừ khi ta biết cách giải quyết thích hợp.
Có hai cách cơ bản để xử lý sự tăng điện áp này, đó là mắc song song với cuộn dây một diod hoặc một tụ điện. Hình 3.2 minh họa hai cách này:


Diod trên Hình 3.2 phải có khả năng dẫn toàn bộ dòng điện qua cuộn dây, nhưng nó chỉ dẫn mỗi khi công tắc mở, khi dòng điện không còn qua cuộn dây.

Nếu ta sử dụng diod tác dụng tương đối chậm như họ 1N400X chung với các mạch chuyển tác dụng nhanh thì cần phải mắc song song với diod một tụ điện. Tụ điện trên Hình 3.2 dẫn đến vấn đề thiết kế" phức tạp hơn. Khi công tắc đóng, tụ điện sẽ xả điện qua công tắc xuống đất, do đó công tắc phải chịu được dòng điện xả này. Một điện trở mắc nối tiếp với tụ điện hoặc với nguồn sẽ giới hạn dòng điện này. Khi công tắc mở, năng lượng tích trữ trong cuộn dây sẽ nạp vào tụ điện cho đến khi điện áp vượt quá áp cung cấp, và công tắc cũng phải chịu được điện áp này. Để tính điện dung tụ, ta đồng nhất hai công thức tính năng lượng tích trữ trong mạch cộng hưởng:
P = C V2 / 2 P = L I2 / 2
trong đó:
P -- năng lượng tích trữ [Ws] hay [CV]
C -- điện dung [F]
V -- điện áp hai đầu tụ L -- độ tự cảm của cuộn dây [H]
I  -- dòng điện qua cuộn dây
Ta tính kích thước nhỏ nhất của tụ điện để tránh quá áp trên công tắc theo công thức:
C > L I2 / (Vb - Vs)2 trong đó:
Vb -- điện áp đánh thủng mạch chuyển Vs -- điện áp cung cấp
Động cơ từ trở biến thiên có độ tự cảm thay đổi tùy thuộc vào góc của trục. Do đó, trường hợp xấu nhất được dùng để lựa chọn tụ điện. Hơn nữa, độ tự cảm của động cơ thường ít được ghi rõ, nên chúng ta phải làm vậy.
Tụ điện và cuộn dây kết hợp với nhau tạo thành một mạch cộng hưởng. Nếu hệ điều khiển cho động cơ quay ở tần số gần với tần số cộng hưởng này, dòng điện qua cuộn dây, kéo theo moment xoắn do động cơ sinh ra, sẽ rất khác so với moment xoắn ở điều kiện ổn định với điện áp vận hành danh nghĩa. Tần số" cộng hưởng là:
f = 1 / ( 2π (L C)0.5

Một lần nữa tần số cộng hưởng điện của động cơ từ trở biến thiên lại phụ thuộc vào góc của trục. Khi động cơ này hoạt động với xung kích gần cộng hưởngdòng điện dao động trong cuộn dây sẽ tạo ra một từ trường bằng không tại hai lần tần số cộng hưởng, điều này có thể làm giảm moment xoắn đi rất nhiều.

Động cơ hỗn hợp và nam châm vĩnh cửu đơn cực


Bộ điều khiển điển hình động cơ bước đơn cực thay đổi theo sơ đồ trên Hình 3.3:


Trên Hình 3.3, cũng như Hình 3.1, hộp biểu diễn các công tắc và một bộ điều khiển (không thể hiện trên hình) chịu trách nhiệm cung cấp tín hiệu điều khiển đóng mở công tắc vào thời điểm thích hợp để quay động cơ. Bộ điều khiển thường là máy tính hay một mạch điều khiển lập trình được, với phần mềm trực tiếp phát ra tín hiệu cần thiết để điều khiển công tắc.

Cũng như đối với mạch dẫn động của động cơ biến từ trở, chúng ta phải giải quyết sự thay đổi độ tự cảm bất ngờ khi công tắc hở. Một lần nữa, ta có thể chuyển sự thay đổi này bằng cách dùng diod, nhưng bây giờ ta phải dùng 4 diod như trên Hình 3.4:

Ta cần thêm vào các diod vì cuộn dây của động cơ không phải là hai cuộn dây độc lập mà là một cuộn center-tapped đơn giản với tap giữa có điện áp cố" định. Chúng hoạt động như một bộ tự chuyển đổi. Khi một đầu của cuộn dây bị kéo xuống đầu kia sẽ bị đẩy lên và ngược lại. Khi một công tắc hở, độ tự cảm kickback sẽ làm đầu bên đó của động cơ nối với nguồn dương và bị kẹp bởi các diod. Đầu bên kia bị đẩy lên và nếu nó không đạt được điện áp cung cấp cùng lúc thì sẽ xuống dưới mức 0, đảo chiều điện áp qua công tắc ở đầu đó. Một vài công tắc có thể chịu được sự đảo chiều như vậy nhưng những công tắc khác sẽ bị hư.
Một tụ điện có thể được dùng để giói hạn điện áp kỉckback như trên hình 3.5:

Các quy tắc để tính kích thước tụ điện trên Hình 3.5 giống như các quy tắc tính kích thước tụ điện trên Hình 3.2 nhưng hiệu ứng cộng hưởng rất khác. Với một động cơ nam châm vĩnh cửu nếu tụ điện hoạt động ở gần hay bằng tần số' cộng hưởng, moment xon sẽ tăng gấp hai lần moment xoắn ở vận tốc thấp. Đường cong moment xoắn theo vận tốc sẽ rất phức tạp như trên Hình 3.6:


Hình 3.6 cho thấy tại tần số' cộng hưởng điện, moment xoắn sẽ vọt lên và tại tần số' cộng hưởng cơ, moment lại sụt nhanh. Nếu tần số' cộng hưởng điện lớn hơn vận tốc tới hạn của động cơ sử dụng mạch dẫn động dùng diod ở một mức nào đó thì hiệu ứng này sẽ làm vận tốc tới hạn gia tăng đáng kể.

Tần số cộng hưởng cơ học phụ thuộc vào moment xoắn, vì vậy nếu tần số này gần với tần sô" cộng hưởng điện, tần sô" cộng hưởng điện sẽ làm nó thay đổi. Hơn nữa, độ rộng của sự cộng hưởng cơ học phụ thuộc vào độ dốc cục bộ của đường cong moment xoắn theo vận tốc. Nếu moment xoắn giảm theo vận tốc, cộng hưởng sẽ rất dốc, còn nếu moment xoắn tăng theo vận tốc, cộng hưởng sẽ rộng ra thậm chí có thể tách ra thành nhiều tầng số" cộng hưởng khác nhau.

Driver động cơ đơn cực và biến từ trở

Trong các mạch điện ở phần trên, chúng ta không quan tâm đến các công tắc và các tín hiệu điều khiển. Bất kỳ kỹ thuật đóng ngắt nào từ cầu dao đến MOSFETS cũng đều dùng được hết! Hình 3.7 là một vài cách mắc cho mỗi loại công tắc, bao gồm cả cuộn dây của động cơ và diod bảo vệ phục vụ cho mục đích đóng ngắt kể trên:


Mỗi công tắc trên Hình 3.7 đều tương thích với đầu vào TTL. Nguồn 5V sử dụng cho mạch logic, bao gồm open-collector driver 7407 như trên hình. Nguồn điện cho động cơ, thường từ 5V - 24V, không cần độ chính xác cao. Ta cần chú ý rằng các mạch đóng ngắt các nguồn này phải thích hợp cho việc dẫn động các cuộn dây, động cơ DC, các tải cảm ứng khác và cả các động cơ bước.


Transistor SK3180 trên Hình 3.7 là một mạch darlington công suất có độ lợi dòng hơn 1000, do đó dòng 10mA qua điện trở hiệu chỉnh 470 Ohm sẽ đủ lớn để qua transistor điều chỉnh dòng vài Ampe qua cuộn dây của động cơ. Bộ đệm 7407 dùng điều khiển darlington được thay thế" bởi bất kỳ con chip open-collector điện thế" cao nào mà nó có thể điều khiển ở mức tối thiểu 10mA. Ngay cả trong trường hợp transistor hư, open collector này sẽ giúp bảo vệ phần còn lại của mạch logic khỏi nguồn của động cơ.
IRC IRL540 trên Hình 3.7 là một power field effect transistor. Nó có thể chịu được dòng điện lên tới 20A và nó bị đánh thủng ở 100V, do đó con chip này có thể hấp thu đỉnh nhọn của độ tự cảm mà không cần diod bảo vệ nếu nó được gắn với một bộ tản nhiệt đủ lớn. Transistor này có thời gian đóng ngắt rất nhanh nên các diod bảo vệ cũng phải nhanh tương ứng hoặc được chia nhỏ bới các tụ điện. Điều này đặc biệt cần thiết cho các diod bảo vệ transistor chống lại phân cực ngược. Trong trường hợp transistor bị hư, diod zener và điện trở 100 Ohm sẽ bảo vệ mạch TTL. Điện trở 100 Ohm còn đóng vai trò làm chậm thời gian đóng mở của transistor.
Đôi với những ứng dụng mà mỗi cuộn dây của động cơ dẫn dòng nhỏ hơn 500mA, mạch darlington họ ULN200x của Allegro Microsystems hoặc họ DS200x của National Semiconductor hay MC1413 của Motorola sẽ dẫn động cho cuộn dây hoặc các tải cảm ứng khác trực tiếp từ tín hiệu vào logic. Hình 3.8 là các ngõ vào và ngõ ra của chip ULN2003, dãy 7 transỉstor darlington:


Điện trở nền trên mỗi transistor darlington  phải  thích  hợp với tín hiệu ra TTL
lưỡng cực chuẩn. Cực phát của mỗi darlington NPN được nối với chân 8, là chân nối đất. Mỗi transistor được bảo vệ bằng hai diod, một nối giữa cực phát và cực thu để bảo vệ transistor khỏi điện áp ngược, một nối cực thu với chân 9, nếu chân 9 nối với nguồn của động cơ thì diod này sẽ bảo vệ transistor khỏi đỉnh nhọn của độ tự cảm.
Chip ULN2803 cũng giống như chip ULN2003 mô tả ở trên nhưng nó có 18 chân và 8 darlington cho phép một chip có thể dẫn động cho một cặp động cơ từ trở biến thiên hoặc nam châm vĩnh cửu đơn cực.
Đối với động cơ mà mỗi cuộn dây dẫn dòng nhỏ hơn 600mA, mạch dẫn động quad UDN2547B của Allegro Microsystems sẽ điều khiển cả 4 cuộn dây của động cơ bước đơn cực chung. Nếu dẫn dòng nhỏ hơn 300mA, ta nên chọn mạch dẫn động kép SN7451, 7452 và 7453 của Texas Instruments, cả 3 loại này đều bao gồm một vài mạch logic cùng với mạch dẫn động.

Động cơ hai cực và mạch cầu H

Mọi thứ trở nên phức tạp hơn với động cơ bước nam châm vĩnh cửu lưỡng cực vì không có đầu nối chung trên các cuộn dây. Vì thế để đảo chiều của từ trường sinh ra bởi cuộn dây ta phải đảo chiều dòng điện qua cuộn dây. Ta có thể dùng một công tắc kép hai cực để làm cộng việc này, mạch điện tương đương của một công tắc như vậy 
được gọi là cầu H và được mô tả trên Hình 3.9:

Cũng như với mạch dẫn động đơn cực đã đề cập ở trên, các công tắc sử dụng trong cầu H phải được bảo vệ khỏi sự vọt điện áp khi ngắt dòng điện trong cuộn dây. Ta luôn sử dụng diod cho việc này, như Hình 3.9.
Cần chú ý rằng cầu H có thể áp dụng không chí để điều khiên động cơ bước lưỡng cực mà còn điều khiển động cơ DC, hút nhả lõi solenoid (trong pittông nam châm vĩnh cửu) và nhiều ứng dụng khác.
Với 4 công tắc cầu H cho ta tổ hợp 16 mode hoạt động, trong đó có 7 mode làm ngắn mạch nguồn. Các mode sau đây thường được sử dụng:
mode thuận: các công tắc A và D đóng mode ngược: các công tắc B và C đóng
Các mode này cho phép dòng điện đi từ nguồn qua cuộn dây động cơ về đất. Hình 3.10 minh họa mode thuận:


mode suy giảm nhanh hay mode trượt: tất cả các công tắc đều mở:
Bất kỳ dòng điện nào qua cuộn dây sẽ chống lại điện áp nguồn, gây sụt áp trên diod nên dòng điện sẽ bị suy giảm nhanh. Mode này không tạo ra hoặc tạo ra rất ít hiệu ứng hãm động lên rotor của động cơ, do đó rotor sẽ quay tự do (trượt) nếu tất cả cuộn dây được cấp nguồn theo mode này. Hình 3.11 minh họa dòng điện ngay sau khi chuyển từ mode thuận sang mode suy giảm nhanh
mode suy giảm chậm hay mode hãm động lực:

Trong mode này dòng điện có thể chạy vòng lại qua cuộn dây của động cơ với điện trở nhỏ nhất. Nhờ đó dòng điện chạy trong cuộn dây ở một trong hai mode này sẽ suy giảm chậm, và nếu rotor đang quay, nó sẽ sinh ra một dòng điện cảm ứng có vai trò như một cái hãm rotor. Hình 3.12 minh họa một trong nhiều mode suy giảm chậm có ích, với công tắc D đóng, nếu cuộn dây mới vừa ở mode thuận thì công tắc B có thể đóng hoặc mở:

Hấu hết các cầu H được thiết kế" sao cho bao gồm cả mạch logic dùng để phòng ngừa ngắn mạch nhưng ở mức độ rất thấp trong thiết kế. Hình 3.13 minh họa một thiết kế được cho là tốt nhất:


Với thiết kế này ta có các mode điều khiển sau:

 Lợi ích của thiết kế" này là tất cả các mode điều khiển có ích được giữ lại và chúng được mã hóa với một số" bit tối thiểu - điều này rất quan trọng khi sử dụng vi xử lý hay máy tính để điều khiển cầu H vì các hệ thống như vậy chỉ có sẵn một số" bit hữu hạn ở cổng song song. Tuy nhiên chỉ vài con chip tích hợp cầu H có sẵn trên thị trường là có sơ đồ điều khiển đơn giản.

Mạch điều khiển động cơ hai cực thực tế

Có một số" driver tích hợp cầu H trên thị trường nhưng vẫn cần xem sự thực thi từng thành phần rời rạc để hiểu một cầu H làm việc  như thế" nào. Antonio Raposo (ajr@cybill.inesc.pt) đã đề nghị mạch cầu H như trên Hình 3.14:



Ngõ vào X, Y của mạch này có thể được điều khiển bởi ngõ ra của bộ góp điện mở TTL như trong mạch điều khiển đơn cực dựa trên darlington trên Hình 3.7. Cuộn dây của động cơ sẽ được cung cấp năng lượng nếu trong hai tín hiệu vào X, Y có một tín hiệu on và một tín hiệu off. Nếu cả hai đều off, cả hai transistor kéo xuống (pull-down) sẽ tắt. Nếu cả hai đều cao, cả hai transistor kéo lên (pull- up) sẽ tắt. Như vậy, mạch điện đơn giản này đặt động cơ vào tình trạng hãm động lực ở cả trạng thái 11 và 00, không thể hiện mode trượt. 
Mạch điện trên Hình 3.14 bao gồm hai nửa xác định, mỗi nửa được mô tả chính xác như một mạch kéo đẩy. Thuật ngữ nửa cầu H thỉnh thoảng được áp dụng cho những mạch này! Cần lưu ý rằng một nửa cầu H có mạch rất giống với mạch điều nghiển ngõ ra dùng trong mạch logic TTL. Trong thực tế, các mạch điều khiển ba trạng thái TTL như 74LS125A và 74LS244 có thể được dùng như một nửa cầu H đôi vói các tải nhỏ, như minh họa trên Hình 3.15:

Mạch điện này có hiệu quả đối với động cơ có điện trở tối đa 50 Ohm trên mỗi cuộn và điện áp tôi đa 4.5V khi dùng nguồn 5V. Mỗi mạch đệm ba trạng thái trong LS244 có thể dùng nếu điện trở nội của bộ đệm đủ lớn, và dòng sẽ được chia đều trên các ngõ điều khiển (mắc song song). Điều này cho phép thiết kế mạch điều khiển giống như Hình 3.15, và khi chưa mã hoá điều khiển, thì chúng ta có bảng chân trị như dưới đây:


Mode hãm thứ hai, XYE = 110, hãm hơi yếu hơn mode đầu tiên XYE = 000 vì LS244 hút dòng nhiều hơn.
Chip TC4467 - 4 cầu - của hãng Microchip là một thí dụ khác của các driver 4 nửa cầu H. Không giống như các driver được sản xuất trước đó, datasheet của nó cung cấp đầy đủ cả những ứng dụng điều khiển, và nguồn cấp lên tới 18V, và dòng trên mỗi mấu có thể đạt đến 250mA.
Một trong những vấn đề của các chip điều khiển động cơ bước bán sẵn là đa số chúng có tuổi thọ trên thị trường khá ngắn. Ví dụ, họ Seagate IpxMxx, mạch cầu đôi (từ IP1M10 đến IP3M12) được thiết kế" rất tốt nhưng chỉ dùng cho các động cơ bước để định vị điểm đầu của đĩa cứng Seagate. Mạch dẫn động cầu H Toshiba TA7279 tốt cho động cơ dưới 1A nhưng cũng chỉ được dùng trong nội hãng mà thôi.

Cầu H đôi L293 của SGS-Thompson (và các hiệu khác) đang cạnh tranh với các chip trên nhưng nó không tích hợp các diod bảo vệ. Chip L293D, sẽ giới thiệu sau, có chân tương thích và có cả các diod bảo vệ này. Nếu dùng các L293 gần đây, mỗi cuộn dây của động cơ phải đặt qua một cầu chỉnh lưu (1N4001 chẳng hạn). Việc sử dụng các diod bên ngoài cho phép ta đặt một dãy điện trở trên đường về của dòng để đẩy nhanh sự suy giảm dòng trong cuộn dây khi nó bị ngắt, có thể trong một số ứng dụng người ta không mong muốn điều này. Họ L293 có thể dùng để điều khiển các động cơ bước lưỡng cực nhỏ, tôi đa 1A/cuộn và điện áp cấp lên tới 36V. Hình 3.16 cho ta sơ đồ chân của chip L293B và L293D:

Chip này có thể xem như 4 nửa cầu H độc lập, được kích hoạt từng cặp, hoặc hai cầu H đầy đủ. Đây là dạng đóng gói DIP, với chân 4, 5, 12, và 13 được thiết kế" để truyền nhiệt cho bo mạch in hoặc để tản nhiệt ra ngoài.
Cầu H đôi L298 của SGS-Thompson (và các hiệu khác) cũng giống với loại trên nhưng có thể chịu được tối đa 2A/kênh. Như với LS244, ta có thể nối hai cầu H trong L298 tạo thành một cầu chịu được 4A (xem datasheet để biết cách nối này). Một điều cần lưu ý là chip L298 chuyển mạch rất nhanh, nhanh đến nỗi các diod bảo vệ (1N400X) không làm việc được. Vậy chúng ta phải dùng diod BYV27 để thay thế. Cầu đơn LMD18200 của National Semiconductor cũng rất tốt, có thể chịu được dòng 3A và đã có sẵn các diod bảo vệ tích hợp.
Trong khi cầu H tích hợp không sử dụng được cho dòng hay áp quá cao thì trên thị trường lại có những linh kiện được thiết kế tốt để đơn giản hóa việc tạo cầu H từ các công tắc rời rạc. Ví dụ, International Rectifier bán một loạt nửa cầu H, hai trong số" đó có thêm 4 transistor đóng ngắt MOSFET đủ để làm một cầu H hoàn chỉnh. Con IR2101, IR2102, IR2103 là các mạch dẫn động cơ bản của nửa cầu H. Con IR2104 và IR2111 có mạch logic bên ngoài tương tự để điều khiển các công tắc của cầu H, chúng cũng có mạch logic bên trong mà trong một vài ứng dụng có thể làm giảm thiểu độ phức tạp phải thiết kế" mạch logic bên ngoài. Cụ thể, con 2104 bao gồm một ngõ vào enable nhờ đó 4 con chip 2104 cộng với 8 transistor đóng ngắt có thể thay thế" một con L293 mà không cần thêm mạch logic nào.

Một số nhà sản xuất cho ra đời những con chip cầu H phức tạp bao gồm cả mạch hạn dòng. Ta cũng cần chú ý rằng trên thị trường có một số mạch cầu 3 pha, dẫn động tốt cho động cơ bước nam châm vĩnh cửu 3 pha cấu hình Y hay delta. Tuy nhiên, Toshiba TA7288P, GL7438, TA8405 là những thiết kế" tốt, hai trong số" này, nếu bỏ qua một trong 6 nửa cầu H thì chúng ta có thể điều khiển được một động cơ 5 pha, 10 bước/vòng.

inmoov finger voice test

Inmoov finger voice test