Regulace ventilátoru

Z MAM wiki

Přejít na: navigace, hledání

Zapojení úlohy na zapnutí a regulaci ventilátoru s třídrátovým připojením, používaného např. k chlazení PC:

Soubor:CPU-FAN.png


Základ ovládání

Pro první zapnutí a vyzkoušení ventilátoru stačí připojit +12 V (žlutý přívod) a GND (černý přívod) z vnějšího zdroje, proudovou ochranu zdroje nastavte na cca 300 mA, mód proudového omezení. Pomocí spínače s NMOS FET IRFZ44N (velmi předimenzovaný, to nevadí, odkaz na datasheet je na stránce Výkonové spínací prvky) můžeme zapínání ovládat logickým signálem, log. 1=zapnuto. Změnou střídy ovládacího signálu lze regulovat střední hodnotu napájecího napětí ventilátoru a tedy jeho otáčky. Signál TACHO a odpory v jeho obvodu nemusíme zpočátku zapojovat, bez odporů ho ovšem v žádném případě nesmíme připojit k procesoru! První pokus může přímo vycházet z minulé úlohy pro řízení LED:


; 
; example fan program for ATmega168
;
; P4 CPU fan Ucc pin is supposed to be connected 
; to +15 V, GND pin is supposed to be connected 
; to FET Drain, Source on GND, Gate on 
; pin 15 (PB2, FAN). Fan runs when FAN is 1.


	.EQU DDRB = $04
	.EQU PORTB = $05

	.EQU FAN = 2

	.EQU DDRC = $07
	.EQU PORTC = $08
	.EQU PINC = $06

	.EQU DDRD = $0A
	.EQU PORTD = $0B
	.EQU PIND = $09


; Pin driving FAN is set as output:

	SBI	DDRB, FAN

; Basic keyboard init:
	SBI DDRD, 2
	SBI PORTC, 2

GO:
	RCALL   FAN_OFF

	SBIS	PINC, 2
	RCALL	FAN3W

	RCALL	WAIT
	RCALL	WAIT
	RCALL	WAIT
	RJMP	GO


;;;
;;;
;;; P R O C E D U R E S
;;;
;;;
	
VERYSMALLWAIT:
	LDI R17, 0xFC
	MOV R1, R17
SMALLWAIT:
	INC	R1
	BRNE	SMALLWAIT
	RET

WAIT:
	LDI	R16, 4
WAIT1:
	INC	R1
	BRNE	WAIT1
	INC	R2
	BRNE	WAIT1
	DEC	R16
	BRNE	WAIT1
	RET
	
FAN_ON:
    SBI	PORTB, FAN
	RET

FAN_OFF:
	CBI	PORTB, FAN
	RET

FAN3W:
	LDI	R16, 0x20
FAN3X:
 	RCALL	FAN_ON
	RCALL	VERYSMALLWAIT
	RCALL	FAN_OFF
	RCALL	VERYSMALLWAIT   ;pulse ratio controlled by number of waits
	RCALL	VERYSMALLWAIT   ;1:5 in this case
	RCALL	VERYSMALLWAIT
	RCALL	VERYSMALLWAIT
	RCALL	VERYSMALLWAIT

	INC	R2
	BRNE	FAN3X
	DEC	R16
	BRNE	FAN3X
	RET

Další kroky

Zkusíme ovládání otáček podle zmáčknuté číslice na klávesnici, odvážnější mohou zkusit měřit počet otáček pomocí signálu TACHO (2 impulsy na 1 otáčku rotoru) a výsledek ukládat do registru, příp. lze v dalším kroku použít signál TACH pro stabilizaci otáček ventilátoru.

Osobní nástroje