산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 임베디드

전기 엔지니어는 언제 Python을 사용할 수 있습니까? Python 프로그래밍 언어용 애플리케이션

EE가 일상에서 Python을 사용할 수 있는 곳은 어디입니까? 다음은 Python이 뛰어난 애플리케이션을 살펴보겠습니다.

EE는 일상에서 어디에서 Python을 사용할 수 있습니까? 다음은 Python이 뛰어난 애플리케이션을 살펴보겠습니다.

이전 기사에서 "엔지니어가 Python 학습을 귀찮게 해야 하는 이유는 무엇입니까?"라는 질문을 제기했습니다.

이제 전기 엔지니어의 작업에서 Python이 어떻게 관련될 수 있는지 논의해 보겠습니다.

스위스-육군 칼 기술자

EE는 회로 설계만 다루지 않습니다. 우리는 또한 우리가 처리해야 하는 수많은 다른 작업에 직면해 있습니다. 펌웨어 프로그래밍, 디버깅, 프로토타입 하드웨어 및 소프트웨어 테스트, 생산 샘플 테스트, 품질 관리 작업, 그리고 끝이 없어 보이는 양의 데이터 수집, 평가 및 분석이 있습니다.

Python이 이 모든 것을 어떻게 도울 수 있습니까?

스위스 군용 칼 언어인 Python 입력

Python은 다목적 프로그래밍 언어가 되는 데 매우 뛰어납니다. HDL과 같은 언어(VHDL, Verilog와 같은 하드웨어 설명 언어)는 하드웨어에 합성과 같은 특정 작업을 수행합니다. C/C++는 린(lean)으로 실행되며 임베디드 프로그래밍에 매우 적합합니다. 그러나 공구 벨트에 스위스 군용 칼을 사용하면 종종 우리가 처리하는 대부분의 작업을 구성하는 범용 작업에 도움이 될 수 있습니다.

일반적으로 이러한 작업은 엔지니어의 시간 중 많은 부분을 차지하는 테스트, 데이터 수집 또는 자동화와 같은 작업입니다. 제 경험상 설계는 엔지니어의 시간 중 5~10% 정도만 소요됩니다. 나머지 90% 정도는 연구, 프로토타입 테스트, 디버깅, 테스트 지그 및 프로그램 생성, 생산 테스트, 품질 관리, 그리고 두려운 "D" 단어... 문서화와 같은 일에 소비됩니다.

설계 이전에 수행되는 많은 작업(예:부품 및 구현 연구, 시스템 아키텍처 작성)은 실제로 자동화할 수 없습니다. 이것이 바로 우리를 창의적이고 장인적인 엔지니어로 만드는 작업입니다. 그러나 일단 디자인이 구현되면(즉, 재미있는 부분), 여전히 처리해야 하는 고된 작업이 많이 있습니다.

다음은 이러한 고된 작업 중 일부와 Python이 이러한 작업을 효율적으로 수행하는 데 도움이 되는 방법입니다.

Gerber 파일 제출을 위한 파일 처리

자동화가 가장 필요한 응용 프로그램 중 하나는 파일 처리입니다. 프로세스 워크플로는 소프트웨어, 공급업체, 고객 등에 따라 다릅니다. 대부분의 경우 여기에는 일부 형식의 파일 처리가 포함됩니다. 내 PCB 공급업체는 작업자가 설계 요구 사항을 준수하는지 구문 분석, 확인 및 확인할 수 있도록 특정 파일 확장자를 가진 Gerber 파일을 제출하도록 요구합니다.

내 PCB CAD 도구는 필요한 형식으로 Gerber를 출력하지 않기 때문에 PCB를 제출할 때마다 파일 확장자를 변경해야 합니다. 큰 작업은 아니지만 매년 많은 디자인과 디자인 수정을 반복하기 때문에 팹에 디자인을 제출할 때마다 약 10개의 다른 파일에서 Gerber 파일 확장자를 변경하는 것이 지겹습니다.

파일 처리의 보다 실질적인 예는 한 형식(예:XML)의 파일이 있고 고객이 다른 형식(예:CSV)을 요구하는 경우입니다. 이것은 일부 고객의 눈에 띄지 않는 경우가 아니라면 일반적으로 큰 골칫거리가 되는 일반적인 상황입니다. 그러나 몇 가지 라이브러리와 몇 가지 간단한 Python 코드를 사용하면 여러 형식 간에 텍스트 파일을 변경할 수 있습니다.

