PWM 신호 생성기 (XY-LPWM) - 통신 Protocol

Hardware|2024. 5. 8. 09:12
반응형

최근에 플라즈마 방전회로 제작을 위해 PWM 제어가 필요해서 인터넷에서 찾은 모듈 입니다. 

주파수는 1Hz 에서 최대 150KHz 까지 생성이 가능하며 Duty 도 1~100%까지 설정이 가능 합니다. 

각각의 조작은 버튼을 눌러서 조작하도록 되어 있고 현재 설정값에 대한 Display도 있습니다.

시리얼 통신을 통한 설정값 변경도 가능하네요. 모듈의 도면을 보니 N76E003AT20 이라는 칩이 있는데 찾아보니 8051을 기반으로 제작된 MPU가 내장되어 있네요..아래 회로 도면도 올려 두었습니다. 

펄스 출력 전압은 전원 전압이 오픈컬렉터로 연결되어 있어서 전원전압이 그대로 출력펄스로 나가게 설계되어 있습니다. 

 

시리얼 통신을 하기위해 상기 제품을 구매하여 테스트 하였는데 통신이 안돼고 계속 Fail 만 리턴이 되었습니다. 
인터넷을 아무리 찾아도 이유를 찾지 못했는데 이것저것 테스트 하면서 결국 해결 방안을 찾았습니다. 

일단 업체가 제공하는 통신 모드와 프로토콜이 모두 틀립니다. 제가 구매한 제품이 모양만 동일한 타회사 제품인지 아니면 동일한 회사 제품인지는 모르겠지만 일단 통신 방법이 상이합니다. 업체가 제공하는 방법과 제가 찾은 방법을 공유하도록 하겠습니다. 

* 업체제공 방법 통신 :
  - Communication Standard:9600 bps, Data bits: 8, Stop bit: 1
  - Check digit: none
  - Flow control: none
(1) set the frequency of the PWM
   "F101": Set the frequency to 101 HZ (001 to 999)
   "F1.05": set the frequency of 1.05 KHZ (1.00 ~ 9.99)
   "F10.5": Set the frequency to 10.5KHZ (10.0 ~ 99.9)
   "F1.0.5": set the frequency of 105KHZ (1.0.0 ~ 1.5.0)
(2) set the PWM duty cycle
   "DXXX": set the PWM duty cycle to XXX; (001 ~ 100)
   Such as D050, set the PWM duty cycle is 50%
(3) read the set parameters
  Send a "read" string to read the set parameters.
(4) Set successfully return: DOWN;
(5) Setup failed to return: FALL.

* 업체 방법으로 안될때 사용하는 통신 :
 - Communication Standard:9600 bps, Data bits: 8, Stop bit: 2
 - Check digit: even
 - Flow control: none
(1) set the frequency of the PWM
   "F5": Set the frequency to 5 HZ (001 to 999)
   "F101": Set the frequency to 101 HZ (001 to 999)
   "F1050": set the frequency of 1.05 KHZ (1.00 ~ 9.99)
   "F10500": Set the frequency to 10.5KHZ (10.0 ~ 99.9)
   "F105000": set the frequency of 105KHZ (1.0.0 ~ 1.5.0)
(2) set the PWM duty cycle
   "DXXX": set the PWM duty cycle to XXX; (001 ~ 100)
   Such as D50, set the PWM duty cycle is 50%
(3) read the set parameters
  Send a "read" string to read the set parameters.
(4) Set successfully return: OK;
(5) Setup failed to return: FAIL.

 

반응형

댓글()