Với Google Firebase, bạn có thể tạo ra các ứng dụng chat như Yahoo Message của ngày xưa hoặc như Facebook, Messager của ngày nay trong thời gian cực ngắn như khoảng một ngày thậm chí là vài giờ bởi đơn giản là bạn chỉ cần lo phần client còn phần server và database đã có firebase lo. Firebase là sự kết hợp giữa nền tảng cloud với hệ thống máy chủ cực kì mạnh mẽ tới từ Google, để cung cấp cho chúng ta những API đơn giản, mạnh mẽ và đa nền tảng trong việc quản lý, sử dụng database. Cụ thể hơn Google Firebase cung cấp tới chúng ta những chức năng chính sau:
Realtime Database – Cơ sở dữ liệu thời gian.
Firebase Authentication – Hệ thống xác thực của Firebase.
Firebase Hosting – Tạo tên miền.
Hình 2.10 Tạo Project mới trong Firebase
2.7.3 Những lợi ích từ Google
Triển khai ứng dụng nhanh: Với Firebase bạn có thể giảm bớt rất nhiều thời gian cho việc viết các dòng code để quản lý và đồng bộ cơ sở dữ liệu, mọi việc sẽ diễn ra hoàn toàn tự động với các API của Firebase. Không chỉ có vậy Firebase còn hỗ trợ đa nền tảng nên bạn sẽ càng đỡ mất thời gian rất nhiều khi ứng dụng bạn muốn xây dựng là ứng dụng đa nền tảng. Không chỉ nhanh chóng trong việc xây dựng database, Google Firebase còn giúp ta đơn giản hóa quá trình đăng kí và đăng nhập vào ứng dụng bằng các sử dụng hệ thống xác thực do chính Firebase cung cấp.
Bảo mật Firebase hoạt động dựa trên nền tảng cloud và thực hiện kết nối thông qua giao thức bảo mật SSL, chính vì vậy bạn sẽ bớt lo lắng rất nhiều về việc bảo mật của dữ liệu cũng như đường truyền giữa client và server. Không chỉ có vậy, việc cho phép phân quyền người dùng database bằng cú pháp javascipt
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 17
cũng nâng cao hơn nhiều độ bảo mật cho ứng dụng của bạn, bởi chỉ những user mà bạn cho phép mới có thể có quyền chỉnh sửa cơ sở dữ liệu.
Tính linh hoạt và khả năng mở rộng: Sử dụng Firebase sẽ giúp bạn dễ dàng hơn rất nhiều mỗi khi cần nâng cấp hay mở rộng dịch vụ. Ngoài ra firebase còn cho phép bạn tự xây dựng server của riêng mình để bạn có thể thuận tiện hơn trong quá trình quản lý.
Sự ổn định: Firebase hoạt động dựa trên nền tảng cloud đến từ Google vì vậy hầu như bạn không bao giờ phải lo lắng về việc sập server, tấn công mạng như DDOS, tốc độ kết nối lúc nhanh lúc chậm nữa bởi đơn giản là Firebase hoạt động trên hệ thống server của Google. Hơn nữa nhờ hoạt động trên nền tảng Cloud nên việc nâng cấp, bảo trì server cũng diễn ra rất đơn giản mà không cần phải dừng server để nâng cấp như truyền thống.
Giá thành Google Firebase có rất nhiều gói dịch vụ với các mức dung lượng lưu trữ cũng như băng thông khác nhau với mức giá dao động từ Free đến $500 đủ để đáp ứng được nhu cầu của tất cả các đối tượng. Chính vì vậy bạn có thể lựa chọn gói dịch vụ phù hợp nhất với nhu cầu của mình. Điều này giúp bạn tới ưu hóa được vốn đầu tư và vận hành của mình tùy theo số lượng người sử dụng. Ngoài ra còn không mất chi phí để bảo trì, nâng cấp, khắc phục các sự cố bởi vì những điều này đã có Firebase hỗ trợ.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 18
CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ 3.1. GIỚI THIỆU:
Trong chương này, trình bày về cách tính toán, sơ đồ khối, sơ đồ nguyên lý của các board mạnh của hệ thống: mạch điều khiển, giao tiếp, hiển thị và mạch nguồn.
3.2 YÊU CẦU VÀ SƠ ĐỒ KHỐI HỆ THỐNG: 3.2.1 Yêu cầu của hệ thống: 3.2.1 Yêu cầu của hệ thống:
Hệ thống có các chức năng sau:
o Đặt lịch đánh trống trên màn hình cảm ứng.
o Đặt lịch đánh trống trên app Android.
o Chỉnh tốc độ quay động cơ bằng TB6600.
o Giám sát hoạt động thông qua app Android.
o Xây dựng giao diện app Android và màn hình cảm ứng: Trang đăng nhập: hiển thị các thông tin người dùng. Trang điều khiển: hiển thị thời gian và thiết lập thời gian.
3.2.2 Sơ đồ khối và chức năng mỗi khối:
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 19
Chức năng từng khối:
Khối điều khiển trung tâm: Nhận dữ liệu từ khối ESP8266 và khối màn hình cảm ứng tiến hành xử lý rồi đưa ra lệnh điều khiển đến khối động cơ, gửi các dữ liệu cần thiết lên CSDL theo thời gian thực (Realtime) trên Firebase. Đồng thời nhận lệnh điều khiển từ app Android của người dùng.
Khối Module TB6600 nhận tín hiệu từ khối điều khiển trung tâm, đệm dòng để điều khiển động cơ.
Khối động cơ: nhận tín hiệu từ khối module TB6600 để hoạt động.
Khối Firebase – App Android: Nhận dữ liệu và lưu trữ vào CSDL Realtime Firebase. Truyền nhận dữ liệu với khối xử lý trung tâm thông qua app Android.
Khối nguồn: Cung cấp nguồn cho các khối hoạt động.
Khối màn hình cảm ứng thiết lập thời gian để gửi dữ liệu cho khối điều khiển trung tâm.
Khối ESP8266: khối trung gian để trao đổi dữ liệu giữa khối Firebase App Android và khối điều khiển trung tâm.
3.2.3 Hoạt động của hệ thống:
Khi hệ thống được cấp nguồn hệ thống sẽ hoạt động theo trình tự như sau:
Bước 1: Khi được cấp nguồn toàn bộ hệ thống sẽ khởi động và sẽ chờ tín hiệu từ khối điều khiển trung tâm.
Bước 2: Khối điều khiển trung bắt đầu tìm và kết nối với Wifi, sau đó tiến hành kết nối với Realtime database.
Bước 3: Khối điều khiển trung tâm đọc dữ liệu từ khối màn hình cảm ứng cũng như thông tin về khối động cơ và cập nhật lên Realtime database.
Bước 4: Khi nhận được dữ liệu mới các khối Realtime database cập nhật, xử lý và hiển thị trên giao diện trên app Android.
Bước 5: Khối điều khiển trung tâm tiến hành đọc dữ liệu từ app Android sau đó xử lý và đưa ra lệnh điều khiển cho khối động cơ thực thi.
3.3 THIẾT KẾ:
3.3.1 Khối điều khiển trung tâm chính:
Về thiết bị phần cứng, chúng ta có rất nhiều sự lựa chọn vi điều khiển phù hợp với mức độ muốn tìm hiểu và khả năng của mình. Hiện nay, tập trung chủ yếu vào các loại như PIC, AT mega, AVR, ARM…
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 20
Trong đó ARM có những ưu điểm để nhóm chọn làm được xây dựng theo kiểu cấu trúc mở: quy trình xử lý các thuật toán hiệu quả hơn để bảo vệ CPU không bị quá tải, tiết kiệm bộ nhớ và năng lượng:
Thumb ® -2 - Cải thiện đáng kể mật độ code.
DSP - Xử lý tín hiệu trực tiếp trong lõi RISC.
Jazelle ® - Java tăng tốc; TrustZone ®.
Môi trường phần cứng/phần mềm được bảo mật tối đa.
o Bộ xử lý: Thông qua những ứng dụng mạnh mẽ và đa năng, các vi xử lý chạy từ 1MHz đến1 GHz có cải tiến về cấu trúc nên mang lại hiệu năng xử lý cao trong các ứng dụng Multimedia và Java.
o Công cụ lựa chọn (Tools of choice): Bộ vi xử lý ARM có phạm vi ứng dụng rộng rải nhất vì luôn có sẵn các Tools hỗ trợ phần cứng và phần mềm cho bất kỳ cấu trúc 32-bit nào.
o Tiêu thụ điện năng thấp: Các giải pháp dùng vi xử lý ARM luôn tiêu thụ thấp nhất điện năng trong ngành công nghiệp và MIPS mỗi Watt. Điều này cho phép pin chạy lâu hơn với các tính năng rất tiên tiến.
o Chi phí silicon thấp: Bộ xử lý ARM và các sản phẩm IP khác làm cho việc sử dụng silicon và bộ nhớ hiệu quả hơn để tương thích với của các thiết bị không dây. Các đặc tính của cấu trúc như công nghệ lõi Thumb và Thumb- 2 làm giảm kích thước code, tối thiểu footprint và chi phí của silicon.
o Hỗ trợ rộng khắp: ARM là cấu trúc vi xử lý được luôn có được sự hỗ trợ tốt nhất. Vì có một loạt các hệ điều hành OS, Middleware và Tools đáp ứng sự lựa chọn phong phú của các giải pháp multimedia codec đã được tối ưu hóa cho bộ vi xử lý ARM, tất cả đều có sẵn trong ARM Connected Community.
Bên cạnh việc xử lý dữ liệu từ màn hình cảm ứng, khối xử lý trung tâm còn phải đảm bảo giao tiếp được với Wifi để có thể trao đổi dữ liệu với CSDL. Một trong những linh kiện đặc thù đảm nhiệm vai trò Wireless hiện nay tại thị trường Việt Nam đó là ESP8266. Tuy nhiên với số lượng module cần giao tiếp cũng như điều khiển phần động cơ thì các dòng sản phẩm của ARM rất phổ biến hiện nay với các mã nguồn, thư viện phong phú. Tiêu biểu cho dòng vi điều khiển này là board STM32F407VGT6.
Với những đặc điểm thuận lợi trên nhóm thực hiện quyết định chọn board NodeMCU v1.0 để đảm nhiệm chức năng trao đổi dữ liệu giữa khối điều khiển trung tâm và app Android để điều khiển động cơ cho đề tài của mình.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 21
Hình 3.2 Sơ đồ của STM32F407VG
3.3.2 Khối giao tiếp WiFi:
Khối này có nhiệm vụ nhận dữ liệu từ app Android và truyển cho khối điều khiển trung tâm thông qua UART.
Nhóm đã chọn ESP8266 để giao tiếp mới những tính năng nổi trội: Là kit phát triển dựa trên nền chíp Wifi SoC ESP8266 với thiết kế dễ dàng sửa dụng vì tích hợp sẵn mạch nạp sử dụng chíp CP2102 trên board. Bên trong ESP8266 có sẵn một lõi vi xử lý vì thế bạn có thể trực tiếp lập trình cho ESP8266 mà không cần thêm bất kì con vi xử lý nào nữa.
o Các lệnh cấu hình hoạt động của chip: Cho phép các bạn có thể kiểm tra trạng thái hoạt động, thực hiện reset chip, đọc thông tin firmware version, hoặc cấu hình thông số UART, Sleep mode v.v….
o Các lệnh xác lập thông tin mạng Wifi: Hỗ trợ các lệnh như chế độ hoạt động (Station, AP, AP+ station), đọc các danh sách các mạng Wifi xung quanh, cấu hình thông tin mạng Wifi sẽ kết nối, hoặc cấu hình DHCP, WPS, MDNS, smart config, … Đa phần các cấu hình liên quan đến Wifi đều được hỗ trợ đầy đủ cho các nhu cầu sử dụng thông thường cho đến nâng cao.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 22
o Các tập lệnh cấu hình TCP/IP: cho phép cấu hình TCP, UDP, SSL, các lệnh Ping, cấu hình timeout cho truyền dữ liệu, DNS, … Phần này hỗ trợ chủ yếu cho truyền nhận data.
Hình 3.3 Module ESP8266
*Thông số kỹ thuật:
IC chính ESP8266 Wifi SoC
Chip nạp CP2102.
Nguồn cấp 5VDC.
GPIO giao tiếp mức logic 3.3V.
Giao tiếp với ESP8266 qua chuẩn UART nên chỉ cần kết nối 2 tín hiệu TX/RX và 2 dây nguồn (VCC, GND).
Hình 3.4 Giao tiếp ESP8266 với STM32F407VG
Hai chân 3.3V và GND để cấp nguồn cho ESP8266.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 23
3.3.3 Khối công suất:
Động cơ bước không quay theo cơ chế thông thường, chúng quay theo từng bước nên có độ chính xác rất cao về mặt điều khiển học. Chúng làm việc nhờ các bộ chuyển mạch điện tử đưa các tín hiệu điều khiển vào stato theo thứ tự và một tần số nhất định. Tổng số góc quay của rôto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc độ quay của rôto phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi.
Mỗi động cơ bước sẽ có một thống cứng quan trọng, do nhóm sử dụng động cơ có số step là 200, 4.2A nên điều khiển ổn định đã chọn module TB6600 để điều khiển.
Khối này là mạch điều khiển động cơ bước, TB6600 sử dụng IC TB6600HQ/HG, dùng cho các loại động cơ bước: 42/57/86 2 pha hoặc 4 dây có dòng tải là 4A/42VDC. Ứng dụng trong làm máy như CNC, Laser hay các máy tự động khác
Hình 3.5 Module TB6600
*Thông số kỹ thuật:
Dòng vào: 0~5A.
Dòng ra: 0.5~4A.
Tín hiệu điều khiể: 3.3~24V.
Công suất max: 160W.
Micro Step: 1, 2/A, 2/B, 4, 8, 16, 32.
Khối lượng: 200g.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 24
Hình 3.6 Kết nối của module TB6600 với STM32F407VGT6
Giải thích sơ đồ:
GND, VCC: Dùng để cấp nguồn 24VDC.
𝐴+, 𝐴−, 𝐵+, 𝐵−: Kết nối 2 cặp cực của Module TB6600 với động cơ bước để điều khiển.
𝐸𝑁𝐴−, 𝐷𝐼𝑅−, 𝑃𝑈𝐿− : Kết nối với GND.
𝐸𝑁𝐴+ ∶ Chân cho phép động cơ hoạt động. Kết nối với chân PE3 của STM32F407VG.
𝐷𝐼𝑅+ ∶ Chân cho phép động cơ quay thuận, ngịch. Kết nối với chân PE2 của STM32F407VG.
𝑃𝑈𝐿+ ∶ Chân điều khiển cho động cơ hoạt động. Kết nối với chân PE4 của STM32F407VG.
3.3.4 Khối động cơ:
Khối này nhận tín hiệu điều khiển từ bộ xử lý trung tâm thông qua module TB6600 để tạo momen lực làm chuyển động cánh tay robot.
Động cơ bước không quay theo cơ chế thông thường, chúng quay theo từng bước nên có độ chính xác rất cao về mặt điều khiển học. Chúng làm việc nhờ các bộ chuyển mạch điện tử đưa các tín hiệu điều khiển vào stato theo thứ tự và một tần số nhất định. Tổng số góc quay của rôto tương ứng với số lần chuyển mạch, cũng như chiều quay và tốc độ quay của rôto phụ thuộc vào thứ tự chuyển đổi và tần số chuyển đổi. Và nhóm cần động cơ có momen lực 3N trở lên nên nhóm đã chọn SUMTOR 57HS11240A4D8.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 25
Hình 3.7 Động cơ bước 57HS11240A4D8
*Thông số kỹ thuật:
Dòng điện 4.2A
Kích thước: Động cơ Dài 112mm
Rộng 57mm
Đường kính trục 8mm để tạo momen quay
Hình 3.8 Kết nối động cơ với Module TB6600
GND, VCC: Dùng để cấp nguồn 24VDC.
𝐴+, 𝐴−, 𝐵+, 𝐵−: Kết nối 2 cặp cực của Module TB6600 với động cơ bước để điều khiển.
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 26
3.3.5 Khối điều khiển và hiển thị:
Khối này giúp hiển thị và người sử dụng có thể cài đặt thời gian sau đó gửi dữ liệu tới khối điều khiển trung tâm để điều khiển động cơ.
Thường sử dụng hai loại màn hình cảm ứng điện dung và cảm ứng điện trở:
Cảm ứng điện trở là công nghệ cảm ứng dựa trên áp lực của tay, bút cảm ứng hay bất kì vật nhọn nào tác động lên màn hình. Cấu tạo của loại màn hình cảm ứng này gồm một tấm kính hoặc nhựa acrylic mỏng bao phủ hai lớp tương tác là lớp dẫn xuất điện và lớp cảm biến điện trở. Hai lớp này được phân tách bởi một lớp đệm gồm các điểm và khoảng trống mà mắt thường không thể nhìn thấy được. Trên bề mặt của mỗi lớp tương tác được phủ một hợp chất gọi là ITO (oxit thiếc và Indi), dòng điện với các mức điện thế khác nhau sẽ được truyền qua hai lớp này. Trong quá trình sử dụng, khi có sự tác động lên màn hình, hai lớp tương tác sẽ “chạm” nhau và mạch điện sẽ được kết nối đồng thời cường độ dòng điện chạy qua mỗi lớp cũng sẽ thay đổi. Lớp phía trên sẽ lấy điện thế từ lớp phía dưới và ngược lại lớp phía dưới sẽ lấy điện thế của lớp phía trên để từ đó bộ điều khiển xác định được tọa độ xy của điểm cảm ứng.
Màn hình cảm ứng điện dung chỉ sử dụng một lớp tương tác (lưới điện) được bao phủ bởi một lớp dẫn xuất điện làm từ hợp chất ITO (oxit thiếc và Indi) tạo nên một ma trận lưới các tụ điện bao phủ toàn bộ màn hình và không có lớp đệm. Với đặc điểm này màn hình cảm ứng điện dung sẽ cho ánh sáng đi qua nhiều hơn, lên đến 90%. Cách thức hoạt động của loại màn hình này dựa trên sự hút điện của bàn tay khi chúng ta chạm lên màn hình.