산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Equipment >> 산업용 장비

시간 지정 환기 장치를 만드는 방법

방을 환기시켜야 합니까? 이 기사에서는 내 보트 선실의 습한 공기를 배출하기 위해 릴레이 작동식 GPS 타이밍 팬을 만든 방법을 보여줍니다. PIC16F628A로 제어되며 LCD가 있습니다.

방을 환기시켜야 합니까? 이 기사에서는 내 보트 선실의 습한 공기를 배출하기 위해 릴레이 작동식 GPS 타이밍 팬을 만든 방법을 보여줍니다. PIC16F628A로 제어되며 LCD가 있습니다.

공기가 흐르게 하십시오

환기가 거의 또는 전혀 없는 작은 방에서는 공기가 정체되는 경향이 있습니다. 공기가 조금 습하면 특정 부위에 곰팡이와 곰팡이가 생길 수 있습니다.

곰팡이와 곰팡이는 자연에서 발견되며 잎, 나무 및 기타 식물 파편을 분해하는 데 필요합니다. 내 배에 나무가 많이 있기 때문에 거기에 곰팡이와 곰팡이가 생길 것입니다. 그들이 들어오는 것을 막을 수는 없지만 가능한 한 곰팡이와 곰팡이에 적대적인 보트 내부 환경을 유지하기 위해 몇 가지 조치를 취할 수 있습니다.

이를 처리하는 방법은 적어도 두 가지가 있습니다. 한 가지 방법은 빡빡한 일정에 따라 씻고 청소하는 것입니다. 얼마나 재미있습니까? 내가 괴짜이기 때문에 나는 대신 뭔가를 괴로워했습니다. 고정된 시간에 습한 공기를 순환시키고 배출하는 팬입니다.

시스템 설계

시스템이 다음을 수행하기를 바랍니다.

