
PWM을 지원하는 ATTiny85를 사용해 오래되어 고장 난 장난감 자동차에서 꺼낸 장난감 모터의 속도를 조절합니다. 이 내용은 Medium에 처음 게시되었습니다: https://medium.com/@lfoster.se.be/driving-a-salvaged-toy-motor-0bc64ebf7cb8?sharedUserId=lfoster.se.be



위의 첫 번째 이미지에는 모터가 "helping hands" 장치 위에 놓여 있지만, 여러분에게 편한 곳에 놓아도 됩니다. 세 번째 이미지 는 모든 전선이 어디로 연결되는지 볼 수 있도록 더 가까이에서 촬영한 것입니다. 아래에서는 이를 참고하겠습니다.
이미지에 검은색 직사각형이 있습니다. 이것은 (유일한 8핀) ATTiny85입니다. 이 연결들은 ATTiny85로 들어가거나 ATTiny85에서 나옵니다. 또한 이것을 "MCU", 즉 마이크로컨트롤러 유닛이라고 부르겠습니다.
모터에 충분한 전력을 공급하기 위해 두 개의 pn2222 트랜지스터가 "달링턴 연결"로 구성되어 있습니다. 다음과 같이 배선합니다.
마지막으로, 매우 중요하게도, 100µF 커패시터의 양극 핀은 전원에 연결하고 음극 핀은 접지에 연결합니다. 커패시터의 배치는 매우 중요합니다. 모든 이미지에 이 부분이 표시되어 있지는 않을 수 있지만, 팬이 회전하는 이미지의 배치를 참고하세요. 커패시터의 전원 리드는 트랜지스터 전원 리드보다 상류에 연결되어야 합니다. 트랜지스터와 모터 사이에 배치하면 모터가 계속 회전할 수 있습니다.

이것은 Arduino 프로젝트가 아닙니다. PWM 출력을 사용하도록 Arduino를 프로그래밍하고 위에서 설명한 대로 PWM 출력을 첫 번째 트랜지스터의 베이스에 연결하면, 보장할 수는 없지만 모터와 팬을 제어할 수 있을 것입니다. 실제로 ATTiny85는 Arduino를 In-system Programmer로 사용해 프로그래밍할 수 있지만, ATTiny85용 구현을 찾기가 점점 어려워지고 있음을 알게 되었습니다. 더 많은 정보를 알고 계신 댓글 작성자께서는 출처를 제공해 주시면 좋겠습니다. 과거에 그 방법으로 큰 성과를 얻지 못했기 때문에, 제조사의 더 저렴한 프로그래머인 SNAP을 사용하기로 했습니다.
이 프로그래밍을 하려면 브레드보드도 배선해야 합니다. 그 배선은 위 이미지에 나와 있습니다. 참고로 ATTiny85 핀 배치도 함께 표시되어 있습니다. 칩을 올바르게 배치하려면 한쪽 끝에 있는 작은 홈에 주의해야 합니다.
이 단계의 코드는 "main.c"로 첨부되어 있습니다. 위에서 설명하고 이미지에 표시된 대로 프로젝트를 배선하면 작동할 것입니다. 그러나 IDE에서 MPLABX 프로젝트를 빌드해야 합니다. 제조사가 제공하는 방법 안내는 다음 링크에 있습니다: https://skills.microchip.com/mplab-x-ide-getting-started-and-programming-an-mcu-application .