roboforum.ruТехнический форум по робототехнике. |
|
|
RealRobot писал(а):а тестировал как? одновременно оба двигателя? или поочередно? есть предположение что одновременно два двигателя будут работать.
RealRobot писал(а):Двигатель №1 работает нормально!!! управление Двигателем №2 на тех же параметрах и с теми же сигналами управления не работает, частота тут ни причем. У меня тест нарастания ШИМ с 1% до 99% c дискретностью в 1/32, у тебя проверяется только 50% и 100% ШИМ???
RealRobot писал(а):Двигатель №1 работает нормально!!! управление Двигателем №2 на тех же параметрах и с теми же сигналами управления не работает, частота тут ни причем. У меня тест нарастания ШИМ с 1% до 99% c дискретностью в 1/32, у тебя проверяется только 50% и 100% ШИМ???
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 57,600 kHz
// Mode: Fast PWM top=01FFh
// OC1A output: Non-Inv.
// OC1B output: Non-Inv.
// OC1C output: Non-Inv.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
// Compare C Match Interrupt: Off
TCCR1A=0xAA;
TCCR1B=0x0C;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
OCR1CH=0x00;
OCR1CL=0x00;
//в АСКИ передается :1M0F07^ последние две цифры и есть величина ШИМ от 0 до 31.
if(k[0]==':'){
pwm_val = 00;
pwm_val = k[5]&0b00001111;
pwm_val = pwm_val<<4;
pwm_val = pwm_val | (k[6]&0b00001111);
pwm_val = bcd2bin(pwm_val);
if (k[4]=='F') {
zdnNpr = 1;
PORTB.0 = 0;
};
if (k[4]=='B') {
zdnNpr = -1;
PORTB.0 = 1;
};
if (pwm_val==0) zdnNpr = 0;
pwm_val *= 16;
OCR1CH = (unsigned char)(pwm_val>>8);
OCR1CL = (unsigned char)pwm_val;
k[0]='^';
};
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3