pretražim malo i nađem noviji, korigovan i bolje komentarisan code.
sad ću da okačim dole, a pre toga par komentara za koje mislim da su važni:
- displej na kome se ispisuju vrednosti je 16x2 hitachi standard sa i2c koderom. na bluepill su to PB6 i PB7 (SCL/SDA). mcu ispisuje podatke svaki 8000. prolaz kroz petlju kada radi na 72MHz.
- izlazi komplementarnog (push pull) PWM-a su PA8 i PA9.
#define Frekvencija 35500 // polufaza je 35KHz. dakle, 70KHz je frekv rada kontrolera. podesiti po želji i mogućnostima.
#define Brojach 72000000/4/Frekvencija // STM32F103 moze raditi na 48Mhz/72Mhz/128Mhz // stabilan je jako i na 128Mhz, provereno !
#define DeadTime 20 // jasno ko dan
- PA3 je ulazni pin ntc termistora. biblioteka preuzeta od unknown autora. dajem je u prilogu.
- PA6 je izlaz na koji je zadat PWM niske frekvencije za regulaciju ventilatora hladnjaka. ide preko 1kOhm na 1A NPN tranzistor koji vozi minus od vent-a.
-prvi red nije bio korektan u code-u koji sam poslao pre neki dan.
// ===========================================
RCC_BASE->APB2ENR = 2564; // ??? stranica 112 // promenili sa 2076 na 2564 zaboravio zašto :) // 0101000000100b == 2564d
GPIOA_BASE->CRH = 187; // ??? stranica 172 //
TIMER1_BASE->CCMR1 = 26744; // ??? stranica 349
TIMER1_BASE->CCER = 17; // ??? stranica 353
TIMER1_BASE->BDTR = 32768; // ??? stranica 359
TIMER1_BASE->ARR = Brojach; // ??? stranica 356
PWM_Vrednost = 1;
// ===========================================
to je to. za ostalo kometarišite i pitajte ako šta treba...
poz