높이 조절 책상을 자동으로 올리거나 내리는 회로를 만드는 방법은 무엇입니까?
배경
안녕하세요 여러분, 저는 마이크로 컨트롤러, MOSFET 트랜지스터 및 초음파 센서를 사용하여 높이 조절이 가능한 책상의 높이를 제어 할 수있는 작은 프로젝트를 진행 중입니다. 기본적으로 사용자가 높이를 입력하고 책상이 해당 높이에 자동으로 조정되기를 원합니다.
기술적 세부 사항
이것은 내가 사용하고있는 책상입니다. 위 / 아래 버튼 만 있고 "메모리"기능이 없습니다.
이 튜토리얼 을 사용하려고 했지만 모터 자체에 쉽게 접근 할 수 없었기 때문에 업 / 다운 버튼을 MOSFET 트랜지스터로 "교체"하기로 결정했습니다.
이것은 제가 사용하는 MOSFET입니다. 2-4V 사이의 Vgs 임계 전압이 있으며 5v 마이크로 컨트롤러에서 작동합니다.
버튼 상자를 열었 더니 다음과 같이 생겼습니다.
JST 커넥터에는 4 개의 와이어가 있습니다.
- 빨간색 : 30V
- 블랙 : GND
- 녹색 : 아래로
- 흰색 : 위로
이것은 녹색 또는 흰색을 빨간색에 연결하면 책상이 각각 위아래로 이동하는 액티브 하이 스위치입니다. 회로도에서 스위치 ( Omron SS-5 )가 수행 하는 방식은 아래 다이어그램을 참조하십시오 .
내가 지금까지 한 것
JST 커넥터를 뽑고 점퍼 와이어를 암 핀에 직접 연결하여 책상을 올리기위한 다음 회로를 만들었습니다.
왼쪽의 전압 소스는 마이크로 컨트롤러의 디지털 출력 핀입니다. 나는 핀이 높을 때 책상을 올릴 수 있었고 핀이 낮을 때 책상을 올리는 것을 멈출 수 있었다.
편집 (2020 년 8 월 16 일) : 트랜지스터 소스에서 흰색 선까지 전류를 측정했는데 잠시 동안 ~ 3A까지 급등했고 데스크가 상승하는 동안 (즉, 모터가 작동 중일 때) 출력되었습니다. ~ 300mA.
책상을 낮출 때도 똑같이 할 수 있었는데, MOSFET의 소스가 대신 녹색 와이어에 연결되었다는 점만 빼면 요.
내 문제는 :
올리기와 내리기를 모두 수행하기 위해 다른 트랜지스터를 배치했습니다.
편집 (2020 년 8 월 15 일) : 혼란스러운 다이어그램에 대해 죄송합니다. 이 다이어그램은 두 개의 디지털 출력 핀을 사용합니다. 왼쪽의 전압원은 MCU의 D2이고 오른쪽은 MCU의 D3입니다. 핀은 공통 접지를 공유하며 이는 다음 문제의 원인이됩니다.
두 트랜지스터의 소스마다 의미, 흰색과 녹색 와이어를 모두 연결되어 있기 때문에 이것은 분명히 문제를 만들어 하나의 트랜지스터가 켜져, 모두 화이트 / 그린 선은 HIGH이다. 이것은 책상을 전혀 움직이지 않는 두 버튼을 동시에 누르는 것과 같습니다. 트랜지스터의 두 소스 사이에 10k 저항을 넣으려고했지만 문제가 해결되지 않았습니다.
내 질문
- 수행하려는 작업을 수행하기 위해 회로를 편집하려면 어떻게해야합니까?
- 트랜지스터만으로도 만들 수있는 건가요? 또는
- 트랜지스터로서의 스위치의 일반적인 사용 사례를 따르려면 모터를 열어야합니까?
누군가 내 상황에 대해 조언을 해주면 대단히 감사하겠습니다. :)
혼동을 해명하게되어 기쁩니다.
감사합니다!
답변
모터가 시동되는 동안 짧은 3A는 흰색 및 녹색 와이어가 모터 전류를 전달 함을 의미합니다. FET는이 전류에 적합해야하며 모터가 꺼질 때 전압 스파이크에 대해 보호되어야합니다.
원래 스위치 다이어그램은 H 브리지 구성을 보여줍니다. 두 스위치를 모두 끄면 모터에 전류가 흐르지 않습니다. 두 스위치 중 하나가 올라가면 둘 다 모터에 전류를 전도합니다. 하나는 30V에서 소싱되고 다른 하나는 0V로 싱킹됩니다. FET 제안은 풀업 만 표시하고 풀다운은 표시하지 않으므로 모터가 작동하지 않습니다.
이 기능을 복제하려면 비활성화 된 H- 브리지 드라이버 또는 두 개의 하프 브리지 드라이버가 필요합니다. 레벨 시프 팅 등이 필요하고 전자에 대한 지식을 감안할 때, 최소 30V 및 3A 정격의 출력을 가진 로직 레벨 입력 모듈을 구입하는 것이 가장 현명 할 것입니다.
FET 대신 한 쌍의 c / o 릴레이를 사용하여 스위치가 수행하는 작업을 정확하게 수행하는 것도 합리적입니다. 좋아하는 온라인 전자 상거래 사이트로 이동하여 'Arduino 릴레이 모듈'을 검색하고 2 채널 중 하나를 선택하십시오. 5V에서 구동 할 수 있으며 칩만큼 저렴하고 FET처럼 폭발하지 않으며 (접촉이 결국 마모 되더라도) 30V 모터를위한 충분한 DC 처리 용량을 갖습니다.
설계에 대한 가정 문제
- SPDT의 목적을 인식하지 못했습니다.
- Vgs (th)를 이해하지 못했습니다.
- 모터는 최대 부하 중량을 사용하지 않기 때문에 정격 전류의 10 배 또는 실제 부하 전류보다 훨씬 더 큰 서지가 발생합니다.
예를 들어 모터 정격이 1A이지만 시작시 10x1 = 10A를 제외하고 0.3A 만 사용합니다.
- 스위치를 끌 때 발전기 역할을하는 모터의 아크 및 역기전력이 발생하고 추가 부하를 위해 코일이 단락 된 마찰 브레이크 역할을하는 브레이크 및 기어로 전환됩니다.
- 따라서 이동하는 동안 10A 스파이크 또는 20A 스파이크를 처리하기 위해 전원 다이오드와 함께 30V 출력을 사용하는 로직 레벨에서 작동하는 POWER 하프 브리지가 필요합니다.
FET 설계의 문제점
2 ~ 4V가 작동 Vgs라고 가정했지만 이는 임계 값일 뿐이며 RdsOn에 가까워지면서> 10A를 처리하려면 최소 2.5 ~ 3x 100uA 임계 값이 필요하며, 이는 종종 Vgs = 5, 10 또는 12V로 지정됩니다.
“Logic Level FET”는 최상의 성능을 위해 3V에서 작동하기 위해 1V 근처의 Vgs (th)를 사용합니다. 그렇지 않으면 뜨거워집니다.
하이 사이드 드라이버 대신 SPDT 또는 하프 브리지 전력 FET가 필요합니다.
시작하는 동안 냉각을 유지하기에 충분한 Rdson을 갖도록 30A 정격의 로직 레벨 입력 및 출력을 사용하는 파워 하프 브리지가 필요합니다. 플라이 백 클램프를 위해 각 레일로 반전 된 전력 다이오드는 모두 10A 정격이 필요합니다.
- 하프 브리지는 단락이나 슛 스루 효과를 방지하기 위해 Fwd와 Rev 사이에 작은 데드 타임이 있어야합니다. 이것은 정상입니다. 하지만 반드시 확인해야합니다.
권장 사항
모터 코일 저항을 정의하고 로직 레벨 하프 브리지 IC를 선택하여 30V / DCR + 마진 구동
RC 다이오드 지연 또는 MCU 지연이있는 입력 컨트롤로 데드 타임 보호 기능이 있는지 확인하고 파워 업 리셋 상태가 꺼짐인지 확인합니다.
엔드 스톱 보호는 어떻습니까? 드라이버 오류 또는 MCU 결함의 경우? Polyfuse를 고려하십시오.
그리스로 방열판 및 전기 절연체에 대한 열 저항 계산을 수행합니다.
이것은 더 많은 질량, 더 적은 속도를 제외하고는 자동차 파워 윈도우 스위치 설계에 공통적이지만 자동차 묘지에서 동일한 전류 (?)인양이 가능할 수 있습니다! 아니면 DIY 또는 구매? 이것은 모든 디자이너의 매일 결정 / 구매 결정입니다.
마지막으로 위치 센서는 어떻습니까? 장거리 이동을위한 위치 센서는 선형 모션에서 풀리 감소, 포트에 이르기까지 8mm CNC 또는 더 작은 톱니 기어 벨트가있는 Pot을 사용하는 기계 천재가 아닌 한 비쌀 수 있으며, 그런 다음 pot 전압을 선형 위치로 읽고, 보정하고 서보 피드백에 사용합니다. 그런 다음 MCU 입력 스위치가 위치에 대해 입력 한 상태를 기억하고 다음 위 / 아래 또는 1,2,3 +,-를 토글합니다. 그러나 스위치를 바꾼다. 빠진 것이 더 있습니까? 엔드 스톱 스위치? CNC 기계에 대한 STD 연습.
또 다른 옵션은 기존 SS-5 마이크로 스위치와 동일한 접점 정격을 갖는 2 개의 SPDT 릴레이를 사용하는 것입니다.
책상이 극성에 민감한 부품이없는 스위치, 모터 및 릴레이 일 경우 전원 공급 장치의 극성을 간단히 바꿀 수 있습니다. 그러면 공통 30v 레일이 아닌 공통 0v가 있습니다.
그런 다음 2 개의 NPN 트랜지스터 또는 2 개의 N 유형 MOSFET을 사용하여 0v를 흰색 및 녹색 와이어로 전환 할 수 있습니다. 위아래도 분명히 반전됩니다.
기존 릴레이 코일 및 모터의 역기전력으로부터 트랜지스터를 보호하기 위해 두 개의 프리 휠링 다이오드를 추가해야합니다.