Mục lục:

Bộ phân phối dây tóc robot cho Arduino: 8 bước (có hình ảnh)
Bộ phân phối dây tóc robot cho Arduino: 8 bước (có hình ảnh)

Video: Bộ phân phối dây tóc robot cho Arduino: 8 bước (có hình ảnh)

Video: Bộ phân phối dây tóc robot cho Arduino: 8 bước (có hình ảnh)
Video: Tự học Arduino cơ bản | Bài 3 Sử dụng Driver L298N điều khiển động cơ DC 2024, Tháng bảy
Anonim
Image
Image

Tại sao lại là một công cụ cơ giới

Dây tóc của máy in 3D - thường gần như chắc chắn - được kéo bởi máy đùn trong khi cuộn được đặt gần máy in, tự do xoay. Tôi đã quan sát thấy sự khác biệt có ý nghĩa trong hành vi vật liệu tùy thuộc vào mức độ sử dụng, được gọi là cuộn dây tóc 1Kg. Ống sợi mới (đầy đủ) chảy gần như tốt nhưng lực tác dụng của máy đùn phải tương đối phù hợp: trọng lượng ít nhất là 1,5 Kg.

Động cơ máy đùn (hầu hết các trường hợp là bước Nema17) ha đủ công suất để thực hiện công việc nhưng hai bánh răng của máy đùn đẩy dây tóc sang phía đầu nóng trong khi làm việc thu thập các hạt của dây tóc do các lực tác dụng; điều này đòi hỏi phải bảo trì máy đùn thường xuyên để tránh tắc vòi phun. Các hạt này có xu hướng tách ra và trộn lẫn với sợi sạch trong khi nạp liệu, làm gia tăng các vấn đề về vòi phun và mài mòn vòi phun thường xuyên hơn; điều này xảy ra thường xuyên hơn với các vòi phun có đường kính 0,3 mm.

Khi cuộn dây tóc được sử dụng một nửa trở lên, các đường xoắn ốc của nó trở nên nhỏ hơn và trong một số điều kiện môi trường, dây tóc có xu hướng bị đứt quá thường xuyên. Các công việc in dài trở nên kém tin cậy và căng thẳng hơn; Tôi không thể để máy in hoạt động một mình trong suốt một đêm mà không điều khiển nó. Do đó, việc kiểm soát nguồn cấp dây tóc bằng các số liệu động cơ giải quyết một loạt vấn đề.

Bộ tài liệu hiện có trên Tindie.com

Bước 1: Nội dung Bộ công cụ

Nội dung bộ công cụ
Nội dung bộ công cụ
Nội dung bộ công cụ
Nội dung bộ công cụ

Bộ này bao gồm tất cả các bộ phận và cơ khí được in 3D để lắp ráp bộ phân phối dây tóc có động cơ. Thay vào đó, có hai phần tùy chọn: động cơ và bảng điều khiển động cơ.

Trong thiết lập của mình, tôi đã sử dụng động cơ chải bánh răng 12 V McLennan nhưng bất kỳ động cơ có bánh răng nào có đường kính 37 mm đều có thể lắp vừa vặn bên trong giá đỡ động cơ.

Màn trình diễn tốt nhất đạt được với tấm chắn Arduino TLE94112LE của Infineon (xem lại đầy đủ tại đây); bảng điều khiển động cơ DC này có thể hỗ trợ tối đa 6 bộ phân phối robot khác nhau cùng một lúc.

Tôi đã thử nghiệm toàn bộ hệ thống trên cả Arduino UNO R3 và bộ khởi động tương thích Arduino XMC1100 của Infineon và hệ thống đáp ứng rất tốt với cả hai bảng điều khiển vi mô.

Việc sử dụng lá chắn TLE94112LE được đề xuất nhưng không cần thiết. Bất kỳ bộ điều khiển động cơ DC nào cho Arduino - bao gồm cả dự án của riêng bạn! - có thể hoạt động tốt với công cụ này

