Dự án Giám sát và Điều khiển Dòng điện trong Altium Designer

Mark Harris
|  Created: Tháng Sáu 3, 2020  |  Updated: Tháng Mười Hai 12, 2020
Dự án Giám sát và Điều khiển Dòng điện trong Altium Designer

Trong một dự án trước, tôi đã thảo luận về các lựa chọn sử dụng Máy Biến Áp Dòng, và đã xây dựng một bộ khuếch đại/điều chỉnh chính xác một kênh cho nó. Trong dự án này, chúng tôi sẽ đưa ý tưởng đó lên một tầm cao mới.

Ngôi nhà tôi thuê chỉ có 240V/16A cho garage. Điều này khá đáng tiếc, bởi vì với tư cách là một Maker, tôi có một số đồ chơi thú vị trong garage, như máy CNC và máy cắt laser. Tôi có một số khuôn cần gia công cho một dự án lớn sắp tới, nơi tôi sẽ xây dựng một số bộ phận nhựa được gia cố bằng sợi carbon. Máy nén cũ của tôi khiến cầu dao tự động của garage ngắt ngay lập tức khi bật, vì vậy tôi đã phải xem xét lại các lựa chọn của mình để vận hành máy CNC - nó cần nhiều hơn 16A tôi có sẵn khi hoạt động ở tải đầy đủ. Vì lý do này, tôi đã mua một máy nén ít tiếng ồn tương đối nhỏ để giảm lượng dòng điện tiêu thụ, nhưng tôi cần một cách để đảm bảo rằng nó sẽ không bật khi trục chính của máy CNC đang chịu tải nặng, hoặc khi bộ làm mát của trục chính đang hoạt động.

Giải pháp của tôi là xây dựng một bộ giám sát dòng điện nhiều kênh, điều này sẽ cho phép tôi theo dõi lượng dòng điện tiêu thụ của bộ định tuyến và các thiết bị liên quan. Điều này nên cho phép tôi xác định khi nào là an toàn để bật máy nén nhỏ, tùy thuộc vào tải hệ thống khác. Tôi cần có dòng khí liên tục đến trục chuyển công cụ vì bạc đạn cần có không khí lưu thông qua chúng để giữ cho chúng sạch sẽ, và piston trong bộ chuyển đổi cần áp dụng áp lực liên tục lên công cụ để đảm bảo nó không trượt, vì vậy áp suất không khí là rất quan trọng.

Tôi sẽ có 6 kênh đầu ra cho bảng điều khiển để phù hợp với 6 kênh cảm biến dòng điện. Tôi không cần nhiều kênh như vậy cho dự án của mình, nhưng với tư cách là một thiết kế mã nguồn mở chung, bạn có thể muốn làm điều gì đó khác với bảng mạch so với tôi. Tôi cũng dự định sẽ có một màn hình trên bảng mạch, để hiển thị dòng điện thực tế.

Dự án này không phải là một công tơ điện. Nó không có khả năng giám sát điện áp. Do đó, nó cũng không thể giám sát hệ số công suất của tải. Yêu cầu của tôi hoàn toàn chỉ là để đảm bảo rằng tôi không làm trip cầu dao 16A của mình. Nếu bạn cần chức năng này, dự án này có thể là một điểm khởi đầu tốt, vì tôi sẽ thêm một máy biến áp nhỏ để cô lập điện áp AC và giảm nó xuống một mức dễ quản lý hơn.

Như thường lệ với các dự án của tôi, bạn có thể tìm thấy các tệp thiết kế trên GitHub; chúng được tự do sử dụng dưới giấy phép MIT rất thoáng. Điều này cho phép bạn tự do sử dụng dự án theo ý muốn của mình. Nếu bạn đang tìm kiếm các linh kiện được sử dụng để xây dựng dự án này, bạn có thể tìm thấy tất cả trong thư viện Altium Designer Library® miễn phí và mã nguồn mở của tôi.

Phía trên là thiết kế PCB mà bạn sẽ được đọc về trong Altium 365 Viewer; một cách miễn phí để kết nối với đồng nghiệp, khách hàng, và bạn bè với khả năng xem thiết kế hoặc tải xuống chỉ với một cú nhấp chuột! Tải lên thiết kế của bạn trong vài giây và có một cách tương tác để xem xét kỹ lưỡng mà không cần phần mềm cồng kềnh hay sức mạnh máy tính.

Sơ đồ Mạch Giám Sát Dòng Điện

Dù có nhiều linh kiện trên PCB cho dự án này, sơ đồ cho mạch giám sát dòng điện này lại khá đơn giản.

Cảm Biến Dòng Điện

Current sensor schematics for a current monitor
Sơ đồ mạch cảm biến dòng điện


Các cảm biến dòng điện này hoàn toàn giống với những cái mà tôi đã từng xây dựng trước đây, sử dụng các máy biến áp dòng Talema. Tôi có năm cảm biến 10A với sự khuếch đại tín hiệu 2:1, khi kết hợp với việc chỉnh lưu, cho phép tăng gấp bốn lần biên độ tín hiệu của tín hiệu AC. Cảm biến thứ sáu là một cảm biến 15A với sự khuếch đại 1:1, điều này nên cho phép theo dõi đầy đủ biên độ của động cơ thay đổi công cụ 1800W. Đây là một mạch chỉnh lưu chính xác cơ bản, tiêu chuẩn. Có những mạch chỉnh lưu chính xác tiên tiến hơn thêm vào một vài linh kiện phụ (như một diode song song với điện trở phản hồi). Đối với mục đích của dự án này, mạch cơ bản cung cấp nhiều hơn những gì tôi yêu cầu về độ chính xác và dung sai.

Microcontroller

Trái tim của dự án này là vi điều khiển, sẽ nhận tất cả các dữ liệu từ cảm biến và xác định đầu ra nào nên được bật. Tôi đã nghiêm túc xem xét dòng vi điều khiển STM32G mới, nhưng cuối cùng đã chọn NXP LPC11U35. Điểm hấp dẫn chính của LPC đối với tôi là chức năng bootloading qua USB, cho phép tôi nhanh chóng triển khai firmware mới lên bo mạch một khi nó được lắp đặt trong tủ điều khiển máy CNC của tôi. Gần như toàn bộ dòng LPC cho phép thiết bị khởi động như một thiết bị lưu trữ USB với ROM bootloader tích hợp sẵn, điều này cho phép firmware mới được sao chép vào ổ USB xuất hiện trên máy tính được kết nối, mà không cần bất kỳ phần cứng hay phần mềm bổ sung nào. Chức năng này sẽ cho phép tôi phát triển firmware tại văn phòng và dễ dàng chuyển nó lên bo mạch đã lắp đặt.

Nhược điểm chính của LPC11U35 là nó sử dụng ARM Cortex cũ hơn và chỉ có ADC 10 bit. Tôi cần kiểm tra xem ADC có đủ độ phân giải cho dự án này không.

Trong bài viết trước về biến áp dòng điện, tôi đã quên không lấy điện áp RMS của tín hiệu từ bộ khuếch đại, và chỉ ghi lại điện áp RMS của tín hiệu từ biến áp dòng điện.

DSC_0004_DxO_rs


Tôi đã tái thiết kế mạch biến áp dòng trên một bảng mạch thử nghiệm để lấy một số kết quả đo mới từ oscilloscope. Tôi sử dụng một rơ le trạng thái rắn được kích hoạt bởi nguồn cung cấp điện trên bàn làm việc của tôi để bật bộ sưởi gốm 1.1kW đặt trên một cái khay nướng úp ngược lại để cách nhiệt với bàn làm việc của tôi.

Scope capture for current monitor


Dấu vết màu xanh (kênh 2) là đầu ra của bộ chỉnh lưu chính xác, và dấu vết màu vàng (kênh 1) là đầu ra AC từ cảm biến dòng trước khi qua opamp.

Với bộ khuếch đại cảm biến dòng được xây dựng theo mạch trong dự án này, tôi có 1.299v RMS với một dòng điện lý thuyết 4.429A chảy qua nó. Điều này cho tôi một độ phân giải khoảng 293mV mỗi amp. Với một ADC 10 bit (1024 giá trị) và phạm vi 3300mv (độ phân giải 3.2mv), điều này cho tôi một độ phân giải có thể đọc được khoảng 0.01A, không tuyệt vời so với các ADC 14 hoặc 16 bit trong các vi điều khiển hiện đại hơn, nhưng vẫn đủ cho dự án này, và nhiều ứng dụng khác nữa.

mcu-sch


Có rất nhiều thứ diễn ra trên tờ sơ đồ này! Đáng chú ý ngay từ đầu là MOSFET P-Channel kéo lên trên dòng USB không cần thiết cho các phiên bản silicon mới nhất của dòng LPC11U, nhưng tôi sẽ để nó lại vì tôi có một số MCU cũ trong tay mà tôi có thể sử dụng để lắp đặt cho bảng mạch này và không muốn bị mất kết nối USB. Nếu bạn mua hàng tồn kho mới của LPC11U35, bạn có thể loại bỏ mọi thứ liên quan đến IC3.

Trong khi chúng ta đang nói về USB, tôi cũng có một diode TVS được thiết kế để bảo vệ các dòng USB 2.0 khỏi các sự kiện phóng điện tĩnh điện (ESD). Cổng kết nối USB là một vị trí tuyệt vời cho một lần phóng điện ESD trực tiếp vào vi điều khiển, vì vậy chúng là ưu tiên hàng đầu của tôi để bảo vệ.

supervisor schematic for a current monitor
Sơ đồ mạch giám sát


Khi chúng ta tiếp tục di chuyển xuống phía bên trái của sơ đồ mạch, tôi có một IC giám sát khởi động lại để đảm bảo nguồn cung cấp 3.3V ổn định trước khi khởi động MCU, với một nút để khởi động lại bảng mạch một cách thủ công. Tôi cũng có nút kích hoạt bootloader đi kèm với nó, vì tôi thích giữ mọi thứ cùng nhau một cách logic. Để đưa bảng mạch vào chế độ bootloader lưu trữ USB hàng loạt, chỉ cần giữ nút lập trình S2 và sau đó nhấn nút khởi động lại S1. Giữ nút lập trình trong khoảng một giây sau khi khởi động sẽ khởi động thiết bị vào thiết bị khách lưu trữ USB hàng loạt nếu cáp USB được kết nối.

swdio schematic current monitor


Ở góc trên bên phải của sơ đồ mạch, tôi cũng có một kết nối gỡ lỗi dây đơn chuẩn 10 chân (SWD) để cho phép bảng mạch được gỡ lỗi trong một IDE.

MCU input filter schematic for a current monitor
Bộ lọc đầu vào MCU


Cuối cùng, chúng ta sẽ xem xét bộ lọc đầu vào cho vi điều khiển. Chúng ta sẽ đề cập đến các kết nối IO trong một phần sau của bài viết, vì vậy đừng lo lắng rằng tôi đã bỏ qua hai bus và cách thiết lập chúng! Việc lọc nguồn điện cho bảng mạch này khá quan trọng, vì nó sẽ được lắp đặt và cung cấp điện bởi một máy móc công nghiệp tạo ra một lượng lớn nhiễu điện (cả dẫn và bức xạ). Có hơn 2000W nguồn cung cấp AC-DC, một ổ đĩa tần số biến thiên 2200W chạy một trục chính, servo DC, một máy làm mát công nghiệp và một bộ thu bụi, tất cả đều chạy từ cùng một nguồn AC. Do lượng nhiễu lớn, tôi đặt một hạt ferrite gần mỗi chân nguồn với hai tụ điện giảm xung - thông thường trong thiết kế vi điều khiển, tôi chỉ sử dụng một hạt ferrite và có thể vài tụ điện lớn, nhưng cho thiết kế này tôi muốn có các đường dẫn ngắn nhất có thể giữa vi điều khiển và bộ lọc. Vì các chân cung cấp điện của vi điều khiển nằm ở hai bên đối diện của thiết bị, tôi chọn xây dựng một bộ lọc cho mỗi chân để giữ các đường dẫn ngắn.

Ferrite cho mỗi chân nguồn được chọn để có điện trở càng cao càng tốt ở 100MHz, trong khi vẫn giữ điện trở DC thấp nhất có thể. Cơ bản, tôi đã cố gắng xác định xem mình có thể chấp nhận điện trở DC bao nhiêu, và sau đó tối đa hóa điện trở ở tần số cho điện trở DC đó.

Nguồn Cấp

Máy CNC router của tôi đã có nhiều nguồn cung cấp mà tôi có thể chọn, dải 5V là sạch nhất và ít được sử dụng nhất, vì vậy việc chạy bo mạch từ nguồn này là hợp lý. Là một lợi ích bổ sung, nó cũng cho phép tôi chạy bo mạch từ một cáp USB trên bàn làm việc của mình. Vì tôi chỉ mong đợi một trong những nguồn cung cấp này sẽ cung cấp điện cho bo mạch, tôi đã thêm một diode đơn giản vào mỗi đầu vào để hoạt động như một bảo vệ chống đảo cực và bảo vệ cơ bản chống lại việc cắm cả hai nguồn cùng một lúc.

Power supply unit schematic for a current monitor


Diode bảo vệ được chọn với điện áp sụt thấp khi thông để đảm bảo rằng một bộ điều chỉnh tuyến tính giá rẻ có thể được sử dụng mà không làm giảm điện áp đầu ra xuống dưới 3.3 volt mà tôi yêu cầu.

Giữa bộ điều chỉnh tuyến tính và diode bảo vệ, tôi đã thêm một bộ lọc pi. Tôi không chắc chắn về các tần số mà tôi sẽ phải đối mặt ở đầu vào, vì vậy tôi đã nhắm đến giá trị cảm kháng cao nhất có thể trong số các cuộn cảm có kích thước 4-5mm có sẵn. Tôi đang sử dụng cuộn cảm lõi ferrite có vỏ bọc để đạt được điện trở DC thấp nhất có thể, vì bo mạch này có thể tiêu thụ tới 1 amp với tất cả các LED và Optoisolators được cấp điện. Với yêu cầu về dòng điện và kích thước đã biết, chỉ cần tìm một cuộn cảm có giá trị cảm kháng cao và điện trở DC thấp mà cũng đáp ứng được yêu cầu về kích thước và dòng điện. Tôi đã thêm một tụ điện 10uF ở mỗi bên của cuộn cảm để hoàn thiện bộ lọc pi, với giá trị thấp nhưng vẫn có một lượng tụ điện đáng kể.

Đầu Ra Giám Sát Dòng Điện

Có lẽ tôi không cần phải cách ly quang học cho từng đầu ra, vì các rơ le trạng thái rắn mà tôi sử dụng đã có cách ly quang học tích hợp, nhưng vì đây là thiết kế mã nguồn mở nên tôi không biết liệu có ai đó sẽ kết nối trực tiếp một rơ le hoặc IO của bộ điều khiển công nghiệp vào bo mạch hay không. Như một lợi ích thêm, bộ cách ly mang lại cho tôi sự an tâm. Dòng điện cho LED trong bộ cách ly cao hơn khả năng điều khiển của ARM Cortex, vì vậy tôi sử dụng một MOSFET N-Channel rất rẻ để điều khiển LED trong bộ cách ly quang học và một cái bên ngoài có thể thấy để chỉ ra rằng đầu ra đã được kích hoạt.

Tôi thực sự chỉ cần hai đầu ra cho việc sử dụng trên thiết kế bo mạch này, nhưng tôi nghĩ rằng với một dự án mã nguồn mở thì có lẽ tốt hơn khi thiết kế này trở nên tổng quát hơn. Tôi đang thêm 6 kênh đầu ra để phù hợp với 6 kênh cảm biến dòng điện, vì vậy nếu nó được sử dụng trong một máy móc công nghiệp khác, nó sẽ cho phép bộ điều khiển kích hoạt hoặc vô hiệu hóa từng tải mà có cảm biến dòng điện.

output stage schematic for a current monitor


Tôi cũng đã sử dụng một diode TVS gần với 5V nhất có thể để bảo vệ bảng mạch khỏi ESD trên các cổng kết nối đầu vào. Tôi đang dự định sử dụng một số đầu nối JST KH đã được ép sẵn từ DigiKey để kết nối các rơ le trạng thái rắn của mình với bảng mạch này, chúng tương thích với JST PH. Tôi cũng đã thêm một khối cắm dây vào bảng mạch với khoảng cách chân 2.54mm, để cung cấp thêm tính linh hoạt cho các ứng dụng khác. Các dây đã được ép sẵn rất tốt cho tôi, vì tôi có thể cắt đôi một dây và kết quả là có hai cáp, sẵn sàng sử dụng với rơ le trạng thái rắn, giúp tôi không phải cắt các đoạn dây và lột hai đầu—tiết kiệm được vài giây trong quá trình lắp đặt! Nói một cách nghiêm túc, các đầu nối đã được ép sẽ an toàn hơn và ít có khả năng bị tuột ra hoặc mệt mỏi trên một máy có nhiều rung và rung động.

Hiển thị

LCD schematic for a current monitor


Khối sơ đồ cuối cùng của dự án này là màn hình LCD. Tôi quyết định sử dụng một màn hình đồ họa Newhaven tương đối rẻ tiền và bền bỉ, vì chúng có giao diện SPI đơn giản. Tôi rất hy vọng sử dụng màn hình có kích thước 128x64 pixel, nhưng bo mạch chỉ không có đủ chỗ, vì vậy tôi đã quay lại sơ đồ trong quá trình thiết kế bo mạch và thay đổi thiết kế để sử dụng màn hình 128x32 pixel. Nó cần nhiều tụ điện giảm nhiễu, nhưng ngoài ra không có nhiều yêu cầu về kết nối.

Thiết kế Đa kênh với Altium Designer

Một trong những khía cạnh quan trọng của dự án này là tôi có năm kênh cảm biến dòng điện giống hệt nhau và sáu kênh đầu ra giống hệt nhau, làm cho thiết kế đa kênh lý tưởng cho dự án này. Theo ý kiến của tôi, đây là điều mà Altium vượt trội so với các phần mềm ECAD khác mà tôi đã sử dụng. Các tính năng của nó cho phép việc định tuyến và bố trí bo mạch nhanh chóng và sơ đồ dễ đọc.

Thay vì sao chép các khối sơ đồ trên tờ sơ đồ cấp cao nhất của bạn, như được hiển thị bên dưới, tôi có thể làm cho sơ đồ sạch sẽ hơn chỉ bằng cách thêm một khối sơ đồ và sử dụng chức năng REPEAT trên nó.

Duplicated schematic blocks in a current monitor


Điều này kết hợp tất cả các khối sơ đồ thành một chồng ảo các thành phần. Đối với dự án này, nó cho phép một kết nối duy nhất từ vi điều khiển đến tất cả các cảm biến dòng điện. Nếu tôi cần thay đổi cổng trên khối biểu tượng sơ đồ, các thay đổi sẽ được áp dụng cho tất cả các kênh cùng một lúc, tiết kiệm thời gian nếu dự án của tôi cần thay đổi trong quá trình thiết kế.

repeated block in a current monitor schematic


Bằng cách sử dụng chức năng lặp lại, giờ đây tôi đã nhóm tất cả các kênh cảm biến của chúng tôi lại với nhau làm cho sơ đồ dễ đọc hơn, và nó sẽ làm cho việc sắp xếp PCB trở nên dễ dàng hơn nhiều khi tôi đến giai đoạn đó của dự án.

Repeated schematic section current monitor


Hãy cùng xem cách tận dụng tính năng này và sử dụng nó trong thiết kế của bạn.

Sử dụng Bus

Để các công cụ đa kênh hoạt động bạn cần sử dụng bus để kết nối các kênh lại với nhau. Trong sơ đồ vi điều khiển của chúng tôi, thay vì phải có một cổng cho mỗi kết nối ADC, chúng tôi sẽ có một cổng duy nhất cho tất cả các kết nối.

duplicated ports for a current monitor


Điều này làm cho sơ đồ của bạn gọn gàng hơn, không yêu cầu bạn phải chia tất cả 6 cổng ra.

Bạn có thể sử dụng Place -> Bus từ menu chính để đặt một bus thay vì một dây. Bạn có thể coi bus như một bó dây được kết hợp lại với nhau. Để bus hoạt động, bạn cần thông báo cho Altium biết có bao nhiêu kết nối đang chạy trên bus. Điều này được thực hiện bằng cách đặt một nhãn mạng (Place -> Net Label) trên bus, và đặt cho nó một tên như ADC[0..5]. Điều này có nghĩa là bus sẽ mang ADC0, ADC1, ADC2, ADC3, ADC4 và ADC5, dấu hai chấm trong ngoặc vuông có nghĩa là “từ 0 đến 5”.

MCU bus pins for a current monitor
Đặt kết nối bus trên chân MCU


Khi sử dụng chức năng lặp lại, bạn sẽ cần phải bắt đầu đánh số mạng của mình từ 1 thay vì 0. Tuy nhiên, đối với các ADC, tôi cũng có cảm biến dòng điện 15A, không phải là một phần của khối lặp lại, và do đó tôi bắt đầu từ 0. Kênh ADC 0 sẽ dành cho cảm biến 15A, với 1 đến 5 dành cho các kênh 10A. Bus OUT được đánh số từ 1 đến 6, vì mỗi cái sẽ là một khối lặp lại trên sơ đồ và bảng mạch.

Sau khi đặt tên cho bus của bạn, bạn cũng cần phải thêm nhãn mạng vào mỗi dây dẫn kết nối với bus. Các dây dẫn này nên có tên giống như tên của bus, với số kết nối ở cuối. Ví dụ, OUT1 và OUT3 được kết nối với bus OUT[1..6]. Những dây dẫn này được kết nối với bus thông qua Bus Entry (Chọn Place -> Bus Entry), đó là kết nối góc 45 độ bạn thấy. Bạn cũng có thể nhận thấy rằng OUT4, OUT5, và OUT6 thực sự không kết nối với dây bus một cách trực quan - tên của mạng là đủ cho Altium biết rằng những dây này sẽ chạy trong bus. Điều này rất tiện lợi và tránh làm cho sơ đồ trở nên khó đọc khi tất cả các dây dẫn cần phải chéo lên nhau.

Khối Sơ Đồ Đa Kênh

Giờ đây, khi bảng mạch microcontroller đã được thiết lập với các cổng liên quan, chúng ta có thể thêm nó vào một bảng mạch sơ đồ cấp cao. Cách dễ dàng để làm điều này không phải là sử dụng Place -> Sheet Symbol, mà là nhấp chuột phải vào sơ đồ của bạn và chọn Sheet Actions -> Create Sheet Symbol From Sheet. Điều này sẽ tạo ra một biểu tượng cho sơ đồ cũng như thêm tất cả các cổng bạn có trong sơ đồ, tiết kiệm thời gian.

CreateSymbolFromSheet


Hãy làm tương tự với bảng kênh của bạn, để bạn có cả hai biểu tượng bảng trong sơ đồ mạch. Bảng kênh đầu ra giờ đây cần được đổi tên, định dạng là:

REPEAT(tên, bắt đầu, kết thúc)

Theo mặc định, mỗi thành phần trong kênh sẽ được đặt tên là ‘designator_sheetname’. Cá nhân tôi thích đặt designator ở đầu tiên để có thể đọc nhanh bảng vật liệu và xem loại thành phần nào được dùng cho dòng đó—nhưng nếu bạn thích một định dạng khác thì có nhiều lựa chọn có sẵn tại Project -> Options -> Cửa sổ Multi-Channel. Nếu bạn vẫn không hài lòng với định dạng, bạn thậm chí có thể nhập vào định dạng designator của riêng mình sử dụng các biến từ các tùy chọn tiêu chuẩn.

change component format dialog in Altium Designer


Rất quan trọng là bạn cũng phải đặt tên cổng của mình trong REPEAT( ) nữa, nếu không dây sẽ chỉ kết nối mục đầu tiên của bus với mỗi cổng, thay vì tạo ra một cổng mới cho mỗi kênh. Nói chung, ngoại lệ cho điều này là đối với các giao thức truyền thông, nơi bạn có thể muốn cùng một Clock SPI/MISO/MOSI hoặc I2C SCL/SDA đi đến mỗi bảng. Điều này mang lại cho bạn nhiều linh hoạt trong cách sử dụng các bảng kênh đa kênh.

output-channelsch


Giờ đây, chỉ cần có một bus được đặt tên từ cổng bus của vi điều khiển, sau đó kết nối trực tiếp với một dây mang tên giống như tên của bus. Có thể trông hơi lạ, nhưng điều này nói với Altium rằng bạn muốn phân chia bus ra cho từng trang mạch. Altium sẽ tự động thêm số kênh vào cuối tên mạng bus khi nó tạo ra từng kênh. Tên bus không cần phải khớp với tên cổng, hoặc tên của bus trong trang mạch mà khối đó dành cho. Nó có thể giống nhau hoặc khác nhau—chỉ có tên của bus và dây là quan trọng.

toplevel-sch


Tôi đã áp dụng cùng một cài đặt cho các cảm biến dòng điện, như tôi đã đề cập trước đó trong bài viết tôi đã đánh số bus ADC từ 0 đến 5, khi tôi đang phân chia ADC0 cho cảm biến 15A với một Bus Entry.

Bố trí PCB của Bộ theo dõi Dòng điện

Giờ đây, khi mạch đa kênh đã hoàn thành, tôi có thể bắt đầu bố trí bảng mạch. Nó đơn giản như sơ đồ cấp cao trông, vì tôi chỉ cần định tuyến kênh đầu tiên cho mỗi kênh được lặp lại.

Components in a PCB layout for a current monitor
Bố cục chưa được nối sau khi chụp sơ đồ mạch


Sau khi tôi thực hiện lệnh thay đổi kỹ thuật để thêm tất cả các linh kiện vào PCB, bạn sẽ thấy tất cả các khối bảng cấp cao nhất trong các phòng của chúng. Điều đáng chú ý ở đây là nhiều mạch chưa được nối đến các kênh từ vi điều khiển, cho thấy việc đặt tên bus của tôi đã hoạt động tốt, vì mỗi kênh được kết nối một cách chính xác. Nếu tôi không thêm lệnh REPEAT( ) vào ADC và các pot xuất, chúng ta chỉ thấy một dây đi lên và sau đó kết nối song song. Tương tự như các kết nối nguồn.

Bạn cũng có thể nhận thấy footprint cho màn hình trông khá lớn. Đây là màn hình 128x64 pixel mà tôi đã nhắc đến trước đây mà tôi hy vọng sử dụng. Sau khi định tuyến bảng mạch và không thể vừa với PCB, tôi đã thay đổi nó bằng màn hình 128x32 pixel được thấy trong sơ đồ.

Tôi bắt đầu với kết nối xuất. Tôi sẽ định tuyến kênh đầu tiên bên trong phòng của nó với mọi thứ cần thiết ngoại trừ các kết nối bên ngoài. Tôi cũng đã giảm kích thước của phòng xuống một kích thước thực tế hơn cho các linh kiện được sắp xếp.

Output block template for a current monitor
Mẫu khối đầu ra


Bây giờ, tôi có thể tiết kiệm một lượng thời gian lớn bằng cách sử dụng công cụ Copy Room Formats. Có hai cách chính để truy cập công cụ này, đầu tiên nếu bạn đã kích hoạt thanh công cụ Utilities; nó nằm dưới biểu tượng phòng.

copyroomformat


Bạn có thể kích hoạt thanh công cụ Utilities bằng cách nhấp chuột phải ở bất kỳ đâu ở phía trên cửa sổ thiết kế và chọn Utilities.

enableutilitiestoolbar

Cách 'dài' để truy cập công cụ là thông qua menu trên cùng, bằng cách đi đến Design -> Rooms -> Copy Room Formats.

designroomscopy


Khi công cụ được kích hoạt, chỉ cần nhấp vào phòng đầu tiên mà bạn đã định tuyến (mẫu của bạn), sau đó nhấp vào phòng tiếp theo mà bạn muốn có cùng bố cục và định tuyến.

Apply room format for a current monitor PCB layout


Bạn có thể tiếp tục nhấp vào các phòng khác để áp dụng cùng một cài đặt cho những phòng đó nữa. Công cụ chỉ hoạt động cho các phòng nằm trong cùng một bộ đa kênh. Điều này có nghĩa là tôi không thể áp dụng định dạng từ một phòng ADC đa kênh sang ADC 15A. Mặc dù ADC 15A gần như giống hệt về sơ đồ và chỉ khác biệt ở giá trị một điện trở, nó không tương thích vì nó không nằm trong cùng một bộ đa kênh như các phòng khác.

Output channels for a current monitor
Bố cục màn hình dòng điện với các khối mạch lặp lại


Sau khi tôi hoàn thành việc sao chép các định dạng phòng cho các kênh xuất, tôi có 6 kênh được định tuyến giống hệt nhau cho đầu ra. Sơ đồ và định tuyến cho mỗi kênh trong thiết kế này rất đơn giản, nhưng tôi chắc chắn bạn có thể tưởng tượng được điều này sẽ tiết kiệm bao nhiêu thời gian với một sản phẩm âm thanh đa kênh phức tạp hoặc cảm biến đa kênh tiên tiến.

Tôi áp dụng cùng một kỹ thuật cho các kênh ADC, dẫn đến việc đa số định tuyến bảng mạch của tôi đã hoàn thành.

Tôi đang lên kế hoạch sử dụng một nhà cung cấp PCB giá rẻ của Trung Quốc, vì họ cung cấp giá tốt nhất cho một bảng mạch 100mm x 100mm. Với ràng buộc về kích thước này, tôi có thể bố trí tất cả các kênh. Tôi đã có thể sắp xếp tất cả các đầu ra dọc theo một bên của bảng mạch, nhưng các cảm biến dòng điện, mặc dù kích thước nhỏ, vẫn quá lớn, do đó tôi đã đặt chúng theo hình chữ U xung quanh một bên của bảng mạch.

Tôi đã đặt cổng USB và nguồn vào 5V gần nhau ở một cạnh của bảng mạch để giữ cho việc đấu nối nguồn gọn gàng. Xét rằng đây là một bảng mạch hai lớp, dày 1.6mm, tôi quyết định không chạy các đường dẫn có trở kháng khớp với các đường USB tới vi điều khiển. Xét đến tốc độ dữ liệu mà cổng USB boot loading hoặc cổng nối tiếp sẽ sử dụng, tính toàn vẹn của tín hiệu không quá quan trọng. Tôi đã kết nối vi điều khiển này với một cổng USB bằng cách hàn dây vào các chân của vi điều khiển, và sau đó là một cổng USB trực tiếp, vì vậy tôi biết nó sẽ ổn với sự xử lý không chuẩn này. Đối với một bảng mạch 2 lớp dày 1.6mm, các đường dẫn USB của tôi sẽ phải rộng khoảng 1.5mm để khớp trở kháng, và đó là một chút khó khăn cho việc định tuyến.

Cuối cùng, tôi đã lắp màn hình ở một nơi mà hy vọng, nó sẽ không có quá nhiều cáp chắn tầm nhìn của những gì được hiển thị.

Top Design


Tôi đã thêm một số lỗ gắn vào bảng mạch, cũng như các điểm định vị. Các lỗ gắn là rất quan trọng cho bảng mạch này vì nó sẽ được gắn dọc ở một vị trí lạ trong tủ điều khiển của tôi.

Với một chút niềm vui cho một số tác phẩm nghệ thuật, bảng mạch trông khá tốt. Phông chữ ‘AlternateGothic2 BT’, mà tôi có trên máy tính của mình vì một lý do nào đó, trông thực sự tuyệt vời khi dùng để ghi nhãn các kết nối. Nó dễ đọc và rất gọn gàng, điều này rất tốt cho các khối đầu cuối.

BottomDesign


Ở phía dưới của bảng mạch, tôi đã thêm một khối khá tiêu chuẩn cho các thiết kế mà tôi làm cho khách hàng, bao gồm một mã vạch để theo dõi hoặc tải chương trình kiểm tra cho một bộ dụng cụ chung, ngày lắp ráp, phần QA, và một khu vực cho số sê-ri. Tôi thích cách mà khối này hoàn thiện phần dưới của một bảng mạch và làm cho nó trông hơi sang trọng hơn một chút.

Cuối cùng

Bảng mạch cho thiết bị theo dõi dòng điện hiện tại này đã được xây dựng để là một bảng mạch cảm biến và điều khiển dòng điện khá chung chung, mặc dù yêu cầu của tôi khá cụ thể. Các tệp thiết kế được cấp phép theo giấy phép MIT, vì vậy bạn có thể tự làm một cái hoặc dựa vào một phần của dự án của riêng bạn trên thiết kế nếu bạn muốn. Như mọi khi, bạn có thể tìm thấy các tệp thiết kế dự án trên GitHub.

Altium Designer trên Altium 365 mang lại một lượng tích hợp chưa từng có cho ngành công nghiệp điện tử, trước đây chỉ giới hạn trong lĩnh vực phát triển phần mềm, cho phép các nhà thiết kế làm việc từ nhà và đạt được mức độ hiệu quả chưa từng có.

Chúng ta mới chỉ khám phá bề mặt của những gì có thể thực hiện với Altium Designer trên Altium 365. Bạn có thể kiểm tra trang sản phẩm để biết mô tả tính năng sâu hơn hoặc một trong những Hội thảo Trực tuyến Theo Yêu cầu

About Author

About Author

Mark Harris is an engineer's engineer, with over 16 years of diverse experience within the electronics industry, varying from aerospace and defense contracts to small product startups, hobbies and everything in between. Before moving to the United Kingdom, Mark was employed by one of the largest research organizations in Canada; every day brought a different project or challenge involving electronics, mechanics, and software. He also publishes the most extensive open source database library of components for Altium Designer called the Celestial Database Library. Mark has an affinity for open-source hardware and software and the innovative problem-solving required for the day-to-day challenges such projects offer. Electronics are passion; watching a product go from an idea to reality and start interacting with the world is a never-ending source of enjoyment. 

You can contact Mark directly at: mark@originalcircuit.com

Related Resources

Tài liệu kỹ thuật liên quan

Back to Home
Thank you, you are now subscribed to updates.