Duty Cycle?
Also hier der Code für die PWM:
ATMega128 @ 16Mhz
Treiber ist wie gesagt ULN2803Code:#define PORTASET(x) PORTA |= (1<<x) #define PORTACLR(x) PORTA &= ~(1<<x) #define PORTBSET(x) PORTB |= (1<<x) #define PORTBCLR(x) PORTB &= ~(1<<x) unsigned char richtung=1; unsigned char wertA[8]; unsigned char wertB[8]; unsigned char max=100; unsigned char zaehler=0; unsigned char temp=0; int main() { sei(); PORTA=0x00; DDRA=0xFF; PORTB=0x00; DDRB=0xFF; temp = max / 8; wertA[0] = temp * 1; wertA[1] = temp * 2; wertA[2] = temp * 3; wertA[3] = temp * 4; wertA[4] = temp * 5; wertA[5] = temp * 6; wertA[6] = temp * 7; wertA[7] = temp * 8; wertB[0] = temp * 1; wertB[1] = temp * 2; wertB[2] = temp * 3; wertB[3] = temp * 4; wertB[4] = temp * 5; wertB[5] = temp * 6; wertB[6] = temp * 7; wertB[7] = temp * 8; for(;;) { zaehler++; for(unsigned char i=0;i<8;i++) { if(zaehler == wertB[i]) { PORTBCLR(i); } else if(zaehler == max) { PORTBSET(i); } if(zaehler == wertA[i]) { PORTACLR(i); } else if(zaehler == max) { PORTASET(i); } } if(zaehler == max) { zaehler=0; } } }
längere Leitungen hab ich nicht - hab das ganze mit 4 Krokokabeln verbunden.
Ich kann mir schon vorstellen, dass eine Induktivität besser wäre, jedoch habe ich ein Platzproblem - es sollten also nicht unbedingt Transformatoren oder ähnliche große Gebilde vorhanden sein.







Zitieren

Lesezeichen