목록하드웨어 (79)
마음 속 하늘은 항상 맑음~!
아무리 펌웨어를 만져도 잡음의 해결이 없는 것 같아서 결국 실험을 통한 회로를 재구성하기로 해서 만들어진 결과물. C3에 전하가 충전되서 방전되기 때문에 트랜지스터에 열이 조금 많이 나는 현상이 발생. C3에 직렬로 4.7k를 하나 더 연결해야 하는 것 같은데 일단 이렇게 안들리니. 대충 PWM 잡음 잡는게 1k저항일 땐 4.7uF을 쓰고 4.7k저항일 땐 1uF저항을 쓰면 제대로 해결되는 것 같다. 이는 12F675의 개별적인 칩 특성도 안타는 효과적인 결과를 만들어낸다. C와 E에는 1uF만 연결해야 한다는 실험적인 최종 결과. 열이 많이 나는 이유는 80MM 팬이 0.19(190m)A를 소모. BC547을 해도 MJE3055T를 해도 마찬가지다. BC547에서는 조금 더 뜨거웠던 듯 싶다. MJE3..
12F675가 만든 시기에 따라서 특성이 약간 다르다는 것은 확인. 칩의 맨아래 숫자는 yyww라는 4자리 숫자인데 년도와 만든 주(week)를 표시. 묘하게 여러개 구입한 칩에 2010년도와 2013년도의 제품이 혼합되어 있었다. 가장 주목할만한 특성은 PWM의 노이즈로 2010년도는 1uf의 콘덴서로 잡아내기 힘든데 반해, 2013년도는 많이 줄어든 특성을 보임. 그리고 다르게 내장 클럭 발생기의 정확도는 2010년도가 정확해서 아주 칼같다. 하지만 2013년도는 약간 더 클럭이 높은 상태로 설정되어 있어서 560Hz까지의 범위에 이르는 클럭이 PMW으로 나온다. 결국 2010년도의 노이즈 문제를 잡을려면 트랜지스터의 C와 E단에 1~4uF의 콘덴서를 붙어주는게 나은 것 같다. 1uF도 많이 작아지기..
아두이노의 기본툴은 자바 기반이라 답답하고 또 답답한 경우가 많은데, code block for arduino는 이런 문제를 해결해준다. 새로운 프로젝트를 열면 다음과 같은 화면에서 아두이노 프로젝트를 만들 수 있다. 작업을 위한 COM포트를 설정할 수도 있고 등등의 작업이 가능하고 가장 중요한 것은 자동완성이 지원된다는 것. 3글자 정도를 입력하면 자동완성이 뜨고 길게 입력하지 않고 입력이 가능하다. 소스는 기본 아두이노툴과 완전히 같은데 다른 점 하나는 헤더가 윗줄에 표시된다. 이 헤더를 제거하면 아두이노의 정식툴과 같은 소스가 된다. 플래시 업로더가 약간 다른 것 같은데 약간의 차이가 있는 것 같은데 확실히는 모르겠다. 아쉬운 점은 이 툴은 윈도우즈 전용이고 메뉴들이 한글이 아닌 영문으로 몽땅 표시..
간단하게 아두이노를 이용한 쿨링팬 컨트롤. 센서로는 NTC-502F397을 사용한다고 가정하고, 써미스터는 접지쪽에 연결하고 저항 2.2k를 VCC쪽에 연결하는 방식을 택했다. 저항을 계산해내는 방식에 전압에 의지하는 공식은 오차를 동반하는 것 같아 저항을 기준으로 하는 공식으로 변경했다. 이 공식을 사용하면 전압의 변화와 상관없이 저항을 제대로 산출할 수 있다. 저항은 1%오차의 푸르딩딩한 저항을 사용하면 좋다. /* Fan PWM Control by Temperature for arduino uno. */ int PinFanPWM=9; int Pinanalog=0; int Temp_low=20,Temp_high=30; // min, max long x=0, Resister_temp=2200; // 2..
PIC를 간단히 굽는 회로와 스케치가 있길래, 저렴한 카피 제품을 구입. 하지만 PIC 굽는 것은 실패. PIC를 굽는 OpenProg라고 있는데, 이것의 펌웨어를 구울려면 다른 PIC 프로그래머가 필요했었다. 18F 계열은 저전압 프로그래밍 모드가 있는데 거기서 된다고 하면서 회로도와 코드가 올라왔는데, 왠걸 안된다. 그냥 포기하고 COM포트를 이용한 JDM으로 다시 구웠다. 0.7.6 펌웨어 이후로 바꾸지 않았는데, 0.9.0이 나와서 업데이트. 한참 업데이트를 안했다. 새 프로그램으로 기존 펌웨어가 사용에 문제가 있는게 아니다. OpenProg는 USB로 프로그래밍 할 수 있는 프로그래머인데 단일 전원으로 12V를 자체 생성하고 PIC는 물론 AVR도 지원하는게 장점. 나름 전자공학도가 만든 것이라..
12F675를 너무 많이 구입한 나머지 또다른 회로를 설계를 했다. 간단히 뭐 만들기엔 최고다. 아직 디자인 단계로 간단히 펌웨어까지 만들었다. 써미스터도 여러개 샀으니 마찬가지로 사용도 할겸해서 만들어졌다랄까. 30도에서 55도정도까지의 팬회전수를 컨트롤 하는데, 기본적으로 30%의 PWM신호가 들어간다. 최대치를 넘으면 100% 그대로 유지된다. 3번에 연결된 스위치는 기본 온도를 10도 낮추어 20~45도까지 작동하도록 해준다. 효과적인 범위가 있는지 찾아봐야겠지만 아직 실험은 안해봐서 모른다. Q1은 NPN트랜지스터나 N채널 FET를 사용하면 된다. 커넥터의 2번은 RPM신호를 전달하는 선으로 3핀 팬을 위한 연결이나 2핀에서는 필요가 없다. 4핀에서는 커넥터의 PWM선에 커넥터 1번을 연결하면 ..
우연히 지난번 만들었던 주울씨프를 확인하다가 다른 방법으로 코일을 결선한 것을 확인. 이 회로도에서 원래의 주울씨프는 L1과 L2가 합친 부분이 배터리의 +극으로 가야하나 이걸 뒤집었던 것 같다. 우째 트랜지스터 발열과 베이스 단자에 물리는 저항이 안먹히더라니 =ㅅ=; 이상없이 동작했고 다른 패턴을 하다 더 만들었다는 것에 만족. 진동주파수를 체크해보니 약 8KHz정도로 무한 점멸을 하고 있었다.
써미스터와 12F675 PIC를 이용해서 만들려고 설계한 대충의 기본 자료. (최종 도면. 164의 전원은 14번 7번. FM으로 만들어서 배선의 최적화는 없심. 다음 부터는 FND와 74HC164의 연결에 신경을 조금 더) R2는 NTC502F397F 써미스터. 선형이 아니라서 PIC에서는 선형적인 감소가 이루어지지 않기 때문에 다루기가 어려워 128바이트 EEPROM에서 테이블을 만들어서 저항값을 집어넣었다. 1도 차이로 보여주는 영역은 -14도에서 영상 49도까지. 그 이상은 PIC로는 테이블을 만들기 어려워 힘들 것 같다. FND(세그먼트 디스플레이)로 숫자를 표시하고 그 드라이버로는 164 시프트 레지스터를 사용한다. 클럭 값으로 내보내서 U3에는 높은 수 U2에는 낮은 수가 표시되며, 영하의 ..
1W 태양전지판(뭐 다 그렇겠지만 중국산)을 이용한 간단한 USB대응 충전회로. 문제는 케이스인데 붙이는 것도 일인 것 같다. 5.0V와 4핀 헤더에서 3.3V를 연결할 수 있도록 구성. 둘다 레귤레이터를 사용. 방열판을 붙여야될 듯 싶은데 그것두 일이다. 5V에 1W이니 전류는 200mA 정도로 최대 1A인 레귤레이터에서 어느 정도는 방열판 없이도 괜찮을 것 같다. 여차하면 알루미늄판을 하나 붙여야겠다. 대충 가격은 태양전지판이 8000냥 정도이고 나머지 부품은 3000내외인 듯 싶다. 문제는 1개씩 부품을 따로따로 구입하는데 참 어려운 일이라 일부 부품은 몽땅 구입해야 하는 것이랄까; 원래 배터리도 있어야 하지만 날림공사엔 그런게 있을리 없돠. =_=; 노을지는 저녁 태양에도 전압은 정상적으로 나왔고..
보다 나은 타이밍을 위해서 HPET라는게 있다. 최근의 장치에는 모두 이 타이머가 내장되어 있으나 윈도우즈에서는 비스타 이상에서만 지원하고 있다. 그러나 비스타는 반짝 사라진 운영체제로 윈도우즈 7이 보다 기능면에서도 안정적이다. 새로운 운영체제에서 이 HPET를 기본으로 사용하고 있는 줄 알았지만, 그렇지 않다는 것을 최근에서야 알았다. 기본적으로 윈도우즈 7도 완전하게 타이머를 사용하지는 않고 있었다. 그러나 옵션이 존재하고 그것을 사용하면 보다나은 타이밍과 CPU의 사용빈도의 절약 등으로 보다 빠른 동작을 보여준다고 한다. 그리고 시스템의 독립적 타이머이기 때문에 오버클럭등과 같은 상황의 비정상적인 클럭에서도 안정적인 시스템 동작을 시킬 수 있다. 하지만 몇몇 상황이나 오래된 칩셋에서는 동작에 문제..