TỔNG QUAN
Đặt vấn đề
Thị trường giao dịch thương mại hiện nay đang phát triển mạnh mẽ, đi kèm với sự đa dạng trong các hình thức thanh toán Điều này dẫn đến nhu cầu xuất hoá đơn thanh toán nhanh chóng và tiện lợi hơn để tiết kiệm thời gian cho cả khách hàng và chủ thương Trước đây, việc viết hoá đơn bằng tay gây mất thời gian, tốn giấy mực và dễ xảy ra sai sót Với sự phát triển của công nghệ, máy in hoá đơn đã ra đời, giúp nâng cao hiệu quả trong hoạt động kinh doanh và đáp ứng nhu cầu của con người.
Hiện nay, máy in hóa đơn đang được sử dụng phổ biến tại nhiều địa điểm như siêu thị, trạm ATM và taxi Chúng cho phép xuất hóa đơn nhanh chóng bằng cách truyền dữ liệu từ thiết bị tính tiền Nhiều người thắc mắc về cách thức hoạt động của máy in hóa đơn và nguồn mực in Để giải đáp, chúng tôi đã thực hiện đề tài “Thiết kế và thi công máy in nhiệt”, vì máy in nhiệt là một loại máy in hóa đơn sử dụng đầu in nhiệt để tạo ra chữ và hình ảnh Chúng tôi sử dụng Arduino Mega để điều khiển dữ liệu đầu in, nhờ vào tính năng đa dạng và giá thành hợp lý của nó Sự kết hợp giữa Arduino Mega và đầu in nhiệt hứa hẹn sẽ mang đến sản phẩm in ấn hóa đơn với chi phí thấp nhưng vẫn đảm bảo chất lượng.
Mục tiêu
Xây dựng một máy in nhiệt có các tính năng cụ thể như sau:
- In dữ liệu nhận được thông qua giao tiếp UART từ máy tính.
- Đo và hiển thị nhiệt độ của đầu in lên giao diện C#.
Nội dung nghiên cứu
Các nội dung chính sẽ thực hiện :
NỘI DUNG 1: Tìm hiểu module đầu in nhiệt, Arduino mega, module L298, LM2596.
NỘI DUNG 2: Cách thức truyền dữ liệu của module đầu in nhiệt.
NỘI DUNG 3: Thiết kế phần cứng và phần mềm để điều khiển đầu in nhiệt.
NỘI DUNG 4: Thiết kế mô hình thành phẩm.
NỘI DUNG 5: Đánh giá kết quả thực hiện được.
Giới hạn
Với kiến thức và thời gian hạn chế, chúng tôi không thể phát triển một chiếc máy in hóa đơn hoàn chỉnh với đầy đủ tính năng như các sản phẩm hiện có trên thị trường Máy in nhiệt của chúng tôi chỉ hỗ trợ in chữ hoa, chữ thường, số và ảnh logo.
Bố cục
Phần này trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn và bố cục đồ án.
Chương 2: Cơ Sở Lý Thuyết
Trong chương này trình bày cơ sở lý thuyết của các phần cứng, phần mềm và các giao tiếp được sử dụng trong hệ thống.
Chương 3: Thiết Kế Và Tính Toán
Chương này trình bày các yêu cầu phần cứng cần thiết để xây dựng sơ đồ khối của hệ thống Nó cũng mô tả các thiết kế mà nhóm đã thực hiện, bao gồm cả việc sử dụng phần cứng có sẵn và phần cứng tự chế dựa trên sơ đồ khối đã được xác định.
Chương 4: Thi Công Hệ Thống
- Tiến hành lắp đặt các phần cứng lại với nhau.
- Kiểm tra, đo đạc các giá trị điện áp theo yêu cầu.
- Thi công hộp để đựng sản phẩm.
Chương 5: Kết Quả – Nhận Xét – Đánh Giá trình bày đánh giá kết quả đạt được qua từng giai đoạn, đồng thời nêu rõ những khó khăn và hạn chế mà đề tài đã gặp phải.
Chương 6: Kết Luận và Hướng Phát Triển
Nêu ra những hướng phát triển của đề tài trong tương lai.
CƠ SỞ LÝ THUYẾT
Giới thiệu các chuẩn truyền dữ liệu
2.1.1 Giao tiếp UART chế độ bất đồng bộ
Giao tiếp UART trong chế độ bất đồng bộ yêu cầu một dây kết nối cho mỗi chiều truyền dữ liệu, vì vậy việc tuân thủ các tiêu chuẩn truyền là rất quan trọng để đảm bảo quá trình truyền nhận dữ liệu thành công Dưới đây là những khái niệm quan trọng liên quan đến chế độ truyền thông này.
Tốc độ Baud là một yếu tố quan trọng trong việc truyền và nhận dữ liệu bất đồng bộ, yêu cầu các thiết bị phải thống nhất về thời gian truyền cho mỗi bit Tốc độ Baud được định nghĩa là số bit được truyền trong một giây Chẳng hạn, nếu tốc độ Baud được thiết lập là 19200 bit/giây, thì thời gian cho mỗi bit truyền sẽ khoảng 52.083 micro giây.
Khung truyền (frame) là yếu tố quan trọng trong truyền thông nối tiếp, đặc biệt là nối tiếp bất đồng bộ, vì nó giúp giảm thiểu mất mát hoặc sai lệch dữ liệu Để đảm bảo quá trình truyền thông diễn ra hiệu quả, khung truyền phải tuân theo các quy định nhất định, bao gồm tốc độ Baud và các quy tắc về số bit trong mỗi lần truyền Khung truyền xác định các bit báo hiệu như bit Start và bit Stop, cũng như các bit kiểm tra như Parity, đồng thời quy định số lượng bit dữ liệu trong mỗi lần truyền.
Hình 2.1: Khung truyền dữ liệu trong chế độ bất đồng bộ
Start bit là bit đầu tiên trong khung truyền, có nhiệm vụ thông báo cho thiết bị nhận biết rằng một gói dữ liệu sắp được gửi đến Bit này đóng vai trò quan trọng trong việc xác định thời điểm bắt đầu của quá trình truyền dữ liệu.
Data: Data hay dữ liệu cần truyền là thông tin chính mà chúng ta cần gửi và nhận.
Dữ liệu trong truyền thông nối tiếp USART không chỉ giới hạn ở gói 8 bit, mà có thể sử dụng 5, 6, 7, 8 hoặc 9 bit Trong quá trình truyền, bit có ảnh hưởng nhỏ nhất sẽ được gửi trước, trong khi bit có ảnh hưởng lớn nhất sẽ được truyền cuối cùng.
Parity bit: Là bit dùng kiểm tra dữ liệu truyền đúng không (một cách tương đối) Có
Có hai loại parity là parity chẵn và parity lẻ Parity chẵn yêu cầu tổng số bit 1, bao gồm cả bit parity, phải là số chẵn Ngược lại, trong parity lẻ, tổng số bit 1 luôn là số lẻ.
Nếu dữ liệu nhị phân của bạn là 10111011 với 6 bit 1, khi sử dụng parity chẵn, bit parity sẽ là 0 để tổng số bit 1 là chẵn Ngược lại, nếu sử dụng parity lẻ, bit parity sẽ có giá trị 1 Bit parity không bắt buộc và có thể được loại bỏ khỏi khung truyền.
Stop bits là các bit quan trọng thông báo cho thiết bị nhận rằng một gói dữ liệu đã được gửi hoàn tất Sau khi nhận stop bits, thiết bị nhận sẽ kiểm tra khung truyền để xác nhận tính chính xác của dữ liệu Việc sử dụng stop bits là bắt buộc trong khung truyền để đảm bảo sự truyền tải dữ liệu đúng cách.
Hình 2.2: Ví dụ một khung truyền dữ liệu trong chế độ bất đồng bộ
Khung truyền theo chế độ bất đồng bộ của USART, như trong Hình 2.2, bắt đầu bằng một bit khởi động, sau đó là 8 bit dữ liệu và kết thúc bằng 1 bit dừng.
2.1.2 Giao tiếp truyền nhận nối tiếp SPI
Giới thiệu về giao tiếp SPI
SPI (Giao diện ngoại vi nối tiếp) là một chuẩn truyền đồng bộ nối tiếp do Motorola thiết kế, cho phép truyền dữ liệu ở chế độ song công toàn phần Giao diện này đảm bảo sự liên hợp giữa các vi điều khiển và thiết bị ngoại vi một cách đơn giản, với quá trình truyền được đồng bộ hóa bằng tín hiệu xung nhịp do thiết bị chủ động (Master) tạo ra Thiết bị ngoại vi bên phía nhận (Slave) sẽ đồng bộ hóa quá trình nhận chuỗi bit với tín hiệu xung nhịp này Trong hệ thống SPI, một chip Master điều phối quá trình truyền thông, trong khi các chip Slave được điều khiển bởi Master.
SPI là giao thức giao tiếp nối tiếp đơn giản giữa vi xử lý và thiết bị ngoại vi, ngày càng phổ biến trong lĩnh vực điện tử, đặc biệt trong việc trao đổi dữ liệu với các thiết bị ngoại vi.
Giao diện SPI được sử dụng tích hợp trong một số loại thiết bị như:
- Các bộ chuyển đổi tương tự sang số, số sang tương tự.
- Các loại bộ nhớ (EEPROM và FLASH).
- Các loại IC thời gian thực.
- Các loại cảm biến (nhiệt độ, áp suất,…).
Giao diện SPI được thực hiện thông qua Bus 4 dây MISO, MOSI, SCK, SS nên đôi khi SPI được gọi là giao diện 4 dây.
+ MISO: Master Input Slave Output
Chân MISO được sử dụng để truyền dữ liệu khi thiết lập cấu hình là Master và nhận dữ liệu khi cấu hình là Slave Các chân MISO của Master và các Slave được kết nối trực tiếp với nhau, trong khi chân MOSI (Master Output Slave Input) đảm nhiệm vai trò xuất dữ liệu từ Master đến Slave.
Chân MOSI được sử dụng để truyền dữ liệu khi cấu hình là Master và nhận dữ liệu khi cấu hình là Slave Các chân MISO của Master và các Slave được kết nối trực tiếp với nhau Chân SCK, hay Serial Clock, đóng vai trò quan trọng trong quá trình đồng bộ hóa truyền dữ liệu.
Xung nhịp đóng vai trò quan trọng trong giao tiếp SPI, vì đây là chuẩn truyền thông đồng bộ cần có một đường giữ nhịp Mỗi xung trên chân SCK báo hiệu sự truyền tải của một bit dữ liệu Sự hiện diện của chân SCK giúp giảm thiểu lỗi trong quá trình truyền, từ đó nâng cao tốc độ truyền của SPI Xung nhịp này chỉ được tạo ra bởi chip Master.
Đường chọn Slave (SS) là yếu tố quan trọng trong giao tiếp giữa chip Master và Slave, với mức cao khi không hoạt động Khi chip Master kéo đường SS của một Slave xuống mức thấp, giao tiếp giữa chúng sẽ được thiết lập Mặc dù mỗi Slave chỉ cần một đường SS, chip Master có thể có nhiều đường điều khiển khác nhau tùy thuộc vào thiết kế của người dùng.
Hình 2.3: Giao tiếp SPI kết nối Master - Slave
Có thể mô tả tóm tắt các tín hiệu của giao tiếp SPI như bảng sau:
Bảng 2.1: Các tín hiệu của giao tiếp SPI
Hình dưới đây mô tả quá trình truyền một gói dữ liệu thực hiện bởi module SPI, bên trái là chip Master và bên phải là Slave.
Hình 2.4: Truyền dữ liệu SPI
Giản đồ thời gian của giao tiếp SPI
Giới thiệu phần cứng
Trên thị trường hiện nay, có nhiều hãng cung cấp module đầu in, nổi bật là Seiko với các loại như LTP01-245, LTP02-245, LTPJ245D và LTP04 Bên cạnh đó, Fujitsu cũng cung cấp các module như FTP-627USL401, FTP-628MCL054 và FTP-628MCL103 Tất cả các loại module này đều sử dụng chuẩn giao tiếp SPI.
Từ những module như liệt kê ta chọn module FTP-628MCL103 của hãng Fujitsu để thiết kế máy in nhiệt.
Hình 2.10: Module đầu in FTP-628MCL103
Thông số kỹ thuật của đầu in FTP-628MCL103
Bảng 2.3: Thông số cơ bản của module đầu in
Số điểm ảnh trên một dòng
Khổ giấy in Độ rộng in
Kích thước điểm ảnh Điện áp hoạt động Ảnh 2.11 là sơ đồ chân của module đầu in:
Hình 2.11: Sơ đồ chân kết nối của module đầu in
Module đầu in FTP – 628MCL103 có 30 chân, với chức năng và ký hiệu của từng chân được trình bày trong bảng 2.4 Theo datasheet, các chân này bao gồm tín hiệu điều khiển CLK và LAT.
Để truyền dữ liệu qua IC 74HC240, chân STB cần được kéo xuống mức thấp tại vị trí mong muốn Khi đó, IC sẽ cho phép dữ liệu đi qua, kết nối DI với C-MOS một cách hiệu quả.
TM sẽ được nối với điện trở nhiệt 30KΩ B:3950 để đo nhiệt độ đầu in.
Bảng 2.4: Ký hiệu và tên các chân của đầu in
S.W S.W VH VH DI CLK GND GND STB6 STB5 STB4 VDD TM TM STB3 STB2 STB1 GND GND LAT DO VH VH
Swich đóng/ mở trục lăn Swich đóng/ mở trục lăn Nguồn của đầu in
Nguồn của đầu in cung cấp tín hiệu vào và xung clk, đảm bảo kết nối đất cho các tín hiệu Các tín hiệu được cho phép đi qua từ 1 đến 6, với điện áp logic và điện trở nhiệt được kiểm soát Việc nối đất là cần thiết để đảm bảo tính ổn định và độ tin cậy của hệ thống.
Dữ liệu ra Nguồn của đầu in Nguồn của đầu in Tín hiệu kích thích A+
Tín hiệu kích thích A- Tín hiệu kích thích B+
Trục lăn giấy Đầu in nhiệt
Hình 2.12 : Thành phần cấu tạo đầu in
Trong sơ đồ chân DIN của đầu in, các chân CLK, LAT, DO được sử dụng cho giao tiếp SPI, cho phép truyền dữ liệu in vào module Các chân điều khiển STB1 đến STB6 quản lý 6 đầu đốt, trong khi các chân MTA+ và MTA- cùng MTB+ và MTB- điều khiển động cơ bước để đẩy giấy trong quá trình in Đầu in thực hiện in theo hàng điểm, mỗi hàng gồm 384 điểm ảnh tương ứng với 384 bit dữ liệu, tức 48 byte, với bit 0 là màu trắng và bit 1 là màu đen Mỗi đầu đốt điều khiển 64 điểm ảnh, tương ứng với 8 byte dữ liệu Sau khi truyền dữ liệu cho một hàng điểm qua giao tiếp SPI, các đầu đốt sẽ được kích hoạt để in ra giấy, sau đó động cơ sẽ quay để đưa giấy đến hàng điểm tiếp theo.
Thông số kỹ thuật của động cơ bước :
Bảng 2.5: Thông số động cơ bước
Để bảo vệ vi điều khiển và đảm bảo đủ dòng điều khiển cho động cơ bước của đầu in, nhóm chúng tôi đã sử dụng mô-đun mạch cầu H L298 Phần tiếp theo sẽ cung cấp thêm thông tin chi tiết về ứng dụng này.
Hình 2.13: Mạch cầu H L298 Bảng 2.6: Bảng trạng thái của mạch cầu H L298
Động cơ bước của đầu in được điều khiển qua 8 bước, với mỗi 4 bước quay tương ứng với việc di chuyển giấy 0.0625 mm cho một hàng điểm Các trạng thái điều khiển động cơ của mạch cầu H L298 được liệt kê trong bảng 2.6, trong đó H biểu thị mức điện áp cao và L biểu thị mức điện áp thấp.
Hình 2.14: Sơ đồ nguyên lý module L298 Bảng 2.7: Bảng trạng thái điều khiển động cơ bước
Hình 2.15: Vi điều khiển Arduino Mega2560
Vi điều khiển là thiết bị chủ chốt trong việc điều khiển mọi hoạt động của hệ thống Nhóm chúng tôi đã chọn vi điều khiển Arduino Mega 2560 dựa trên yêu cầu đề tài Arduino Mega 2560 nổi bật với nhiều đặc điểm đáng chú ý.
-Nguồn ngoài (giắc tròn DC) 7-9V Không nên cấp nguồn 12v vì sẽ gây hỏng IC ổn áp.
- Số chân Digital: 54 (15 chân PWM).
-Giao tiếp UART: 4 bộ UART.
-Giao tiếp SPI: 1 bộ (chân 50 đến chân 53) dùng với thư viện SPI của Ardunio.
-Bộ nhớ Flash: 256 Kb, 8Kb sử dụng cho Bootloader.
Mạch giảm áp LM2596 là một module điều chỉnh điện áp với khả năng cung cấp dòng ra lên đến 3A IC LM2596 được tích hợp đầy đủ bên trong, cho phép người dùng cấp nguồn 12V vào module và nhận được nguồn điện đầu ra thấp hơn 9V sau khi giảm áp.
Hình 2.17: Sơ đồ nguyên lý module LM2596
- Module nguồn không sử dụng cách ly.
- Kích thước mạch: 53mm x 26mm.
FFC là cáp kết nối giữa bus của đầu in nhiệt và mạch nguyên lý Dưới đây là các thông số kỹ thuật của FFC được sử dụng trong đồ án.
Bảng 2.8: Thông số của FFC
Nhiệt độ làm việc Điện trở cách ly Điện trở tiếp xúc
Trên thị trường hiện nay, giấy in nhiệt có nhiều loại khác nhau, phù hợp với kích thước của từng máy in nhiệt Trong nghiên cứu này, chúng tôi tập trung vào việc sử dụng giấy in nhiệt khổ nhỏ 57mm.
Máy in nhiệt sử dụng giấy in nhiệt khổ 57mm và đường kính 45mm, loại giấy OJI từ Nhật Bản Giấy in nhiệt này hoạt động theo phương pháp cảm nhiệt trực tiếp, không cần băng mực, mang lại sự tiện lợi trong quá trình in ấn Bề mặt giấy có độ mịn và sáng cao, đảm bảo chất lượng in rõ nét, đồng thời giấy cũng bền và dai, được đóng gói đúng quy cách với đủ độ dài.
TÍNH TOÁN VÀ THIẾT KẾ
Mô hình máy in nhiệt là giải pháp thực tế phổ biến cho các cửa hàng, siêu thị và hãng taxi, vì vậy thiết kế của nó cần đáp ứng các yêu cầu cụ thể để đảm bảo hiệu quả sử dụng.
Dữ liệu ban đầu được nhập từ phần mềm máy tính và sau đó được gửi đến vi điều khiển, giúp cập nhật và điều khiển đầu in nhiệt để in ra giấy.
- Dữ liệu nhiệt độ hiện tại của đầu in nhiệt sẽ hiện lên giao diện C#.
- Mẫu in phải đảm bảo in được rõ, không bị mờ.
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
3.2.1 Thiết kế sơ đồ khối hệ thống
Sơ đồ khối phần cứng máy in bao gồm các khối sau:
KHỐI ĐIỀU KHIỂN ĐỘNG CƠ
Hình 3.1: Sơ đồ khối phần cứng
Phần cứng máy in nhiệt bao gồm đầu in, vi điều khiển, khối điều khiển động cơ,
- Khối nguồn: Có chức năng cung cấp nguồn cho toàn thiết bị.
Vi điều khiển là bộ xử lý trung tâm đóng vai trò quan trọng trong việc điều khiển mọi hoạt động của máy in Nó không chỉ điều khiển đầu in thực hiện quá trình in mà còn giao tiếp với máy tính để nhận dữ liệu cần in.
- Đầu in: Có chức năng thực hiện việc in dưới sự điều khiển của vi điều khiển.
- Khối điều khiển động cơ: Có chức năng điều khiển động cơ bước trong đầu in.
Cổng kết nối với máy tính bao gồm ba dây: dây đất, dây truyền dữ liệu và dây nhận dữ liệu, được sử dụng để kết nối vi điều khiển với máy tính và cung cấp nguồn cho vi điều khiển.
3.2.2 Tính toán và thiết kế mạch
Thiết kế khối đầu in
Máy in nhiệt được sử dụng phổ biến để in hóa đơn tại siêu thị, tạp hóa và cửa hàng nhỏ, với thông tin in ấn ít và tiết kiệm diện tích giấy Chúng tôi chọn loại giấy in nhiệt bề rộng 57mm nhằm tiết kiệm không gian và chi phí so với các loại giấy in bề rộng 80mm hay 180mm.
Để đáp ứng nhu cầu in giấy rộng 57mm, chúng tôi đã lựa chọn một số loại đầu in nhiệt từ các hãng nổi tiếng Hãng Seiko cung cấp các module như LTP01-245, LTP02-245 và LTPJ245D Trong khi đó, hãng Fujitsu cũng có một số loại module phù hợp như FTP-627USL401, FTP-627MCL103 và FTP-628MCL101/103.
Sau quá trình tìm hiểu, chúng tôi đã chọn module đầu in FTP-628MCL103 của Fujitsu do tính phổ biến và giá cả hợp lý khoảng 400.000 VND (bao gồm vận chuyển về Việt Nam) Mặc dù các đầu in có cấu tạo và chức năng chân tương tự nhau, nhưng FTP-628MCL103 được sử dụng và bán rộng rãi trên mạng Thông tin về datasheet của module này cũng dễ dàng tìm thấy trên trang web của Fujitsu bằng cách tìm kiếm tên sản phẩm.
Để đáp ứng yêu cầu của đề tài liên quan đến việc in dữ liệu chữ, in logo và đo nhiệt độ đầu in, chúng tôi đã lựa chọn các chân của đầu in FTP-628MCL103 một cách hợp lý, dựa trên thông tin từ bảng 2.4.
Chân 27, 28, 29, 30 (MT A+, MT A-, MT B+, MT B-) được kết nối lần lượt với các ngõ ra OUT 11, OUT 12, OUT 21, OUT 22 của module L298, nhằm điều khiển tốc độ và số bước của động cơ bước trong đầu in.
Chân 20, 19, 18, 14, 13, 12 (STB1, STB2, STB3, STB4, STB5, STB6) được kết nối với chân 23, 25, 27, 29, 31, 33 của Arduino Mega 2560 Theo datasheet, các chân STB cần mức điện áp cao từ 30V đến A và mức thấp từ -0.5V đến A để hoạt động Sáu chân digital 23, 25, 27, 29, 31, 33 trên Arduino Mega 2560 được sử dụng để xuất tín hiệu điều khiển đóng/mở cho 6 STB, và vị trí của chúng nằm ở phía ngoài của Arduino Mega 2560, giúp việc kết nối trở nên dễ dàng hơn.
- Chân 24, 23, 9, 8 (DO, LAT, CLK, DIN) : 4 chân này kết nối lần lượt với các chân
Để truyền dữ liệu trên Arduino Mega 2560, sử dụng các chân 50 (MOSI), 51 (MISO), 52 (SCK) và 53 (SS) theo chuẩn SPI Cụ thể, dữ liệu từ chân DO của thiết bị ngoại vi sẽ được gửi qua chân MOSI, trong khi dữ liệu vào chân DIN sẽ được nhận từ chân MISO Chân CLK của thiết bị ngoại vi được kết nối với chân SCK của Arduino để đảm bảo đồng bộ hóa xung, và chân LAT của thiết bị ngoại vi, được nối vào chân SS, sẽ kiểm soát phép truyền dữ liệu.
Theo datasheet, nguồn cấp cho chân 6, 7, 25, 26 (VH) tối đa là 8.5V Trong quá trình thực hiện, chúng tôi điều chỉnh nguồn lên 8.3V để dữ liệu in được rõ nét Chúng tôi đã gắn thêm tụ phân cực 47µF giữa chân nguồn VH và chân 10, 11, 21, 22 (GND) nhằm giúp dòng điện ổn định hơn.
- Chân 17 (TM) của đầu in được nối với chân analog A0 của arduino để đo nhiệt độ của đầu in.
Hình 3.2 Sơ đồ mạch kết nối đầu in
Khối điều khiển động cơ của đầu in sử dụng động cơ bước loại lưỡng cực, do đó cần sử dụng các IC chuyên dụng như L298 hoặc A4988 để điều khiển, vì vi điều khiển không thể thực hiện trực tiếp Trong lập trình Arduino, có hai thư viện hỗ trợ điều khiển động cơ bước là Stepper và AccelStepper Thông số kỹ thuật của Drive A4988 rất quan trọng cho việc điều khiển hiệu quả động cơ.
- 5 chế độ điều khiển bước: full, 1/2, 1/4, 1/8, 1/16.
Thông số kỹ thuật Module L298:
- Driver: L298N tích hợp hai mạch cầu H.
- Dòng tối đa cho mỗi cầu H là: 2A
- Điện áp của tín hiệu điều khiển: +5 V ~ +7 V.
- Dòng của tín hiệu điều khiển: 0 ~ 36mA.
- Công suất hao phí: 20W (khi nhiệt độ T = 75 ℃).
Chúng tôi đã chọn sử dụng module L298 để điều khiển động cơ trong đầu in, vì động cơ yêu cầu nguồn cấp từ 4.2 – 8.5V, trong khi Drive A4988 cần nguồn từ 8V – 35V, gây khó khăn trong việc cấp nguồn hợp lý Module L298 có đế tải nhiệt giúp giảm nhiệt độ IC trong quá trình điều khiển động cơ bước Khi lập trình Arduino với module L298 và thư viện Stepper, các câu lệnh trở nên đơn giản và dễ hiểu hơn so với việc sử dụng Drive A4988 với thư viện AccelStepper.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH 27
Hình 3.5 : Sơ đồ mạch kết nối động cơ
Thiết kế khối vi xử lý
Dựa vào các kiến thức đã học, chúng tôi lựa chọn ra 3 loại vi điều khiển PIC 16F887, module Arduino mega 2560, STM32F3 để điều khiển đầu in.
Hình 3.6 : Vi điều khiển PIC 16F887
Thông số cơ bản của vi điều khiển PIC 16F887:
- Tần số hoạt động: ngõ vào xung clock có tần số 20MHz.
- Bộ dao động nội chính xác: tần số từ 31 kHz đến 8Mhz.
- Bộ nhớ SRAM là 368 bytes.
- Bộ nhớ EEPROM là 256 bytes.
- Có 14 bộ chuyển đổi tương tự với độ phân giải 10 bit.
- Có bộ điều chế xung PWM.
- Hỗ trợ ADC 10 bit và có 14 kênh ADC.
- Hỗ trợ các giao thức truyền thông: USART, SPI, I2C.
Thông số cơ bản của vi điều khiển STM32F3:
- Sử dụng nhân 32 bit Cortex M4.
- Tần số hoạt động lên tới 72 MHz.
- Thạch anh nội lên tới 8Mhz.
- Hỗ trợ module thời gian thực.
- Hỗ trợ ADC và DAC 12 bit.
- Hỗ trợ các giao thức truyền thông: USART, SPI, I2C, CAN, USB.
Hình 3.7 : Vi điều khiển STM32F3
Thông số cơ bản của Arduino mega 2560:
- Số chân Digital: 54 ( 15 chân PWM).
- Giao tiếp UART: 4 bộ UART.
- Bộ nhớ Flash : 256 Kb, 8Kb sử dụng cho Bootloader.
Chúng tôi đã chọn sử dụng Arduino Mega 2560 để điều khiển đầu in dựa trên các yêu cầu kỹ thuật, vì cả ba lựa chọn đều đáp ứng được nhưng vi điều khiển PIC 16F887 và STM32F3 có nhiều tài nguyên hơn, gây lãng phí Arduino Mega 2560 có giá 250.000 VND, rẻ hơn so với STM32F3 (415.000 VND) và PIC 16F887 (45.000 VND), nhưng PIC cần thêm mạch nạp và kết nối với các thiết bị ngoại vi, tốn thời gian và công sức Arduino phổ biến nhờ hệ thống thư viện phong phú, chương trình biên dịch dễ sử dụng, hỗ trợ C++, và việc tìm kiếm thông tin liên quan đến Arduino trên mạng cũng thuận tiện hơn so với PIC 16F887 và STM32F3.