AVR PWM 8-kanal, 1 PWM kanal?
Postat: 18 september 2014, 19:05:33
Hej på er,
Det här är ju något som antingen är så självklart för alla att det behövs inte pratas om eller ens delas med av kod eftersom det är så otroligt lätt så, om man inte förstår det är man totalt dum i huvudet. Lite så känns det faktiskt.
Alternativ två är att de som lyckas komma på lösningen tystas ner för att det finns något superföretag som försöker hålla på hemligheten om hur man kör ut PWM på flera pinnar från typ 1 PWM kanal.
Så.. varsågoda att förklara hur det ligger till!
Nej, men skämt åsido.. Jag har sökt, säkert under två-tre års tid och jag har försökt att läsa datablad, jag har läst app notes om low-jitter PWM osv osv. Jag kan inte förstå hur de filmer där man kan styra allt från 3 till 48 pinnar från vad till synes är endast en PWM kanal. Youtube är ju fyllt med sådana videos, vill ni att jag länkar någon så kan jag givetvis göra det men det är säkert ett par av er här på forumet som ligger bakom de hemliga videosarna och vägrar dela med er av era kunskaper!!
Måste vara en konspiration!
Vad vill jag göra då?
Jo, jag vill styra för mitt alldeles egna projekt, 8st lysdioder och det i sig är väl ingen svårighet. De ska tändas och släckas efter varann, 1 till 8. Inga problem!
Men, jag vill även ha dimning inblandad. Detta ska då på något sätt fungera som en "svans" till den lydiod som är "aktiv". Alltså, vi börjar med att varje lysdiod i ordning ska tändas och släckas, en och en. Sen lägger vi till att lysdioden (lysdiod 0) får en svans där 1 lysdiod innan lyser med kanske 30-50% ljusstyrka och lysdiod 2 lyser med 10-25% ljusstyrka eller liknande. Varje lysdiod ska ha sin egna pinne på min AVR.
Förstår ni vad jag vill ha för funktion?
Lösningen?
Ja.. hur kan den se ut. En tanke som jag inte provat men gärna får respons på innan jag försöker är att man kör en PWM timer med interrupt, och i denna interrupt dimmar man upp aktuell lysdiod, dimmar ner den föregående lysdioden, räknar upp en int med vilken lysdiod man "ligger på"/aktuell lysdiod och sen avslutar interupten för att sen börja om.
Men det känns som det räcker med en "for loop" för det egentligen?
Jag har verkligen ingen aning om vart jag ska börja, PWM kan jag få att fungera men sen då..? Jag är lost!
Det här är ju något som antingen är så självklart för alla att det behövs inte pratas om eller ens delas med av kod eftersom det är så otroligt lätt så, om man inte förstår det är man totalt dum i huvudet. Lite så känns det faktiskt.
Alternativ två är att de som lyckas komma på lösningen tystas ner för att det finns något superföretag som försöker hålla på hemligheten om hur man kör ut PWM på flera pinnar från typ 1 PWM kanal.
Så.. varsågoda att förklara hur det ligger till!
Nej, men skämt åsido.. Jag har sökt, säkert under två-tre års tid och jag har försökt att läsa datablad, jag har läst app notes om low-jitter PWM osv osv. Jag kan inte förstå hur de filmer där man kan styra allt från 3 till 48 pinnar från vad till synes är endast en PWM kanal. Youtube är ju fyllt med sådana videos, vill ni att jag länkar någon så kan jag givetvis göra det men det är säkert ett par av er här på forumet som ligger bakom de hemliga videosarna och vägrar dela med er av era kunskaper!!

Måste vara en konspiration!
Vad vill jag göra då?
Jo, jag vill styra för mitt alldeles egna projekt, 8st lysdioder och det i sig är väl ingen svårighet. De ska tändas och släckas efter varann, 1 till 8. Inga problem!
Men, jag vill även ha dimning inblandad. Detta ska då på något sätt fungera som en "svans" till den lydiod som är "aktiv". Alltså, vi börjar med att varje lysdiod i ordning ska tändas och släckas, en och en. Sen lägger vi till att lysdioden (lysdiod 0) får en svans där 1 lysdiod innan lyser med kanske 30-50% ljusstyrka och lysdiod 2 lyser med 10-25% ljusstyrka eller liknande. Varje lysdiod ska ha sin egna pinne på min AVR.
Förstår ni vad jag vill ha för funktion?
Lösningen?
Ja.. hur kan den se ut. En tanke som jag inte provat men gärna får respons på innan jag försöker är att man kör en PWM timer med interrupt, och i denna interrupt dimmar man upp aktuell lysdiod, dimmar ner den föregående lysdioden, räknar upp en int med vilken lysdiod man "ligger på"/aktuell lysdiod och sen avslutar interupten för att sen börja om.
Men det känns som det räcker med en "for loop" för det egentligen?
Jag har verkligen ingen aning om vart jag ska börja, PWM kan jag få att fungera men sen då..? Jag är lost!