DIY motor driver

前陣子用PLC 下來控電動缸,看到用很多人用"HW-039",不過都是接Arduino,為主。

接PLC 呢? 還需要用光耦合進行隔離(24V=>5V/3.3),為此我們還需要為他添加一個5V Power

不確定是不是只有我這樣玩,總之接了一堆的元件,放在配電盤裡很亂⋯⋯

所以回到頭"HW-039",本身是什麼? 我找到圖(HW-039 細節) , PCB 上面也就10 個元件左右

主要元件
1. BTS7960,英飛凌的半橋(現成的半橋)
2. 74HC244D, ti 的Buffer
其他元件
1.電阻
2.連接Pin

看到元件這麼少,在看到桌上的電盤亂成一團(Fig 1),我手癢了....... 想要來自己Lay

Fig 1,亂成一團

先盤點一下現在的痛點 & 我想要什麼?
1. "HW-039",使用的5V,這好解決用便當盒來供電 (AC220=> 5V DC)
2. Relay,用來切換正逆轉,將PLC 的PWM 切換到Pin1(R_PWM)/ Pin2(L_PWM)。後面說明
3.按鈕開關 R_EN/L_EN 簡單的On / OFF
4.光耦合模組 DC24的PWM 👉 5V PWM


好上面盤點完了,下面就直接開工
1.輸入:Enable/ Dir/ PWM,基本上就是驅動器基本的輸入,但我想要DC 24直接接。
2. 74HC244D 用的 5V,為此我們要準備DCDC Buck convertor。
3. PLC 高速輸出,我不想浪費點位,只要接一個點 我把Dir, 接到Relay 來切換 PWM 輸出到R/L。 這一段我打算用邏輯閘元件來實現(Fig 2 )。Logic.ly Online Demo

NAND:我用ti, SN74LVC1G00DB
AND:我用ti,SN74LVC1G08DB

Fig 2-1,R_PWM

Fig 2-1,L_PWM

4.最後信好輸入都是DC24,我們控制信號都是3.3V,需要做隔離。 既然都要Lay 板子我們就把它Lay 上去好了⋯⋯



PCB 回來了趕快上SMD,迫不及待想側了(Fig3)。


Fig 3 SMD



馬上把線都焊一焊,該接的接好(Fig 4)

Fig 4,把電源/馬達/信號都給接好


結果⋯⋯完全不會動 😭;好好檢討

1.我還發現我居然元件也買錯了,買成了 “BTS7971” 還好同一家族的,腳位也都相同(7960的替代品)。
2.邏輯閘的電路部分還有一個坑,後面才發現要做pull_high,pull_low。

只能一段一段測試啦,各種的飛線⋯⋯

Fig5-1

Fig 5-2


經過一段的手忙腳亂之後,把原因給釐清了,分成3快板子,每一塊板子只焊一個功能。Fig 4-2,左起 PCB1 Dir/ PWM logic gate 部分;中間提供3.3V;右H橋

飛了這麼多線/ 電阻之後,總算是成功了電表在24/-24之間跳動,透過Dir 點為下去控

Fig 6-1 DC24

Fig 6-1 DC -24

總結問題點
1.我將ENA 接到Dir 輸入的地方去了...
2. Logic gate 我以為直接接電源就好,沒有任何Pull_high/low(修改好如下)
Fig 7-1, NAND, Pull High

Fig 7-2, PWM 輸入側 Pull_low,進到 AND Gate

2024 年我給自己的新年禮物,總算是正常發揮了。

Fig 8-1,焊接完畢


Fig 8-2,電路接上來側

最後我們做個對比,同顏色對應到相同功能Fig 9。
紅:Power
黃:切換PWM左右
藍:光耦合
綠:H橋本身

Fig 9 -1

Fig9-2



下一步⋯⋯想來給他做個背板,治具扣到Din35 的導軌上……待續。


這是我第一次,將我製作PCB寫出來,寫成Blogger,也是我第一次寫Blogger;很多細節都沒有記錄到。

留言

這個網誌中的熱門文章

DIY AC inverter _1(Sine Wave)

用 Python 控制 Mitsubishi PLC:MC Protocol ASCII 封包實作教學