Mục lục:

Thiết kế bảng phát triển vi điều khiển: 14 bước (có hình ảnh)
Thiết kế bảng phát triển vi điều khiển: 14 bước (có hình ảnh)

Video: Thiết kế bảng phát triển vi điều khiển: 14 bước (có hình ảnh)

Video: Thiết kế bảng phát triển vi điều khiển: 14 bước (có hình ảnh)
Video: [V2] Một số KIT phát triển trong lập trình nhúng, lập trình vi điều khiển 2024, Tháng Chín
Anonim
Thiết kế Ban phát triển vi điều khiển
Thiết kế Ban phát triển vi điều khiển

Bạn có phải là nhà sản xuất, người có sở thích hoặc tin tặc quan tâm đến việc chuyển từ các dự án bảng điều khiển, IC DIP và PCB sản xuất tại nhà sang PCB nhiều lớp được chế tạo bởi các nhà hội đồng quản trị và bao bì SMD sẵn sàng để sản xuất hàng loạt không? Sau đó, hướng dẫn này là dành cho bạn!

Hướng dẫn này sẽ trình bày chi tiết cách thiết kế một PCB nhiều lớp, sử dụng một bảng nhà phát triển vi điều khiển làm ví dụ.

Tôi đã sử dụng KiCAD 5.0, là một công cụ EDA mã nguồn mở và miễn phí, để tạo sơ đồ và bố cục PCB cho bảng nhà phát triển này.

Nếu bạn không quen thuộc với KiCAD hoặc quy trình làm việc cho bố cục PCB, các hướng dẫn của Chris Gamell trên YouTube là một nơi khá tốt để bắt đầu.

CHỈNH SỬA: Một số ảnh phóng to quá, các bạn click vào ảnh để xem đầy đủ nhé:)

Bước 1: Suy nghĩ về bao bì thành phần

Suy nghĩ về bao bì thành phần
Suy nghĩ về bao bì thành phần

Thiết bị gắn trên bề mặt (SMD) có thể được định vị trên PCB bằng máy chọn và đặt, tự động hóa quá trình lắp ráp. Sau đó, bạn có thể chạy PCB thông qua lò nung lại hoặc máy hàn sóng, nếu bạn cũng có các thành phần lỗ.

Các dây dẫn thành phần cho các SMD nhỏ hơn cũng được giảm xuống, dẫn đến trở kháng, điện cảm và EMI thấp hơn đáng kể, một điều rất tốt, đặc biệt đối với các thiết kế tần số cao và RF.

Đi theo lộ trình lắp trên bề mặt cũng cải thiện hiệu suất cơ học và độ chắc chắn, điều này rất quan trọng để kiểm tra độ rung và ứng suất cơ học.

Bước 2: Chọn bộ vi điều khiển của bạn

Chọn bộ vi điều khiển của bạn
Chọn bộ vi điều khiển của bạn

Trung tâm của mọi bảng phát triển vi điều khiển, như Arduino và các dẫn xuất của nó, là vi điều khiển. Trong trường hợp của Arduino Uno, đây là ATmega 328P. Đối với ban phát triển của chúng tôi, chúng tôi sẽ sử dụng ESP8266.

Nó rẻ, chạy ở 80MHz (và có thể ép xung lên 160MHz) VÀ có một hệ thống con WiFi tích hợp. Khi được sử dụng như một bộ vi điều khiển độc lập, nó có thể thực thi một số hoạt động nhất định nhanh hơn tới 170 lần so với Arduino.

Bước 3: Chọn bộ chuyển đổi USB sang nối tiếp của bạn

Chọn bộ chuyển đổi USB sang nối tiếp của bạn
Chọn bộ chuyển đổi USB sang nối tiếp của bạn

Một bộ vi điều khiển sẽ cần một số cách để giao tiếp với máy tính của bạn, vì vậy bạn có thể tải các chương trình của mình lên đó. Điều này thường được thực hiện bởi một chip bên ngoài, giúp xử lý việc dịch giữa các tín hiệu khác biệt được sử dụng bởi cổng USB trên máy tính của bạn và tín hiệu kết thúc duy nhất có sẵn trên hầu hết các bộ vi điều khiển thông qua các thiết bị ngoại vi giao tiếp nối tiếp của chúng, như UART.

