سلام به همگي
من ميخوام يه موتور با L298 , و ميکرو ARM راه اندازي کنم
با PWM کار ميکنم
ما موج رو به پايه ENABLE درايور ميديم بعد با دو پايه خروجي از ميکرو جهت موتور رو کنترل ميکنيم
شبيه ساز KEIL هم موج رو شبيه سازي ميکنه
ولي در عمل انگار دو پايه که براي کنترل جهت موتور استفاده ميکنيم هم سطح هستند و موتور نميچرخد
توي موتور يه صداهايي هم مياد ولي انگار قدرت چرخش موتور رو نداره
اينم کد
کد:
#include <at91sam7x256.h>
#include <delay.h>
#define MCK 47923200
#define X 256
#define frequency 480
#define PWM_CPRD (MCK/(2*X*frequency))
#define Duty_Cycle 0.1
#define PWM_CDTY ((1-Duty_Cycle)*PWM_CPRD)
int main(){
*AT91C_PMC_PCER = (1<<10|1<<3);
*AT91C_PIOB_PER = (1<<0|1<<1);
*AT91C_PIOB_OER = (1<<0|1<<1);
*AT91C_PIOB_PDR = 1<<19;
*AT91C_PIOB_ASR = 1<<19;
*AT91C_PWMC_CH0_CMR = 0X108;
*AT91C_PWMC_CH0_CPRDR = PWM_CPRD;
*AT91C_PWMC_CH0_CDTYR = PWM_CDTY;
*AT91C_PWMC_ENA =1<<0;
*AT91C_PIOB_SODR=(1<<0);
*AT91C_PIOB_CODR=(1<<1);
while(1){
}
}
مشکل چيه ؟
راستي من ميخوام با يه PWM دو جهت رو کنترل کنم
مدار درايور هم کاملا درسته
ممنون