<울>
  • 공기 순환
  • 일정한 간격으로 자동 켜기/끄기
  • 자동차 배터리로 실행
  • 배터리 충전을 위한 배터리 충전기 포함
  • 시간 및 기타 정보를 표시하는 디스플레이 포함
  • 이러한 시스템을 만들려면 다음 부품이 필요합니다.

    <울>
  • 12v 팬
  • 마이크로컨트롤러
  • 12v 배터리 및 12v 배터리 충전기
  • 2개의 릴레이, 시간을 추적하고 터미널을 고정할 수 있습니다.
  • 기타 부품, 아래 부품 목록에 따름
  • 팬이 매시간 5분 동안 작동하기를 원합니다. 소프트웨어에 하드 코딩됩니다.

    설정은 자동차 배터리에서 실행됩니다. 내 팬의 정격은 12v 4.5A입니다. 배터리가 항상 최고 충전 상태인지 확인하기 위해 배터리 충전기에 연결하겠습니다. 팬이 작동 중일 때 배터리 충전기가 과부하되지 않도록 하기 위해 팬이 작동하는 동안 시스템이 충전기를 "분리"하도록 할 것입니다. 하나의 릴레이는 팬을 작동하고 다른 릴레이는 배터리 충전기를 작동합니다. 팬이 작동 중일 때는 배터리가 충전되지 않고 팬이 작동하지 않을 때는 배터리가 충전됩니다.

    시간을 추적하기 위해 GPS 모듈을 사용하고 있습니다. 이 프로젝트에서는 Skylab SKM53 시리즈 모듈(PDF)을 사용합니다. 이 장치는 UART를 통해 초당 여러 개의 NMEA 문장을 보냅니다. 데이터 시트는 RXD와 TXD 모두에 10K 풀업 저항을 사용할 것을 권장합니다. 이렇게 하면 직렬 데이터 안정성이 향상됩니다. 나는 그렇게 하지 않았고 어떤 불안정성을 눈치채지 못했다. 나는 운이 좋을지도 모른다. 데이터시트의 같은 페이지에는 적당한 디커플링 커패시터를 추가해야 한다고 나와 있습니다. 10uF 전해 및 0.1uF 세라믹. 회로를 브레드보드할 때 0.1uF 세라믹만 사용했습니다.

    Skylab 데이터시트의 스크린샷(PDF).

    나는 시간을 얻기 위해 "RMC" 문장을 사용하고 있습니다. RMC 문장의 예는 다음과 같습니다.

    $GPRMC,075747.000,A,2233.89990,N,11405.3368,E,3.9,357.8,260210,,,A*6A

    $GPRMC 뒤의 첫 번째 숫자는 시간입니다. 이 예에서 시간은 07:57:47입니다. 그 정보가 필요합니다.

    다음으로 필요한 것은 GPS 모듈에 유효한 위치 수정이 있는지 알려주는 접두사입니다. 위의 예에서 세 개의 0 다음에 대문자 A가 있습니다.

    "A"는 유효한 수정 사항을 나타내고 "V"는 잘못된 수정 사항을 나타냅니다. 내 소프트웨어에서 유효한 수정 사항을 확인합니다. 이 문자는 대소문자를 구분합니다.

    프로젝트를 구조화하기 위해 블록 다이어그램을 만드는 것을 좋아합니다. 이렇게 하면 내가 하고 싶은 것을 "시각화"합니다.

    위의 블록 다이어그램에서 저는 모든 것을 자체 블록으로 나눴습니다. 이는 회로도 또는 회로의 문제를 해결해야 하는 경우에도 유용합니다.

    하드웨어

    회로도는 블록 다이어그램을 기반으로 합니다. 구성 요소와 회로의 연결을 반영하기 위해 블록 다이어그램의 모든 블록을 재현했습니다.

    LM7805 레귤레이터의 데이터시트에는 표준 애플리케이션의 경우 입력 핀에 0.33uF, 출력 핀에 0.1uF만 필요하다고 나와 있습니다. 그렇다면 왜 다른 가치 캡과 일부 추가 캡을 사용합니까? 입력과 출력을 매끄럽게 하는 데 사용하고 있습니다. 조금 과할 수도 있지만 이 조절기 구성에 대해 아주 좋은 경험이 있습니다. 커패시터를 사용하지 않으면 레귤레이터가 진동하기 시작할 수 있습니다. LM7805 레귤레이터는 오래된 선형 레귤레이터입니다. 최신 스위칭 레귤레이터를 사용하지 않는 이유는 무엇입니까? 스위칭 레귤레이터는 선형 레귤레이터보다 훨씬 더 효율적입니다. 이것은 내가 주위에 누워 있던 것입니다.

    릴레이 하나만 사용하여 부품과 공간을 절약할 수 있었습니다. 릴레이 2개를 원합니다. 두 개의 릴레이를 사용하는 이유 중 하나는 충전기가 끊어지고 팬이 작동하는 사이에 약간의 시간 프레임이 있기를 원하기 때문입니다.

    BOM.ULP에서 OpenOffice Calc로 부품 목록을 가져오고 불필요한 열 중 일부를 제거했습니다.

    회로도에 표시되지 않는 퓨즈가 있습니다. 팬 양극 와이어에 12v 8A 정격 퓨즈가 있고 배터리 충전기 양극 와이어에도 동일한 퓨즈가 있습니다.

    소프트웨어

    이 기사 끝에 있는 다운로드 링크에서 C 소스를 다운로드할 수 있습니다. 코드는 주석 처리가 잘 되어 있지만 여기에서 몇 가지 추가 하이라이트를 하겠습니다.

    나는 프로그램을 만들 때 일정한 구조를 따른다. 이 다이어그램은 구조를 보여줍니다:

    코드는 필요한 라이브러리를 포함하는 것으로 시작하고 구성 비트가 뒤따릅니다. 소스 코드에 구성 비트를 포함하는 것은 좋은 프로그래밍 방법으로 간주됩니다. 그러면 귀하가 수행한 작업과 다른 사람들이 문제 해결을 돕기 위해 훨씬 더 쉽게 볼 수 있습니다. 게다가 몇 개월 후에 프로젝트를 시작하면 곧바로 비트가 표시됩니다.

    구성 비트가 정상이면 정의로 이동합니다. 여기에서 내가 회로에 연결한 수정 속도를 정의합니다. 마이크로컨트롤러의 포트도 정의됩니다.

    다음은 변수입니다. 모든 변수가 여기에 선언됩니다.

    이제 함수의 프로토타입을 만들 차례입니다. 여기에서는 프로그램에서 사용하는 모든 기능을 나열합니다. 일부 프로그래머는 이것을 시간 낭비라고 생각하지만 나는 그것을 좋아하고 유지합니다. 메인 프로그램 루프 이후에 함수로 프로그램을 구성하는 경우 실제로 필요합니다.

    다음은 기능입니다. 이제 댓글을 시작하는 것이 정말 중요합니다. 나는 일반적으로 각 기능 위에 일반적으로 기능이 무엇을 하는지 알려주는 몇 줄을 가지고 있습니다. 또한 함수 내에서 코드 라인을 주석 처리합니다.

    한 가지 예는 이 프로젝트에서 UART 포트를 초기화하는 함수입니다.

    // UART 포트를 초기화하는 기능 무효 uart_init(무효) { TXSTAbits.BRGH =0; // 높은 보드 선택 비트, 1=높음, 0=낮음 TXSTAbits.SYNC =0; // USART 모드 선택 비트, 1=동기 모드, 0=비동기 모드 TXSTAbits.TX9 =0; // 9비트 선택 비트, 1=9비트 전송, 0=8비트 전송 RCSTAbits.CREN =1; // 연속 수신 활성화 비트, 1=연속 수신 활성화 /* 16MHz 수정으로 SPBRG 계산 16MHz 16000000 /9600 =1666.6666 1666.6666 / 64 =26.0416 26.0416 - 1=25.0416 25.041 =25 */ SPBRG =25; // 9600-n-8-1 PIE1bits.RCIE =1; // USART 수신 인터럽트 활성화 비트, 1=활성화 RCSTAbits.SPEN =1; // 직렬 포트 활성화 비트, 1=직렬 포트 활성화 TXSTAbits.TXEN =1; // 인에이블 비트 전송, 1 =eanble 전송 반품; }  

    함수가 하는 일을 설명하는 첫 번째 주석 줄이 표시됩니다. 그런 다음 모든 코드 행에 주석이 달려 있으므로 무슨 일이 일어나고 있는지 알 수 있습니다.

    모든 기능이 준비되면 메인 프로그램을 실행할 차례입니다. 메인 프로그램은 영원히 실행되는 루프에 들어가기 전에 몇 가지 명령문으로 시작합니다.

    jc_lettheairflow.c.zip

    결론

    이 기사에서는 공기를 불어 순환시키는 팬으로 내 보트의 환경을 곰팡이와 곰팡이에 적대적으로 만들려고 노력했습니다. 팬은 캐빈 밖으로 나가는 파이프에 연결됩니다. 나는 GPS 모듈을 사용하여 시간을 추적하고 두 개의 릴레이를 사용하여 팬을 켜고 끕니다. 배터리가 계속 충전되어 있는지 확인하기 위해 다른 릴레이를 사용하여 배터리 충전기를 켜고 끕니다.

    이 회로를 한 단계 더 발전시키고 날짜를 표시하는 것은 독자에게 맡깁니다.

    왜 GPS 모듈을 사용합니까? 마이크로컨트롤러를 간단한 타이머로 사용할 수도 있었습니다. 그런 다음 시간을 설정하기 위해 일종의 인터페이스를 만들어야 했습니다. 또는 실시간에 관계없이 실행되는 것으로 만족할 것입니다. 매 시간마다 5분 동안 실행됩니다. GPS를 사용하면 매 시간마다 5분씩 실행되도록 프로그래밍할 수 있습니다.

    사진

    이 프로젝트를 직접 시도해 보십시오! BOM을 받으세요.


    산업용 장비

    1. 유리 섬유를 만드는 방법
    2. 프로토타입을 만드는 방법
    3. 공기 압축기 시스템을 보다 효율적으로 만드는 방법
    4. 에어 드라이어는 어떻게 작동합니까?
    5. 압축 공기의 오염 물질을 제거하는 방법
    6. 유압 호스 교체 방법
    7. 금속 선반 척을 만드는 방법
    8. 작동 방식:압축 건조기의 열
    9. 작동 원리:회전식 치아 압축기
    10. 압축 공기 시스템을 다시 사용하기 위한 결의안 만들기