Thiết kế mạch với tuổi thọ dài hơn


11

Tôi đã tìm hiểu về vi điều khiển pic trong một khoảng thời gian và có một lượng kiến ​​thức hợp lý về việc xử lý các thiết bị điện tử kỹ thuật số. Tôi đã làm việc trên các dự án điện tử cơ bản và bây giờ tôi cần phải làm việc trên một số ứng dụng thương mại.

Câu hỏi của tôi là về cách thiết kế và xây dựng các mạch đáng tin cậy và lâu dài. Tôi đã xây dựng một mạch điều khiển ánh sáng tự động lấy đầu vào từ LDR và ​​hiển thị giá trị của số đọc tương tự trên bảng bảy phân đoạn. Sau đó, nó thực hiện một số tính toán và điều khiển ánh sáng thông qua rơle. Mạch này cần được bật vĩnh viễn (24 giờ một ngày). Vài tháng đầu tiên mạch hoạt động hoàn hảo, nhưng sau khoảng 6 tháng thì nó bắt đầu gặp trục trặc. Nó hiển thị những thứ vô nghĩa trên màn hình 7 đoạn (nó chỉ hiển thị các phần của số), sau đó nó chiếu sáng bóng đèn trên đèn LED chỉ báo nhưng nó không bật rơle. Đây không phải là hành vi dự kiến. Vấn đề là nó sẽ không luôn luôn hoạt động theo cách đó. Đôi khi nó hoạt động hoàn hảo. Sau đó, nó lại bắt đầu trục trặc. Không có thứ tự chính xác mà nó hoạt động.

Bây giờ câu hỏi của tôi là tại sao các mạch này hoạt động theo cách này. Tôi cho rằng điều này có thể là do nó hoạt động cả ngày mà không có bất kỳ khoảng thời gian nào. Loại ứng dụng này cần phải hoạt động cả ngày. Tôi sử dụng PIC vì tôi chỉ biết về pic. Là atmal đáng tin cậy hơn pic? (Tôi đã hỏi vì atmal được sử dụng trong hầu hết các ứng dụng tự động hóa, thường xuyên hơn so với pic được sử dụng) Tôi cần một số lời khuyên từ một chuyên gia về điện tử kỹ thuật số. Làm thế nào là loại ứng dụng công nghiệp được xây dựng? Có bất kỳ quy tắc đặc biệt để làm theo? Làm thế nào để thiết kế mạch đáng tin cậy hơn? Bất kỳ lời khuyên hoặc hướng dẫn từ một chuyên gia sẽ được đánh giá cao. Cảm ơn bạn...

BIÊN TẬP

Như đã đề xuất trong các câu trả lời, tôi sẽ chỉnh sửa câu trả lời của mình bằng cách cung cấp thêm tài nguyên để giúp tìm ra các lỗi trong thiết kế.

Dưới đây là một hình ảnh mô tả các mạch trông như thế nào sau khi nó được xây dựng. Đó là một máy biến áp trung tâm 12V cung cấp năng lượng cho mạch. Nó được chỉnh lưu bằng bộ chỉnh lưu nửa sóng, sau đó được điều chỉnh bằng IC 7805.

nhập mô tả hình ảnh ở đây

Dưới đây là thiết kế sơ đồ.

nhập mô tả hình ảnh ở đây

Nếu cần thêm thông tin, tôi sẽ cung cấp mọi thứ cần thiết. Nếu chương trình là cần thiết, tôi sẽ thêm nó. Chương trình này hơi dài. Nó sử dụng các ngắt.


6
Nếu bạn sử dụng IC trong xếp hạng được chỉ định (xem biểu dữ liệu) thì hầu như bất kỳ nhà sản xuất nào cũng đảm bảo tuổi thọ 10 năm. Và đó là ở nhiệt độ cao. Bạn có thể đổ lỗi cho các thành phần nhưng tôi nghĩ vấn đề là có điều gì đó bất ngờ xảy ra trong thiết kế của bạn. Hoặc có thể một trong những con chip phải chịu sự phóng điện của ESD và hiện chỉ mới nổi lên. Bạn cần tìm thành phần bị lỗi trước khi có thể đưa ra lời khuyên hữu ích.
Bimpelrekkie

2
Ngoài những gì FakeMoustache nói, tôi nghi ngờ PIC là nguồn gốc của sự thất bại. Nhiều khả năng nó là các thành phần riêng biệt hoặc liên quan đến thiết kế mạch.
DigitalNinja

1
Tôi có PIC làm việc mọi lúc ở nhiều nơi. Không vấn đề. Vấn đề duy nhất tôi gặp phải là ăn mòn phích cắm và tụ điện điện tử cưỡng bức vật lý với chân bị hỏng.
Szidor 16/2/2016

1
Và BTW tôi đoán bạn có nghĩa là Atmel thay vì "atmal". Ngoài ra, PIC là một microC từ MicroChip (MicroChip tạo ra chúng). Atmel cũng là một nhà sản xuất microC, họ tạo ra Atmega microControllers. Cả hai chỉ đơn giản là IC kỹ thuật số được thực hiện trong các quy trình sản xuất tương tự và có độ tin cậy tương tự. Nếu một người ít nhiều đáng tin cậy hơn người kia, sẽ không ai mua chúng (với mức giá tương tự như họ).
Bimpelrekkie

3
Bạn cần phải đăng một sơ đồ, và lý tưởng là một hình ảnh của hệ thống gặp khó khăn. Tôi cũng nghi ngờ vấn đề của bạn là "tuổi thọ", nhưng lại thiếu một cái gì đó thực sự cơ bản, như độ sạch của nguồn điện hoặc EMI.
Techydude 16/2/2016

Câu trả lời:


17

Trước khi bạn bắt đầu nghĩ về việc chuyển đổi, hãy chắc chắn rằng bạn có một thiết kế chắc chắn tốt. Bạn cần bắt đầu suy nghĩ về tất cả các cách bạn có thể gặp vấn đề trong thiết kế của mình. Một cách tốt để làm điều này là ngừng suy nghĩ về bộ vi xử lý như một "chiếc hộp ma thuật" mà bạn đặt mã vào và thực hiện những gì bạn nói với nó và bắt đầu suy nghĩ về cách thức hoạt động của nó, ở cấp độ cổng và hệ thống. Bạn cần giữ cho bộ vi xử lý của bạn hạnh phúc.

  1. Nguồn - Nếu nguồn điện của bộ vi xử lý không sạch, nó sẽ không hoạt động chính xác. Điều đó có nghĩa là nhìn vào thiết kế PCB và đảm bảo rằng bạn có đường dẫn có độ tự cảm thấp tốt từ nguồn cung cấp năng lượng của bạn và đảm bảo bạn có đủ nắp nguồn gần với chip. Theo dõi và đo công suất trên thiết kế mà bạn biết không hoạt động với máy hiện sóng và vôn kế, đó có phải là công suất không? Bạn có thấy vấn đề xảy ra khi có sự tăng đột biến hoặc giảm sức mạnh không? Bạn có thấy gai hoặc dips trên dòng Vcc của bạn không?
  2. Code \ Clock - Có lỗi nào trong mã khiến nó không hoạt động chính xác không? Bạn đã xem mã trong một đơn vị không liên tục? Nó có xác minh (khớp) mã mà bạn có bây giờ không? Bạn đang nhận được sự xuống cấp flash? Còn đồng hồ thì sao? Sức mạnh thực sự có thể làm giảm đồng hồ theo thời gian . Là đồng hồ của bạn những gì nó cần phải được? Nếu bạn làm chậm đồng hồ, mã của bạn sẽ ngừng hoạt động?
  3. Bảo vệ môi trương. Bạn đang vận hành bộ vi xử lý trong thông số kỹ thuật mà nó được thiết kế cho? Là nhiệt độ không đổi trong các đơn vị thất bại? Có phải chúng ở trong một khu vực có các yếu tố môi trường như bụi, EMI, ESD hoặc Nhiệt độ có thể khiến nó bị hỏng. Là đầu vào của bạn được bảo vệ với thế giới bên ngoài, mọi người có thể hạ gục đơn vị không? Nhiệt sẽ làm những điều xấu cho thiết bị điện tử theo thời gian. Lấy máy ảnh nhiệt xem mọi thứ có bình thường không

Những gì bạn thực sự cần làm là tìm cơ chế thất bại, bạn cần biết tại sao nó thất bại. Một khi bạn biết tại sao nó thất bại, bạn có thể giải quyết vấn đề. Nếu bạn không thể tìm thấy điều đó thì bạn sẽ phải làm cho thiết kế của mình trở nên bất khả chiến bại để ngăn chặn bất kỳ vấn đề nào xảy ra. Nếu bạn không, bạn có thể chuyển đổi bộ vi xử lý và vẫn gặp vấn đề tương tự. Nếu bạn muốn chuyển đổi, ST tạo ra một số bộ vi xử lý tuyệt vời phù hợp hơn cho các ứng dụng công nghiệp.


2
Thêm bức xạ vào danh sách các yếu tố môi trường. Bức xạ ion hóa của hầu hết các loại (nguyên tử, quang tử, v.v.) có thể khiến các thiết bị điện tử gặp phải SEU hoặc các sự kiện đơn lẻ dẫn đến đầu ra bị cắt xén.
ndtsc

Như bạn đề nghị, tôi đã cập nhật câu trả lời của mình thêm các tài nguyên bổ sung. thiết kế sơ đồ và một hình ảnh nếu mạch. xin vui lòng bạn có thể tìm ra bất kỳ lỗi trong thiết kế.
thợ dệt danial 17/2/2016

Cảm ơn rất nhiều. Tôi có một ý tưởng và nhiều kiến ​​thức hơn về việc đào các mạch đáng tin cậy hơn. Tôi phải tìm hiểu thêm trước khi bắt đầu xây dựng các ứng dụng thương mại. Cảm ơn rất nhiều. Được chấp nhận là câu trả lời.
thợ dệt danial 17/2/2016

Tôi cho rằng phóng xạ không phải là một yếu tố, nhưng nếu bạn chạy những thứ này bên cạnh một nhà máy hạt nhân hoặc nguồn phóng xạ khác (hoặc trong không gian, nó sẽ trở thành một vấn đề nghiêm trọng với MCU thương mại có vài SEU một tuần, thậm chí cả Rad bộ xử lý cứng sẽ có SEU). Một MCU thông thường có thể có SEU nhưng tôi nghĩ nó sẽ theo thứ tự nhiều năm cho xác suất của điều đó trong một môi trường bình thường.
Điện áp tăng vọt

@danial thợ dệt 7805 sẽ không ngăn được việc mất điện với mũ bạn có. Hãy nói rằng mức tiêu thụ điện từ reg 5V là tối đa 100mA (bạn có thể chạy các calcs này nếu bạn đo dòng tối đa thực tế của mình), đó sẽ giống như tải 50Ohm. Giới hạn của bạn là 10uf nên tau = RC -> tau = 50 * 10uf = 0,5msec. Đó là khoảng thời gian cần thiết để bạn có một vấn đề. Bạn có thể muốn mua một "mụn cóc tường" giá rẻ của Trung Quốc với một vài đô la có thể chịu được một số dòng chảy từ nguồn điện AC. Hoặc bạn có thể sử dụng bộ chuyển đổi DC sang DC có thể khoan dung hơn. Nền tảng của bạn trông như thế nào trên PCB?
Điện áp tăng vọt

7

Vì bạn không nói, tôi đặt câu hỏi làm thế nào mạch bị rối được xây dựng về mặt vật lý - vì điều này nghe có vẻ chính xác là loại vấn đề thường thấy khi ai đó không hàn xây dựng mạch trên bảng mạch "đẩy để kết nối" tạm thời và rời khỏi nó trong một vài tháng

Nếu điều này giống với trường hợp của bạn, có vấn đề của bạn; nếu không, tôi vẫn nghi ngờ các kết nối kém, nhưng nó trở thành vấn đề "kỹ năng hàn" hơn là vấn đề "không hàn được gì".


3
Để thêm vào kỹ thuật hàn không đúng cách này có thể tạo ra các khớp có độ bền cơ học kém và các vấn đề khác khiến khớp bị hỏng sau một khoảng thời gian rút ngắn nhiều.
crasic

Cảm ơn rất nhiều. Tôi đã cập nhật câu trả lời của mình và nếu bạn có thể tìm ra bất kỳ lỗi nào trong thiết kế sẽ rất biết ơn.
thợ dệt danial 17/2/2016

Các mối hàn trông tốt, không có hiệu ứng được nhìn thấy trong hàn. Nó có thể là một vấn đề liên quan đến chương trình. Nhưng sau đó nó hoạt động tốt như thế nào
thợ dệt danial 17/2/2016

... cung cấp một hình ảnh của phía hàn? Đối với các vấn đề lập trình đôi khi hoạt động, đôi khi không, các tùy chọn khác nhau đã được đề cập trong các nhận xét về câu hỏi. Và có ổ cắm IC là một điểm hỏng tiềm năng không hàn (giữa ổ cắm và chân IC.) Ổ cắm đôi khi là một ý tưởng tốt, nhưng có thể gây ra sự cố. Nếu vấn đề trở nên tốt hơn trong một thời gian nếu bạn loại bỏ và thay thế IC, đó có thể là một phần của vấn đề. ... Ngoài ra, các tụ lọc bộ cấp nguồn của bạn trông hơi khác một chút - tất cả 33 pF giữa cầu và đầu vào bộ điều chỉnh? Có thật không?
Ecnerwal 17/2/2016

5

Bạn không có tụ điện tách rời trên nguồn cung cấp PIC, nhưng trên một bảng nhỏ như thế này có lẽ bạn sẽ thoát khỏi nó. Bạn cũng có thể muốn thêm bảo vệ màu nâu để PIC được đặt lại nếu điện áp xuống dưới ngưỡng.

Nhưng tôi đang xem mã của bạn.

Để bắt đầu, bạn nên kích hoạt watchdog trên micro. Nếu mã dừng hoạt động đúng, cơ quan giám sát sẽ khởi động lại nó.

Mặc dù rất có thể, bạn vừa gặp một lỗi ở đâu đó. Là một kỹ sư phần mềm nhúng chuyên nghiệp, tôi đoán nó liên quan đến các ngắt, bởi vì đó là nơi người mới bắt đầu thường mắc lỗi nhất. Khi mới bắt đầu, có rất nhiều lỗi bạn có thể mắc phải trong mã, vì vậy đó chỉ là nơi đầu tiên tôi tìm kiếm. (Đừng bị xúc phạm - Bản thân tôi đã mắc rất nhiều lỗi đó, kể cả khi tôi thực sự nên biết rõ hơn .-)


+1 cảm ơn rất nhiều. Bây giờ tôi hiểu rằng tôi đã làm một số sai lầm. Tôi cần học hỏi nhiều hơn nữa trước khi bắt đầu xây dựng các ứng dụng thương mại.
thợ dệt danial

3

Tôi đồng ý với các ý kiến ​​rằng bạn cần một tụ điện chất béo tốt ở hai bên của 7805. Đặc biệt là với một rơle ở đó. Tôi hy vọng đây là vấn đề gốc. Tôi cũng sẽ thêm một tụ điện tách rời trên các đường cung cấp điện của PIC.

Tôi cũng sẽ tìm kiếm các khớp khô.

Tôi cũng sẽ kiểm tra kỹ lưỡng chương trình của mình và sử dụng bất kỳ cơ sở giám sát nào ở đó.

Nhưng đây là một vài điều thú vị từ câu hỏi của bạn:

Nó cho thấy những thứ vô nghĩa trên màn hình 7 đoạn (nó chỉ hiển thị các phần của số)

Tôi đang cố gắng tìm ra những gì đã xảy ra. PIC đã bị rơi chẳng hạn?

Bây giờ, nếu tôi đọc sơ đồ của bạn một cách chính xác, thì để mỗi trong số 7 phân đoạn hiển thị sẽ hiển thị một cái gì đó , và một cái gì đó khác nhau và không đổi trên ít nhất hai trong số chúng, thì mỗi Q1, Q2 và Q3 vẫn phải được bật theo trình tự và các đầu ra cho các phân đoạn phải chính xác. Điều này sẽ cho tôi biết PIC của bạn vẫn đang chạy ít nhất một số mã của nó, nhưng bằng cách nào đó, đầu ra chữ số đã bị xáo trộn. Chẳng hạn, có lẽ nó không được đưa ra một chữ số 0-9 để hiển thị, mà là một chữ số 17 hoặc tương tự (trong đó nó có bố cục chữ số từ một vị trí bộ nhớ ngẫu nhiên).

Bạn nói:

Nó sáng bóng đèn trên đèn LED chỉ báo nhưng nó không bật rơle

Nhìn vào sơ đồ, sau đó trừ khi đầu ra PIC đang dao động hoặc một cái gì đó (không phải là cổng đầu ra hẹn giờ), đây có thể là một sự cố về điện (ví dụ như khớp khô), vấn đề PSU (xem bên trên tụ điện) hoặc bóng bán dẫn Q4 (có lẽ) không bão hòa hoàn toàn. Tôi chưa đọc bảng dữ liệu PIC, nhưng BC547 có I C tối đa 100mA (hy vọng là đủ để điều khiển rơle và đèn LED của bạn) và hFE là 120 ở mức đó, vì vậy bạn sẽ cần khoảng 1mA trong 10k do đó có thể là một ít. Tôi có thể thử 3k3.

Hơn nữa, bạn không có phương tiện gỡ lỗi hữu ích. Vì màn hình của bạn luôn hoạt động, có lẽ bạn có thể làm cho dấu chấm thập phân cuối cùng nhấp nháy một lần mỗi giây (hoặc tương tự) để biểu thị tất cả đều ổn.

Nếu tôi phải chịu một cú đâm điên cuồng trong bóng tối, tôi sẽ đoán rằng đặc biệt là khi rơle bật, mạch đang vẽ dòng điện đáng kể. Do không có tụ điện lớn ở phía đầu vào của 7805, khi điện áp AC vượt qua 0, 7805 sẽ không cung cấp bất kỳ dòng điện đầu ra nào (và thực sự có thể làm cạn kiệt tụ điện) - từ bảng dữ liệu 7805 ' điện áp đầu vào phải duy trì ở mức 2.0 V trên điện áp đầu ra ngay cả trong điểm thấp trên điện áp gợn đầu vào ' . Do đó, điện áp trên PIC sẽ bị giảm, có lẽ đủ để làm sập nó. Đặt một phạm vi của dòng 5V bên cạnh PIC và nếu bạn không thấy gì khác ngoài một dòng 5V đẹp, bạn biết bạn có vấn đề.


+1 cảm ơn rất nhiều. Câu trả lời này đã cho tôi một ý tưởng tốt về cách thiết kế mạch và một số sai lầm tôi đã làm. Ill kiểm tra addind các capasitor và cho kết quả.
thợ dệt danial

3

Bất cứ khi nào bạn có hành vi thất thường trong bộ vi xử lý, có hai nguồn chính cho vấn đề. 1) thiếu hoặc không đủ tụ "bỏ qua", 2) chân vi xử lý "nổi".
Mỗi "chip" cần phải có nắp bypass, ngay tại chân chip được kết nối với Vcc (+ 5v).
Bất kỳ pin nào không được sử dụng, phải được buộc cao hoặc thấp, nhưng không bao giờ được "nổi".

Tôi đồng ý rằng bạn không lái xe Q4 "đủ cứng", tôi khuyên bạn nên 1K cho R12.


+1 cảm ơn trong câu trả lời. Ill thử thêm các capasitor bipass. Có phải nó không cần thiết để gán giá trị cho các chân mà tôi không sử dụng trong thiết kế.
thợ dệt danial

Từ đúng là "tách" tụ điện, không phải "bỏ qua". Cũng đồng ý rằng chân nổi có thể làm những thứ buồn cười. Tôi muốn thêm một nguồn chính thứ ba - điều kiện thiết lập lại tinh ranh hoặc tương tự. Nhưng ngay cả sau đó, trong trường hợp này khi bạn có một người mới bắt đầu làm những việc phức tạp bị gián đoạn, tiền của tôi luôn nằm trên phần mềm.
Graham
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.