산업용 장비
이 프로젝트에서 우리는 두 개의 서로 다른 Atmel 마이크로컨트롤러를 프로그래밍하기 위한 회로를 구축하고 필요한 소프트웨어 설정에 대해 논의할 것입니다.
이 프로젝트는 ATmega328P 프로그래밍을 위한 회로와 ATtiny45 프로그래밍을 위한 두 개의 매우 유사한 회로의 구성을 설명합니다. 이 기사에서는 프로그래밍 회로의 전체 개략도와 무납땜 브레드보드 어셈블리의 자세한 사진을 제공합니다. 또한 Atmel Studio 7 IDE(통합 개발 환경)도 도입될 예정입니다.
ATmega328P는 Atmel의 28핀 마이크로컨트롤러이며 AVR 라인의 일부입니다. Arduino 브랜드의 개발 플랫폼에서 가장 자주 사용되는 μC로 가장 잘 알려져 있지만 AT328P는 거기에서 짜낼 수 있는 것보다 훨씬 더 많은 기능을 할 수 있습니다. 그 진술에 대한 몇 가지 증거를 보려면 660페이지 데이터시트를 살펴보십시오.
ATtiny45는 8핀 μC이며 ATmega328P의 "아기 형제"로 생각할 수 있습니다. 동일한 기능이 많이 있지만 I/O 핀이 거의 없습니다.
직렬 주변 장치 인터페이스(SPI)는 ATmega328P 및 ATtiny45를 프로그래밍하는 데 사용됩니다. 마스터 출력, 슬레이브 입력(MOSI) 신호, 마스터 입력, 슬레이브 출력(MISO) 신호 및 직렬 클록(SCK) 신호로 구성된 3선(접지) 버스입니다. 클럭은 마스터 장치에서 생성되며 마스터와 슬레이브(또는 슬레이브) 간의 동기화된 통신을 보장하는 데 사용됩니다. 따라서 SPI는 "동기식" 통신 버스입니다.
프로그래밍 회로의 개략도는 아래와 같습니다. 저항 R2 및 LED1은 프로그래밍에 꼭 필요한 것은 아니지만 이 프로젝트의 뒷부분에서 정의된 대로 테스트 목적으로 회로에 포함됩니다.
ATmega328P 및 ATtiny45를 처리할 여러 프로그래머를 사용할 수 있습니다. Atmel-ICE는 목록의 맨 위에 있으며 향후 기사에서 논의할 훌륭한 프로그래머입니다. 현재로서는 skinflint에 사용할 수 있는 더 저렴한 옵션이 있으며 Sparkfun AVR Pocket Programmer는 이 기사의 skinflint 작성자가 사용하는 것입니다. 다른 것을 선호한다면 취향과 수첩에 맞는 것을 자유롭게 선택하십시오. 앞에서 설명한 대로 직렬 주변기기 인터페이스를 사용하는지 확인하고 이 문서의 정보를 적절하게 변경할 준비를 하십시오.
주의! 프로그래머를 처음 연결하기 전에 컴퓨터에 AVR Pocket Programmer용 적절한 드라이버를 다운로드하여 설치하십시오. Windows에서 잘못된 드라이버를 설치하도록 허용한 경우 수정하는 데 매우 문제가 될 수 있습니다. AVR Pocket Programmer 드라이버를 구하는 방법은 이 문서의 뒷부분에 나와 있습니다.
AVR Pocket Programmer는 Atmel μC에 연결할 리본 케이블과 함께 제공됩니다. 세 개의 커넥터가 장착되어 있습니다. AVR Pocket Programmer의 짝을 이루는 수 헤더에 꽂혀 있는 2×5 암, 리본 케이블 아래로 약 9인치(23cm) 떨어진 또 다른 2×5 암(여기서는 사용하지 않음) 이 기사), 리본 케이블 끝에 2×3 암놈이 있습니다. 핀아웃은 아래 사진에 나와 있습니다.
ATmega328P 및 ATtiny45 프로그래밍 회로 무납땜 브레드보드 어셈블리는 다음 사진에 나와 있습니다. 6개의 짧은 점퍼 와이어는 2×3 암 커넥터에서 필요한 리드를 무납땜 브레드보드의 마이크로컨트롤러에 있는 적절한 핀에 연결하는 데 사용됩니다. 아래 조립 사진의 와이어 색상은 위의 개략도의 색상과 일치합니다.
일부 와이어 점퍼 외에도 프로그래밍 회로 어셈블리에 필요한 부품이 다음 표에 나열되어 있습니다.
부품 참조 | 설명 | 출처 | 항목 번호 |
---|---|---|---|
U1 | IC, ATmega328P-PU, 32kB 플래시, DIP-28, 1.8-5.5V | 디지 키 | ATMEGA328P-PU-ND |
U1 | IC, ATtiny45-PU, 4kB 플래시, DIP-8, 2.7-5.5V | 디지 키 | ATTINY45-20PU-ND |
R1 | 저항, ¼ W, 10kΩ | 디지 키 | 10KQBK-ND |
R2 | 저항, ¼ W, 470Ω | 디지 키 | 470QBK-ND |
LED1 | 다이오드, 발광, T1 3/4, 노란색 | 디지 키 | 754-1889-ND |
C1 | 커패시터, 세라믹, 0.1µF, 50V | 디지 키 | 399-9797-ND |
해당 사항 없음 | 프로그래머, AVR 포켓, PGM-09825 | 디지 키 | 1568-1080-ND |
해당 사항 없음 | 브레드보드, 무납땜, 400 접점 | 디지 키 | 377-2094-ND |
AVR Pocket Programmer용 Windows 드라이버는 Adafruit USBTiny Programmer에서 사용하는 것과 동일합니다. 이 Adafruit 웹 페이지로 이동하여 libusb v1.12로 빌드된 Windows USBtinyISP 서명 드라이버에 대한 링크를 클릭하십시오. 그러면 두 개의 installer.exe 파일이 포함된 zip 파일을 다운로드할 수 있습니다. 하나는 32비트 컴퓨터용이고 다른 하나는 64비트 컴퓨터용입니다. Windows PC에 적합한 것을 두 번 클릭하면 드라이버가 설치됩니다.
올바른 Windows 드라이버를 설치한 후에만 AVR Pocket Programmer를 컴퓨터에 처음 연결해야 합니다. PC에서 AVR Pocket Programmer로 연결하려면 USB Type A to Miniature B male-to-male 케이블이 필요합니다. 연결하면 파란색 PWR LED와 빨간색 Stat1 LED가 켜져야 합니다. 두 개의 파란색 데이터 LED도 켜지거나 깜박일 수 있습니다. Windows는 드라이버를 찾으려고 시도하며 필요에 따라 Windows를 올바른 드라이버 위치로 안내해야 합니다. 제대로 설치되면 AVR Pocket Programmer가 libusb-winXX 장치 아래의 장치 관리자에 "USBtiny"로 표시됩니다. COM 포트로 열거되지 않습니다. 아래 스크린샷 참조:
많은 마이크로컨트롤러 설계 회사와 마찬가지로 Atmel에는 Atmel Studio 7과 같은 하드웨어 제품과 함께 작동하는 IDE(통합 개발 환경)가 있습니다. Atmel μC를 프로그래밍하는 유일한 방법은 아니지만 Windows 7, 8, 및 10(32비트 및 64비트 모두) 안타깝게도 Linux 또는 Mac 운영 체제에서는 사용할 수 없습니다.
Atmel Studio 7의 옵션과 선택의 수는 신규 사용자에게 압도적일 수 있습니다. 따라서 이 프로젝트에서는 단계별 접근 방식을 제공하고 프로세스를 크게 단순화합니다. PC에 IDE를 다운로드하여 설치하는 것으로 시작하십시오. Studio 7 사용자 가이드와 풍부한 추가 정보도 다운로드할 수 있습니다.
여러 하드웨어 프로그래머에 대한 지원이 Studio 7에 포함되어 있지만 정확한 선택은 사용할 Atmel 마이크로컨트롤러에 따라 다릅니다. 아래 스크린샷에서 ATMega328P를 지원하는 프로그래머는 오른쪽에 나열되어 있습니다.
보시다시피 AVR Pocket Programmer는 목록에 없습니다. 그러나 AVRDude라는 소프트웨어의 도움으로 Studio 7에서 계속 사용할 수 있습니다.
AVRDude는 Atmel 마이크로컨트롤러에서 다운로드 및 업로드하는 데 사용되는 명령줄 유틸리티입니다. 버전은 Linux 및 Windows 시스템 모두에서 사용할 수 있습니다. 이 글을 쓰는 시점(2017년 6월 7일) 현재 사용 가능한 최신 버전은 6.3입니다. 여기에서 다운로드할 수 있습니다. Windows 사용자는 avrdude-6.3-mingw32-zip(이 링크를 클릭하면 zip 파일이 다운로드됩니다!)을 다운로드하고 파일의 압축을 풀고 AVRDude를 설치해야 합니다. 메인 하드 드라이브의 루트에 프로그램을 설치하는 것은 필수는 아니지만 Atmel Studio 7과 함께 사용하는 것을 단순화할 것입니다. 6.3 이후 버전을 사용할 수 있는 경우 재량에 따라 설치할 수 있습니다. AVRDude 사용자 가이드는 여기에서 볼 수 있습니다.
AVRDude가 제대로 설치되고 작동하는지 확인하려면 다음 단계를 따르세요.
<올>절차의 예는 아래 스크린샷을 참조하십시오. 스크린샷이 잘렸으며 지원되는 Atmel 기기 목록의 일부만 표시됩니다.
프로그래머가 앞에서 설명한 대로 납땜 없는 브레드보드의 AVR에 연결되어 있다고 가정하면 AVR을 프로그래밍할 준비가 거의 완료된 것입니다. 아래 버튼을 이용하여 New Blink.zip 파일을 다운받아 압축을 풀고 PC의 편리한 위치에 저장하세요.
New_Blink.zip
이제 이 절차를 따르십시오.
<올>-c usbtiny -p m328p -v -U 플래시:w:$(TargetDir)$(TargetName).hex:i
ATtiny45의 경우 다음을 입력합니다.
-c usbtiny -p t45 -v -U 플래시:w:$(TargetDir)$(TargetName).hex:i
<올> 분명히 LED를 깜박이는 것은 긴 과정이었지만 AVR 마이크로컨트롤러 프로그래밍을 위한 하드웨어 플랫폼 생성, 통합 개발 환경(Atmel Studio 7) 설치, 외부 통합 프로그램(AVRDude)을 선택하고 선택한 AVR에 대한 프로그래밍 도구를 정의합니다. 훨씬 더 재미있는 미래의 Atmel 프로젝트를 위해 더 쉬워질 테니 안심하십시오. AllAboutCircuits.com에서 시청하십시오.
이 프로젝트를 직접 시도해 보십시오! BOM을 받으세요.
산업용 장비
콘크리트와 시멘트의 주요 차이점은 콘크리트는 물, 골재 및 시멘트로 이루어진 복합 재료라는 것입니다. 시멘트는 석회석과 기타 미네랄로 만든 매우 미세한 분말로 물을 흡수하고 콘크리트를 함께 고정시키는 바인더 역할을 합니다. 시멘트는 그 자체로 건축 자재이지만 시멘트 없이는 콘크리트를 만들 수 없습니다. 두 용어는 종종 같은 의미로 잘못 사용되지만 콘크리트와 시멘트는 분명히 별개의 제품입니다. 시멘트 시멘트는 석회석, 칼슘, 규소, 철, 알루미늄 등의 성분으로 만들어집니다. 이 혼합물을 대형 가마에서 약 1,482°C(2,700°
아스팔트와 콘크리트는 전 세계적으로 일반적으로 사용되는 두 가지 건축 자재입니다. 둘의 주요 차이점은 아스팔트는 천연 퇴적물이나 원유에서 추출한 끈적끈적한 검은 탄화수소인 역청과 골재를 혼합하여 만든다는 것입니다. 콘크리트는 골재와 시멘트 결합제를 혼합한 다음 혼합물을 경화시켜 암석과 같은 물질을 형성하여 만듭니다. 아스팔트와 콘크리트는 지붕에서 보도에 이르기까지 다양한 건설 작업에 사용됩니다. 당신이 정말로 기술적인 것을 얻고 싶다면 아스팔트는 실제로 콘크리트의 한 형태입니다. 왜냐하면 콘크리트는 실제로 경화 후 응고되는 골재