Bộ dụng cụ được chia thành hai bộ thành phần vì hai phần được chế tạo để hoạt động cùng nhau. Nền tảng cơ sở, sẽ hỗ trợ cuộn dây tóc quay trên bốn ổ trục bánh xe tự do. Đế được cố định vào cảm biến trọng lượng để điều khiển cơ chế quay kích hoạt kích hoạt cũng như theo dõi các điều kiện của dây tóc: trọng lượng, mét và tỷ lệ phần trăm. Rất nhiều thông tin cũng như bộ lệnh hoàn chỉnh có thể truy cập được từ Arduino thông qua một thiết bị đầu cuối nối tiếp.

Công cụ bạn cần

Để hoàn thành việc lắp ráp, bạn cần một ít keo nhựa cứng cho một số bộ phận, một tuốc nơ vít và một bộ vít Allen.

Bước 2: Dự án và thiết kế

Dự án và thiết kế
Dự án và thiết kế
Dự án và thiết kế
Dự án và thiết kế
Dự án và thiết kế
Dự án và thiết kế

Dự án này là sự phát triển thứ ba của loạt máy phân phối dây tóc máy in 3D Một số lần trước, tôi đã tạo ra đế xoay để tối ưu hóa dòng chảy của dây tóc khi được kéo bởi máy đùn máy in 3D.

Mô hình thứ hai bao gồm một cảm biến trọng lượng để theo dõi thời gian thực việc sử dụng dây tóc bằng bảng Arduino. Dự án cuối cùng này bao gồm việc phát hành tự động dây tóc tùy thuộc vào nhu cầu của công việc máy in 3D. Nó dựa trên sự thay đổi trọng lượng ảo khi máy đùn bắt đầu kéo dây tóc. Sự kiện này kích hoạt bộ điều khiển vi mô thông qua cảm biến trọng lượng và cuộn dây tóc có động cơ bắt đầu giải phóng một số inch vật liệu sau đó giảm tốc và dừng lại.

Các thành phần đã được xuất ở định dạng STL và in 3D, sau đó được tinh chỉnh và lắp ráp lại với nhau. Tôi đã tạo một hỗ trợ tùy chỉnh để căn chỉnh phần chuyển động với đế. Thanh ray nhôm dài hơn cũng được sử dụng để hỗ trợ Arduino và tấm chắn động cơ để làm cho toàn bộ công cụ nhỏ gọn và dễ di chuyển.

Tạo thiết kế, tôi đã làm theo một loạt các giả định:

  • Làm cho công cụ tự động gần như đơn giản và dễ dàng tái tạo
  • Giảm càng nhiều càng tốt số lượng các thành phần không thể in 3D để tạo ra nó
  • Giảm càng nhiều càng tốt ứng suất tác động lên máy đùn trong khi in
  • Sử dụng bo mạch điều khiển vi mô chi phí thấp và dễ lập trình
  • Sử dụng cảm biến tải trọng để luôn kiểm soát mức tiêu thụ dây tóc và cho ăn dây tóc Quản lý tiếng ồn môi trường can thiệp vào các phép đo trọng lượng dây tóc

Đây là kết quả mà tôi đạt được.

Bước 3: Lắp ráp đế

Lắp ráp cơ sở
Lắp ráp cơ sở
Lắp ráp cơ sở
Lắp ráp cơ sở
Lắp ráp cơ sở
Lắp ráp cơ sở

Bước đầu tiên là lắp ráp chân đế với cảm biến trọng lượng.

  1. Chèn ống trục ổ trục nhỏ vào lỗ ổ trục
  2. Đặt hai đĩa phân tách sang hai bên của ổ trục
  3. Giới thiệu các thành phần bên trong giá đỡ ổ trục có kích thước "U" căn chỉnh các lỗ
  4. lắp vít Allen sang một bên và vòng đệm và đai ốc sang phía bên kia để đóng đai ốc mà không cần quá nhiều sức

Bạn nên lặp lại thao tác trên tất cả bốn gối đỡ ổ trục. Sau đó kiểm tra việc lắp ráp: các vòng bi phải quay tự do.

Bây giờ, cố định bằng vít Allen bốn gối đỡ vòng bi trên đế trên cùng với bốn lỗ điều chỉnh. Căn chỉnh các gối đỡ ổ trục để giữ chúng song song với nhau. Quy định khoảng cách tùy thuộc vào chiều rộng của các cuộn dây tóc của bạn.

