You are on page 1of 43

TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM

KHOA ĐIỆN – ĐIỆN TỬ

ĐỒ ÁN 1

CHUYÊN NGÀNH : ĐIỆN TỰ ĐỘNG CÔNG NGHIỆP

NHÓM ĐỒ ÁN : N12
GIẢNG VIÊN HƯỚNG DẪN : Đặng Hồng Hải
ĐỀ TÀI:Nghiên cứu về xung PWM trong Arduino

Sinh viên: Mã SV
Vũ Văn Vinh(nhóm trưởng) 85580
Đặng Xuân Tùng 85412
Bùi Văn Tuấn 85375
Nguyễn Văn Tú 85367

Hải Phòng, Ngày Tháng Năm 2021


Tiến độ công việc

TT SINH VIÊN MÃ LỚP NHIỆM VỤ


1 VŨ VĂN VINH(nt) 85580 ĐTĐ60ĐH 100%
2 NGUYỄN VĂN TÚ 85367 ĐTĐ60ĐH 100%
3 BÙI VĂN TUẤN 85375 ĐTĐ60ĐH 100%
4 ĐẶNG XUÂN TÙNG 85412 ĐTĐ60ĐH 100%

2
MỤC LỤC

CHƯƠNG I:Giới thiệu nguyên lý hoạt động của xung PWM trong Arduino.5
I. Nghiên cứu chung về Arduino........................................................................5
1.1.Khái niệm.................................................................................................5
1.2.Vi điều khiển............................................................................................6
1.3. Phần mềm lập trình Arduino IDE...........................................................9
1.4. Ứng dụng của Arduino.........................................................................10
II.Nghiên cứu về xung PWM............................................................................12
2.1.Điều chỉnh độ rộng xung (Pulse Width Modulation) (PWM).................12
2.2.Xung PWM trong Arduino là gì?..............................................................14
2.2.1.Khái niệm............................................................................................14
2.2.2.Linh kiện yêu cầu................................................................................17
2.3.Nguyên lý hoạt động của PWM..................................................................19
2.4.Ứng dụng của PWM trong điều khiển......................................................20
2.5.Các cách để tạo ra được PWM để điều khiển...........................................21
2.5.1.Tạo xung vuông bằng phương pháp so sánh......................................22
2.5.2.PWM BẰNG PHẦN MỀM................................................................23
2.5.3.PWM BẰNG PHẦN CỨNG..............................................................24
2.5.4.KẾT QUẢ THỰC NGHIỆM..............................................................28
2.6.PWM trong điều khiển động cơ và trong các bộ biến đổi xung áp.........31
2.6.1-Trong động cơ :..................................................................................31
2.6.2.- Trong các bộ biến đổi xung áp:........................................................32
CHƯƠNG II: Thiết kế : Điều khiển tốc độ dộng cơ 1 chiều bằng xung PWM.
.............................................................................................................................33
2.1.GIỚI THIỆU ...............................................................................................33
2.2. Chuẩn bị......................................................................................................34
2.4.Sơ đồ mạch...................................................................................................34
2.5.Lập trình điều khiển....................................................................................35
2.5.1.Thuật toán điều khiển:........................................................................35
2.5.2. Lập trình điều khiển...........................................................................36

3
DANH MỤC HÌNH ẢNH
Hình 1. 1:Aduino uno..............................................................................................6
Hình 1. 2:Chế tạo mạch in.......................................................................................6
Hình 1. 3:Chế tạo thủ công......................................................................................6
Hình 1. 4:Các công vào ra của arduino uno.............................................................8
Hình 1. 5:Mạch Arduino UNO................................................................................9
Hình 1. 6:Các phần mên thông dụng.....................................................................10
Hình 1. 7:Ứng dụng Arduino trong điều khiển tốc độ...........................................10
Hình 1. 8:Mạch redBoard......................................................................................11

Hình 2. 1:Độ rộng xung sau khi được điều chỉnh………………………………..13


Hình 2. 2:Biểu đồ chu kì làm việc.........................................................................17
Hình 2. 3:Kết nối đen vói arduino.........................................................................18
Hình 2. 4:Mạch điều khiển độ sáng đèn................................................................19
Hình 2. 5:Mạch nguyên lý điều khiển tải bằng PWM...........................................20
Hình 2. 6:Sơ đò xung của van điều khiểu và đầu ra..............................................21
Hình 2. 7:Sơ đồ nguyên tắc điều khiển tải dùng PWM.........................................22
Hình 2. 8:Tạo xung vuông bằng phương pháp so sánh.........................................23
Hình 2. 14:Sơ đồ nguyên lý của mạch điều khiển động cơ DC.............................29
Hình 2. 15:Sơ đồ mạch nguyên lý của bộ nguồn Boot đơn giản...........................30

4
LỜI NÓI ĐẦU
Ngày nay, nền công nghiệp nước ta đang trên đà phát triển mạnh mẽ, các thiết
bị máy móc ngày càng giữ vai trò quan trọng trong quá trình sản xuất. Nhu cầu sử
dụng các thiết bị ngày càng cao và phải đáp ứng được việc sử dụng trong thời gian
dài, liên tục mà vẫn có thể đáp ứng chính xác các yêu cầu được đề ra. Trong đó,
động cơ điện là một thiết bị luôn được quan tâm trong quá trình nghiên cứu cải tiến
các thiết bị máy móc công nghiệp.
Động cơ điện từ lâu đã giữ vai trò quan trọng trong sản xuất công nghiệp. Vì
vậy, việc nghiên cứu để cải tiến để động cơ đáp ứng được yêu cầu ngày cao trong
sản xuất luôn là vấn đề được quan tâm hiện nay. Trong đó, việc sử dụng xung PWM
trong điều khiển động cơ thông qua Arduino cũng đáp ứng được những yêu cầu nhất
định.
Trong thời gian học tập học phần Đồ án 1, nhóm chúng em đã lựa chọn đề
tài:” Nghiên cứu về xung PWM trong Arduino”.
Đồ án của nhóm chúng em gồm 2 chương:
Chương 1: Nghiên cứu nguyên lí hoạt động của xung PWM trong Arduino.
Chương 2: Thiết kế: Điều khiển tốc độ động cơ một chiều bằng xung PWM.

5
CHƯƠNG I
Giới thiệu nguyên lý hoạt động của xung PWM trong Arduino.
1.1. Nghiên cứu chung về Arduino

1.1.1. Khái niệm

a.Một vài thông số của Arduino UNO R3

Vi điều khiển ATmega328 họ 8bit

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA

Điện áp vào khuyên


7-12V DC
dùng

Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM)

Số chân Analog 6 (độ phân giải 10bit)

Dòng tối đa trên mỗi


30 mA
chân I/O

Dòng ra tối đa (5V) 500 mA

Dòng ra tối đa (3.3V) 50 mA

32 KB (ATmega328) với 0.5KB dùng


Bộ nhớ flash
bởi bootloader

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)
Bảng 1. 1:Thông số Arduino Uno

6
1.1.2.Vi điều khiển

Hình 1. 1:Aduino uno

Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8,


ATmega168, ATmega328. Bộ não này có thể xử lí những tác vụ đơn giản như điều
khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm một trạm đo
nhiệt độ - độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác mà bạn
đã được xem ở đây.

