<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=4&amp;t=13036&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2015-09-24T22:41:36+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=13036&amp;mode</id>
<entry>
<author><name><![CDATA[Arni]]></name></author>
<updated>2015-09-24T22:41:36+01:00</updated>
<published>2015-09-24T22:41:36+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140611#p140611</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140611#p140611"/>
<title type="html"><![CDATA[Re: PWM - Preskaler się nie zmienia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140611#p140611"><![CDATA[
No to nie wiem o co chodzi... Mierzę sygnał tym: <!-- m --><a class="postlink" href="http://www.jyetech.com/Products/LcdScope/e138.php" >http://www.jyetech.com/Products/LcdScope/e138.php</a><!-- m --><br />Wiem, że ma to wąskie pasmo (200kHz) i nie jest profesjonalnym narzędziem, ale powinno działać. Do tego użyłem mojego ucha i też nie było różnicy.<br />Wypełnienie 125 to w moim trybie (Fast PWM, 10bit) około 10% (maksymalna wartość to 1024, 2^10). Zmieniając je na 0 wyłączam sygnał podawany na przetwornik piezo. Czy gdzieś popełniam błąd?<br /><br />Idę spać, jutro będę wałczył dalej. Dzięki za pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10260">Arni</a> — 24 wrz 2015, o 22:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[KoreX]]></name></author>
<updated>2015-09-24T22:29:54+01:00</updated>
<published>2015-09-24T22:29:54+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140610#p140610</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140610#p140610"/>
<title type="html"><![CDATA[Re: PWM - Preskaler się nie zmienia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140610#p140610"><![CDATA[
Wygląda mi na to że program działa prawidłowo, wrzuciłem go właśnie na atmege32 która miałem pod ręką i wszystko działa jak należy - OCR1A zmienia wypełnienie a zmieniając prescaler zmieniam częstotliwość, w funkcji main ustawiasz OCR1A na 125 po wykryciu S1 powiedz co to wg Ciebie zrobi? Oczekujesz wypełnienia 50%?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=229">KoreX</a> — 24 wrz 2015, o 22:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Arni]]></name></author>
<updated>2015-09-24T22:05:26+01:00</updated>
<published>2015-09-24T22:05:26+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140604#p140604</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140604#p140604"/>
<title type="html"><![CDATA[Re: PWM - Preskaler się nie zmienia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140604#p140604"><![CDATA[
Main.c<br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 17 Sep 2015<br /> *      Author: Dawid<br /> */<br /><br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &quot;PWM_A32/PWM_A32.h&quot;<br /><br />#define S1 (1&lt;&lt;PA1)<br />#define S1_DOWN (PINA &amp; S1) //sprawdzenie czy sensor działa<br /><br />int main(void)<br />{<br />DDRA &amp;= ~S1; //pin wejściowy czujnika<br />PORTA |= S1; //podciągnięcie do VCC<br /><br />DDRB |= (1&lt;&lt;PB3); //pin wyjściowy diody sygnalizayjnej<br />DDRB |= (1&lt;&lt;PB4); //pin wyjściowy diody sygnalizayjnej<br /><br />initPWMT1(); //inicjalizacja PWM<br /><br />while(1)<br />{<br />PORTB &amp;= ~(1&lt;&lt;PB4);<br />if (S1_DOWN)<br />{<br />PORTB |= (1&lt;&lt;PB4);<br />setPWMT1(125);<br />_delay_ms(1000);<br />setPWMT1(0);<br />}<br />}<br /><br />}[/syntax]<br /><br />Biblioteka PWM<br />[syntax=c]/*<br /> * PWM_A32.c<br /> *<br /> *  Created on: 20 Aug 2015<br /> *      Author: Dawid<br /> *<br /> * Biblioteka do osbługi PWM dla uC Atmega32A<br /> *<br /> */<br /><br />#include &quot;PWM_A32.h&quot;<br /><br />#include &lt;avr/io.h&gt;<br /><br /><br />void initPWMT1(void) //inicjalizacja dla TIMER1, tryb FastPWM<br />{<br />DDRD |= (1&lt;&lt;PD5); //PD5(OC1A) jako wyjście PWM<br />TCCR1A |= (1&lt;&lt;WGM11) | (1&lt;&lt;WGM10);<br />TCCR1B |= (1&lt;&lt;WGM12);<br />TCCR1A |= (1&lt;&lt;COM1A1); //set OC1A at TOP<br />TCCR1B |= (1&lt;&lt;CS11) | (1&lt;&lt;CS10); //preskaler<br />OCR1A = 0; // wypełnienie początkowe = 0<br />}<br /><br />void setPWMT1(unsigned int wspPWM) // zmiana współczynnika PWM<br />{<br />OCR1A = wspPWM;<br />}[/syntax]<br /><br />Na razie wartość preskalera i wypełnienia podaję ręcznie (pewnie i tak będzie stała, ma mieć tylko nieco więcej niż 20kHz). Kiedy zmieniam preskaler nie zmienia się częstotliwość przebiegu. Mogę usłyszeć bardzo wysoki dźwięk, ok. 10kHz.<br />Sprawdzałem na oscyloskopie oraz przetwornikiem piezo (układ ma mieć zastosowanie jako urządzenie akustyczne). Ma załączać wyjście PWM z określonym wypełnieniem i częstotliwością w momencie pojawienia się stanu wysokiego na określonym pinie (tutaj jest to czujnik ruchu).<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10260">Arni</a> — 24 wrz 2015, o 22:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[KoreX]]></name></author>
<updated>2015-09-24T21:55:14+01:00</updated>
<published>2015-09-24T21:55:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140602#p140602</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140602#p140602"/>
<title type="html"><![CDATA[Re: PWM - Preskaler się nie zmienia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140602#p140602"><![CDATA[
Wrzuć może cały kod i napisz kiedy zmieniasz ten preskaler że nie działa?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=229">KoreX</a> — 24 wrz 2015, o 21:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Arni]]></name></author>
<updated>2015-09-24T21:40:29+01:00</updated>
<published>2015-09-24T21:40:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140597#p140597</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140597#p140597"/>
<title type="html"><![CDATA[Re: PWM - Preskaler się nie zmienia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140597#p140597"><![CDATA[
Niestety to nie to, ale dziękuję.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10260">Arni</a> — 24 wrz 2015, o 21:40</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[KoreX]]></name></author>
<updated>2015-09-24T21:30:34+01:00</updated>
<published>2015-09-24T21:30:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140595#p140595</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140595#p140595"/>
<title type="html"><![CDATA[Re: PWM - Preskaler się nie zmienia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140595#p140595"><![CDATA[
Witam, <br />bit WGM12 znajduje się w rejestrze TCCR1B, to jedyny błąd jaki udało mi się dostrzec<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=229">KoreX</a> — 24 wrz 2015, o 21:30</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Arni]]></name></author>
<updated>2015-09-24T21:19:33+01:00</updated>
<published>2015-09-24T21:19:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140592#p140592</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140592#p140592"/>
<title type="html"><![CDATA[PWM - Preskaler się nie zmienia]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=13036&amp;p=140592#p140592"><![CDATA[
Witam,<br /><br />potrzebuję spojrzenia na kod kogoś z zewnątrz. Preskaler nie chce się zmieniać. Mam cały czas taką samą częstotliwość PWM (ok 10kHz). Sprawdzałem oscyloskopem. Procesor Atmega32.<br /><br />Napisałem funkcję, która ma inicjalizować tryb PWM. Dodam, że wypełnienie zmienia się aż miło. Co robię źle?<br /><br />[syntax=c]void initPWMT1(void) //inicjalizacja dla TIMER1, tryb FastPWM<br />{<br />DDRD |= (1&lt;&lt;PD5); //PD5(OC1A) jako wyjście PWM<br />TCCR1A |= (1&lt;&lt;WGM12) | (1&lt;&lt;WGM11) | (1&lt;&lt;WGM10);<br />TCCR1A |= (1&lt;&lt;COM1A1);<br />TCCR1B |= (1&lt;&lt;CS11) | (1&lt;&lt;CS10); //preskaler<br />OCR1A = 0; // wypełnienie początkowe = 0<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=10260">Arni</a> — 24 wrz 2015, o 21:19</p><hr />
]]></content>
</entry>
</feed>