Bước tiếp theo là lắp ráp thanh cảm biến trọng lượng giữ chân đế dưới và trên với nhau. Cảm biến trọng lượng có hai vít Allen khác nhau ở cả hai bên và bạn nên định hướng nó để có thể đọc được nhãn trọng lượng tối đa khi đế được định vị chính xác. Phần đế dưới cùng có thêm hai lỗ phụ để cố định bộ khuếch đại A / D cảm biến trọng lượng. Bộ khuếch đại dựa trên IC HX711 sẽ được cấp nguồn và kết nối với bảng Arduino thông qua bốn dây như trong bảng dữ liệu cảm biến đính kèm.

Bước cuối cùng là lắp ráp phần đế trên hoàn chỉnh lên trên cảm biến trọng lượng đã được cố định vào phần dưới cùng.

Thành phần đầu tiên đã được thiết lập!

Bước 4: Lắp ráp các bộ phận của động cơ chuyển động ống

Lắp ráp các bộ phận của động cơ chuyển động ống
Lắp ráp các bộ phận của động cơ chuyển động ống
Lắp ráp các bộ phận của động cơ chuyển động ống
Lắp ráp các bộ phận của động cơ chuyển động ống
Lắp ráp các bộ phận của động cơ chuyển động ống
Lắp ráp các bộ phận của động cơ chuyển động ống

Quy trình dễ dàng hơn để lắp ráp động cơ chuyển động ống chỉ là lắp ráp riêng biệt bốn thành phần quan trọng nhất sau đó hoàn thành công trình cuối cùng:

Động cơ DC giảm tốc trong hộp truyền động cơ

Động cơ DC phải được gắn ở phần trung tâm của giá đỡ cấu trúc; trước khi vặn động cơ, bạn nên quyết định đâu sẽ là mặt ưa thích của bạn, nơi đặt các bánh răng bên cạnh để căn chỉnh chính xác hai cánh tay giữ động cơ và bánh răng lớn được dẫn động.

Bánh răng lớn được điều khiển

Bánh răng lớn phải được vặn với khối hình nón cụt bằng bốn vít Allen. Bánh răng này sẽ bị chặn trên trục quay bởi đai ốc; phần hình nón sẽ giữ ống chỉ sợi được khóa sang phía bên kia bằng một đai ốc khóa tương tự bên trong một khối hình nón cắt ngắn khác. Giải pháp này không chỉ giữ cơ cấu chuyển động tại chỗ mà còn hướng tất cả trọng lượng vào đế và nó là trọng lượng bì của hệ thống.

Giá đỡ khóa ống chỉ

Đây là khối hình nón được cắt ngắn cùng với mặt khóa tương tự của bánh răng dẫn động sẽ giữ cơ cấu chuyển động vào ống sợi dây tóc. Về mặt tinh tế, đó là cuộn dây tóc hoàn thành tòa nhà trong khi hai cánh tay đỡ chuyển động tự do di chuyển ở phía bên kia.

Như được hiển thị trong hình ảnh, giá đỡ khóa ống chỉ được chế tạo thành hai phần. Đầu tiên, chèn đai ốc M4 vào phần lớn hơn của khối sau đó dán phần thứ hai (nắp) giữ các khối lại với nhau. Đai ốc vẫn bị giam bên trong ổ khóa sẽ được vặn vào trục dẫn động bằng ren.

Hộp vòng bi

Hộp bạc đạn có hai chức năng: trợ lực tốt cho các bánh răng truyền động và chuyển động êm dịu và không gây ồn. Để lắp ráp hộp ổ trục, hãy làm theo các bước đơn giản sau:

  1. Vặn đai ốc M4 đầu tiên vào một trong hai đầu của trục dẫn động của giá đỡ ống chỉ có ren
  2. Chèn ổ trục đầu tiên
  3. Chèn dấu phân cách
  4. Chèn ổ bi thứ hai
  5. Vặn đai ốc thứ hai và khóa vừa phải. Bộ phận ngăn cách bằng nhựa bên trong sẽ chống lại lực đủ để giữ cho mọi thứ ở đúng vị trí trong thời gian dài sử dụng.
  6. Lắp các ổ trục đã lắp ráp vào hộp ổ trục. Điều này nên được thực hiện một cách cưỡng bức để mang lại kết quả tốt hơn, vì vậy đừng mở rộng quá nhiều bên trong hộp khi tinh chỉnh các bộ phận bằng nhựa.

Chúng tôi đã sẵn sàng cho việc lắp ráp các thành phần cuối cùng!

Bước 5: Hoàn thành việc lắp ráp động cơ chuyển động

Hoàn thành lắp ráp động cơ chuyển động
Hoàn thành lắp ráp động cơ chuyển động
Hoàn thành lắp ráp động cơ chuyển động
Hoàn thành lắp ráp động cơ chuyển động
Hoàn thành lắp ráp động cơ chuyển động
Hoàn thành lắp ráp động cơ chuyển động

Chúng ta sắp hoàn thành việc lắp ráp kết cấu thì có thể chuyển sang kiểm tra chuyển động. Bây giờ bạn lại cần một ít keo. Hộp ổ trục - được lắp ráp ở bước trước - nên được lắp vào lỗ giá đỡ hộp của giá đỡ động cơ hai cánh tay và có thể được dán trước để vặn nắp hộp.

Cảnh báo: không dán keo nắp hộp, chỉ vặn vít. Nắp đậy rất quan trọng để chống bụi và phải có thể tháo rời để bảo trì trong tương lai.

Khi thiết lập này hoàn tất trước khi thêm bánh răng dẫn động (lớn hơn), hãy thêm vòng phân cách nhỏ: nó giữ cho bánh răng lớn thẳng hàng với bánh răng động cơ hoạt động như một vòng đệm để cố định cụm chuyển động được dẫn động.

Sau đó lắp bánh lái (cái nhỏ) vào trục động cơ. Lưu ý rằng có một mặt phẳng trong động cơ cũng như trong lỗ trung tâm bánh răng để giữ cho bánh răng quay được dẫn động bởi động cơ điện một chiều.

Bước cuối cùng, lắp bánh răng dẫn động lớn như trong hình và khóa nó vào trục ren bằng hai đai ốc M4.

Tòa nhà cơ khí đã hoàn thành!

Bước 6: Phần thưởng: Cách tôi Tùy chỉnh Hỗ trợ để Quản lý Bộ công cụ

Phần thưởng: Cách tôi tùy chỉnh hỗ trợ để quản lý bộ công cụ
Phần thưởng: Cách tôi tùy chỉnh hỗ trợ để quản lý bộ công cụ
Phần thưởng: Cách tôi tùy chỉnh hỗ trợ để quản lý bộ công cụ
Phần thưởng: Cách tôi tùy chỉnh hỗ trợ để quản lý bộ công cụ
Phần thưởng: Cách tôi tùy chỉnh hỗ trợ để quản lý bộ công cụ
Phần thưởng: Cách tôi tùy chỉnh hỗ trợ để quản lý bộ công cụ

Để giữ cho bộ dụng cụ ở đúng vị trí, tôi đã tạo một cấu trúc rất đơn giản dựa trên hai ống nhôm vuông để hỗ trợ cả cơ sở và cơ cấu chuyển động. Phần đế đã được cố định bằng bốn vít vào hai thanh ray (chiều dài khoảng 25 cm) và với một vài thanh đỡ nhỏ được in 3D, tôi đã cố định động cơ chuyển động không bị dịch chuyển để dễ dàng lắp và tháo cuộn dây tóc.

Bất kỳ ai cũng có thể chọn giải pháp cho riêng mình tùy thuộc vào cách sắp xếp bàn làm việc của mình.

Bước 7: Nối dây và kết nối với Arduino

Image
Image
Đấu dây và kết nối với Arduino
Đấu dây và kết nối với Arduino

Như đã giải thích trong bước nội dung Bộ công cụ, tôi đã sử dụng lá chắn động cơ DC Infineon TLE94112LE cho Arduino và kiểm tra động cơ trên cả Arduino UNO R3 và Bộ khởi động Infineon XMC110.

Nếu bạn sẽ điều khiển động cơ (cần các tính năng PWM) bằng bảng điều khiển DC mà bạn chọn, chỉ cần điều chỉnh hướng dẫn cho phù hợp với thông số kỹ thuật của tấm chắn của bạn.

Lưu ý về Lá chắn Arduino TLE04112LE

Một trong những giới hạn mà tôi đã gặp phải với các lá chắn điều khiển động cơ khác cho Arduino là chúng sử dụng các tính năng của cùng một bộ điều khiển vi mô (tức là các chân PWM và GPIO); điều này có nghĩa là bo mạch của bạn trở nên chuyên dụng cho các nhiệm vụ này trong khi chỉ có một số tài nguyên khác (MPU và GPIO) có sẵn cho các mục đích sử dụng khác.

Có khả năng đặt tay lên tấm chắn Arduino TLE94122LE để thử nghiệm trên đường, lợi thế rõ ràng nhất của vi mạch mà bo mạch dựa trên chỉ là tính hoàn chỉnh của nó. Bo mạch Arduino giao tiếp với lá chắn thông qua giao thức SPI chỉ sử dụng hai chân. Mọi lệnh bạn gửi tới lá chắn đều được IC TLE94112LE xử lý tự động mà không tiêu tốn tài nguyên MPU. Một tính năng đáng chú ý khác của bo mạch Infineon là khả năng điều khiển tối đa sáu động cơ chải với ba kênh PWM có thể lập trình. Điều này có nghĩa là Arduino có thể thiết lập một hoặc nhiều động cơ, khởi động chúng và tiếp tục làm việc với các tác vụ khác. Tấm chắn này được tiết lộ là hoàn hảo để hỗ trợ tối đa sáu cuộn dây tóc khác nhau cùng một lúc, chuyển động chỉ là một trong những nhiệm vụ do MPU phụ trách. trên mỗi bộ điều khiển dây tóc duy nhất với giá dưới 5 Euro.

Cảm biến trọng lượng

Sau khi thực hiện một số thí nghiệm, tôi thấy có thể kiểm soát toàn bộ hệ thống - giám sát và cho ăn tự động - chỉ với một cảm biến duy nhất; cảm biến lực (cảm biến trọng lượng) có thể đo động các biến thể trọng lượng của ống sợi tóc, cung cấp tất cả thông tin chúng ta cần.

Tôi đã sử dụng một cảm biến lực rẻ tiền trong phạm vi 0-5 Kg cùng với một bảng nhỏ dựa trên Bộ khuếch đại AD HX711, một vi mạch cụ thể để quản lý các cảm biến cảm biến lực. Không có vấn đề giao tiếp vì nó có sẵn một thư viện Arduino hoạt động tốt.

Ba bước để thiết lập phần cứng

  1. Chèn tấm chắn lên đầu bảng Arduino hoặc Bộ khởi động Infineon XMC110
  2. Kết nối dây động cơ với các đầu nối có vít Out1 và Out2 của tấm chắn
  3. Kết nối nguồn và tín hiệu từ bộ khuếch đại cảm biến trọng lượng HX711 AD với các chân Arduino. Trong trường hợp này tôi đã sử dụng chân 2 và 3 nhưng tất cả các chân miễn phí đều ổn.

Cảnh báo: p in 8 và 10 được bảo vệ bởi tấm chắn TLE94113LE cho kết nối SPI

Đó là tất cả! Sẵn sàng để thiết lập phần mềm? Tiến lên.

Bước 8: Bộ lệnh điều khiển và phần mềm

Bộ lệnh phần mềm và điều khiển
Bộ lệnh phần mềm và điều khiển
Bộ lệnh phần mềm và điều khiển
Bộ lệnh phần mềm và điều khiển
Bộ lệnh phần mềm và điều khiển
Bộ lệnh phần mềm và điều khiển
Bộ lệnh phần mềm và điều khiển
Bộ lệnh phần mềm và điều khiển

Có thể tải xuống phần mềm được tài liệu đầy đủ từ kho lưu trữ GitHub 3DPrinterFilamentDispenserAndMonitor

ở đây chúng tôi chỉ xem xét các phần có ý nghĩa nhất và các lệnh điều khiển.