Trong trường hợp của chúng tôi, chúng tôi sẽ sử dụng FT230X, từ FTDI. Các chip USB to Serial từ FTDI có xu hướng được hỗ trợ tốt trên hầu hết các hệ điều hành, vì vậy đây là một lựa chọn an toàn cho bảng nhà phát triển. Các lựa chọn thay thế phổ biến (tùy chọn rẻ hơn) bao gồm CP2102 từ SiLabs và CH340G.

Bước 4: Chọn bộ điều chỉnh của bạn

Chọn bộ điều chỉnh của bạn
Chọn bộ điều chỉnh của bạn

Bo mạch sẽ cần được cấp nguồn ở đâu đó - và trong hầu hết các trường hợp, bạn sẽ thấy nguồn này được cung cấp thông qua một IC điều chỉnh tuyến tính. Bộ điều chỉnh tuyến tính rẻ, đơn giản, và mặc dù không hiệu quả như sơ đồ chế độ chuyển mạch, nhưng sẽ cung cấp nguồn điện sạch (ít tiếng ồn hơn) và dễ dàng tích hợp.

AMS1117 là bộ điều chỉnh tuyến tính phổ biến nhất được sử dụng trong hầu hết các bảng nhà phát triển và cũng là một lựa chọn khá tốt cho bảng nhà phát triển của chúng tôi.

Bước 5: Chọn Lược đồ nguồn HOẶC-ing của bạn

Chọn sơ đồ quyền lực HOẶC-ing của bạn
Chọn sơ đồ quyền lực HOẶC-ing của bạn

Nếu bạn định cho phép người dùng cấp nguồn cho bảng nhà phát triển thông qua USB và cũng cung cấp đầu vào điện áp thông qua một trong các chân trên bảng, bạn sẽ cần một cách để chọn giữa hai điện áp cạnh tranh. Điều này được thực hiện đơn giản nhất thông qua việc sử dụng điốt, hoạt động để chỉ cho phép điện áp đầu vào cao hơn đi qua và cung cấp năng lượng cho phần còn lại của mạch.

Trong trường hợp của chúng tôi, chúng tôi có một rào cản schottky kép, bao gồm hai điốt schottky trên một gói duy nhất cho mục đích này.

Bước 6: Chọn chip ngoại vi của bạn (nếu có)

Chọn chip ngoại vi của bạn (nếu có)
Chọn chip ngoại vi của bạn (nếu có)
Chọn chip ngoại vi của bạn (nếu có)
Chọn chip ngoại vi của bạn (nếu có)

Bạn có thể thêm chip vào giao diện với bộ vi điều khiển đã chọn để nâng cao khả năng sử dụng hoặc chức năng mà bảng nhà phát triển của bạn cung cấp cho người dùng.

Trong trường hợp của chúng tôi, ESP8266 chỉ có một kênh đầu vào analog duy nhất và rất ít GPIO có thể sử dụng được.

Để giải quyết vấn đề này, chúng tôi sẽ thêm một IC chuyển đổi từ Analog sang kỹ thuật số bên ngoài và một IC GPIO Expander.

Chọn một ADC thường là sự đánh đổi giữa tỷ lệ chuyển đổi hoặc tốc độ và độ phân giải. Độ phân giải cao hơn chưa chắc đã tốt hơn, bởi vì các chip có độ phân giải cao hơn vì chúng sử dụng các kỹ thuật lấy mẫu khác nhau thường sẽ có tốc độ lấy mẫu rất chậm. Các ADC SAR điển hình có tốc độ lấy mẫu vượt quá hàng trăm nghìn mẫu mỗi giây, trong khi các ADC Delta Sigma có độ phân giải cao hơn thường chỉ có khả năng lấy một số ít mẫu mỗi giây-một thế giới cách xa các ADC SAR nhanh và các ADC có đường ống nhanh như chớp.

