제조공정
| × | 2 | ||||
| × | 2 | ||||
| × | 2 | ||||
| × | 1 |
수백 개의 릴레이를 동시에 제어하고 동기화해야 합니까? 그런 다음 Arduino, ESP8266, Pi, PC 또는 Mac을 릴레이 확장기가 있는 IO 확장기에 연결하고 새로운 외부 래칭 기능을 사용하십시오.
이를 통해 래치할 준비가 된 매우 컴팩트한 비트 형식으로 새 릴레이 설정을 보낼 수 있습니다. 그런 다음 MCU 또는 IO 확장기의 단일 GPIO 라인을 사용하여 래치된 모든 데이터를 동시에 출력합니다.
Arduino 프로젝트로 최대 65,280개의 릴레이 제어를 참조하십시오!
그렇다면 외부 래칭을 위한 IO 확장기를 설정하려면 무엇이 필요합니까? IO Expander의 간단한 명령어 구조를 이용하여 External Latching으로 x16 Relay Board를 제어하는 간단한 Use Case를 설정해 봅시다.
[g]pio 핀 [4]를 높은 [1] 레벨의 [o] 출력으로 설정하고 [g]pio 핀 [10]에서 [n]음의 에지 감지를 활성화하고 마지막으로 릴레이 [e]를 활성화합니다. xpander 외부 [l]핀 [10]의 래치.
>g4o1;g10n;el10
알았어
알았어
10
>
이제 릴레이 [e]xpanders [o]n/o[f]f/[s]et를 돌린 다음 외부 래치를 사용하여 [g]pio 핀 [4]를 [o]출력으로 설정하여 활성화할 수 있습니다. [1]ms 동안 낮은 [0] 레벨. 핀 4가 다시 래치할 준비가 되도록 하이 상태로 돌아가기를 원합니다.
>e1o;e10o;e16o
알았어
알았어
알았어
>g4o0,1
알았어
>
이제 이 프로젝트를 Arduino Nano를 사용하여 x2 IO 확장기, x2 릴레이 확장기 및 x2 16 릴레이 보드로 확장해 보겠습니다. x2 IO 확장기는 최대 255개의 IO 확장기가 있는 멀티드롭 9비트 프로토콜을 사용하여 함께 연결됩니다.
IO 확장기 외부 래칭 다이어그램
Arduino 코드
/* IO 확장기
*
* 릴레이 확장기 외부 래칭
*
*/
#include
#include "IOExpander9Bit.h"
#include
//#define SERIAL_DEBUG
#define MAX_BOARDS 2
#ifdef SERIAL_DEBUG
SoftwareSerial swSerial(8,7);
#endif
설정 무효
{
Serial9Bit.begin(115200 , SERIAL_9N1);
Serial9Bit.write(0); // IO 확장기를 9비트로 설정
#ifdef SERIAL_DEBUG
swSerial.begin(115200);
swSerialEcho =&swSerial;
#endif
wdt_enable(WDTO_8S);
for (uint8_t 보드 =1; 보드 <=MAX_BOARDS; 보드++)
SerialCmdDone(board, "eb1");
SerialCmdDone(1, "g4o1; g10n;el10"); // 릴레이의 외부 래치용 GPIO 설정
SerialCmdDone(2, "g10n;el10");
}
void loop()
{
정적 uint16_t i =0;
uint8_t r[2];
r[0] =~(uint8_t)(i>> 8);
r[1] =~ (uint8_t)i++;
SerialWriteRelayExpander(1, r, 2);
지연(50);
r[0] =~r[0]; // 보드 2의 모든 릴레이 반전
r[1] =~r[1];
SerialWriteRelayExpander(2, r, 2);
delay(50);
SerialCmdDone(1, "g4o0,1"); // 모든 릴레이 래치
wdt_reset();
}
IO 확장기 외부 래칭 작동
<비디오 너비="100%" 높이="100%" preload="metadata" controls="controls">http://www.zevendevelopment.com/videos/RelayExpanderLatching.mp4
그러니 지금 IO Expander를 구입하고 시스템을 구축하십시오!
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">/* IO 확장기 * * 릴레이 확장기 외부 래칭 * */#include섹션>#include "IOExpander9Bit.h#include //#define SERIAL_DEBUG#define MAX_BOARDS 2#ifdef SERIAL_DEBUGSoftwareSerial swSerial(8,7);#endifvoid setup(){ Serial9Bit.begin(115200, SERIAL_9N1); Serial9Bit.write(0); // IO 확장기를 9비트로 설정#ifdef SERIAL_DEBUG swSerial.begin(115200); swSerialEcho =&swSerial;#endif wdt_enable(WDTO_8S); (uint8_t 보드 =1; 보드 <=MAX_BOARDS; 보드++) SerialCmdDone(보드, "eb1"); SerialCmdDone(1, "g4o1;g10n;el10"); // 릴레이의 외부 래치용 GPIO 설정 SerialCmdDone(2, "g10n;el10");}void loop(){ static uint16_t i =0; uint8_t r[2]; r[0] =~(uint8_t)(i>> 8); r[1] =~(uint8_t)i++; SerialWriteRelayExpander(1, r, 2); 지연(50); r[0] =~r[0]; // 보드 2의 모든 릴레이 반전 r[1] =~r[1]; SerialWriteRelayExpander(2, r, 2); 지연(50); SerialCmdDone(1, "g4o0,1"); // 모든 릴레이 래치 wdt_reset();}외부 래치
제조공정
CNC 가공은 프로토타입을 만들거나 최종 사용 제품을 대량 생산할 때 실현할 수 있는 좋은 방법입니다. 그러나 처리 비용은 종종 사람들이 중단하는 주된 이유입니다. 재료, 디자인, 표면 처리, 수량 및 처리 시간을 포함하여 CNC 부품의 비용에 영향을 미치는 몇 가지 요소가 있습니다. 다행히 CNC 가공 경험이 풍부한 전문가가 절단 비용과 최종 제품 가격을 줄이는 데 큰 도움이 될 수 있습니다. 이 기사에서는 엔지니어의 상위 10가지 기술을 요약합니다. 이러한 입증된 기술을 따르면 비용을 최소화하고 설계 요구 사항을 충족하도록 최
CNC 가공 부품의 품질은 부품 설계, 도구 선택, 도구 경로 프로그래밍, 기계 기술자의 기술, 공작물 클램핑 전략 등을 포함한 많은 요소에 따라 달라집니다. - 고성능 항공기는 안정적으로 작동해야 합니다. 신뢰성을 위해서는 정확성, 정밀도 및 정밀한 공차를 유지하기 위해 부품을 제조하는 CNC 가공 공장의 능력이 필요합니다. 주요 구성 요소를 처리하는 데 사용할 가공 공장을 결정할 때 두 가지 질문을 하는 것이 중요합니다. CNC 밀링의 정확도는 무엇이며 이 정확도를 제공하기 위한 가공 공장의 약속은 무엇입니까? CNC 밀링 정