Làm thế nào để bạn tấn công một bảng mới?


24

Bạn nhận lại PCB của bạn từ nhà sản xuất. Đây là một thiết kế mới, tất nhiên bạn có tất cả các bộ phận chính, nhưng bạn biết sẽ có vấn đề. Có quá nhiều thứ có thể gây ra vấn đề, ví dụ:

  • Lỗi trong sơ đồ
  • Lỗi trong bố cục, không được tìm thấy bởi ERC / DRC
  • Các bộ phận bị thất lạc trong quá trình hàn
  • Quần short và những thứ tương tự trong quá trình hàn
  • bất kỳ sự kết hợp nào ở trên

Gần đây tôi đã có hai bảng tương đối phức tạp, về cơ bản tôi đã phải khử toàn bộ các bảng sau khi lắp ráp để xác định lỗi. Tôi tìm thấy các lỗi, nhưng các bảng là phế liệu.

Tôi đã cố gắng bắt đầu với tối thiểu các bộ phận và các bộ phận không thể hàn bằng tay (Tôi đang sử dụng miếng dán, khuôn tô và máy nướng bánh mì). Thông thường, đây sẽ là MCU, đầu nối JTAG và một vài tụ điện. Sau đó, tôi đang dần dần đưa vào các khu vực khác trong khi kiểm tra chúng cho các vấn đề.

Cách tiếp cận này hoạt động, nhưng thực sự chậm. Tôi cũng phải bình luận ra / nhận xét trong bất kỳ mã nào giả định sự hiện diện của một số phần cứng cụ thể.

Có ai có lời khuyên / đề xuất về cách tiếp cận PCB được thiết kế mới không?

EDIT: Tôi chủ yếu nghĩ về các loại vấn đề khiến bảng của bạn chết, như quần short đường ray điện bị ẩn hoặc bất cứ thứ gì làm hỏng MCU.


2
có thể là một ý tưởng tốt để bố trí nguồn cung cấp và phân phối điện của bạn, bao gồm cả số lượng lớn và bỏ qua nắp, sau đó áp dụng nguồn điện đầu vào cho bảng. nếu bạn có nắp tantalum ở phía sau, bạn sẽ nhanh chóng biết. sau đó kiểm tra xem MCU (và v.v.) có điện áp cung cấp đúng ở các chân phải hay không, trước khi chuyển sang để đặt các thiết bị đó.
JustJeff

1
Là một bình luận phụ, tôi nghĩ rằng đó là cách tốt để giữ cho mã của bạn 'mô-đun' như bạn đã làm (loại bỏ chức năng cho các thiết bị ngoại vi bị thiếu). Tôi luôn viết mã của mình sao cho nó sẽ hoạt động ở chế độ 'demo' mà bỏ qua các thiết bị ngoại vi bị thiếu nhưng vẫn chạy qua logic chương trình cho đến khi tôi chắc chắn các thiết bị ngoại vi được gỡ lỗi chính xác. Sau đó, chương trình của bạn ít nhất chạy để bạn có thể biết nếu nó đã được lập trình.
AngryEE

2
Khi bạn áp dụng nguồn điện đầu vào, hãy bắt đầu với giới hạn dòng điện thấp.
starblue

1
Nên là cộng đồng wiki.
Brian Carlton

1
@Morten - Ah, có ý nghĩa. Bạn nói đúng, mũ không có khả năng gây ra vấn đề.
Kevin Vermeer

Câu trả lời:


10

Tôi đã quyết định rằng việc xếp hàng trước thời hạn là một sự lãng phí thời gian trừ khi có những khía cạnh về hiệu suất của một phần mà bạn cần phải tự đo lường.

Tôi thậm chí nghĩ rằng xây dựng bảng thành từng mảnh là một sự lãng phí thời gian. Việc gỡ lỗi phần cứng ban đầu chỉ mất một hoặc hai ngày. Bất kỳ vấn đề tinh tế nào sẽ không xuất hiện cho đến khi tích hợp phần mềm. Tôi thà gỡ lỗi một mạch (một mạch hoàn chỉnh) hơn là một vài lần giảm mạch đột xuất.

Chỉ cần xây dựng điều! Lắp ráp toàn bộ bảng và cấp nguồn cho nó. Nhìn vào điện áp cung cấp. Nó vẽ bao nhiêu mA? Phần nào đang cháy nóng? Phần nào ấm? Sau đó thử ghi chương trình cơ sở vào bất kỳ vi điều khiển nào trên bo mạch. Sau đó bắt đầu viết firmware. Nhận đồng hồ đi và chuyển một pin. Nhận truyền thông nối tiếp (hoặc bất cứ điều gì) lên. Bây giờ viết chương trình thử nghiệm cho mỗi thiết bị ngoại vi. Sau đó xây dựng lịch thi thử sản xuất và bắt đầu viết phần sụn "thực".


Chỉnh sửa:

Tìm đường ray bị kẹt

Nếu đường ray cung cấp bị kẹt xuống đất, (đo 0 ohms với ohmmeter), hãy cấp nguồn cho nguồn cung cấp băng ghế dự bị. Đặt điện áp bình thường và giới hạn hiện tại là vài trăm mA. In ra thiết kế PCB trên giấy và tìm DMM đo microvolts. Đo microvolts bắt đầu từ các đầu cực cung cấp và ghi lại các giọt điện áp trên bản in PCB. Bằng cách xem xét sự khác biệt của microvolt, bạn có thể theo dõi chính xác nơi dòng điện đang đi mà không làm suy giảm hoặc cắt PCB. Kỹ thuật này tốt hơn so với sử dụng ohmmeter vì bạn có thể bơm rất nhiều dòng điện qua mạch, nhiều hơn bất kỳ ohmmeter bình thường nào sẽ cung cấp.

Một kỹ thuật tương tự hoạt động để tìm dấu vết ngắn trên một bảng dân cư khác. Chạy bảng một cách sử dụng một phạm vi để tìm dấu vết "kỹ thuật số" nằm trong phạm vi điện áp ở giữa.


Tôi đã sử dụng cách tiếp cận tương tự. Nó thường hoạt động, nhưng một vài lần nó đã quay lại cắn tôi khá tệ. Lần cuối cùng, nó là một khe dường như vô hại dưới một đầu nối được mạ xuyên suốt quá trình sản xuất và rút ngắn mặt đất và máy bay điện. Lỗi hoàn toàn của riêng tôi, nhưng đó là một lỗi khó chịu và khó tìm.
vữa

1
Để sử dụng phương pháp "Chỉ cần xây dựng mọi thứ", tôi nghĩ rằng tôi cần phải đặt hàng nhiều hơn một PCB.
vữa

Tôi đã thấy các đầu dò "squeaker" được sử dụng cho mục đích tương tự - ngắn gọn là không. Đáng buồn thay, tôi không thể tìm thấy một liên kết đến sản phẩm.
Toybuilder


20

Tôi làm điều đó bằng cách đưa vào bảng với mức tối thiểu ban đầu, làm cho nguồn cung cấp hoạt động trước, sau đó là MCU, sau đó thêm từng hệ thống con khác nhau và kiểm tra chúng trước khi tiếp tục, viết phần mềm kiểm tra khi cần thiết. Tôi không tìm thấy quá trình chậm cả.

Tôi có bảng của bất kỳ bảng trần phức tạp được thử nghiệm. Nó chi phí thêm nhưng nó có giá trị nó.


3
nó chỉ mất một lỗi lớn được tìm thấy theo cách này để làm cho nó nhanh hơn nhiều
Kortuk

11

Tôi chỉ có mạch bánh mì rất nhỏ. Sau đó, tôi hàn các mạch nhỏ lên bảng proto. Nếu làm việc với các chip SMD, nó sẽ giúp có được các bộ điều hợp SM-> Thru-lỗ.

Điều này về cơ bản cung cấp cho bạn "khối xây dựng". Sau đó, tôi hàn các khối mạch này vào bộ công cụ dev hoặc PCB cũ với MCU mà tôi đang cố gắng sử dụng. Nó trông có vẻ tàn bạo, với bốn hoặc năm PCB nhỏ khác nhau được treo trên một cái lớn hơn, nhưng nó hoạt động.

Khi tôi có các khối xây dựng làm việc trên bảng dev, tôi chuyển sang PCB. Nếu sơ đồ thay đổi hoàn toàn trong khi tạo PCB, tôi quay lại và làm lại các khối xây dựng và kiểm tra lại chúng trên bảng dev.


Bên cạnh đó, thay vì nhận xét mã, bạn nên xem xét bằng cách sử dụng các chỉ thị tiền xử lý #define và #ifdef. Nó giúp dễ dàng hơn đáng kể để thêm và loại bỏ các khối mã chức năng trong MCU.


Âm thanh như cách tôi làm điều đó mà tôi cảm thấy là một cách rất hay để phát triển một thiết kế. Nó cũng làm cho nó có thể tái sử dụng các bộ phận sau này.
Trygve Laugstøl

9

Với các bảng có độ phức tạp cao, việc phát triển một kế hoạch kiểm tra cũng quan trọng không kém so với việc phát triển bảng. Ngay cả khi bắt đầu thiết kế bảng, bạn nên biết những gì bạn sẽ kiểm tra, mặc dù việc triển khai chưa tồn tại; "Thiết kế để thử nghiệm" như họ nói. Hãy chắc chắn để mang tín hiệu quan trọng đến các điểm kiểm tra. Cố gắng phân vùng thiết kế sao cho các hệ thống con riêng lẻ có thể được đưa lên một cách độc lập hoặc gần như độc lập nhất có thể.


Hmm, đề nghị tuyệt vời! Vì một số lý do, tôi chưa thực sự nghĩ về "thiết kế để thử nghiệm" trong bối cảnh này trước đây.
chấp

2
bạn có thể đưa nó lên cấp độ tiếp theo bằng cách thiết kế khả năng tự kiểm tra. nó làm tăng thêm sự phức tạp của bảng của bạn, nhưng nó có thể giúp cho việc xác minh thiết kế của bạn dễ dàng hơn và thậm chí còn cung cấp cho bạn tùy chọn để bao gồm các bài kiểm tra tự bật nguồn trong sản phẩm của bạn.
JustJeff

8

Tôi cho rằng một câu hỏi chính là: Danh sách kiểm tra trước chuyến bay là gì trước khi bạn phát hành một bảng để sản xuất. Danh sách trước chuyến bay của tôi là:

  1. Sơ đồ thiết kế xem xét
    1. Tên mạng và cổng ngoại tuyến
    2. Chân cung cấp điện được kết nối
  2. Sơ đồ DRC
  3. Chà dấu chân
    1. Hoàn thành một phần số nhà sản xuất
    2. Số phần khớp với dấu chân trên PCB và sơ đồ chân trong sơ đồ
    3. Số pin dấu chân là "bên phải" và chính xác
    4. Kích thước dấu chân đôi kiểm tra kích thước lỗ, giải phóng mặt bằng, lưu giữ, vv
    5. Kết nối giao phối được định hướng chính xác; chân 1 đến 1, 2 đến 2, v.v.
  4. Kích thước và lỗ PCB
  5. PCB DRC
  6. Bản vẽ Fab có tất cả các lớp và gọi ra.

Câu trả lời này của cộng đồng wiki'd.


5

Những gì những người khác nói đều hợp lệ, nhưng tôi muốn thêm giá trị 2 xu của mình.

Điều tuyệt vời nhất để làm là không mắc lỗi ngay từ đầu. Có vẻ ngớ ngẩn khi đề cập đến điều này, nhưng tất cả quá thường xuyên này bị bỏ qua. Làm một đánh giá thiết kế sơ đồ và PCB. Có nhiều người nhìn vào thiết kế của bạn-- ngay cả các kỹ sư mới bắt đầu. Sử dụng kiểm tra quy tắc thiết kế trong phần mềm của bạn. Sử dụng bất kỳ tài nguyên có sẵn để đảm bảo thiết kế của bạn là tốt. Có thực hành kỹ thuật tốt để cải thiện tỷ lệ bắt lỗi của bạn.

Trong 20 năm qua, và đã thiết kế hàng chục và hàng chục PCB (một số có 14 lớp và 2.000 thành phần), tôi chỉ có TWO pcb không thể sử dụng được trong vòng nguyên mẫu đầu tiên. Tất nhiên tôi đã có lỗi, nhưng chỉ có hai bảng bị "gạch".

Trong mọi trường hợp, các nguyên mẫu đã được điền đầy đủ trước khi tôi bắt đầu gỡ lỗi chúng. Tôi sẽ ra khỏi đường ray điện để đảm bảo không có quần short. Sau đó làm một kiểm tra trực quan bằng kính hiển vi. Sau đó cấp nguồn cho nó. Sau đó, tôi bắt đầu thử nghiệm phương pháp và phiên gỡ lỗi - làm việc trên các phần nhỏ của mạch tại một thời điểm cho đến khi mọi thứ được kiểm tra và hoạt động. Trong hầu hết các trường hợp, tôi sẽ thực hiện một vài thay đổi và đi vào sản xuất hàng loạt với phiên bản tiếp theo của PCB.

Không ai có thể làm được điều này nếu không có những nỗ lực lớn để giảm các lỗi phía trước.


Một số nhà sản xuất (như 4pcb) thậm chí còn cung cấp các bài kiểm tra DFM miễn phí trên các máy tính của bạn. Những bài kiểm tra miễn phí này là một bổ sung hay cho DRC của công cụ PCB của bạn.
ajs410

4

Trên một thiết kế hoàn toàn mới, tôi thường đi theo cách tiếp cận phân chia và chinh phục.

Tôi cố gắng cách ly các khối kiến ​​trúc chính và tăng sức mạnh cho từng phần một cách độc lập bằng cách sử dụng các công tắc / nguồn cung cấp DC / chiết áp, vv để mô phỏng các phụ thuộc cần thiết để có được mạch chạy.

Cách tiếp cận này thường không khó khi bạn xử lý các bộ nguồn - hầu hết các bộ chuyển đổi chỉ cần đầu vào và có lẽ một vài tín hiệu logic để bắt đầu chuyển đi (và hy vọng không giải phóng khói ma thuật của sự thất bại).

Các bảng là vòng quay thứ hai / thứ ba (dọn dẹp) thường không cần sự siêng năng như vậy. Tôi chỉ có thể cách ly các phần của mạch đã được thay đổi, kiểm tra chúng một cách độc lập và lưu thử nghiệm phần còn lại của mạch để bật nguồn toàn bộ.

Đừng quên thiết bị bảo vệ cá nhân của bạn. Tôi rất khó chịu khi cấp nguồn cho mọi thứ với các bộ phận tiếp xúc mà không có kính bảo hộ (và đôi khi là nút tai ...)


1
+1 để bảo vệ mắt / tai! Tôi đã từng nghe một bộ phát nổ từ khắp phòng thí nghiệm - anh chàng làm việc trên đó có một điểm mù tạm thời trong tầm nhìn của anh ta trong khoảng 5 phút!
Toybuilder

3

Vâng, một trong những bước đầu tiên để ngăn chặn tình trạng lưới ngắn xảy ra ở nơi đầu tiên là sử dụng tốt việc kiểm tra quy tắc thiết kế trong phần mềm bảng của bạn. Cả hai ở cấp độ sơ đồ để đảm bảo các lưới không vô tình gắn kết với nhau khi chúng không nên; và ở cấp độ PCB để đảm bảo đủ khoảng cách giữa các lưới.

Nếu có bất kỳ yếu tố thiết kế nào chưa được kiểm tra, thay vì xử lý một thiết kế hoàn toàn mới trên một bảng, tôi cố gắng xây dựng các bảng thử nghiệm bằng chứng về khái niệm và bằng chứng hiệu suất trên PCB proto giá rẻ (như dịch vụ BareBonesPCB của Advanced Circuit - hai các lớp, không có mặt nạ hàn, khoảng 80 đô la cho một lượt 24 giờ).

Ngay cả khi tôi làm một bảng hoàn chỉnh, trên các bảng thế hệ đầu tiên, tôi thích đặt nhiều tiêu đề đột phá. Trong một số trường hợp, bạn có thể điền hai PCB giống nhau, một phần có phần "ổn định", với các chân tiêu đề thoát ra trên cùng; và một phần khác với phần "thử nghiệm", với các thùng chứa pin nhập cảnh phía dưới. Nếu mọi thứ đều ổn, bạn có thể hoàn thành việc điền vào cả hai bảng. Hoặc, bạn có thể quay các phiên bản mới của mạch "thử nghiệm" mà bạn có thể trao đổi tại chỗ.


tiêu đề là rất tốt, đặc biệt là nếu bạn cần làm lại hoặc thêm các tính năng sau này, hoặc bạn cần các đầu ra gỡ lỗi ngẫu hứng. Tôi cũng thích ý tưởng thực hiện BareBones cho các protos nhỏ ... có thể tự mình làm điều đó
ajs410
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.