MCP3208 là một ADC 12 bit, với 8 kênh tương tự. Nó có thể hoạt động ở bất kỳ đâu giữa 2,7V-5,5V và có tốc độ lấy mẫu tối đa là 100ksps.

Việc bổ sung MCP23S17, một bộ mở rộng GPIO phổ biến dẫn đến 16 chân GPIO có sẵn để sử dụng.

Bước 7: Thiết kế mạch

Thiết kế mạch
Thiết kế mạch

Mạch phân phối điện sử dụng hai điốt schottky để cung cấp chức năng OR-ing đơn giản cho đầu vào nguồn. Điều này thiết lập một cuộc chiến giữa 5V đến từ cổng USB và bất cứ thứ gì bạn muốn cung cấp cho chân VIN - người chiến thắng trong trận chiến điện tử sẽ xuất hiện trên đầu và cung cấp điện cho bộ điều chỉnh AMS1117. Một đèn LED SMD khiêm tốn đóng vai trò như một chỉ báo rằng nguồn điện trên thực tế đang được cung cấp cho phần còn lại của bo mạch.

Mạch giao diện USB có một hạt ferit để ngăn chặn EMI lạc hướng và tín hiệu đồng hồ nhiễu phát xuống máy tính của người dùng. Các điện trở nối tiếp trên các đường dữ liệu (D + và D-) cung cấp khả năng kiểm soát tốc độ cạnh cơ bản.

ESP8266 sử dụng GPIO 0, GPIO 2 và GPIO 15 làm các chân đầu vào đặc biệt, đọc trạng thái của chúng khi khởi động để xác định xem có bắt đầu ở chế độ lập trình hay không, cho phép bạn giao tiếp qua nối tiếp để lập trình chế độ khởi động chip hoặc flash, chế độ khởi động chương trình của bạn. GPIO 2 và GPIO 15 phải duy trì ở mức logic cao và mức logic thấp, tương ứng trong quá trình khởi động. Nếu GPIO 0 ở mức thấp khi khởi động, ESP8266 sẽ ngừng điều khiển và cho phép bạn lưu trữ chương trình của mình trong bộ nhớ flash được giao diện trong mô-đun. Nếu GPIO 0 cao, ESP8266 sẽ khởi chạy chương trình cuối cùng được lưu trữ trong flash và bạn đã sẵn sàng sử dụng.

Để đạt được mục tiêu đó, ban phát triển của chúng tôi cung cấp các công tắc khởi động và đặt lại, cho phép người dùng chuyển đổi trạng thái của GPIO 0 và đặt lại thiết bị, để đưa chip vào chế độ lập trình mong muốn. Một điện trở kéo lên đảm bảo rằng thiết bị khởi chạy ở chế độ khởi động bình thường theo mặc định, khởi động chương trình được lưu trữ gần đây nhất.

Bước 8: Thiết kế và bố trí PCB

Thiết kế và bố trí PCB
Thiết kế và bố trí PCB

Bố trí PCB trở nên quan trọng hơn khi có tốc độ cao hoặc tín hiệu tương tự. Các vi mạch tương tự đặc biệt nhạy cảm với các vấn đề nhiễu đất. Máy bay mặt đất có khả năng cung cấp tham chiếu ổn định hơn cho các tín hiệu quan tâm, giảm nhiễu và nhiễu thường gây ra bởi các vòng lặp trên mặt đất.

Các dấu vết tương tự phải được tránh xa các dấu vết kỹ thuật số tốc độ cao, chẳng hạn như các đường dữ liệu khác biệt là một phần của tiêu chuẩn USB. Các dấu vết tín hiệu dữ liệu vi sai phải được tạo ra càng ngắn càng tốt và phải phù hợp với độ dài vết. Tránh rẽ và rẽ để giảm phản xạ và biến thể trở kháng.

Sử dụng cấu hình sao để cung cấp năng lượng cho các thiết bị (giả sử bạn chưa sử dụng mặt phẳng nguồn) cũng giúp giảm nhiễu bằng cách loại bỏ các đường trở lại hiện tại.

