| Author |
Message
|
mitny Poziom 11

Joined: 07 Sep 2007 Posts: 79
|
#1
18 Mar 2010 22:09 [atmega32][c] jak uzyskać więcej wyjść PWM |
|
|
|
Witam,
Planuję sobie pewną konstrukcję gdzie będę sterować pięcioma wentylatorami. Niestety Atmega32 ma tylko 4 wyjścia z czego wg. mojego planu mogę wykorzystać max 3. Wymyśliłem sobie, że mógłbym je pogrupować tzn. jedno wyjście PWM mogło by jednocześnie sterować kilkoma wentylatorami. Np. PWM1 sterowało by FAN1, FAN2, FAN3 natomiast PWM2 - FAN4 i PWM3 - FAN5. Problem w tym, że chciałbym móc sterować tym które PWM obsługuje dany wentylator albo nawet całkowicie odłączyć jeden z wentylatorów. W efekcie potrzebuję czegoś dzięki czemu mógłbym sterować z poziomu uC połączeniami PWM - FAN tak aby móc uzyskać kombinację każdy z każdym. I tu pojawia się moje pytanie jak to zrealizować?
|
|
| Back to top |
|
 |
Google

|
#
18 Mar 2010 22:09 |
|
|
|
|
|
| Back to top |
|
 |
mirekk36 Poziom 25

Joined: 17 Jun 2006 Posts: 8153 Location: Szczecin
|
#2
18 Mar 2010 22:20 Re: [atmega32][c] jak uzyskać więcej wyjść PWM |
|
|
|
| mitny wrote: |
| ... I tu pojawia się moje pytanie jak to zrealizować? |
Bardzo prosto, zrób sobie programowy PWM, wtedy będziesz miał tyle wyjść (kanałów PWM) ile tylko zapragniesz.
|
|
| Back to top |
|
 |
mitny Poziom 11

Joined: 07 Sep 2007 Posts: 79
|
#3
18 Mar 2010 22:39 Re: [atmega32][c] jak uzyskać więcej wyjść PWM |
|
|
|
O programowym już myślałem ale trochę szkoda mi taktów procesora które chciałbym wykorzystać w innym celu. Poza tym np. przy odczycie temperatury z DSa wyłączam przerwania aby mieć precyzyjne czasy.
|
|
| Back to top |
|
 |
Google

|
#
18 Mar 2010 22:39 |
|
|
|
|
|
| Back to top |
|
 |
mirekk36 Poziom 25

Joined: 17 Jun 2006 Posts: 8153 Location: Szczecin
|
#4
18 Mar 2010 23:43 Re: [atmega32][c] jak uzyskać więcej wyjść PWM |
|
|
|
To na ileż ty czasu te przerwania wyłączasz przy odczycie DS'a ???
Poza tym nawet z tym wyłączaniem przerwań, co i tak powinno trwać bardzo krótko, rzędu wykonania kilku rozkazów odczytu, to co za problem dla PWM'a który ma sterować czymś takim jak wentylatory?
Gdybyś sterował diodę LED to może byś zobaczył czasem z powodu wyłączenia przerwań dla DS'a jakieś ledwo zauważalne mignięcia, ale wentylator??? on się nie zdąży zatrzymać ;) nawet tego nie odczuje
|
|
| Back to top |
|
 |
Google

|
#
18 Mar 2010 23:43 |
|
|
|
|
|
| Back to top |
|
 |
tmf Poziom 24

Joined: 12 Aug 2009 Posts: 4307 Location: Katowice
|
#5
19 Mar 2010 00:29 Re: [atmega32][c] jak uzyskać więcej wyjść PWM |
|
|
|
To steruj DSa z UARTA mikroprocesora, timingi bedziesz mial sprzetowe, wiec i blokowanie przerwan odpadnie. A jesli juz musisz miec kazdy z kazdym to tylko stworzenie matrycy polaczen pozostaje (cos w stylu FPGA). Troche to bez sensu.
|
|
| Back to top |
|
 |
mitny Poziom 11

Joined: 07 Sep 2007 Posts: 79
|
#6
19 Mar 2010 07:44 Re: [atmega32][c] jak uzyskać więcej wyjść PWM |
|
|
|
Przemyślałem sprawę i faktycznie stosowanie takiej matrycy jest mi niepotrzebne i lepiej będzie zrobić to na programowym PWM.
Dzięki za rady.
|
|
| Back to top |
|
 |