Thiết kế tiêu chuẩn của Arduino UNO sử dụng vi điều khiển ATmega328 với
giá khoảng 90.000đ. Tuy nhiên nếu yêu cầu phần cứng của bạn không cao hoặc túi
tiền không cho phép, bạn có thể sử dụng các loại vi điều khiển khác có chức năng
tương đương nhưng rẻ hơn như ATmega8 (bộ nhớ flash 8KB) với giá khoảng
45.000đ hoặc ATmega168 (bộ nhớ flash 16KB) với giá khoảng 65.000đ.

Ngoài việc dùng cho board Arduino UNO, bạn có thể sử dụng những IC điều
khiển này cho các mạch tự chế. Vì sao ? Vì bạn chỉ cần board Arduino UNO để lập
trình cho vi điều khiển. Trên thực tế, bạn không cần phải dụng Arduino UNO trên
các sản phẩm của mình, thay vào đó là các mạch tự chế để giảm chi phí như hình
dưới đây:

Hình 1.
1 2:Chế tạo thủ công Hình 1. 3:Chế tạo mạch in

*Năng lượng

-Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặc cấp
nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thường thì
cấp nguồn bằng pin vuông 9V là hợp lí nhất nếu bạn không có sẵn nguồn từ cổng
USB. Nếu cấp nguồn vượt quá ngưỡng giới hạn trên, bạn sẽ làm hỏng Arduino
UNO.

7
*Các chân năng lượng

- GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn
dùng các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này
phải được nối với nhau.
- 5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
- 3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
- Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực
dương của nguồn với chân này và cực âm của nguồn với chân GND.
- IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được
đo ở chân này. Và dĩ nhiên nó luôn là 5V. Mặc dù vậy bạn không được lấy
nguồn 5V từ chân này để sử dụng bởi chức năng của nó không phải là cấp
nguồn.
- RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương
với việc chân RESET được nối với GND qua 1 điện trở 10KΩ.

*Lưu ý:

- Arduino UNO không có bảo vệ cắm ngược nguồn vào. Do đó bạn phải hết sức
cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino
UNO. Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một
miếng nhựa chặn giấy. mình khuyên bạn nên dùng nguồn từ cổng USB nếu có
thể.
- Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các
thiết bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn sai vị trí
có thể làm hỏng board. Điều này không được nhà sản xuất khuyến khích.
- Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới
6V có thể làm hỏng board.
- Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều
khiển ATmega328.
- Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino
UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển.
- Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ
làm hỏng vi điều khiển.
- Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino
UNO vượt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu không dùng để
truyền nhận dữ liệu, bạn phải mắc một điện trở hạn dòng.

*Bộ nhớ

-Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:

- 32KB bộ nhớ Flash: những đoạn lệnh lập trình sẽ được lưu trữ trong bộ nhớ
Flash của vi điều khiển. Thường thì sẽ có khoảng vài KB trong số này sẽ được
dùng cho bootloader nhưng hiếm khi nào cần quá 20KB bộ nhớ này.

8
- 2KB cho SRAM (Static Random Access Memory): giá trị các biến khai báo
khi lập trình sẽ lưu ở đây. Khi khai báo càng nhiều biến thì càng cần nhiều bộ
nhớ RAM. Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
- 1KB cho
EEPROM (Electrically Eraseble Programmable Read Only Memory): đây
giống như một chiếc ổ cứng mini SRAM.

*Các cổng vào/ra

Hình 1. 2:Các công vào ra của arduino uno

-Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ
có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi
chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều khiển
ATmega328 (mặc định thì các điện trở này không được kết nối).

-Một số chân digital có các chức năng đặc biệt như sau:

- 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận


(receive – RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị
khác thông qua 2 chân này. Kết nối bluetooth thường thấy nói nôm na chính là
kết nối Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử
dụng 2 chân này nếu không cần thiết

- Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ
phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm
analogWrite(). Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra
ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những
chân khác.
- Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).  Ngoài các
chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng
giao thức SPI với các thiết bị khác.
- LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm
nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó được nối với chân
số 13. Khi chân này được người dùng sử dụng, LED sẽ sáng.