Bước 9: Xếp chồng lên PCB

PCB Stack-Up
PCB Stack-Up

Bảng nhà phát triển của chúng tôi được xây dựng trên một ngăn xếp PCB 4 lớp, với mặt phẳng nguồn và mặt đất chuyên dụng.

"Xếp chồng" của bạn là thứ tự các lớp trên PCB của bạn. Việc sắp xếp các lớp ảnh hưởng đến sự tuân thủ EMI trong thiết kế của bạn, cũng như tính toàn vẹn của tín hiệu trong mạch của bạn.

Các yếu tố cần xem xét trong việc xếp chồng PCB của bạn sẽ bao gồm:

  1. Số lớp
  2. Thứ tự của các lớp
  3. Khoảng cách giữa các lớp
  4. Mục đích của mỗi lớp (tín hiệu, mặt phẳng, v.v.)
  5. Độ dày lớp
  6. Trị giá

Mỗi ngăn xếp đều có ưu điểm và nhược điểm riêng. Bảng 4 lớp sẽ tạo ra bức xạ ít hơn khoảng 15dB so với thiết kế 2 lớp. Các bo mạch nhiều lớp có nhiều khả năng có một mặt phẳng hoàn chỉnh, giảm trở kháng mặt đất và nhiễu tham chiếu.

Bước 10: Cân nhắc thêm về các lớp PCB và tính toàn vẹn của tín hiệu

Cân nhắc thêm về các lớp PCB và tính toàn vẹn của tín hiệu
Cân nhắc thêm về các lớp PCB và tính toàn vẹn của tín hiệu

Các lớp tín hiệu lý tưởng nên nằm cạnh nguồn điện hoặc mặt đất, với khoảng cách tối thiểu giữa lớp tín hiệu và mặt phẳng lân cận tương ứng của chúng. Điều này tối ưu hóa đường trở lại tín hiệu, đi qua mặt phẳng tham chiếu.

Mặt phẳng nguồn và mặt đất có thể được sử dụng để che chắn giữa các lớp, hoặc làm lá chắn cho các lớp bên trong.

Nguồn điện và mặt phẳng nối đất, khi được đặt cạnh nhau, sẽ dẫn đến điện dung giữa các mặt phẳng thường hoạt động có lợi cho bạn. Điện dung này tỷ lệ với diện tích PCB của bạn, cũng như hằng số điện môi của nó và tỷ lệ nghịch với khoảng cách giữa các mặt phẳng. Điện dung này hoạt động tốt để phục vụ các IC có yêu cầu dòng điện cung cấp dễ thay đổi.

Tín hiệu nhanh được lưu trữ lý tưởng trong các lớp bên trong của PCB nhiều lớp, để chứa EMI được tạo ra bởi các dấu vết.

Các tần số được xử lý trên bo mạch càng cao thì các yêu cầu lý tưởng này càng phải được tuân thủ nghiêm ngặt hơn. Các thiết kế tốc độ thấp có khả năng loại bỏ ít lớp hơn, hoặc thậm chí là một lớp duy nhất, trong khi thiết kế tốc độ cao và RF đòi hỏi thiết kế PCB phức tạp hơn với việc xếp chồng PCB chiến lược hơn.

Ví dụ, các thiết kế tốc độ cao dễ bị ảnh hưởng bởi hiệu ứng da hơn - đó là quan sát thấy rằng ở tần số cao, dòng điện không xuyên qua toàn bộ phần thân của một vật dẫn, do đó có nghĩa là có một tiện ích biên giảm dần để tăng độ dày của đồng ở một tần số nhất định, vì dù sao thì khối lượng dây dẫn bổ sung sẽ không được sử dụng. Ở khoảng 100MHz, độ sâu của da (độ dày của dòng điện thực sự chạy qua dây dẫn) là khoảng 7um, có nghĩa là thậm chí 1oz tiêu chuẩn. các lớp tín hiệu dày chưa được sử dụng hết.

Bước 11: Ghi chú bên lề về Vias

Lưu ý bên lề về Vias
Lưu ý bên lề về Vias