테스트 장비 자동화

EE로서 Python 사용의 가장 큰 장점 중 하나는 테스트 장비를 제어하고 자동화하는 것입니다. 데이터를 수집하고 CSV와 같은 일반적인 형식으로 저장할 수 있는 USB 출력이 장착된 저가 테스트 장비를 찾는 것이 점점 더 보편화되고 있습니다.

Python은 원래 텍스트 구문 분석을 위해 만들어졌으므로 엄청난 양의 텍스트 데이터를 선별하여 유용한 정보를 추출하는 데 놀라울 정도로 유용합니다. 예를 들어, 현장에서 가지고 다니는 휴대용 오실로스코프 중 하나는 믿을 수 있는 오래된 Hantek DSO5202P 디지털 스토리지 오실로스코프입니다. 저렴하고 파형을 원시 CSV 데이터로 출력할 수 있습니다.

USB 인터페이스가 있는 Hantek DSO5202P 디지털 스토리지 오실로스코프

즉, 실제로 일부 파형에서 데이터를 캡처하고, 구문 분석하고, 처리하고, 출력을 플로팅할 수 있습니다. 이것은 이제 컴퓨터 내부에서 재생할 수 있고 디지털 필터와 함께 작동하는 방식을 볼 수 있는 실제 물리적 데이터입니다. 더 좋은 점은 임의 파형 발생기에 피드하도록 형식을 지정하고 회로에서 테스트할 정확한 파형을 다시 생성할 수 있다는 것입니다.

키사이트 디지털 멀티미터 뒷면의 GPIB 인터페이스. Farnell의 이미지

GPIB 인터페이스를 지원하는 테스트 장비를 사용하는 경우 pyVISA와 같은 Python 라이브러리를 사용하여 제어할 수도 있습니다. 이전에는 이 모든 작업을 수행하기 위해 내쇼날인스트루먼트 설정을 구입해야 했기 때문에 이를 감당할 수 있는 더 큰 회사로 제한했습니다. 이제 컴퓨터 가격과 약간의 Python 노하우로 테스트 장비 설정을 자동화할 수 있습니다.

테스트 장비를 자동화할 수 있게 되면 마술사가 된 기분이 들 것입니다. 임의 파형 발생기로 테스트 중인 장치를 자극하는 것과 같은 폐쇄 루프 테스트를 설정하고 오실로스코프, 멀티미터 또는 데이터 로거를 통해 응답하는 방식에 대한 데이터를 수집할 수 있습니다. 가능성은 무한합니다.

Flask, Python 마이크로프레임워크

그러나 테스트 장비를 자동화하는 것으로 그치지 않습니다. 최근에는 일부 인터넷 서비스에 연결하거나 REST API를 통해 통신하는 제품을 설계하는 것이 보편화되고 있습니다. 하드웨어를 개발하고 테스트 펌웨어를 작성하면서 Python을 사용하여 연결할 REST API로 테스트 서버를 설정할 수도 있습니다.

Python/Flask 프레임워크를 사용하여 REST API를 설정하는 것이 매우 쉽기 때문에 멋진 웹 개발자가 필요하거나 이를 위해 다른 언어를 배울 필요가 없습니다. 말 그대로 1시간 이내에 맞춤형 REST API를 설정할 수 있습니다.

전문 전기 엔지니어로서 언젠가는 제조에 관여하게 되며 생산 테스트를 자동화하는 기능은 매우 유용합니다. 테스트가 더 일관되고 철저할수록, 절감액이 현장 실패 감소, 반품 재고 감소 또는 잘못된 품질 관리로 인한 평판 손상 감소에서 비롯되는지 여부에 관계없이 회사의 수익에 더 좋습니다.

내 회로 설계를 위해 베드 오브 네일 프로브, 와이어링 하니스 및 클램핑 메커니즘으로 만든 맞춤형 테스트 지그를 얻습니다. 이 테스트 지그는 Arduino 또는 Raspberry Pi와 같은 맞춤형 보드와 인터페이스하고 컴퓨터에서 제어할 수 있습니다. 내 표준 생산 테스트 시스템은 Firmata 프로토콜 펌웨어를 실행하는 Arduino에 인터페이스된 배선 장치가 있는 이와 같은 것으로 구성됩니다.

