ΕΠΙΤΥΧΙΑ!!!
Τα κατάφερα τελικά να το οδηγήσω μέσω ενός PIC12F615 (~1.5€)!
Έβαλα και ένα LED για να έχω μια ένδειξη πόσο μεταβάλλεται το duty cycle.
Ορίστε ο κώδικας για MikroBasic Pro:
Κώδικας:
Program PWM_test
' * DESCRIPTION
' PWM Fan controller through PIC12F615
'
' * TEST CONFIGURATION
' MCU: P12F615
' Oscillator: internal 4Mhz
'
' * NOTES
' Pin (Function):
' 1(Vdd, +5V) 5(CPP1, pwm and led/fan)
' 2 6
' 3(AN3) 7
' 4 8(Vss, GND)
'
' * CONFIGURATION BITS:
' Oscillator: Internal RC no clock
' Watchdog: ON
' Power Up timer: ON
' Master Clear Enable: Enabled
' Code protect: OFF
' Internal Oscillaotr Frequency: 4 MHz
' BOD: BOD enabled
dim temp as byte
main:
GPIO = %000000 ' initialize GPIO
TRISIO = %001000 ' configure GPIO as output
ANSEL = %001000 ' setting GPIO as digital I/O
PWM1_init(250) 'Starting PWM function at 250HZ
PWM1_start
while TRUE
temp = adc_read(3)
PWM1_set_duty(temp)
wend
PWM1_stop
end.
Δύο παρατηρήσεις:
- Από τον ανεμιστήρα ακούγεται συνέχεια ένας ήχος, μάλλον βόμβος σε υψηλή συχνότητα ο οποίος είναι πιο ισχυρός όταν το duty cycle είναι μικρό. Ο ανεμιστήρας μου είναι ένας κλασικός 12Vdc Brushless fan, ο οποίος έχει είσοδο 2 καλωδιάκια, ένα κόκκινο και ένα μαύρο.
- Με duty cycle στο 100%, ο ανεμιστήρας δεν αποδίδει όσο αποδίδει με συνεχή τάση 12V. Υπάρχει τρόπος να του δώσω λίγη παραπάνω ισχύ? ΠΧ μειώνοντας την αντίσταση R3 1kΩ? Την τιμή 1ΚΩ την έβαλα επειδή μου αυτήν είδα σε παλιότερα κυκλώματα, μπορεί κάποιος να μου εξηγήσει γιατί την χρησιμοποιούσαν ως τόση?
Ευχαριστώ!