Có một lý do được áp đặt bởi số lượng chân có sẵn trên Arduino UNO, tôi quyết định điều khiển hệ thống thông qua thiết bị đầu cuối nối tiếp USB; Vì mọi thiết bị cơ giới đều dựa trên cảm biến trọng lượng, nên việc điều khiển sáu bộ phân phối dây tóc khác nhau yêu cầu đọc dữ liệu từ sáu cảm biến trọng lượng. Mỗi cảm biến lực "tiêu thụ" hai chân, chân 0 và 1 được dành riêng (Tx / Rx) cho nối tiếp và chân 8 và 10 được dành riêng cho kênh SPI kết nối lá chắn TLE94112LE.

Tình trạng hệ thống

Phần mềm điều khiển hoạt động thông qua bốn trạng thái khác nhau, được định nghĩa trong filament.h:

#define SYS_READY "Sẵn sàng" // Hệ thống đã sẵn sàng

#define SYS_RUN "Đang chạy" // Filament đang được sử dụng #define SYS_LOAD "Load" // Đã tải cuộn #define SYS_STARTED "Started" // Ứng dụng đã bắt đầu // Mã trạng thái #define STAT_NONE 0 #define STAT_READY 1 #define STAT_LOAD 2 #define STAT_RUN 3

Tình trạng: Đã bắt đầu

Trạng thái này xảy ra sau khi thiết lập lại phần cứng hoặc khi hệ thống được bật nguồn. Lệnh bật nguồn (và lệnh gọi setup () khi bản phác thảo bắt đầu) khởi tạo các giá trị mặc định bên trong và sẽ được bắt đầu mà không có thêm trọng lượng trên nền tảng vì một phần của trình tự khởi tạo là việc thu thập khối lượng tuyệt đối để đạt được trọng lượng không vật lý.

Tình trạng: Sẵn sàng

Trạng thái sẵn sàng xảy ra sau khi thiết lập lại mềm (được gửi từ thiết bị đầu cuối nối tiếp). Nó tương tự như giống vật lý nhưng không có tính chất bì; lệnh đặt lại cũng có thể được khởi chạy khi hệ thống đang chạy.

Tình trạng: Đang tải

Trạng thái tải xảy ra khi lệnh tải được gửi bởi thiết bị đầu cuối. Điều này có nghĩa là cuộn dây tóc đã được tải và độ rách động đã được tính toán. Trọng lượng chính xác của dây tóc thu được bằng cách thiết lập cuộn trừ đi trọng lượng của đơn vị động cơ và cuộn trống.

Tình trạng: Đang chạy

Trạng thái này cho phép tính toán trọng lượng tự động và bộ phân phối sợi tự động.

Tin nhắn đầu cuối

Phiên bản hiện tại của phần mềm trả về các thông báo có thể đọc được của con người tới thiết bị đầu cuối tùy thuộc vào các lệnh. Thông điệp chuỗi được định nghĩa trong hai tệp tiêu đề: command.h (thông báo và phản hồi liên quan đến lệnh) và filament.h (chuỗi được trình phân tích cú pháp sử dụng để tạo thông điệp ghép).

Lệnh

Hai tệp khác nhau có liên quan đến quản lý lệnh: command.h bao gồm tất cả các lệnh và các tham số liên quan và filament.h bao gồm tất cả các hằng số và định nghĩa được sử dụng bởi hệ thống trọng số và trình phân tích cú pháp.

Trong khi các tính toán nội bộ được thực hiện tự động bằng phần mềm, tôi đã thực hiện một loạt lệnh để thiết lập hành vi của hệ thống và kiểm soát thủ công một số tham số.

Các từ khóa lệnh phân biệt chữ hoa chữ thường và chỉ nên được gửi từ thiết bị đầu cuối. Nếu một lệnh không phù hợp với trạng thái hiện tại của nó không được nhận dạng, một thông báo lệnh sai sẽ được trả về nếu không lệnh đó được thực hiện.

Các lệnh trạng thái

Thay đổi trạng thái hiện tại của hệ thống và hành vi cũng được điều chỉnh

Lệnh Filament

Sử dụng các lệnh riêng biệt, có thể thiết lập các đặc tính của dây tóc và cuộn dựa trên trọng lượng và kích thước phổ biến nhất hiện nay trên thị trường

Lệnh đơn vị

Đây là một số lệnh để thiết lập hình ảnh của các đơn vị đo lường theo gam hoặc cm. Thực tế là có thể loại bỏ các lệnh này và luôn biểu diễn dữ liệu trong cả hai đơn vị.

