74HC595 là IC ghi dịch 8 bits kết hợp chốt dữ liệu, đầu vào nối tiếp, đầu ra song song. Thường dùng trong các mạch điều khiển LED 7 đoạn, quét LED ma trận,… để tiết kiệm số chân Vđk tối đa (chỉ dùng 3 chân). Có thể mở rộng số ngõ ra của vđk bao nhiêu tùy thích bằng việc mắc nối tiếp đầu vào dữ liệu các IC với nhau.
Hình 2.11: Vỏ bên ngoài của IC 74HC595
❖ Sơ đồ chân và chức năng:
− VCC: Nguồn cung cấp 5V. − GND: Kết nối GND.
− DS: Ngõ vào dữ liệu nối tiếp.
− SH_CP: Xung clock dịch dữ liệu. Khi có 1 xung thì dữ liệu dịch vào 1 bit. − ST_CP: Xung xuất dữ liệu lưu trữ.
− OE: Cho phép ngõ ra. Tích cực mức cao. − MR: Chân reset. Tích cực mức thấp. − Q0..Q7: Ngõ ra dữ liệu.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 19 − Q7’: Ngõ ra dữ liệu nối tiếp. Nếu dùng nhiều IC dịch thì nối Q7’ vào DS của IC tiếp
theo
Hình 2.12: Sơ đồ chân IC 74HC595 ❖ Nguyên lý hoạt động của IC dịch:
Quan sát hình 2.12, ta đặt dữ liệu vào chân DS, và tạo một xung SHCP thì dữ liệu tại chân DS sẽ được dịch vào thanh ghi 8-STAGE SHIFT REGISTER. Lần lượt làm như trên 8 lần (dịch bit cao trước), thì ta được 8 bit trong thanh ghi 8-STAGE SHIFT REGISTER. Sau đó ta tạo một xung STCP thì 8 bit trong thanh ghi 8-STAGE SHIFT REGISTER sẽ được sao chép sang thanh ghi 8-BIT STORAGE REGISTER. Lúc này nếu chân OE ở mức thấp thì ngõ ra sẽ bằng với giá trị thanh ghi 8-BIT STORAGE REGISTER, còn nếu chân OE ở mức cao thì ngõ ra ở trạng thái tổng trở cao (Hi-Z).
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 20
2.2.8.IC thời gian thực DS3231
DS3231 là IC thời gian thực giá rẻ, rất chính xác với thạch anh tích hợp sẵn có khả năng điều chỉnh nhiệt. IC có đầu vào cho pin riêng, tách biệt khỏi nguồn chính đảm bảo cho việc giữ thời gian chính xác. Thạch anh tích hợp sẵn giúp tăng độ chính xác trong thời gian dài hoạt động và giảm số lượng linh kiện cần thiết khi làm board.
Thời gian trong IC được giữ ở dạng: giờ, phút, giây, ngày, thứ, tháng, năm. Các tháng có ít hơn 31 ngày sẽ tự động được điều chỉnh, các năm Nhuận cũng được chỉnh đúng số ngày. Thời gian có thể hoạt động ở chế độ 24h hoặc 12h AmPM. IC còn có chức năng báo động, có thể cài đặt 2 thời gian báo và lịch, có tín hiệu ra là xung vuông. Giao tiếp với IC được thực hiện thông qua I2C bus.
Trong chip có mạch điện áp chuẩn dùng để theo dõi trạng thái của nguồn VCC, phát hiện lỗi nguồn, tự động chuyển nguồn khi có vấn đề. Có tín hiệu Reset xuất ra cho mạch ngoài, MCU khi nguồn điện phục hồi trạng thái. Ngoài ra trong IC còn có sẵn cảm biến nhiệt độ, có độ chính xác là ± 3°C.
Hình 2.14: Sơ đồ chân IC DS3231
❖ Sơ đồ chân và chức năng:
− VCC: Nguồn cung cấp 5V. − GND: Kết nối GND. − 32kHz: Ngõ ra 32kHz.
− INT/SQW: Ngắt tích cực mức thấp hoặc ngõ ra xung vuông. − RST: Chân reset. Tích cực mức thấp.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 21 − SDA: Ngõ vào/ra data I2C.
− VBAT: Nguồn pin dự phòng.
2.2.9.Động cơ DC
Động cơ DC có chổi than là động cơ hoạt động với nguồn điện DC vì vậy còn gọi là động cơ điện một chiều từ phần sau sẽ gọi tắt là động cơ DC. Cấu tạo gồm 2 phần là stator và rotor trong đó stator thường là 1 hay nhiều cặp nam châm vĩnh cửu hoặc nam châm điện còn rotor là các cuộn dây được quấn trên một lõi sắt non và nối với nguồn điện một chiều. Do đặc điểm rotor là cuộn dây nên để cấp điện cho động cơ ta cần một bộ phận đặc biệt là bộ cổ góp và chổi than tiếp xúc cổ góp, điều này giúp cấp điện cho động cơ kể cả khi động cơ quay. Vì là bộ phận tiếp xúc nên sau một thời gian chổi quét sẽ bị mài mòn và cần phải thay thế. Động cơ DC thường có tốc độ cao, đáp ứng nhanh kích thước nhỏ gọn, momen cao dù ở tốc độ nhỏ nên được sử dụng phổ biến trong các mô hình, các máy móc, thiết bị, đồ gia dụng, dùng khởi động các động cơ xe Dòng điện chạy qua động cơ được tính như sau:
𝐼độ𝑛𝑔 𝑐ơ=𝑉𝑛𝑔𝑢ô ̀𝑛−𝑉đ𝑖ệ𝑛 đô ̣𝑛𝑔
𝑅𝑝ℎầ𝑛 ứ𝑛𝑔 (2.8)
Công suất động cơ tính như sau:
𝑃độ𝑛𝑔 𝑐ơ = 𝐼độ𝑛𝑔 𝑐ơ ∗ 𝑉đ𝑖ệ𝑛 đo ̣𝑛𝑔 (2.9) Trong đó:
𝑉đ𝑖ệ𝑛 đo ̣𝑛𝑔 là sức điện động do rotor sinh ra khi quay 𝑅𝑝ℎầ𝑛 ứ𝑛𝑔 là điện trở nội của các cuộn dây
❖ Phương pháp điều khiển động cơ DC:
Để điều khiển động cơ DC thì phương pháp phổ biến nhất là điều khiển điện áp rotor vì tốc độ quay của động cơ DC sẽ tỉ lệ thuận với điện áp nguồn. Chiều quay có thể điều khiển bằng các thay đổi chiều dòng điện đi vào động cơ.
Để điều khiển điện áp DC cấp cho động cơ ta có thể dùng phương pháp thay đổi thời gian cấp điện 𝑇𝑂𝑁, nghĩa là dòng điện được đóng và ngắt liên tục để qua đó thay đổi điện áp trung bình. Để làm được điều này ta cần dùng các phần tử chuyển mạch có điều khiển như transistor hoặc MOSFET. Giả sử điện áp cấp là 24V và thời gian 𝑇𝑂𝑁 là 50% thì điện áp trung bình là 12V. Phương pháp này được gọi là phương pháp điều biến độ rộng xung (pulse width modulation- PWM). Tùy vào công suất động cơ mà ta chọn loại linh kiện chuyển mạch cho phù hợp.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 22 Trong bài nhóm sử dụng động cơ DC 5V như hình 2.14 có các thông số kỹ thuật:
Hình 2.15: Động cơ DC 5V
− Điện áp định mức: 5VDC.
− Tốc độ quay: lên đến 5000 vòng/phút. − Dòng tiêu thụ: 10mA~1A.
− Momen xoắn: lên đến 2mN.m.
2.2.10. Màn hình TFT LCD
Màn hình TFT LCD 2.2inch truyền dữ liệu nối tiếp thông qua giao tiếp SPI, vi điều khiển chỉ mất vài chân I/O để có thể giao tiếp với module và việc điều khiển cũng vô cùng đơn giản.
Hình 2.16: Màn hình TFT LCD ❖ Tính năng:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 23 − Màn hình kích thước 2.2 inch, tích hợp khe thẻ nhớ micro SD.
− Driver ILI9341 (driver SOC đơn chíp 262144 màu) cho khả năng hiển thị 240x320 điểm ảnh (RGB) với 18 bit màu.
− Tương thích với hầu hết các vi điều khiển hiện nay.
− Giao thức hiển thị nối tiếp, chỉ cần sử dụng 5 chân (CS, RESET, DC/RS, SDI/MOSI, SCK) để điều khiển.
− Thẻ SD sử dụng giao tiếp SPI (CS / MOSI / MISO / SCK). ❖ Thông số kỹ thuật:
− Điện áp hoạt động: 5V/3V3. − Nhiệt độ hoạt động: -20-70°C. − IC điều khiển: ILI9341.
− Giao tiếp: SPI.
− Mật độ điểm ảnh: QVGA 240x320. − Khả năng hiển thị màu: 262K/65K. − Kích thước màn hình: 2.2 inch.
− Kích thước: 67x40mm/2.63x1.57inch. − Trọng lượng: 18.43gram.
− Chất liệu: nhựa.
2.2.11. Chuẩn giao tiếp I2C
Đầu năm 1980 Phillips đã phát triển một chuẩn giao tiếp nối tiếp 2 dây được gọi là I2C. I2C là tên viết tắt của cụm từ Inter-Intergrated Circuit. Đây là đường Bus giao tiếp giữa các IC với nhau. I2C mặc dù được phát triển bới Philips, nhưng nó đã được rất nhiều nhà sản xuất IC trên thế giới sử dụng. I2C trở thành một chuẩn công nghiệp cho các giao tiếp điều khiển, có thể kể ra đây một vài tên tuổi ngoài Philips như: Texas Intrument(TI), MaximDallas, analog Device, National Semiconductor ... Bus I2C được sử dụng làm bus giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại Vi điều khiển 8051, PIC, AVR, ARM... chip nhớ như: RAM tĩnh (Static Ram), EEPROM, bộ chuyển đổi tương tự số (ADC), số tương tự(DAC), IC điểu khiển LCD, LED.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 24
Hình 2.17: Chuẩn giao tiếp I2C
I2C sử dụng hai đường truyền tín hiệu:
− Một đường xung nhịp đồng hồ(SCL) chỉ do Master phát đi ( thông thường ở 100kHz và 400kHz. Mức cao nhất là 1Mhz và 3.4MHz).
− Một đường dữ liệu(SDA) theo 2 hướng.
Có rất nhiều thiết bị có thể cùng được kết nối vào một bus I2C, tuy nhiên sẽ không xảy ra chuyện nhầm lẫn giữa các thiết bị, bởi mỗi thiết bị sẽ được nhận ra bởỉ một địa chỉ duy nhất với một quan hệ chủ/tớ tồn tại trong suốt thời gian kết nối. Mỗi thiết bị có thể hoạt động như là thiết bị nhận hoặc truyền dữ liệu hay có thể vừa truyền vừa nhận. Hoạt động truyền hay nhận còn tùy thuộc vào việc thiết bị đó là chủ (master) hãy tớ (slave).
Một thiết bị hay một IC khi kết nối với bus I2C, ngoài một địa chỉ (duy nhất) để phân biệt, nó còn được cấu hình là thiết bị chủ hay tớ.Tại sao lại có sự phân biệt này ? Đó là vì trên một bus I2C thì quyền điều khiển thuộc về thiết bị chủ. Thiết bị chủ nắm vai trò tạo xung đồng hồ cho toàn hệ thống, khi giữa hai thiết bị chủ-tớ giao tiếp thì thiết bị chủ có nhiệm vụ tạo xung đồng hồ và quản lý địa chỉ của thiết bị tớ trong suốt quá trình giao tiếp. Thiết bị chủ giữ vai trò chủ động, còn thiết bị tớ giữ vai trò bị động trong việc giao tiếp.
2.2.12. Chuẩn giao tiếp SPI
SPI viết tắt của Serial Peripheral Interface, SPI bus – Giao diện ngoại vi nói tiếp, bus SPI. Chuẩn SPI được phát triển bởi Motorola. Đây là một chuẩn đồng bộ nối tiếp để truyền dữ liệu ở chế độ song công toàn phần (full- duplex) tức trong cùng một thời điểm có thể xảy ra đồng thời quá trình truyền và nhận. Đôi khi SPI còn được gọi là chuẩn giao tiếp 4 dây (Four-wire).
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 25 SPI là giao diện đồng bộ, bất cứ quá trình truyền nào cũng được đồng bộ hóa với tín hiệu clock chung. Tín hiệu này sinh ra bởi master.
Hình 2.18: Chuẩn giao tiếp SPI
Trong giao diện SPI có bốn tín hiệu số:
− MOSI hay SI – cổng ra của bên Master ( Master Out Slave IN). Đây là chân dành cho việc truyền tín hiệu từ thiết bị chủ động đến thiết bị bị động.
− MISO hay SO – Công ra bên Slave (Master IN Slave Out). Đây là chân dành cho việc truyền dữ liệu từ Slave đến Master.
− SCLK hay SCK là tín hiệu clock đồng bộ (Serial Clock). Xung nhịp chỉ được tạo bởi Master.
− CS hay SS là tín hiệu chọn vi mạch ( Chip Select hoặc Slave Select). SS sẽ ở mức cao khi không làm việc. Nếu Master kéo SS xuông thấp thì sẽ xảy ra quá trình giao tiếp. Chỉ có một đường SS trên mỗi slave nhưng có thể có nhiều đường điều khiển SS trên master, tùy thuộc vào thiết kế của người dùng.
2.2.13. Bộ xử lý trung tâm STM32F4VET6
STM32 là một trong những dòng chip phổ biến của ST với nhiều họ thông dụng như F0, F1, F2, F3, F4,… STM32F407 thuộc họ F4 dựa trên lõi RISC 32 bit ARM Cortex -M4 hiệu suất cao hoạt động ở tần số lên tới 168 MHz. Lõi Cortex-M4 có độ chính xác đơn đơn vị dấu phẩy động (FPU) hỗ trợ tất cả các hướng dẫn và loại dữ liệu xử lý dữ liệu chính xác đơn ARM. Nó cũng thực hiện một bộ đầy đủ các hướng dẫn DSP và bộ bảo vệ bộ nhớ (MPU) để tăng cường bảo mật ứng dụng. Mạch nạp cũng như công cụ lập trình khá đa dạng và dễ sử dụng.
Một số ứng dụng chính: dùng cho driver để điều khiển ứng dụng, điều khiển ứng dụng thông thường, thiết bị cầm tay, máy tính và thiết bị ngoại vi chơi game, GPS cơ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 26 bản, các ứng dụng trong công nghiệp, thiết bị lập trình PLC, biến tần, máy in, máy quét, hệ thống cảnh báo, thiết bị liên lạc nội bộ.
Phần mềm lập trình: có nhiều trình biên dịch cho STM32 như IAR Embedded, Keil C, STMCube IDE,…
Thư viện lập trình: có nhiều loại thư viện lập trình cho STM32 như STM32 Snippets, STMCube HAL và LL, Standard Peripheral Libraries, Mbed Core. Mỗi thư viện đều có ưu khuyết điểm riêng, ở đây nhóm sử dụng thư viện STMCube HAL vì tính phổ biến trong thời gian gần đây, đơn giản và dễ sử dụng .
Mạch nạp: có khá nhiều loại mạch nạp như U-LINK, J-LINK, ST-LINK,… trong đó thông dụng và giá thành thấp nhất là ST-Link.
a. Cấu trúc hệ thống:
Dòng ARM Cortex là một bộ xử lý thế hệ mới đưa ra một kiến trúc chuẩn cho nhu cầu đa dạng về công nghệ. Không giống như những chip ARM khác, dòng Cortex là một lõi xử lý hoàn thiện, đưa ra một chuẩn CPU và kiến trúc hệ thống chung. Dòng Cortex bao gồm 3 nhánh chính:
+ Dòng A dành cho các ứng dụng cao cấp. + Dòng R dành cho các ứng dụng thời gian thực.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 27
Hình 2.19: Sơ đồ cấu trúc các khối của STM32F407
b. Cấu trúc bộ nhớ, thanh ghi:
Bộ nhớ chương trình, bộ nhớ dữ liệu, thanh ghi và cổng I / O được tổ chức trong cùng một không gian địa chỉ 4 Gbyte tuyến tính.
Các byte được mã hóa trong bộ nhớ ở định dạng endian nhỏ. Byte được đánh số thấp nhất trong một từ được coi là byte byte có ý nghĩa nhỏ nhất và byte được đánh số cao nhất, từ có ý nghĩa nhất.
Tất cả các vùng nhớ không được phân bổ cho các bộ nhớ và thiết bị ngoại vi trên chip đều được coi là Reserved.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 28
Bảng 2.1: Sơ đồ bộ nhớ
Tổ chức bộ nhớ của ARM Cortex M4 có dung lượng là 4GB được chia làm 8 block từ Block 0 đến Block 7 mỗi block có dung lượng là 512MB.
Bảng 2.2: Địa chỉ giới hạn của các ngoại vi
0xFFFF FFFF
0xE000 0000
Block 7 512MB
Các ngoại vi nội của Cortex M4 0xDFFF FFFF 0xC000 0000 Block 6 512MB Không sử dụng 0xBFFF FFFF 0xA000 0000 Block 5 512MB Các thanh ghi FSMC 0x9FFF FFFF 0x8000 0000 Block 4 512MB FSMC bank3 và bank4 0x7FFF FFFF 0x6000 0000 Block 3 512MB FSMC bank1 và bank2 0x5FFF FFFF 0x4000 0000 Block 2 512MB Ngoại vi 0x3FFF FFFF 0x2000 0000 Block1 512MB SRAM 0x1FFF FFFF 0x0000 0000 Block 0 512MB Code
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 29
Địa chỉ giới hạn Ngoại vi Bus
0xA000 0000 - 0xA000 0FFF FSMC control register AHB3 0x5006 0800 - 0x5006 0BFF RNG AHB2 0x5006 0400 - 0x5006 07FF HASH 0x5006 0000 - 0x5006 03FF CRYP 0x5005 0000 - 0x5005 03FF DCMI 0x5000 0000 - 0x5003 FFFF USB OTG FS 0x4004 0000 - 0x4007 FFFF USB OTG HS AHB1 0x4002 B000 - 0x4002 BBFF DMA2D 0x4002 8000 - 0x4002 93FF ETHERNET MAC 0x4002 6400 - 0x4002 67FF DMA2 0x4002 6000 - 0x4002 63FF DMA1 0x4002 4000 - 0x4002 4FFF BKPSRAM
0x4002 3C00 - 0x4002 3FFF Flash interface register 0x4002 3800 - 0x4002 3BFF RCC 0x4002 3000 - 0x4002 33FF CRC 0x4002 2800 - 0x4002 2BFF GPIOK 0x4002 2400 - 0x4002 27FF GPIOJ 0x4002 2000 - 0x4002 23FF GPIOI 0x4002 1C00 - 0x4002 1FFF GPIOH 0x4002 1800 - 0x4002 1BFF GPIOG 0x4002 1400 - 0x4002 17FF GPIOF 0x4002 1000 - 0x4002 13FF GPIOE 0x4002 0C00 - 0x4002 0FFF GPIOD 0x4002 0800 - 0x4002 0BFF GPIOC 0x4002 0400 - 0x4002 07FF GPIOB 0x4002 0000 - 0x4002 03FF GPIOA
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 30
Bảng 2.3: Tập lệnh thao tác với thanh ghi
Cú pháp Toán hạng Mô tả ngắn gọn Cờ
ADC, ADCS {Rd,} Rn, Op2 Cộng với Carry N,Z,C,V
ADD, ADDS {Rd,} Rn, Op2 Cộng N,Z,C,V
ADD, ADDW {Rd,} Rn, #imm12 Cộng -
ADR Rd, label Tải địa chỉ liên quan đến PC - AND, ANDS {Rd,} Rn, Op2 Logical AND N,Z,C ASR, ASRS Rd, Rm, <Rs|#n> Dịch phải số học N,Z,C