자동으로 물을 공급하는 방식을 두가지 정도 생각을 했었는데
첫번째는 중력을 이용해서 물을 공급하는 방식이고, 두번째는 펌프를 이용해서 공급하는 방식입니다.
첫번째 방법으로 하게 되면 공급시스템이 화분보다 높은 곳에 위치해야 하기 때문에 그런 제약이 없는 펌프를 사용하기로 결정했습니다.
펌프보다 괜찮은 방법이 잘 떠오르질 않네요



1. 펌프 내부


부품함에 박혀있던 워터펌프가 있어서 그냥 이걸 쓰기로 했습니다.
스펙을 잘몰라서 구글링을 해보니 6V 0.8A 가 필요한 펌프네요.



어떻게 작동하는지 궁금해서 내부를 열어보았습니다.


이 방식은 기어펌프 방식이고, 기어 2개가 맞물려 회전하면서 기어와 기어를 둘러싼 벽면사이의 공간으로 물이 배출되는 방식입니다.



2. 회로도

펌프에 대해서 충분히 알아봤으니 제대로 작동하는지 테스트해봤습니다.
펌프를 구동시키려면 6V 0.8A가 필요한데 아두이노출력핀에서는 40mA정도 밖에 출력이 안됩니다.
그래서 트랜지스터를 사용해 별도의 회로를 만들었습니다.




-. 다이오드
dc모터 내부는 코일로 이루어져 있는데 코일은 콘덴서와 마찬가지로 전기를 축적합니다.
코일에 전기를 흘렸다가 OFF 시킬 때 역기전력이 발생하게 되는데
이 역기전력이 트랜지스터가 버틸 수 있는 한계보다 클 경우에 트랜지스터가 파괴될 수 있습니다.
그래서 이런 상황을 방지하기 위해 회로에 다이오드를 추가하여 역기전력이 트랜지스터로 흐르지 않게 막아줍니다.





-. 트랜지스터 &저항
제가 사용한 트랜지스터는 SS8050-D입니다. 1.5A까지 흘려줄 수 있고 증폭도는 300입니다. 따라서 베이스에 5mA이상만 흘려주면 포화상태가 됩니다.

아두이노 출력 핀의 전압을 측정 해보니 4.2V 정도가 출력됐고, 트랜지스터의 베이스와 이미터 사이에 0.7V 전압강하가 생깁니다.  베이스 저항에 걸리는 전압은 3.5V이고 필요한 전류는 5mA 이므로

R = V/I = 3.5 / 0.005 =  700옴 보다 낮은 저항을 선정하면 됩니다.

하지만 너무 낮은 저항을 선정하면 아두이노 출력포트에서 과전류가 흐를 수 있으므로 적절한 저항을 선정해 주어야 합니다.

아두이노 출력포트에서 최대40mA를 흘릴 수 있지만 보호를 위해 30mA정도라 생각하고 선정하도록하겠습니다. 따라서 저항에 인가되는 전압은 3.5V정도이고 30mA의 전류를 흘려주기 위해서는  116옴 정도 되는 저항이 필요합니다.

어차피 모터는 자기가 필요한 만큼만 전류를 끌어다 쓰기 때문에 116옴에서 700옴 사이의 저항을 사용하시면 될 것 같습니다.


3. 테스트




댓글 2