이를 통해 pyFirmata를 사용하여 Python에서 통신할 수 있습니다. 각 핀을 입력 또는 출력으로 설정하고, 각 핀의 상태를 확인하고, 모든 데이터를 기록하고, 고유한 일련 번호를 생성하고, 큰 PASS 또는 FAIL 메시지를 출력할 수 있습니다. 보드가 공장 조립 공장에 있을 때 Python 테스트 스크립트를 실행하는 방법을 가르치고 큰 PASS 또는 FAIL을 기다리면 해당 생산 실행에 대한 통계와 함께 데이터가 자동으로 저장됩니다.

SQL:데이터베이스 관리 언어

아, 제가 스토리지를 언급했습니까? 그것은 저를 데이터베이스의 주제로 인도합니다. 실제로 데이터베이스 작업은 Python에서 즐거운 일입니다. SQLite3는 이름에서 알 수 있듯이 단일 파일을 기반으로 하는 경량 데이터베이스입니다.

코드를 다른 데이터베이스, 특히 서버 기반 데이터베이스로 마이그레이션하는 옵션을 원한다면 SQLAlchemy라는 라이브러리를 권장합니다. 이를 통해 코드를 변경하지 않고도 SQLite, PostgreSQL 및 MySQL과 같은 널리 사용되는 많은 관계형 데이터베이스에 연결할 수 있습니다.

이제 EE가 데이터베이스를 어떻게 사용할까요?

음, 앞서 언급한 자동 테스트 설정에서 테스트 시스템은 일련 번호와 통계, 테스트 결과 및 기타 메모와 같은 기타 데이터를 출력합니다. 이것들은 모두 여러분이 생성한 데이터베이스에 저장될 수 있으므로 생성된 각 보드의 기록을 추적하는 로그가 있습니다. 보드 반납 시 일련번호 조회 및 보드 이력 조회가 가능합니다. 이전에 RMA를 위해 반환되었거나 테스트에 한 번 실패했지만 다음 시도에서 통과했을 수 있습니다.

또는 보드에서 연산 증폭기가 고장났을 수도 있고 데이터베이스를 간단히 검색했을 때 이 프로덕션 실행에서 특정 연산 증폭기가 실패한 것이 다섯 번째라는 것을 발견했습니다. 이와 같은 통찰력은 생산 효율성, 수익 및 회사에 대한 엔지니어의 가치를 향상시킵니다.

결론

저는 계속해서 할 수 있습니다. Python이 엔지니어로서 완전히 새로운 세계를 열 수 있기 때문입니다.

전기 엔지니어의 기초는 여전히 전자 설계입니다. 그러나 요즘은 전자의 세계에서 순수하게 살기가 점점 더 어려워지고 있습니다. 우리는 또한 펌웨어를 작성하고, 테스트를 수행하고, 데이터를 수집하고, 생산에 참여하고, 반품되거나 실패한 제품에 대해 포렌식을 수행해야 합니다.

전자공학 및 C/C++의 기본 지식과 함께 Python에 대한 지식은 실무 엔지니어가 회로 설계에서 전체 제품 수명 주기의 일부를 담당하는 기술을 완성하는 데 도움이 될 수 있습니다.

따라서 이 시리즈를 시작하고 전기 엔지니어의 맥락에서 Python을 실제로 살펴보는 데 참여하십시오.


임베디드

  1. 산업용 사물 인터넷 애플리케이션을 위한 최고의 프로그래밍 언어
  2. 클라우드 엔지니어를 위한 7대 최고 연봉 시장
  3. Cervoz:산업용 애플리케이션에 적합한 플래시 스토리지 선택
  4. 5G는 커넥티드 카에 무엇을 제공할 수 있습니까?
  5. eSIM이 통신 사업자의 성장을 주도하는 방법
  6. C 프로그래밍 언어 PDF:초보자를 위한 기본 자습서
  7. 로봇 용접에 센서를 언제 사용해야 하는지 알기
  8. 블록체인은 언제 공급망에 사용할 수 있습니까?
  9. AI:인공 지능의 올바른 용도 찾기
  10. 자동차 시장을 위한 모래 주조 응용 프로그램