Vias tạo thành các kết nối giữa các lớp khác nhau của PCB nhiều lớp.

Các loại vias được sử dụng sẽ ảnh hưởng đến chi phí sản xuất PCB. Vias mù / cháy chi phí sản xuất cao hơn vias lỗ. Một lỗ xuyên qua các lỗ xuyên qua toàn bộ PCB, kết thúc ở lớp thấp nhất. Các vias Burried được ẩn bên trong và chỉ kết nối các lớp bên trong, trong khi các vias Blind bắt đầu ở một mặt của PCB nhưng kết thúc trước mặt còn lại. Vias lỗ là loại rẻ nhất và dễ sản xuất nhất, vì vậy nếu tối ưu hóa để sử dụng chi phí thì lỗ thông.

Bước 12: Chế tạo và lắp ráp PCB

Chế tạo và lắp ráp PCB
Chế tạo và lắp ráp PCB

Bây giờ bảng đã được thiết kế, bạn sẽ muốn xuất thiết kế dưới dạng tệp Gerber từ công cụ EDA mà bạn lựa chọn và gửi chúng đến nhà hội đồng để chế tạo.

Tôi đã có bảng của mình do ALLPCB chế tạo, nhưng bạn có thể sử dụng bất kỳ cửa hàng bán bảng nào để chế tạo. Tôi thực sự khuyên bạn nên sử dụng PCB Shopper để so sánh giá cả khi quyết định chọn nhà máy sản xuất bảng nào - vì vậy bạn có thể so sánh về giá cả và khả năng.

Một số nhà hội đồng quản trị cũng cung cấp PCB Assembly, bạn có thể sẽ cần nếu muốn thực hiện thiết kế này, vì nó sử dụng chủ yếu các bộ phận SMD và thậm chí cả QFN.

Bước 13: Đó là Tất cả mọi người

Đó là Tất cả mọi người!
Đó là Tất cả mọi người!

Bảng phát triển này được gọi là "Clouduino Stratus", một bảng dành cho nhà phát triển dựa trên ESP8266 mà tôi đã thiết kế để tăng tốc quá trình tạo mẫu cho một khởi động phần cứng / IOT.

Nó vẫn là một bản thiết kế lặp lại ban đầu, với những bản sửa đổi mới sẽ sớm ra mắt.

Tôi hy vọng các bạn đã học được nhiều điều từ hướng dẫn này!:NS

Bước 14: Phần thưởng: Các thành phần, Gerbers, Tệp thiết kế và Lời cảm ơn

[Vi điều khiển]

1x ESP12F

[Thiết bị ngoại vi]

1 x MCP23S17 GPIO Expander (QFN)

1 x MCP3208 ADC (SOIC)

[Kết nối và giao diện]

1 x FT231XQ USB sang nối tiếp (QFN)

1 x Đầu nối USB-B Mini

2 x tiêu đề Nữ / Nam 16 chân

[Nguồn] 1 x AMS1117 - 3.3 Bộ điều chỉnh (SOT-223-3)

[Khác]

1 x ECQ10A04-F Dual Schottky Barrier (TO-252)

2 x BC847W (SOT323)

Điện trở 7 x 10K 1% SMD 0603

Điện trở 2 x 27 ohm 1% SMD 0603

Điện trở 3 x 270 ohm 1% SMD 0603

Điện trở 2 x 470 ohm 1% SMD 0603

Tụ điện 3 x 0,1uF 50V SMD 0603

Tụ điện 2 x 10uF 50V SMD 0603

Tụ điện 1 x 1uF 50V SMD 0603

Tụ điện 2 x 47pF 50V SMD 0603

1 x LED SMD 0603 Xanh lục

1 x LED SMD 0603 Màu vàng

1 x LED SMD 0603 Xanh lam

2 x Công tắc Tact OMRON BF-3 1000 THT

1 x Hạt Ferit 600 / 100mhz SMD 0603

[Lời cảm ơn] Đồ thị ADC với sự hỗ trợ của TI App Notes

Điểm chuẩn MCU:

Hình minh họa PCB: Fineline

Đề xuất: