라디오 전자 및 전기 공학의 백과사전 LPT 포트의 또 다른 삶. 3부. 무선 전자 및 전기 공학 백과사전 확실히 여러분 각자는(이 글을 읽고 있기 때문에) 살면서 플로피, CD 등을 접해보셨을 것입니다. 디스크 드라이브, 프린터, 스캐너, 일반적으로 스테퍼 모터를 포함하는 장치. 이제 전원을 켜봅시다. 아래 그림은 인터넷에서 찾은 다이어그램입니다. 저자가 저를 용서하게 해주세요. 링크를 제공하지 않지만 (어디에서 찾았는지 기억이 나지 않습니다) 그가이 기사를 본다면 그는 그의 계획을 알아볼 것입니다. 사실 모든 것이 공정하고 모든 것이 작동합니다. 모든 종류의 체계를 배치 할 수 있지만 이제는 회로 작동 원리가 아니라 엔진에 제어 신호를 공급하는 원리를 이해하는 것이 중요합니다. 아래 다이어그램이 이를 보여줍니다. 펄스는 각 모터 권선에 번갈아 가며 때로는 한 번에 두 개의 권선에 높은 신호 레벨이 있습니다. 다이어그램의 왼쪽을 보고 D0-D3을 확인하면 내가 도달한 위치를 즉시 이해할 수 있습니다. 이것이 바로 LPT 포트가 있는 컴퓨터로 끝나는 것입니다. 당신은 엔진과 각 유형의 엔진에 대해 직접 전원을 공급해야합니다. 다이어그램에 따르면 입력 A, B, C, D에 순서대로 &H3을 통해 2, 6, 4, 12, 8, 9, 1, 378을 공급합니다. 시작 위치는 중요하지 않습니다. 문제는 시퀀스를 유지하고 "원"에서 또는 필요한 만큼 반복하는 것입니다. 시퀀스의 방향을 바꾸면(뒤에서 앞으로) 모터의 회전은 반대 방향이 됩니다. 이 시퀀스는 모터가 절반 단계를 수행하도록 지시하고(모터 설계에 따라 다름) 전체 단계 제어의 경우 시퀀스는 3, 6, 12, 9가 됩니다. 그리고 계산기의 LED에 있는 XNUMX세그먼트 표시기가 눈에 들어왔습니다. 결정은 즉시 내려졌습니다. 이러한 표시기가 작동하는 방식은 다음과 같습니다. 간단하게 하기 위해 LED에 4자리(내 표시기에는 12개가 있음) 1분할 표시기를 그렸습니다. 비트 4-0에 XNUMX을 공급하고 세그먼트에 + 전원을 공급합니다(각 표시기 유형에는 자체 전원 매개변수가 있음). 모든 세그먼트가 결합되므로 동적 표시로 이러한 표시기를 켜야 합니다. 전자 시계를 직접 조립한 사람이라면 그것이 무엇인지 알지만 만일을 대비하여 자세히 살펴 보겠습니다. 1단계. 첫 번째 자리에 낮은 신호 레벨을 적용하고, 보고자 하는 자리의 코드를 세그먼트(높은 레벨)에 설정합니다. 2단계. 두 번째 자리에 낮은 신호 레벨을 적용하고, 보고자 하는 자리의 코드를 세그먼트(높은 레벨)에 설정합니다. Step 3. 세 번째 자리에 낮은 신호 레벨을 적용하고, 보고자 하는 자리의 코드를 세그먼트(높은 레벨)에 설정합니다. Step 4. 네 번째 자리에 Low 신호 레벨을 적용하고, 보고자 하는 자리의 코드를 세그먼트(High 레벨)에 설정합니다. 그리고 다시 새로운 단계 1, 2 등에서. 이 모든 일은 매우 빠르게 일어나기 때문에 우리의 눈은 깜박이는 숫자를 볼 시간이 없습니다. 우리는 표시기를 가져와 STROBE(1), AUTO(2), INIT(3), SELECT IN(4)에 비트 1, 14, 16, 17를 넣습니다. 이것은 숫자의 제어가 될 것이며 세그먼트 A, B, C, D, E, F, G를 D0, D1, D2, D3, D4, D5, D6에 배치합니다. 예를 들어 1(세그먼트 B, C)과 같은 첫 번째 숫자에서 점화하려면 주소 &H378에 숫자 6을 적용하고 주소 &H37A에 197을 적용해야 합니다. 그리고 여기에 완성된 프로그램인 전자 시계가 있습니다. 양식에는 2개의 버튼이 있습니다. 첫 번째는 시계를 시작하고 두 번째는 멈춥니다. 매개변수 Z = 0.004는 실험적으로 선택되었습니다. 지연을 설정하지 않으면 숫자가 병합되고 모든 것이 너무 빨리 발생하며 LED가 꺼질 시간이 없습니다. Option Explicit LPT 포트 주소 작업을 위한 라이브러리 선언 개인 선언 함수 DlPortReadPortUchar Lib "dlportio.dll"(ByVal Port As Long) As Byte Private Declare Sub DlPortWritePortUchar Lib "dlportio.dll"(ByVal 포트 길이, ByVal 값 바이트) Dim I, J를 정수로 싱글로 Dim Z 문자열로 희미한 A Private Sub Command1_Click () J = 1' 루프 분해능 Z = 0.004' 지연 하는 동안 J <> 0 사건 A = Mid$(Time$, 5, 1) '분 단위 읽기 DlPortWritePortUchar &H37A, 197 '첫 번째 비트를 켜십시오. writetime '분 단위 표시 A = Mid$(Time$, 4, 1) 'XNUMX분 읽기 DlPortWritePortUchar &H37A, 198 '두 번째 비트가 켜지도록 함 writetime ' 수십 분 표시 A = Mid$(Time$, 2, 1) '시간 단위 읽기 DlPortWritePortUchar &H37A, 192 ' 세 번째 비트가 켜지도록 함 writetime '시간 단위 표시 A = Mid$(Time$, 1, 1) 'XNUMX시간 읽기 DlPortWritePortUchar &H37A, 204 '네 번째 비트가 켜지도록 허용 writetime ' 수십 시간 표시 J = 0이면 종료 Do 고리 DlPortWritePortUchar 및 H378, 0 최종 하위 공개 구독 쓰기 시간() 케이스 Val(A) 선택 대소문자 = 0 I = 63 '0 세그먼트 디스플레이의 경우 코드 XNUMX 대소문자 = 1 I = 6' 1세그먼트 표시기에 대한 코드 XNUMX 대소문자 = 2 I = 91 '2 세그먼트 디스플레이의 경우 코드 XNUMX 대소문자 = 3 I = 79 '3 세그먼트 디스플레이의 경우 코드 XNUMX 대소문자 = 4 I = 102 '4 세그먼트 디스플레이의 경우 코드 XNUMX 대소문자 = 5 I = 109 '5 세그먼트 디스플레이의 경우 코드 XNUMX 대소문자 = 6 I = 125 '6 세그먼트 디스플레이의 경우 코드 XNUMX 대소문자 = 7 I = 7' 7세그먼트 표시기에 대한 코드 XNUMX 대소문자 = 8 I = 255 '8 세그먼트 디스플레이의 경우 코드 XNUMX 대소문자 = 9 I = 239 '9 세그먼트 디스플레이의 경우 코드 XNUMX 선택 종료 DlPortWritePortUchar &H378, XNUMX-세그먼트 표시기용 코드 작성 일시 중지(Z) '지연 최종 하위 Private Sub Command2_Click () J=0 DlPortWritePortUchar 및 H378, 0 최종 하위 '지연 절차. 통화 형식: 일시 중지(초) Public Sub Pause(단일 값) 희미한 시작, 끝 시작 = 타이머 타이머 < 시작 + 값 동안 수행 사건 고리 마침=타이머 최종 하위
이것이 실생활에서 작동하는 방식입니다. 형광 표시기의 연결에 대해서는 설명하지 않겠지 만 솔직히 시도해 보았습니다. 작동합니다. 방전 그리드에 양전위를 적용하고 필라멘트를 접지하고 D1-D0을 통해 세그먼트에 6을 적용했습니다. 모든 것이 빛납니다. 나는 LCD 표시기를 시도하지 않았으며 64Hz를 얻을 수 있는 위치를 알아내야 합니다. 누군가 연결하면 다이어그램을 받게되어 기쁩니다. 그건 그렇고, 흥미로운 아이디어입니다. 영숫자 정보를 표시하기 위해 LED에 실행 선을 만들 수 있습니다. 일반적으로 다시 한 번 저는 이 포트가 창의성을 위한 훌륭한 도구라고 확신합니다. 다음은 전기 모터에 대한 또 다른 작은 주제입니다. 모든 사람이 스테퍼 모터를 가지고 있는 것은 아니며 항상 편리하고 필요한 것은 아닙니다. 예를 들어, 수평면에서 특정 장치를 정확하게 움직이기 위해 기어박스가 있는 간단한 모터를 사용해 봅시다. 연필이나 펠트 펜으로 두십시오. 엔진은 감속 기어에 연결되고 감속 기어는 나사산 차축에 연결됩니다. 금속 섹터가 있는 디스크(광학용 접촉 패드 또는 슬롯)는 예를 들어 다음과 같이 나사 축에 단단히 고정됩니다.
또는 이것은 더 이상 중요하지 않습니다. 중요한 것은 스레드 피치(예: 1mm 피치)를 알면 4개의 섹터가 있다는 것입니다. 즉, 디스크를 완전히 돌리면 캐리지가 1mm 앞으로 이동합니다. 그리고 0,25/XNUMX 회전 동안-XNUMXmm. 섹터 수는 원하는 만큼 지정할 수 있습니다. 그러나 우리는 지금 무엇을 얻습니까?
계속하세요. 예를 들어 엔진 제어 프로그램은 이러한 알고리즘에 따라 작동합니다.
컨트롤은 D0-D7 버스 및/또는 &H37A 포트를 통해 이동하며 액추에이터(센서)의 명령은 &H379 및/또는 &H378로 이동합니다. 일반적으로 당신의 상상력과 가능성. 동일한 원리를 사용하여 캐리지를 수직면으로 이동하는 것이 논리적입니다. 그리고 여기 두 방향으로 움직이는 기계가 있습니다. 저것들. 집에서 CNC 기계를 만드는 것(컴퓨터 수치 제어)은 매우 현실적입니다. 저자: Alexey Klyushnikov, Ivanovo; 간행물: cxem.net 다른 기사 보기 섹션 컴퓨터. 읽고 쓰기 유용한 이 기사에 대한 의견. 과학 기술의 최신 뉴스, 새로운 전자 제품: 터치 에뮬레이션을 위한 인조 가죽
15.04.2024 펫구구 글로벌 고양이 모래
15.04.2024 배려심 많은 남자의 매력
14.04.2024
다른 흥미로운 소식: ▪ 초소형 목재 ▪ 미래의 언어
무료 기술 라이브러리의 흥미로운 자료: ▪ 기사 Tarakanova 공주라고 자칭하는 사기꾼의 죽음의 원인은 무엇입니까? 자세한 답변 ▪ 기사 XNUMX단 단속 팬. 무선 전자 및 전기 공학 백과사전 ▪ 기사 전기 장비 및 범용 전기 설비. 오버 헤드 전력선 및 도체. 무선 전자 및 전기 공학 백과사전 이 페이지의 모든 언어 홈페이지 | 도서관 | 조항 | 사이트 맵 | 사이트 리뷰 www.diagram.com.ua |