9
-Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit
(0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên
board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog. Tức là
nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo
điện áp trong khoảng từ 0V  → 2.5V với độ phân giải vẫn là 10bit.

-Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp
I2C/TWI với các thiết bị khác.

*Lập trình cho Arduino.

-Arduino là nền tảng mã nguồn mở giúp tạo tính liên kết và tương tác với
nhau tốt hơn giữa các các ứng dụng điện tử do con người xây dựng
nên. Arduino dùng để thay thế các công cụ chuyên nạp code giúp người dùng lập
trình, thực hiện các dự án điện tử một cách đơn giản, dễ dàng, hiệu quả và ít tốn kém
hơn rất nhiều.

Hình 1. 3:Mạch Arduino UNO

1.1.3. Phần mềm lập trình Arduino IDE

-Để có thể lập trình vào các mạch Arduino, chúng ta cần sử dụng chương
trình Arduino IDE trên các thiết bị pc, laptop. Chương trình này được viết bằng ngôn
ngữ lập trình Java là ứng dụng đa nền tảng (cross-platform). Ngôn ngữ code cho các
chương trình của Arduino là bằng C hoặc C++. Công cụ này sẽ giúp bạn iên tập các
đoạn code vào linh kiện Arduino của mình.

-Bên cạnh đó, bạn cũng có thể lập trình cho các bo mạch Arduino bằng ứng
dụng ArduinoDroid trên các thiết bị điện thoại, máy tính bảng sử dụng hệ điều
hành Android với giao diện và các tính năng tương tự với Arduino IDE.

10
Hình 1. 4:Các phần mên thông dụng

1.1.4. Ứng dụng của Arduino

-Arduino giúp lập trình các mã lệnh vào Robot để nó thực hiện các chức năng
mà con người mong muốn. Arduino có khả năng đọc cảm biến, để nhận biết và thu
thập thông tin về trạng thái của một hệ thống, bo mạch... Arduino giúp lập trình IoT,
lập trình tự động AI cho máy bay, xe hơi... Arduino là thành phần quan trọng tạo nên
các hiệu ứng đèn nhấp nháy.

-Sử dụng Arduino để tương tác với joystick, màn hình khi chơi


game... Arduino có thể hoạt động một cách độc lập và không làm ảnh hưởng đến
chức năng của các thiết bị khác. Arduino có không những có khả năng kết nối với
nhiều thiết bị Arduino và thiết bị khác mà còn có thể kết nối với chip điều khiển nhỏ
hơn rất nhiều.

Hình 1. 5:Ứng dụng Arduino trong điều khiển tốc độ

-Một số mạch Arduino thường sử dụng

11
-Có rất nhiều bo mạch Arduino trên thị trường như: Arduino UNO (R3),
LilyPad Arduino, RedBoard, Arduino Mega (R3),... Trong đó Arduino R3 được sử
dụng phổ biến nhất, đặc biệt là trong các trường đại học.

Hình 1. 6:Mạch redBoard

12
1.2.Nghiên cứu về xung PWM
1.2.1.Điều chỉnh độ rộng xung (Pulse Width Modulation) (PWM)
-Điều chỉnh độ rộng xung là điều chế / thay đổi chiều rộng của xung (Không
phải là tần số). Để hiểu rõ nhất PWM là gì, đầu tiên chúng ta hãy xem một số thuật
ngữ cơ bản.
-Vi điều khiển là các thành phần kỹ thuật số thông minh hoạt động trên các tín
hiệu nhị phân. Biểu diễn của một tín hiệu nhị phân là một dải sóng vuông. Sơ đồ
dưới đây giải thích các thuật ngữ cơ bản liên quan đến tín hiệu sóng vuông.

Hình 2. 1:Độ rộng xung sau khi được điều chỉnh

-Như đã trình bày trong sơ đồ trên, điều quan trọng cần lưu ý trong tín hiệu
PWM là thời gian, tần số luôn luôn cố định. Chỉ có thời gian ON và OFF của xung
(chu kỳ làm việc) thay đổi. Bằng kỹ thuật này, chúng ta có thể điều chỉnh điện áp
cho trước. Sự khác biệt giữa tín hiệu sóng vuông và tín hiệu PWM là tín hiệu sóng
vuông có cùng thời gian ON và OFF (chu kỳ làm việc đều là 50%), trong khi một tín
hiệu PWM có chu kỳ biến đổi. Các sóng vuông có thể được xem là một trường hợp
đặc biệt của tín hiệu PWM có chu kỳ làm việc 50% (ON = OFF).

Ví dụ:

-Với điện áp cung cấp là 50V, và nếu tải cần 40 V, cách tốt nhất để tạo ra 40v
trên 50v là thực hiện băm xung. Bộ tạo xung cần một tín hiệu là một tín hiệu PWM
để bật ON và OFF thyristor. Tín hiệu PWM này có thể dễ dàng tạo ra bởi một vi
điều khiển có bộ đếm thời gian. Các yêu cầu cho tín hiệu PWM để tạo ra một 40V sử
dụng một thyristor từ nguồn 50v cung cấp, Khi đó thời gian ON = 400ms, OFF =
100ms (cho chu kì của tín hiệu PWM là 500ms). Nói chung, điều này có thể dễ dàng
giải thích theo cách sau: Về cơ bản, thyristor được vận hành như công tắc. Trong bộ
tạo xung, tải kết nối với nguồn thông qua thyristor. Khi thyristor ở trạng thái OFF,
tải không kết nối với nguồn và khi thyristor ở trạng thái ON, tải được nối với nguồn.
Công việc chuyển đổi ON và OFF thyristor được thực hiện bởi tín hiệu PWM. Phần
trăm thời gian mà tín hiệu PWM cao / ON được gọi là chu kỳ làm việc của tín hiệu.
Nếu chu kỳ làm việc là 100% thì sóng sẽ trở thành một dòng DC cố định. Vì vậy,
chu kỳ làm việc có thể được tính bằng công thức sau:

13
 
-Khi sử dụng công thức trên, chúng ta có thể tính toán tON cho điện áp mà
chúng ta muốn từ tổng nguồn điện áp. Bằng cách nhân chu kỳ làm việc với 100,
chúng ta có thể đưa nó về tỷ lệ phần trăm. Vì vậy, tỷ lệ của chu kỳ làm việc là tỷ lệ
thuận với điện áp lấy từ nguồn. Trong ví dụ trên, nếu chúng ta muốn điện áp 40V từ
một nguồn 50V, điều này có thể được thực hiện bằng cách băm xung chu kỳ làm
việc 80%. Vì 80% của 50 là 40.
Ví dụ:
-Tại một tần số 50Hz thiết kế một dải sóng PWM với chu kỳ làm việc 60%.

-Các xung PWM có dạng như sau:

Một trong những ứng dụng phổ biến nhất của điều chế độ rộng xung là điều khiển
tốc độ động cơ
1.2.2.Xung PWM trong Arduino là gì?

14
1.2.2.1.Khái niệm

-Pulse Width Modulation (PWM) là một khái niệm được sử dụng rộng rãi
trong vật lý, điện tử và viễn thông. Nó được định nghĩa là một dạng điều chế tín hiệu
(signal modulation) để lấy dạng sóng analog từ các đầu vào kỹ thuật số.Nó là một kỹ
thuật phổ biến được sử dụng để thay đổi độ rộng của các xung trong một chuỗi xung.
PWM có nhiều ứng dụng như điều khiển độ sáng của đèn LED, điều khiển tốc độ
của động cơ DC, điều khiển động cơ servo hoặc nơi bạn phải lấy ngõ ra analog bằng
các thiết bị kỹ thuật số.
-Trong các ứng dụng Arduino, PWM rất hữu ích trong việc thay đổi cường độ
của tín hiệu như độ sáng của diode LED, thời gian ping của cảm biến hoặc cung cấp
năng lượng cho động cơ servo.
-Các chân số của Arduino cung cấp cho chúng ta 5V (khi ở mức CAO) hoặc
0V (khi ở mức THẤP) và ngõ ra là một tín hiệu sóng vuông. Vì vậy, nếu chúng ta
muốn làm mờ đèn LED, chúng ta không thể lấy điện áp trong khoảng từ 0 đến 5V từ
chân số này nhưng chúng ta có thể thay đổi thời gian ON và OFF của tín hiệu. Nếu
chúng ta thay đổi thời gian ON và OFF đủ nhanh thì độ sáng của đèn LED sẽ bị thay
đổi.
-Trước khi tiếp tục những nội dung khác, chúng ta hãy cùng thảo luận về một
số thuật ngữ liên quan đến PWM.
-Điều chế độ rộng xung về cơ bản là một sóng vuông với thời gian cao và thấp
khác nhau. Một tín hiệu PWM cơ bản được hiển thị trong hình dưới đây.

*Kiến thức cơ bản

-Xung là các trạng thái cao / thấp (HIGH/LOW) về mức điện áp được lặp đi
lặp lại. Đại lượng đặc trưng cho 1 xung PWM (Pulse Width Modulation) bao
gồm tần số (frequency) và chu kì xung (duty cycle).

*Tần số là gì?

-Tần số là số lần lặp lại trong 1 đơn vị thời gian. Đơn vị tần số là Hz, tức là số
lần lặp lại dao động trong 1 giây.

-Lấy ví dụ, 1Hz = 1 dao động trong 1 giây. 2Hz = 2 dao động trong 1 giây.
16MHz = 16 triệu dao động trong 1 giây.

-Như vậy theo quy tắc tam suất: 16 triệu dao động - 1 giây --> 1 dao động tốn
1/16.000.000 (giây) = 0,0625 (micro giây)

15
-Cách xác định 1 dao động như thế nào? Đa phần các bạn mới nghiên cứu
điện tử thường mắc sai lầm ở việc xác định 1 dao động. Dao động được xác định từ
trạng thái bắt đầu và kết thúc ngay trước khi trạng thái bắt đầu được lặp lại.

-Như vậy thông thường, 1 dao động sẽ bao gồm 2 trạng thái điện: mức cao (x
giây) và mức thấp (y giây). Tỉ lệ phần trăm thời gian giữa 2 trạng thái điện này chính
là chu kì xung.

-Với x/y = 0% ta có xung chứa toàn bộ điện áp thấp (khái niệm xung nên hiểu
mở rộng)

-Với x/y = 50% thì 50% thời gian đầu, xung có điện áp cao, 50% sau xung có
điện áp thấp.

-Với x/y=100% ta có xung chứa toàn bộ điện áp cao.

-Tóm lại, với 1 xung ta có:

1. Tần số: để tính toán ra được thời gian của 1 xung


2. Chu kì xung: bao nhiêu thời gian xung có mức áp cao, bao nhiêu thời gian
xung có mức áp thấp.

*Có một số thuật ngữ liên quan đến PWM mà chúng ta cần phải biết, đó là:

*Ton (On-Time): Khoảng thời gian khi tín hiệu ở mức CAO (5V).

*Toff (Off Time): Khoảng thời gian khi tín hiệu ở mức THẤP (0V).

*Chu kỳ (Period): 

-Như trong hình trên, Ton biểu thị thời gian ON (thời gian ở mức CAO) và
Toff biểu thị thời gian OFF (thời gian ở mức THẤP) của tín hiệu. Chu kỳ là tổng của
cả thời gian ON và OFF và được tính theo công thức như sau

Ttotal = Ton + Toff

16
analogWrite tỉ lệ chu kì
xung
analogWrite(0) 0/255 0%
analogWrite(64) 64/255 25%
analogWrite(127) 127/255 50%
analogWrite(191) 191/255 75%
analogWrite(255) 255/255 100%
*Chu kỳ làm việc (Duty Cycle): 

-Chu kỳ làm việc được tính là thời gian ON trong một chu kỳ của tín hiệu. Sử
dụng công thức tính chu kỳ ở trên, chu kỳ làm việc được tính như sau

D = (Ton /Ton + Toff) = Ton/Ttotal

-Vì vậy, ở chu kỳ làm việc 50% và tần số 1Hz, đèn LED sẽ sáng trong nửa
giây và sẽ tắt trong nửa giây còn lại. Nếu chúng ta tăng tần số lên 50Hz (50 lần ON
và OFF mỗi giây), thì đèn LED sẽ được nhìn thấy phát sáng ở một nửa độ sáng bằng
mắt người.

-Biểu đồ sau đây cho thấy sự so sánh của các chu kỳ làm việc khác nhau và
mức điện áp tương ứng của chúng.

Hình 2. 2:Biểu đồ chu kì làm việc

-Từ biểu đồ, rõ ràng là khi tăng chu kỳ làm việc, điện áp ngõ ra (hoặc công
suất được cung cấp) cũng tăng lên. Đối với chu kỳ làm việc 100%, điện áp tương
ứng là 5V và đối với chu kỳ làm việc 50%, điện áp là 2,5V, v.v…Giữa 2 vạch màu
xanh lá cây là 1 xung.

17
1.2.2.2.Linh kiện yêu cầu

-Bây giờ, chúng ta cần xây dựng một mạch nhỏ để tìm hiểu ứng dụng của điều
chế độ rộng xung PWM. Các linh kiện cần thiết cho mạch này được liệt kê dưới đây.

 Arduino UNO
 LED
 Điện trở 220Ω
 Biến trở 10kΩ
 Breadboard
 Dây cắm Breadboard
*Điều khiển độ sáng của đèn LED thông qua chương trình
-Đầu tiên, thực hiện các kết nối như hình dưới đây.

-Kết nối chân anode của đèn LED với chân số 6 của Arduino. Sau đó kết nối
điện trở 220Ω với chân cathode của LED và kết nối đầu kia của điện trở với chân nối
đất của Arduino.

Hình 2. 3:Kết nối đen vói arduino

-Bây giờ, chúng ta sẽ viết một đoạn chương trình để thay đổi độ sáng của đèn
LED bằng cách sử dụng PWM.

18
*Chương trình Arduino
Nạp chương trình này vào Arduino bằng phần mềm Arduino IDE và đèn LED
sẽ bắt đầu mờ dần.

int led_pin = 6;      //LED được kết nối với chân số 6 của Arduino
void setup() {
pinMode(led_pin, OUTPUT);  //Khai báo chân nối LED là chân ngõ ra
}
void loop() {
//Làm mờ dần LED
for (int i = 0; i < 255; i++) {
analogWrite(led_pin, i);
delay(5);
}
for (int i = 255; i > 0; i–) {
analogWrite(led_pin, i);
delay(5);
}
}

*Chương trình Arduino để điều khiển độ sáng của đèn LED bằng biến trở

Hình 2. 4:Mạch điều khiển độ sáng đèn

Trong mạch ở trên, thêm biến trở 10kΩ và kết nối hai đầu biến trở với 5V và
GND của Arduino và sau đó kết nối chân giữa của biến trở với chân A0 của
Arduino.

Chương trình Arduino

Nạp chương trình này vào Arduino bằng phần mềm Arduino IDE và xoay
biến trở, độ sáng của đèn LED sẽ thay đổi.

int led_pin = 6;         //LED được nối với chân số 6 của Arduino
int pot_pin = A0;      //Chân giữa của biến trở được kết nối với chân tương tự A0 của

19
Arduino
int output;
int led_value;

void setup() {
pinMode(led_pin, OUTPUT);
}

void loop() {
//Đọc giá trị từ biến trở
output = analogRead(pot_pin);
//Ánh xạ các giá trị từ 0 đến 255 vì chúng ta có thể đưa ra ngõ ra
//giá trị từ 0 -255 bằng cách sử dụng hàm analogwrite
led_value = map(output, 0, 1023, 0, 255);
analogWrite(led_pin, led_value);
delay(1);
}

1.2.3.Nguyên lý hoạt động của PWM


-Đây là phương pháp được thực hiện theo nguyên tắc đóng ngắt nguồn của tải
một cách có chu kì theo luật điều chỉnh thời gian đóng cắt. Phần tử thực hiện nhiện
vụ đó trong mạch các van bán dẫn.

Hình 2. 5:Mạch nguyên lý điều khiển tải bằng PWM

-Xét hoạt động đóng cắt của một van bán dẫn. Dùng van đóng cắt bằng
Mosfet (Mosfet là Transistor hiệu ứng trường- Metal Oxide Semiconductor Field
Effect Transistor)
 

20
Giản đồ xung của chân điều khiển và dạng điện áp đầu ra khi dùng PWM.

Hình 2. 6:Sơ đò xung của van điều khiểu và đầu ra

-Nguyên lý : Trong khoảng thời gian 0 - t0, ta cho van G mở, toàn bộ điện áp
nguồn Ud được đưa ra tải. Còn trong khoảng thời gian t0 - T, cho van G khóa, cắt
nguồn cung cấp cho tải. Vì vậy với t0 thay đổi từ 0 cho đến T, ta sẽ cung cấp toàn bộ
, một phần hay khóa hoàn toàn điện áp cung cấp cho tải.

-Công thức tính giá trị trung bình của điện áp ra tải :
Gọi t1 là thời gian xung ở sườn dương (khóa mở ) còn T là thời gian của cả sườn âm
và dương, Umax là điện áp nguồn cung cấp cho tải. Ta có:

Ud = Umax.( t1/T) (V)


hay Ud = Umax.D

(Với D = t1/T là hệ số điều chỉnh và được tính bằng % tức là


PWM)

-Như vậy ta nhìn trên hình đồ thị dạng điều chế xung thì ta có : Điện áp trung
bình trên tải sẽ là :

Ud = 12.20% = 2.4V ( với D = 20%)


Ud = 12.40% = 4.8V (Vói D = 40%)
Ud = 12.90% = 10.8V (Với D = 90%)

1.2.4.Ứng dụng của PWM trong điều khiển


-PWM được ứng dụng nhiều trong điều khiển. Điển hình nhất mà chúng ta
thường hay gặp là điều khiển động cơ và các bộ xung áp, điều áp... Sử dụng PWM
điều khiển độ nhanh chậm của động cơ hay cao hơn nữa, nó còn được dùng để điều
khiển sự ổn định tốc độ động cơ.
21
-Ngoài lĩnh vực điều khiển hay ổn định tải thì PWM còn tham gia và điều chế
các mạch nguồn như : boot, buck, nghịch lưu 1 pha và 3 pha...

-PWM còn gặp nhiều trong thực tế ở các mạch điện điều khiển. Điều đặc biệt
là PWM chuyên dùng để điều khiển các phần tử điện tử công suất có đường đặc tính
là tuyến tính khi có sẵn 1 nguồn 1 chiều cố định .Như vậy PWM được ứng dụng rất
nhiều trong các thiết bị điện- điện tử. PWM cũng chính là nhân tố mà các đội
Robocon sử dụng để điều khiển động cơ hay ổn định tốc độ động cơ.
 

Hình 2. 7:Sơ đồ nguyên tắc điều khiển tải dùng PWM

-Trên là đồ thị dạng xung khi điều khiển bằng PWM. Với độ rộng xung đầu ra
tương ứng và được tính bằng %. Tùy thích do chúng ta điều khiển.

1.2.5.Các cách để tạo ra được PWM để điều khiển


-Để tạo được ra PWM thì hiện nay có hai cách thông dụng : Bằng phần cứng
và bằng phần mềm.

-Trong phần cứng có thể tạo bằng phương pháp so sánh hay là từ trực tiếp từ
các IC dao động tạo xung vuông như : 555, LM556...

-Trong phần mền được tạo bằng các chip có thể lập trình được. Tạo bằng phần
mền thì độ chính xác cao hơn là tạo bằng phần cứng. Nên người ta hay sử dụng phần
mền để tạo PWM.

-Ở đây ta tham khảo 2 cách điều chế PWM phổ biến: bằng phương pháp so
sánh và tạo xung vuông bằng phần mềm

1.2.5.1.Tạo xung vuông bằng phương pháp so sánh

-Để tạo được bằng phương pháp so sánh ta cần 2 điều kiện sau đây :
+ Tín hiệu răng cưa : Xác định tần số của PWM

22
+ Tín hiệu tựa (Ref) là tín hiệu xác định mức công suất điều chế (Tín hiệu DC).

-Xét sơ đồ mạch sau :

Hình 2. 8:Tạo xung vuông bằng phương pháp so sánh

-Với tần số xác định được là f = 1/(ln.C1.(R1+2R2) nên chỉ cần điều chỉnh
R2 là có thể thay đổi độ rộng xung dễ dàng. Ngoài 555 ra còn rất nhiều các IC tạo
xung vuông khác.

23
1.2.5.2.PWM BẰNG PHẦN MỀM

Một số họ vi xử lý và vi điều khiển (chẳng hạn AT89C51) không hỗ trợ


điều chế độ rộng xung PWM bằng phần cứng, nên việc dùng phần mềm để tạo
xung PWM sử dụng các timer là cần thiết. Việc này được thực hiện bằng cách
xuất ra một chân nào đó ất kỳ của vi điều khiển tín hiệu xung có khoảng thời
gian T-on và T-off khác nhau tuỳ thuộc vào độ rộng xung.
Ví dụ: Điều xung với độ rộng xung = 75% trên chân P1.0 của
AT89C51 chọn f = 10kHz → chu kỳ T = 1/f = 100ms
độ rộng xung = 75% nên: T-on = 75ms và T-off = 25ms

Chương trình:
// Chương trình khởi tạo ngắt timer
//timer 1 mode 1 (16 bits không tự nạp lại giá trị đầu)
TMOD=0x10;
// cho phép ngắt
EA = 1 ;
// cho phép ngắt timer 1
ET1 = 1 ;
TR1=1;
duty_cycle = 75; //0 ≤ duty_cycle ≤ 100

// Chương trình phục vụ ngắt (ISR)


void ISR_T1() interrupt 3
{
TR1 = 0; //Tắt timer
if(P1^0 == 0) //Nếu T-off
{ //Nạp giá trị cho T-on =
75ms TH1 = -(duty_cycle*1000)/256;

TL1 = -(
duty_cycle*1000)%256;

24
if(P1^0 == 1) //Nếu T-off
{ //Nạp giá trị cho T-off = 25ms

TH1 = -((100-duty_cycle)*1000)/256; TL1 = -((100-


duty_cycle)*1000)%256; P1^0 = 0;
}
TR1 = 1;//Chạy timer

}
1.2.5.3.PWM BẰNG PHẦN CỨNG
* P89V51RD2
Vi điều khiển P89V51RD2 hỗ trợ đến 5 kênh điều rộng xung PWM
(CEX0 – CEX4 trên chân P1.3 – P1.7) được sử dụng khá linh hoạt cho việc
điều xung. Chúng ta chỉ cần thiết lập đúng các thông số thích hợp ở các thanh
ghi để xuất ra tín hiệu xung PWM như mong muốn. Giá trị ở ngõ ra CEXn
phụ thuộc vào giá trị của 2 thanh ghi: CCAPnL và CL.
Khi CL tăng lớn hơn CCAPnL thì CEXn sẽ chuyển sang mức 1, ngược
lại, sẽ ở mức 0. Mỗi lần tràn cờ, CCAPnL sẽ được nạp lại giá trị từ CCAPnH,
chính điều này cũng cho phép ta cập nhật độ rộng xung mới mà không gây
ảnh hưởng tới quá trình PWM. Chức năng PWM của P89V51RD2 có độ phân
giải 8 bit, tức là ta được 256 mức chia.

*Chương trình thiết lập thông số cho các kênh PWM:

void init_PWM()
{

CCAPMn = 0x42; CMOD = 0x00;


//n là kênh 0 đến kênh 4, thiết lập chế độ PWM 8 bit
CCAPnH = 0xFF; CCON |=
//xung nhịp cho PCA fosc/6
(1<<CR);
} //duty_cycle = 0%
//set bit điều khiển chạy counter PCA

Để thay đổi tốc độ động cơ, chúng ta chỉ việc chọn kênh cần xuất và
nạp giá trị vào các thanh ghi CCAPnH như sau: (độ rộng xung = 100% ứng
tốc độ cao nhất, độ rộng xung = 0% tốc độ thấp nhất).
25
*Chương trình tạo xung cho 5 kênh PWM
void PWM_out(char kenh, char dutyCircle)
{
if(dutyCircle > 100) dutyCircle =
100; switch(kenh) {
case 0:
CCAP0H =
((100-dutyCircle)*256)/100; break;
case 1:
CCAP1H =
((100-dutyCircle)*256)/100; break;
case 2:
CCAP2H =
((100-dutyCircle)*256)/100; break;
case 3:
CCAP3H =
((100-dutyCircle)*256)/100; break;
case 4:
CCAP4H =
((100-dutyCircle)*256)/100; break;}}

* PIC 16F877A
Vi điều khiển PIC16F877A có hỗ trợ kênh điều xung bằng phần cứng ở
2 chân C1 (CCP2) và C2(CCP1) sử dụng TIMER2. Khi khai áo điều xung
PWM ở một tần số và độ rộng xung cụ thể nào đó thì vi điều khiển sẽ thực
hiện công việc xuất xung một cách liên tục và tự động cho đến khi có sự thay
đổi các giá trị độ rộng xung mới.

*Các hàm hỗ trợ tạo xung PWM trong CCS:


setup_timer_2 (mode, period, postscale) // hàm thiết lập timer 2
mode: T2_DIV_BY_1, T2_DIV_BY_4, T2_DIV_BY_16
26
- period: 0  255
- postscale: 1
fosc
fPWM =
4. mod e.(period 1)
setup_ccp1(mode) và setup_ccp2(mode) // hàm thiết lập chế độ PWM
mode:
- CCP_PWM: chọn chế độ PWM.
- CCP_OFF: tắt chế độ PWM.

27
set_pwm1_duty(value) và set_pwm2_duty(value) // hàm thiết lập giá
trị PWM
- Nếu value là giá trị kiểu int 8 bit:
value
duty _
cycle 
period
1
- Nếu value là giá trị long int 16 bit:
value &1023
duty _ cycle 
4.(period 1)
Ví dụ: Ta muốn điều xung PWM với tần số 20kHz với tần số
thạch anh (fosc) sử dụng là 20MHz (8 bit).
f   20000 200000  mode.(period 1)  250
 00
fosc

4.mode.(period 1) 4.mode.(period 1)


Với mode = [1, 4, 16] và period = [0, 255] ta có thể
chọn mode = 1 ; period = 249
mode = 4; period = 62
mode = 16; period = 30
Để cho việc điều xung được “mịn” (chọn được nhiều giá trị độ rộng
xung) ta chọn mode = 1 và period = 249.
Như vậy, để duty_cycle từ 0% đến 100% ta cho value từ 0 đến 250.
duty _ cycle
duty _ val  value  x100
cycle  ue
period 1 250
Ta viết mã nguồn như sau :

setup_timer_2(T2_DIV_BY_1,249,1);
setup_ccp1(CCP_PWM);

set_pwm1_duty(value);

28
* ATMEGA 16
Vi điều khiển ATMega16 được trang bị 3 Timer, chúng ta có thể thiết
lập từ 3 đến 4 kênh PWM tại các chân OC0, OC , OC1A, OC1B. Trong đó có
kênh PWM 8 bit của Timer 0 và Timer 2, Timer 1 có thể cấu hình thành 1
kênh PWM 10 bit hoặc kênh PWM 8 it. Để thay đổi độ rộng xung ngõ ra trên
các chân của ATMega16 cần nạp giá trị vào các thanh ghi OCR0, OCR2,
OCR1A, OCR2A. Cách thiết lập các Timer0 và Timer để sử dụng chế độ
PWM khá giống nhau [3,4], riêng Timer 1 có 1 ít khác biệt. Giải thuật chương
trình điều khiển tốc độ động cơ bằng PWM sử dụng Timer được thể hiện như
sau.

*Chương trình khởi tạo PWM

{ PORTD=0x00; //reset port D


DDRD=0xFF; //thiết lập port D xuất
ASSR=0x00;
TCCR2=0x65; //timer 2 chế độ PWM 8 bit
TCNT2=0x00; //xóa giá trị thanh ghi timer/counter
OCR2=0x00; //xóa giá trị thanh ghi so sánh
}
//Chương trình PWM

void PWM_OUT(unsigned char value)


{
OCR2 = value*256/100; //value = 100, ngõ ra PWM là 1
+88.8

29
30
1.2.6.PWM trong điều khiển động cơ và trong các bộ biến đổi xung áp

1.2.6.1-Trong động cơ :

- Điều mà chúng ta dễ nhận thấy rằng là PWM rất hay được sử dụng trong động cơ để
điều khiển động cơ hoạt động nhanh , chậm, thuận ,nghịch và ổn định tốc độ cho nó. Cái này
được ứng dụng nhiều trong điều khiển động cơ 1 chiều.

Hình 2. 9:Sơ đồ nguyên lý của mạch điều khiển động cơ DC

-Đây là mạch đơn giản điều khiển động cơ. Nếu muốn điều khiển  động cơ quay thuận
quay ngược thì phải dùng đến cầu H.

31
1.2.6.2.- Trong các bộ biến đổi xung áp: 

-Trong các bộ biến đổi xung áp thì PWM đặc biệt quan trọng trong việc điều chỉnh
dòng điện và điện áp ra tải. Bộ biến đổi xung áp có nhiều loại như là biến đổi xung áp nối
tiếp và bộ biến đổi xung áp song song.

-Lấy ví dụ 1 mạch nguyên lý đơn giản trong bộ nguồn Boot đơn giản.

Hình 2. 10:Sơ đồ mạch nguyên lý của bộ nguồn Boot đơn giản

-Đây là nguyên lý của mạch nguồn Boot. Dùng xung điều khiển để tạo tích lũy năng
lượng từ trường , từ đó tạo điện áp ra tải lớn hơn điện áp vào.
Ngoài ra, PWM còn được sử dụng trong các bộ chuyển đổi DC -AC , hay trong biến tần,
nghịch lưu.
 

32
CHƯƠNG II.
Thiết kế: Điều khiển tốc độ động cơ 1 chiều bằng xung PWM.
2.1.GIỚI THIỆU .

-Động cơ một chiều được sử dụng phổ biến và rộng rãi trong tất cả các lĩnh vực từ
quân sự đến công nghiệp và dân dụng. Những ứng dụng quan trọng của nó bao gồm: nhà
máy cán, nhà máy giấy, nhà máy dệt, nhà máy in, máy công cụ, máy xúc, cần cẩu và đặc biệt
là lĩnh vực robotic
-Các mạch điều khiển động cơ yêu cầu thay đổi tốc độ quay của động cơ nhịp nhàng
và điều khiển chính xác. Phương pháp truyền thống để điều khiển tốc độ động cơ một chiều
là thay đổi giá trị điện áp cung cấp cho động cơ. Phương pháp đơn giản nhất là sử dụng biến
trở. Phương pháp điều khiển này không chính xác như mong muốn do đặc tuyến của biến trở,
tầm hoạt động bị giới hạn, điều khiển không hiệu quả và gây ra hiện tượng quá nhiệt của
cuộn dây dẫn đến hư động cơ.
-Phương pháp PWM được biết đến từ những năm 1970 cải thiện được hạn chế của các
phương pháp truyền thống, tuy nhiên mạch điều khiển dùng linh kiện rời BJT hoặc vi mạch
số nên mạch điện phức tạp, khó đạt được độ chính xác cao.
-Ngày nay việc sử dụng các vi mạch khả lập trình như vi xử lý trong các thiết bị điều
khiển trở thành một xu thế quan trọng, mang lại hiệu quả cao, tốc độ xử lý nhanh, độ chính
xác cao, mạch phần cứng tinh gọn, giảm giá thành sản phẩm, hạn chế rủi ro.

33
2.2. Chuẩn bị.
-Arduino.
-Tụ 100uF.
-Diot 1N4001.
-Transistor 2n2222.
-Động cơ DC 220v.
-Điện trở 100Ω.
-Biến trở (Triết Áp) 1k Ω.

2.3.Sơ đồ mạch

34
2.4.Lập trình điều khiển.

2.4.1.Thuật toán điều khiển:

Bắt đầu

Khai báo các


chân tín hiệu.
Khai báo chân kết
nối vs LCD

Đọc giá trị điện áp


trên chân A0 của
Arduino,chuyển đổi
sang xung PWM

Ấn nút Đ d=1
Start

Đ
Ấn nút
Stop
d=2

Đ Đi tới chương
d=1
trình Start1

Đ
d=2 Đi tới chương
S trình Stop1

35
2.4.2. Lập trình điều khiển.

-Lập trình điều khiển trên phần mềm Arduino IDE.


+ Sử dụng biến trở và 2 nút nhấn điều khiển tốc độ dộng cơ 1 chiều (Khi nhấn Start
động cơ chạy và khi nhấn Stop động cơ dừng)
*Code:
int PWM=11;
int Start=4;
int Stop=3;
int TocDo;
int BIENTRO;
int d;
void setup()
{
pinMode(PWM,OUTPUT);
pinMode(Start,INPUT_PULLUP);
pinMode(Stop,INPUT_PULLUP);
}
void loop()
{
BIENTRO = analogRead(A0);
TocDo = map(BIENTRO, 0, 1023, 0 , 255);
delay(50);
while(digitalRead(Start)==0){d=1;}
while(digitalRead(Stop)==0){d=2;}
if(d==1){Start1();}
if(d==2){Stop1();}
}
void Start1()
{
analogWrite(PWM,TocDo);
}
void Stop1()
{
digitalWrite(PWM,LOW);
}

36
PHỤ LỤC
1.Datasheet
1.1. Tụ 100uf
ALUMINUM ELECTROLYTIC CAPACITORS

K
Premium Grade Type, For Audio Equipment

series
Z
Premium grade “nichicon MUSE” acoustic series.
Ideally suited for first class audio equipment where
qualitative and quantitative comfortableness is required.
Compliant to the RoHS directive (2011/65/EU).

KZ FG
High Grade

Specifications
Item Performance Characteristics
Category Temperature Range – 40 to +85°C
Rated Voltage Range 25 to 100V
Rated Capacitance Range 10 to 1000µF
Capacitance Tolerance ± 20% at 120Hz, 20°C
Leakage Current After 1 minute's application of rated voltage at 20°C, leakage current is 0.01CV or less.
Measurement frequency : 120Hz at 20°C

Rated voltage (V) 25 50 100


Tangent of loss angle (tan ) tan d (MAX.) 0.12 0.08 0.07

Measurement frequency : 120Hz


Rated voltage (V) 25 50 100
Impedance ratio Z– 25°C / Z+20°C 2 2 2
ZT / Z20 (MAX.) Z– 40°C / Z+20°C 4 3 3

Stability at Low Temperature


The specifications listed at right shall be met when the capacitors are restored to 20°C after the rated voltage is applied for 1000 hours at 85°C.
Capacitance change Within ±20% of the initial capacitance value
tan d 150% or less than the initial specified value
Leakage Current
Endurance Less than or equal to the initial specified value

Shelf Life After storing the capacitors under no load at 85°C for 1000 hours and then performing voltage treatment based on JIS C 5101-4 clause 4.1 at 20°C,
they shall meet the specified values for the endurance characteristics listed above.
Marking Printed with gold color letter on black sleeve.

Radial Lead Type Type numbering system (Example : 25V 100µF)

Sleeve (P.E.T.) f 0.8 tinned copper wire


123 45678 9 10 11
U KZ 1 E 1 0 1 MP M
D+0.5MAX.

Configuration
P±0.5

Capacitance tolerance
(±20%)
fD Code
Rated capacitance (100µF)
8 · 10 PM
Pressure
Rated voltage (25V)
37
relief vent
L+ MAX. Series name

Type
4MIN

12.5 to 18 HM

(mm)
(D < 10) 1.0 D 8 10 12.5 16 18
 (D 10) 1.5 P 3.5 5.0 5.0 7.5 7.5

• Please refer to page 20 about the end seal configuration.

V 25 50 100 f D ´ L (mm)
Cap.(µF) Code
1E 1H 2A
10 100 8 ´ 11.5
22 220 8 ´ 11.5 10 ´ 16
33 330 8 ´ 11.5 10 ´ 12.5 10 ´ 20
47 470 10 ´ 12.5 10 ´ 16 12.5 ´ 20
100 101 10 ´ 16 12.5 ´ 20 16 ´ 25
220 221 12.5 ´ 20 16 ´ 25 16 ´ 35.5
330 331 12.5 ´ 25 16 ´ 31.5 18 ´ 35.5
470 471 16 ´ 25 16 ´ 35.5
1000 102 16 ´ 35.5 18 ´ 40

Dimensions

38
1.2. Diode 1n4001
General Purpose Plastic Rectifier
FEATURES
• Low forward voltage drop
• Low leakage current
• High forward surge capability
DO-41 (DO-204AL) • Solder dip 275 °C max. 10 s, per JESD 22-B106
• Material categorization: for definitions of compliance
please see www.vishay.com/doc?99912
TYPICAL APPLICATIONS
PRIMARY CHARACTERISTICS
IF(AV)
For use in general purpose rectification of
1.0 A
50 V, 100 V, 200 V, 400 V, 600 V,
power supplies, inverters, converters, and
VRRM
800 V, 1000 V freewheeling diodes application.
IFSM (8.3 ms sine-wave) 30 A
MECHANICAL DATA
IFSM (square wave tp = 1 ms) 45 A
VF 1.1 V Case: DO-41 (DO-204AL), molded epoxy
IR 5.0 μA
body
TJ max. 150 °C
Molding compound meets UL 94 V-0
Package DO-41 (DO-204AL)
Circuit configuration Single
flammability rating Base P/N-E3 - RoHS-
compliant, commercial grade
Terminals: matte tin plated leads, solderable
per J-STD-002 and JESD 22-B102
E3 suffix meets JESD 201 class 1A whisker
test
Polarity: color band denotes cathode end

MAXIMUM RATINGS (TA = 25 °C unless otherwise noted)


PARAMETER SYMBOL 1N4001 1N4002 1N4003 1N4004 1N4005 1N4006 1N4007 UNIT

Maximum repetitive peak reverse voltage VRRM 50 100 200 400 600 800 1000 V

Maximum RMS voltage VRMS 35 70 140 280 420 560 700 V

Maximum DC blocking voltage VDC 50 100 200 400 600 800 1000 V

Maximum average forward rectified current 0.375"


IF(AV) 1.0 A
(9.5 mm) lead length at TA = 75 °C
Peak forward surge current 8.3 ms single half
IFSM 30 A
sine-wave superimposed on rated load
tp = 1 ms 45
Non-repetitive peak forward
surge current square waveform tp = 2 ms IFSM 35 A
TA = 25 °C (fig. 3) tp = 5 ms 30
Maximum full load reverse current, full cycle average
IR(AV) 30 μA
0.375" (9.5 mm) lead length TL = 75 °C
Rating for fusing (t < 8.3 ms) 3.7 A2s
I2t (1)
Operating junction and storage
TJ, TSTG -50 to +150 °C
temperature range
(1) For device using on bridge rectifier application

1
ELECTRICAL CHARACTERISTICS (TA = 25 °C unless otherwise noted)
PARAMETER TEST CONDITIONS SYMBOL 1N4001 1N4002 1N4003 1N4004 1N4005 1N4006 1N4007 UNIT

Maximum instantaneous
1.0 A VF 1.1 V
forward voltage

Maximum DC reverse current at TA = 25 °C 5.0


IR μA
rated DC blocking voltage TA = 125 °C 50
Typical junction capacitance 4.0 V, 1 MHz CJ 15 pF

THERMAL CHARACTERISTICS (TA = 25 °C unless otherwise noted)


PARAMETER SYMBOL 1N4001 1N4002 1N4003 1N4004 1N4005 1N4006 1N4007 UNIT

RqJA (1) 50
Typical thermal resistance °C/W
RqJL (1) 25

Note

(1) Thermal resistance from junction to ambient at 0.375" (9.5 mm) lead length, PCB mounted

ORDERING INFORMATION (Example)


PREFERRED P/N UNIT WEIGHT PREFERRED PACKAGE CODE BASE QUANTITY DELIVERY MODE
(g)
1N4004-E3/54 0.33 54 5500 13" diameter paper tape and reel
1N4004-E3/73 0.33 73 3000 Ammo pack packaging

PACKAGE OUTLINE DIMENSIONS in inches (millimeters)

DO-41 (DO-204AL)

1.0 (25.4)
MIN.

0.107 (2.7)

0.080 (2.0)
DIA.

0.205 (5.2)

0.160 (4.1)

1.0 (25.4) MIN.

0.034 (0.86)

0.028 (0.71) DIA.


Note 0.026 (0.66)

2
1.3.Tran 2n2222
P2N2222A

Amplifier Transistors
NPN Silicon

http://onsemi.com
Features
 These are Pb−Free Devices*
COLLE
CTOR 1
MAXIMUM RATINGS (TA = 25°C unless otherwise noted) 2 ASE

Characteristic Symbol Value Unit


B
Collector − Emitter Voltage VCEO 40 Vdc
Collector −Base Voltage VCBO 75 Vdc
Emitter−Base Voltage VEBO 6.0 Vdc
Collector Current − Continuous IC 600 mAdc
3
Total Device Dissipation @ TA = 25C Derate PD 625 mW
EMITTER
above 25C 5.0 mW/C
Total Device Dissipation @ TC = 25C PD 1.5 W
Derate above 25C 12 mW/C
Operating and Storage Junction TJ, Tstg − 55 to C TO−92 CASE 29
Temperature Range +150
STYLE 17

1
THERMAL 23
12
CHARACTERISTICS 3
STRAIGHT LEAD BULK PACK
Characteristic Symbol Max Unit
Thermal Resistance, Junction to Ambient R0JA 200  C/W

Thermal Resistance, Junction to Case R0JC 83.3  C/W

3
P2N2222A

ELECTRICAL CHARACTERISTICS (TA = 25C unless otherwise noted)


Characteristic Symbol Min Max Unit
OFF CHARACTERISTICS
Collector − Emitter Breakdown Voltage (IC V(BR)CEO Vdc
= 10 mAdc, IB = 0) 40 −
Collector −Base Breakdown Voltage V(BR)CBO 75 Vdc
(IC = 10 µAdc, IE = 0) −
Emitter−Base Breakdown Voltage V(BR)EBO Vdc
(IE = 10 µAdc, IC = 0) 6.0 −
Collector Cutoff Current ICEX nAdc
(VCE = 60 Vdc, VEB(off) = 3.0 Vdc) − 10
Collector Cutoff Current ICBO µAdc
(VCB = 60 Vdc, IE = 0) − 0.01
(VCB = 60 Vdc, IE = 0, TA = 150C) − 10
Emitter Cutoff Current IEBO 10 nAdc
(VEB = 3.0 Vdc, IC = 0) −
Collector Cutoff Current ICEO nAdc
(VCE = 10 V) − 10
Base Cutoff Current IBEX nAdc
(VCE = 60 Vdc, VEB(off) = 3.0 Vdc) − 20
ON CHARACTERISTICS
DC Current Gain hFE −
(IC = 0.1 mAdc, VCE = 10 Vdc) 35 −
(IC = 1.0 mAdc, VCE = 10 Vdc) 50 −
(IC = 10 mAdc, VCE = 10 Vdc) 75 −
(IC = 10 mAdc, VCE = 10 Vdc, TA = −55C) 35 −
(IC = 150 mAdc, VCE = 10 Vdc) (Note 1) 100 300
(IC = 150 mAdc, VCE = 1.0 Vdc) (Note 1) 50 −
(IC = 500 mAdc, VCE = 10 Vdc) (Note 1) 40 −
Collector − Emitter Saturation Voltage (Note 1) (IC VCE(sat) Vdc
= 150 mAdc, IB = 15 mAdc) − 0.3
(IC = 500 mAdc, IB = 50 mAdc) − 1.0
Base− Emitter Saturation Voltage (Note 1) VBE(sat) Vdc
(IC = 150 mAdc, IB = 15 mAdc) 0.6 1.2
(IC = 500 mAdc, IB = 50 mAdc) − 2.0
SMALL−SIGNAL CHARACTERISTICS
Current − Gain − Bandwidth Product (Note 2) fT MHz
(IC = 20 mAdc, VCE = 20 Vdc, f = 100 MHz)C 300 −
Output Capacitance Cobo pF
(VCB = 10 Vdc, IE = 0, f = 1.0 MHz) − 8.0
Input Capacitance Cibo pF
(VEB = 0.5 Vdc, IC = 0, f = 1.0 MHz) − 25
Input Impedance hie kfi
(IC = 1.0 mAdc, VCE = 10 Vdc, f = 1.0 kHz) (IC 2.0 8.0
= 10 mAdc, VCE = 10 Vdc, f = 1.0 kHz) 0.25 1.25
Voltage Feedback Ratio hre X 10−
(IC = 1.0 mAdc, VCE = 10 Vdc, f = 1.0 kHz) (IC − 8.0 4
= 10 mAdc, VCE = 10 Vdc, f = 1.0 kHz) − 4.0
Small−Signal Current Gain hfe −
(IC = 1.0 mAdc, VCE = 10 Vdc, f = 1.0 kHz) (IC 50 300
= 10 mAdc, VCE = 10 Vdc, f = 1.0 kHz) 75 375
Output Admittance hoe µMhos
(IC = 1.0 mAdc, VCE = 10 Vdc, f = 1.0 kHz) (IC 5.0 35
= 10 mAdc, VCE = 10 Vdc, f = 1.0 kHz) 25 200
Collector Base Time Constant rbCc ps
(IE = 20 mAdc, VCB = 20 Vdc, f = 31.8 MHz) − 150
Noise Figure NF dB
(IC = 100 µAdc, VCE = 10 Vdc, RS = 1.0 kfi, f = 1.0 kHz) − 4.0
1. Pulse Test: Pulse Width ≤ 300 µs, Duty Cycle ≤ 2.0%.
P2N2222A
4
ELECTRICAL CHARACTERISTICS (TA = 25C unless otherwise noted) (Continued)
Characteristi Symbol Min Max Unit
c
SWITCHING CHARACTERISTICS
Delay Time (VCC = 30 Vdc, VBE(off) = −2.0 Vdc, td − 10 ns
IC = 150 mAdc, IB1 = 15 mAdc) (Figure 1)
Rise Time tr − 25 ns

Storage Time (VCC = 30 Vdc, IC = 150 mAdc, ts − 225 ns


IB1 = IB2 = 15 mAdc) (Figure 2)
Fall Time tf − 60 ns

You might also like