Lệnh thông tin

Hiển thị các nhóm thông tin tùy thuộc vào trạng thái hệ thống

Lệnh động cơ

Điều khiển động cơ để nạp hoặc kéo dây tóc.

Tất cả các lệnh của động cơ đều tuân theo một con đường tăng / giảm tốc. Hai lệnh feed và pull thực hiện một chuỗi ngắn như được định nghĩa trong motor.h bởi hằng số FEED_EXTRUDER_DELAY trong khi các lệnh feedc và pullc chạy vô thời hạn cho đến khi không nhận được lệnh dừng.

Các lệnh chế độ chạy

Trạng thái đang chạy chấp nhận hai chế độ; chế độ người đàn ông chỉ đọc định kỳ trọng lượng và động cơ di chuyển cho đến khi lệnh điều khiển động cơ không được gửi. Thay vào đó, chế độ tự động thực hiện hai lệnh nguồn cấp dữ liệu khi máy đùn cần thêm sợi.

Nguyên tắc dựa trên các kết quả đo trọng lượng, được xây dựng theo ngữ cảnh của môi trường cụ thể này. Chúng tôi cho rằng mức tiêu thụ dây tóc tương đối chậm, máy in 3D gần như chậm và dao động trọng lượng bình thường phụ thuộc vào độ rung của môi trường (tốt hơn nếu bạn không đặt toàn bộ nội dung vào máy in 3D)

Khi máy đùn kéo dây tóc thay vào đó, sự chênh lệch trọng lượng tăng đáng kể (50 g trở lên) trong rất ít thời gian, thường là giữa hai o ba lần đọc. Thông tin này được lọc bởi phần mềm để "khấu trừ" rằng dây tóc mới là cần thiết. Để tránh đọc sai, các biến thể trọng lượng trong khi động cơ đang chạy được bỏ qua.

Logic ứng dụng

Logic ứng dụng được phân phối trong.ino main (bản phác thảo Arduino) cùng với ba hàm: setup (), loop () và parseCommand (commandString)

Bản phác thảo sử dụng hai lớp riêng biệt: lớp FilamentWeight để quản lý tất cả các tính toán dây tóc và đọc cảm biến thông qua IC HX711 và lớp MotorControl giao tiếp với các phương thức cấp thấp của lá chắn TLE94112LE Arduino.

cài đặt()

Khởi chạy một lần khi bật nguồn hoặc sau khi thiết lập lại phần cứng, khởi tạo các phiên bản của các lớp, thiết lập phần cứng và giao tiếp đầu cuối.

vòng()

Chức năng vòng lặp chính quản lý ba điều kiện khác nhau.

Trong khi có hai lớp cho cảm biến trọng lượng và động cơ tương đối phức tạp, có một lợi thế là bản phác thảo kết quả thực sự dễ hiểu và dễ quản lý.

  1. Kiểm tra (ở chế độ tự động) nếu máy đùn cần thêm dây tóc
  2. Nếu động cơ đang chạy, hãy kiểm tra lỗi phần cứng (do TLE94112LE trả về)
  3. Nếu có sẵn dữ liệu nối tiếp, hãy phân tích cú pháp lệnh

parseCommand (commandString)

Hàm phân tích cú pháp kiểm tra các chuỗi đến từ chuỗi và khi một lệnh được nhận dạng, nó sẽ được xử lý ngay lập tức.

Mỗi lệnh hoạt động như một cỗ máy trạng thái tác động vào một số tham số của hệ thống; theo logic này, tất cả các lệnh được rút gọn thành ba hành động tuần tự:

  1. Gửi một lệnh đến lớp FilamentWeight (các lệnh trọng lượng) hoặc đến lớp MotorControl (các lệnh động cơ)
  2. Thực hiện phép tính để cập nhật các giá trị trọng lượng hoặc cập nhật một trong các thông số bên trong
  3. Hiển thị trên thiết bị đầu cuối và đầu ra thông tin khi quá trình thực hiện hoàn tất

Cài đặt thư viện HX711 Arduino, tải xuống phần mềm từ GitHub và tải nó lên bảng Arduino của bạn sau đó tận hưởng!

Đề xuất: