Hướng dẫn controlling power supply with python - kiểm soát cung cấp điện với python

DCPS

Kiểm soát nguồn cung cấp năng lượng DC thông qua Python

Đây được dự định là một gói chung để kiểm soát các nguồn cung cấp năng lượng DC khác nhau bằng các phương thức truy cập khác nhau với API chung. Nó sử dụng PYVISA và bộ lệnh SCPI. Hiện tại, điều này chỉ hỗ trợ các nguồn cung cấp năng lượng DC sau:

  • Sê -ri Rigol DP800 (được thử nghiệm với DP832A)
  • AIM TTI PL-P Series
  • Sê -ri BK Precision 9115 (được thử nghiệm với 9115)
  • Agilent/Keysight E364XA Series (được thử nghiệm với E3642A)

Những nguồn cung cấp năng lượng DC này là một phần của một loạt các sản phẩm. Tất cả các sản phẩm trong chuỗi sử dụng ngôn ngữ lập trình phổ biến nên được hỗ trợ nhưng chỉ các mô hình được chỉ định được sử dụng để phát triển và thử nghiệm.

Khi nguồn cung cấp năng lượng mới được thêm vào, mỗi người nên có gói phụ riêng.

Ngoài các nguồn cung cấp năng lượng truyền thống ở trên, một vài công cụ khác đã được thêm vào có một mô hình điều khiển tương tự như các nguồn hiện tại, đồng hồ đo volt và, có lẽ trong tương lai, các đồng hồ nguồn có thể cả nguồn và đo điện áp và dòng điện. Tất cả đều có thể nguồn điện áp hoặc dòng điện và/hoặc đo điện áp hoặc dòng điện. Chúng ngăn chặn các hàm không sử dụng để các tập lệnh phổ biến vẫn có thể được tạo với giao diện chung và chúng giữ lại khả năng nhắm mục tiêu vào bất kỳ công cụ nào trong số này. Những công cụ thay thế được hỗ trợ là:

  • Nguồn hiện tại chính xác của Keithley/Tektronix 622x (được thử nghiệm với 6220)
  • Keithley/Tektronix 2182/2182A nanovoltmeter (được thử nghiệm với 2182A)
  • Keithley/Tektronix 2400 series Sourcemeter (được thử nghiệm với 2400)

Cài đặt

Bạn cần cài đặt các gói pyvisa và pyvisa-py.

Để cài đặt gói DCPS, hãy chạy lệnh:

Ngoài ra, có thể thêm một đường dẫn vào gói này vào biến môi trường Pythonpath hoặc thậm chí thêm đường dẫn vào nó khi bắt đầu tập lệnh Python của bạn. Sử dụng công cụ tìm kiếm web yêu thích của bạn để tìm hiểu thêm chi tiết.

Thậm chí tốt hơn, DCPS hiện đang sử dụng PYPI, vì vậy bạn có thể chỉ cần sử dụng các chất sau và các phần tử được yêu cầu sẽ được cài đặt cho bạn:

Yêu cầu

  • Python [hoạt động với 2,7+ và 3+]]
    • Python 2 hiện chính thức là "End of Life", vì vậy hãy nâng cấp mã của bạn lên Python 3
  • Pyvisa 1.9
    • Tránh 1.11.0 vì nó không hoạt động trên fedora/centos/vv.
  • Pyvisa-Py 0.4.1

Với việc sử dụng Pyvisa-PY, không cần phải cài đặt trình điều khiển Visa National Cụ.

Nếu sử dụng phương thức truyền thông USB, cũng phải cài đặt:

  • PYUSB 1.0.2
  • Libusb

Giao diện Ethernet đến GPIB

Một số trong các thiết bị này, chẳng hạn như các mô hình Agilent và Keithley, không có giao diện Ethernet hoặc USB. Để làm cho chúng dễ dàng truy cập trong môi trường phòng thí nghiệm, có thể sử dụng giao diện Ethernet đến GPIB hoặc USB đến GPIB. Các giao diện duy nhất như vậy đã được kiểm tra cho đến nay là:

Đối với Agilent/Keysight E364XA, cả Prologix và KISS-488 đã được thử nghiệm và làm việc. Đối với Keithley 622x, 2182 và 2400, chỉ có giao diện Prologix hoạt động. Nếu chuỗi tài nguyên TCPIP0 được sử dụng cho các mô hình này, mã sẽ tự động xác định thiết bị nào được sử dụng. Xem các nhận xét mã cho các mô hình này để tìm hiểu thêm.

WARNING!

Hãy thực sự cẩn thận vì bạn đang kiểm soát nguồn điện có thể được kết nối với thứ gì đó không muốn đến 33V khi bạn có nghĩa là 3,3V và nó có thể thể hiện sự không hài lòng của nó bằng cách phát nổ khắp nơi. Vì vậy, hãy chắc chắn thực hiện tất cả các thử nghiệm mà không cần thiết bị kết nối, càng nhiều càng tốt và sử dụng các biện pháp bảo vệ được tích hợp trong nguồn điện. Ví dụ: bạn thường có thể đặt các giới hạn điện áp và hiện tại mà nguồn cung cấp sẽ tuân theo và bỏ qua các yêu cầu của các lệnh này để đi ra ngoài các phạm vi cho phép này. Thậm chí còn có các lệnh SCPI để đặt các giới hạn này, mặc dù có thể an toàn hơn khi chúng được đặt thủ công.

Cách sử dụng

Mã này là một lớp rất cơ bản để kiểm soát và truy cập các nguồn cung cấp năng lượng được hỗ trợ. Trước khi chạy bất kỳ ví dụ nào, hãy chắc chắn thêm rằng nguồn điện bị ngắt kết nối với bất kỳ thiết bị nào trong trường hợp VoltSges bất ngờ đi đến các giá trị bất ngờ.

Nếu chạy các ví dụ được nhúng trong các tệp nguồn gói riêng lẻ, hãy chắc chắn chỉnh sửa chuỗi tài nguyên hoặc bộ mô tả thị thực của thiết bị cụ thể của bạn. Đối với nhiều gói, một biến môi trường có thể được đặt và sử dụng làm chuỗi tài nguyên visa.

  • Đối với RigoldP800.py, đó là DP800_IP
  • Đối với AIMTTIPLP.PY, đó là TTIPLP_IP
  • Đối với BK 9115, đó là BK9115_USB
  • Đối với Keysight E364xa, đó là E364XA_VISA
  • Đối với Keithley 622X, đó là K622X_VISA
  • Đối với Keithley 2182, đó là K2182_VISA
  • Đối với Keithley 24xx, đó là K2400_VISA

# Lookup environment variable DP800_IP and use it as the resource
# name or use the TCPIP0 string if the environment variable does
# not exist
from dcps import RigolDP800
from os import environ
resource = environ.get('DP800_IP', 'TCPIP0::172.16.2.13::INSTR')

# create your visa instrument
rigol = RigolDP800(resource)
rigol.open()

# set to channel 1
rigol.channel = 1

# Query the voltage/current limits of the power supply
print('Ch. {} Settings: {:6.4f} V  {:6.4f} A'.
         format(rigol.channel, rigol.queryVoltage(),
                    rigol.queryCurrent()))

# Enable output of channel
rigol.outputOn()

# Measure actual voltage and current
print('{:6.4f} V'.format(rigol.measureVoltage()))
print('{:6.4f} A'.format(rigol.measureCurrent()))

# change voltage output to 2.7V
rigol.setVoltage(2.7)

# turn off the channel
rigol.outputOff()

# return to LOCAL mode
rigol.setLocal()

rigol.close()

Đưa nó đi xa hơn

Điều này thực hiện một tập hợp con nhỏ của các lệnh có sẵn.

Để biết thông tin về những gì có thể cho Rigol DP8xx, hãy xem Hướng dẫn lập trình Rigol DP800

Để biết thông tin về những gì có thể cho các nguồn cung cấp năng lượng AIM TTI PL-P, hãy xem Hướng dẫn sử dụng sê-ri PL & PL-P mới

Để biết thông tin về những gì có thể cho nguồn cung cấp năng lượng BK Precision 9115

Để biết thông tin về những gì có thể cho nguồn cung cấp năng lượng Agilent/Keysight E364xA, xem mô hình: Keysight E364xA ĐẦU DC ĐIỆN DC ĐIỆN

Để biết thông tin về những gì có thể đối với nguồn cung cấp nguồn chính xác của Keithley/Tektronix 622x Series

Để biết thông tin về những gì có thể cho các nguồn cung cấp nanovoltmeter của Keithley/Tektronix

Để biết thông tin về những gì có thể cho các nguồn cung cấp Sourcemeter sê -ri Keithley/Tektronix 2400

Đối với những gì có thể với các nguồn cung cấp năng lượng chung tuân thủ thông số kỹ thuật SCPI của IEEE 488, như Rigol DP8xx, xem Thông số kỹ thuật SCPI 1999 và mục nhập Wikipedia SCPI.

Tiếp xúc

Vui lòng gửi báo cáo lỗi hoặc phản hồi cho Stephen Goadhouse

Làm thế nào để bạn tự động hóa một nguồn cung cấp điện trong Python?

Ví dụ, hãy cung cấp nguồn - bạn có thể cấp một chuỗi các lệnh cho: Đặt điện áp đầu ra thành 5V. Đặt giới hạn hiện tại thành 1 amp ...
Bước 1: Khởi tạo đồng hồ vạn năng. ....
Bước 2: Khởi tạo nguồn điện. ....
Bước 3: Tăng điện áp, thu thập dữ liệu. ....
Bước 4: Datalogging ..

Bạn có thể sử dụng Python để kiểm soát phần cứng không?

Với một triết lý thiết kế tập trung vào khả năng đọc mã, Python rất dễ học và sử dụng. Nhờ những tiến bộ trong các máy tính bảng đơn và bộ vi điều khiển mạnh mẽ, giờ đây, Python có thể được sử dụng để kiểm soát phần cứng.Python can now be used to control hardware.

Python SCPI là gì?

Các lệnh SCPI là một bộ lệnh dựa trên ASCII để đọc và viết cài đặt công cụ.Đối với hướng dẫn này, chúng tôi sẽ sử dụng OS Win7 64bit, Python 2.7.12 (Anaconda2 4.2. 0 64-bit) và Tabor WX2184C bằng giao diện TCP/IP.an ASCII-based set of commands for reading and writing instrument settings. For this tutorial, we will use win7 64bit OS, Python 2.7. 12 (Anaconda2 4.2. 0 64-bit) and a Tabor WX2184C using TCP/IP interface.

4 cách sử dụng chính của Python là gì?

Python thường được sử dụng để phát triển các trang web và phần mềm, tự động hóa nhiệm vụ, phân tích dữ liệu và trực quan hóa dữ liệu.Vì nó tương đối dễ học, Python đã được nhiều người không lập trình viên áp dụng như kế toán và nhà khoa học, cho nhiều nhiệm vụ hàng ngày, như tổ chức tài chính.developing websites and software, task automation, data analysis, and data visualization. Since it's relatively easy to learn, Python has been adopted by many non-programmers such as accountants and scientists, for a variety of everyday tasks, like organizing finances.