<?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=12408&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-12-31T12:33:30+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=12408&amp;mode</id>
<entry>
<author><name><![CDATA[Jaglarz]]></name></author>
<updated>2016-12-31T08:09:51+01:00</updated>
<published>2016-12-31T08:09:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=178681#p178681</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=178681#p178681"/>
<title type="html"><![CDATA[Re: GY-521 (MPU-6050) problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=178681#p178681"><![CDATA[
Kody wstawiamy tak <!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic7402.html" >topic7402.html</a><!-- l --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=471">Jaglarz</a> — 31 gru 2016, o 08:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[wooojtekk]]></name></author>
<updated>2016-12-31T12:33:30+01:00</updated>
<published>2016-12-30T21:08:02+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=178642#p178642</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=178642#p178642"/>
<title type="html"><![CDATA[Re: GY-521 (MPU-6050) problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=178642#p178642"><![CDATA[
Witam wszystkich forumowiczów  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Chciałbym odświeżyć temat, ponieważ aktualnie próbuję odczytać dane z modułu MPU6050 w układzie z Atmega8. Problem pojawia się podczas odczytywania wartości akcelerometru z osi Y. Mianowicie odczytane wartości nie zgadzają się z rzeczywistością (1,2g w spoczynku), natomiast wartości z osi X i Z są prawidłowe (X = 0g, Z = 0, 97 g). Spotkał się ktoś może z takim problemem, bądź wie w jaki sposób można ten błąd usunąć? Przeglądałem notę parę razy, ale nie znalazłem rozwiązania  <img src="https://forum.atnel.pl/images/smilies/icon_cry.gif" alt=":cry:" title="Płacze" /> . Bardzo proszę o pomoc, poniżej przedstawiam kod programu odpowiedzialny za odczyt danych oraz zrzut terminala.<br /><br />mpu6050.c<br /><br />[syntax=c]void mpu6050_init(void){<br /><br />i2c_write_bite(ADR_MPU6050, PWR_MGMT_1, 0x00);//włączenie akcelerometru<br />i2c_write_bite(ADR_MPU6050, ACCEL_CONF, 0x00);//+/-2g<br />i2c_write_bite(ADR_MPU6050, PWR_MGMT_2, 0x00);//włączenie żyroskopu<br />i2c_write_bite(ADR_MPU6050, GYRO_CONF, 0x00);//+/-250stopni/s<br /><br /><br />}<br /><br /><br /><br /><br />void read_acce(void){<br /><br />TWI_read_buf(ADR_MPU6050,ACCEL_XOUT_H,1,&amp;x_acce&#91;0&#93;);<br />TWI_read_buf(ADR_MPU6050,ACCEL_XOUT_H,1,&amp;x_acce&#91;1&#93;);<br />ax = ((x_acce&#91;0&#93;&lt;&lt;8)|x_acce&#91;1&#93;);<br /><br />//--------- przeliczenie na zmiennopozycyjne by nie używac typu foat/double---------<br />/*<br />ax /= 163;<br />cz_dax = ax/100;<br />uart_putint(cz_dax,10);<br />uart_putc('.');<br />cz_uax = ax % 100;<br /><br />if(cz_uax&lt;10){<br />uart_putc('0');<br />}<br />uart_putint(cz_uax,10);<br />uart_putc('g');<br />uart_putc('\t');*/<br />//-----------------------------------------------------------------------------------<br /><br /><br />TWI_read_buf(ADR_MPU6050,ACCEL_YOUT_H,1,&amp;y_acce&#91;0&#93;);<br />TWI_read_buf(ADR_MPU6050,ACCEL_YOUT_L,1,&amp;y_acce&#91;1&#93;);<br />ay = ((y_acce&#91;0&#93;&lt;&lt;8)|y_acce&#91;1&#93;);<br /><br />//--------- przeliczenie na zmiennopozycyjne by nie używac typu foat/double---------<br />/*ay /= 163;<br />cz_day = ay/100;<br />uart_putint(cz_day,10);<br />uart_putc('.');<br />cz_uay = ay % 100;<br /><br />if(cz_uay&lt;10){<br />uart_putc('0');<br />}<br />uart_putint(cz_uay,10);<br />uart_putc('g');<br />uart_putc('\t');*/<br />//-----------------------------------------------------------------------------------<br /><br />TWI_read_buf(ADR_MPU6050,ACCEL_ZOUT_H,1,&amp;z_acce&#91;0&#93;);<br />TWI_read_buf(ADR_MPU6050,ACCEL_ZOUT_L,1,&amp;z_acce&#91;1&#93;);<br />az = ((z_acce&#91;0&#93;&lt;&lt;8)|z_acce&#91;1&#93;);<br /><br />//--------- przeliczenie na zmiennopozycyjne by nie używac typu foat/double---------<br />/*az = az/163;<br />cz_daz = az/100;<br />uart_putint(cz_daz,10);<br />uart_putc('.');<br />cz_uaz = az % 100;<br /><br />if(cz_uaz&lt;10){<br />uart_putc('0');<br />}<br />uart_putint(cz_uaz,10);<br />uart_putc('g');<br />uart_putc('\r');*/<br />//----------------------------------------------------------------------------------<br />}[/syntax]<br /><br /><br /><br />mpu6050.h<br /><br />[syntax=c]#define ADR_MPU6050 0xD0//adres mpu6050<br />#define WHO_AM_I 0x75//sprawdzenie połączenia<br /><br />#define PWR_MGMT_1 0x6B//włączenie akcelerometru<br />#define PWR_MGMT_2 0x6C//włączenie żyroskopu<br /><br />#define ACCEL_CONF 0x1C//konfiguracja akcelerometru<br />#define GYRO_CONF 0x1B//konfiguracja żyroskopu<br /><br />#define SMPRT_DIV 0x19//próbkownie<br /><br /><br />/*--------------- DANE POMIAROWE AKCELEROMETRU----------------*/<br />// OŚ X<br />#define ACCEL_XOUT_H 0x3B<br />#define ACCEL_XOUT_L 0x3C<br />// OŚ Y<br />#define ACCEL_YOUT_H 0x3D<br />#define ACCEL_YOUT_L 0x3E<br />// OŚ Z<br />#define ACCEL_ZOUT_H 0x3F<br />#define ACCEL_ZOUT_L 0x40<br /><br />/*--------------- DANE POMIAROWE ŻYROSKOPU----------------*/<br />// OŚ X<br />#define GYRO_XOUT_H 0x43<br />#define GYRO_XOUT_L 0x44<br />// OŚ Y<br />#define GYRO_YOUT_H 0x45<br />#define GYRO_YOUT_L 0x46<br />// OŚ Z<br />#define GYRO_ZOUT_H 0x47<br />#define GYRO_ZOUT_L 0x48[/syntax]<br /><br />odczyt &quot;surowych&quot; wartości X, Y, Z:<br /><br /><a href="https://obrazkiforum.atnel.pl/12652/4b544719233c9ce8a406d612d4897d42.JPG"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/12652/4b544719233c9ce8a406d612d4897d42.JPG" alt="Obrazek" /></a><br /><br />wartości po przeliczeniu na g (osie X, Y, Z):<br /><br /><a href="https://obrazkiforum.atnel.pl/12652/9178c05d3f6ee715e184a2e3d0e38beb.JPG"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/12652/9178c05d3f6ee715e184a2e3d0e38beb.JPG" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12652">wooojtekk</a> — 30 gru 2016, o 21:08</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daniel880]]></name></author>
<updated>2015-07-21T21:41:34+01:00</updated>
<published>2015-07-21T21:41:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135174#p135174</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135174#p135174"/>
<title type="html"><![CDATA[Re: GY-521 (MPU-6050) problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135174#p135174"><![CDATA[
Faktycznie tak jest napisane ale tylko dlatego, że producent tego układu nie wlicza bitu R/W do adresu i podaje wartość <br /><br />ADDRES ( 7 bit ) + R/W ( 1 bit )<br /><br /><a href="https://obrazkiforum.atnel.pl/2328/2807ce10fdd977276c69704d16c96d24.jpg"  class="postlink"><img src="https://obrazkiforum.atnel.pl/2328/2807ce10fdd977276c69704d16c96d24.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2328">Daniel880</a> — 21 lip 2015, o 21:41</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lagun_25]]></name></author>
<updated>2015-07-21T20:34:40+01:00</updated>
<published>2015-07-21T20:34:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135171#p135171</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135171#p135171"/>
<title type="html"><![CDATA[Re: GY-521 (MPU-6050) problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135171#p135171"><![CDATA[
Ruszyło! <img src="https://forum.atnel.pl/images/smilies/icon_e_biggrin.gif" alt=":D" title="Bardzo szczęśliwy" /> W nocie znalazłem to:<br /><a href="https://obrazkiforum.atnel.pl/4953/6118cf241df39deb43a7eebd91c53955.PNG"  class="postlink"><img src="https://obrazkiforum.atnel.pl/4953/6118cf241df39deb43a7eebd91c53955.PNG" alt="Obrazek" /></a><br />W bibliotekach arduino taki sam adres. Błednego adresu nawet nie brałem pod uwagę, więc nigdy bym się nie domyślił. Dziękuje Wam bardzo! <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4953">Lagun_25</a> — 21 lip 2015, o 20:34</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[icer_cmg]]></name></author>
<updated>2015-07-21T20:18:09+01:00</updated>
<published>2015-07-21T20:18:09+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135168#p135168</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135168#p135168"/>
<title type="html"><![CDATA[Re: GY-521 (MPU-6050) problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135168#p135168"><![CDATA[
<a href="https://www.dropbox.com/sh/spub4i846ullyjd/AACFVtKSCbbwjgiSc2JABLkra?dl=0"  class="postlink">https://www.dropbox.com/sh/spub4i846ullyjd/AACFVtKSCbbwjgiSc2JABLkra?dl=0</a> Podejrzyj w tym kodzie - są komentarze. Pierwszy jaki miałem do mpu 6050<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1636">icer_cmg</a> — 21 lip 2015, o 20:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Daniel880]]></name></author>
<updated>2015-07-21T19:05:41+01:00</updated>
<published>2015-07-21T19:05:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135159#p135159</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135159#p135159"/>
<title type="html"><![CDATA[Re: GY-521 (MPU-6050) problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135159#p135159"><![CDATA[
Adres MPU-6050 to 0xD0. Jeśli brałeś wartość z rejestru nr 117 to musisz wiedzieć, że jest on tam przesunięty w jeden bit w lewo:)<br /><br />Ja swój układ przed długi czas zasilałem z 5V, nie wiedziałem kiedyś ze jest na 3v3;) <br />Mam nadzieje, że pomogłem i ruszy;)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2328">Daniel880</a> — 21 lip 2015, o 19:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Lagun_25]]></name></author>
<updated>2015-07-21T18:49:52+01:00</updated>
<published>2015-07-21T18:49:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135154#p135154</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135154#p135154"/>
<title type="html"><![CDATA[GY-521 (MPU-6050) problemy]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=12408&amp;p=135154#p135154"><![CDATA[
Witam serdecznie <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />Mam problem z odczytem danych z mpu-6050. W tytule &quot;problemy&quot; bo obawiam się, że z czasem pewnie będą pojawiać się kolejne. <br /><br />Po nieudanych próbach napisałem prosty kod do testu, niestety dalej nic. Program zatrzymuje się przy odczycie, na 41 linii. <br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br />#include &lt;avr/interrupt.h&gt;<br />#include &quot;MKUART/mkuart.h&quot;<br /><br />#define MPU_adress 0x68 <br />#define LED_ON PORTD|=(1&lt;&lt;PD5)<br />uint8_t AccX;<br /><br />void I2C_SetBusSpeed(uint16_t bitrateKHz);<br />void I2C_start(void);<br />void I2C_stop(void);<br />void I2C_write_byte(uint8_t byte);<br />uint8_t I2C_read_byte(uint8_t ack);<br />void I2C_write( uint8_t SLA, uint8_t adr, uint8_t data );<br /><br />int main(void) {<br /><br />DDRD|=(1&lt;&lt;PD5);<br /><br />I2C_SetBusSpeed(100);<br />I2C_write(MPU_adress,0x6B,0); // PWR_MGMT_1 <br /><br />USART_Init( __UBRR );<br /><br />sei();<br /><br />while(1){<br /><br />for(int i=1;i&lt;6;i++) {<br />uart_putint(i,10);<br />_delay_ms(500);<br />}<br /><br />I2C_start();<br />I2C_write_byte(MPU_adress);<br />I2C_write_byte(0x3B); // ACCEL_XOUT_H<br />I2C_start();<br />I2C_write_byte(MPU_adress+1);<br />AccX=I2C_read_byte(0);<br /><br />LED_ON;<br /><br />I2C_stop();<br /><br />uart_puts(&quot;TEST: &quot;);<br />uart_putint(AccX,10);<br />_delay_ms(500);<br />}<br /><br />}<br /><br />void I2C_SetBusSpeed(uint16_t bitrateKHz) {<br /><br />uint8_t bitrate_div;<br /><br />bitrate_div = ((F_CPU/1000l)/bitrateKHz);<br />if(bitrate_div &gt;= 16) bitrate_div = (bitrate_div-16)/2;<br /><br />TWBR = bitrate_div;<br />}<br /><br />void I2C_start(void) {<br /><br />TWCR = (1&lt;&lt;TWEN)|(1&lt;&lt;TWINT)|(1&lt;&lt;TWSTA);<br />while (!(TWCR&amp;(1&lt;&lt;TWINT)));<br /><br />}<br /><br />void I2C_stop(void){<br /><br />TWCR = (1&lt;&lt;TWEN)|(1&lt;&lt;TWINT)|(1&lt;&lt;TWSTO);<br />while ( (TWCR&amp;(1&lt;&lt;TWSTO)));<br /><br />}<br /><br />void I2C_write_byte(uint8_t byte) {<br /><br />TWDR = byte;<br />TWCR = (1&lt;&lt;TWINT)|(1&lt;&lt;TWEN);<br />while ( !(TWCR&amp;(1&lt;&lt;TWINT)));<br /><br />}<br /><br />uint8_t I2C_read_byte(uint8_t ack){<br /><br />TWCR = (1&lt;&lt;TWINT)|(ack&lt;&lt;TWEA)|(1&lt;&lt;TWEN);<br />while ( !(TWCR &amp; (1&lt;&lt;TWINT)));<br /><br />return TWDR;<br /><br />}<br /><br />void I2C_write( uint8_t SLA, uint8_t adr, uint8_t data ) {<br /><br />I2C_start();<br />I2C_write_byte(SLA); // wysyłamy adres slave'a<br />I2C_write_byte(adr); // wysyłamy adres pamięci slave'a do której chcemy zapisać dane<br />I2C_write_byte(data);<br />I2C_stop();<br />}[/syntax]<br /><br />Nie wiem czy to może mieć wpływ, ale nie wziąłem pod uwagę różnicy poziomów logicznych na liniach SDA, SCL i przez długi czas procesor był zasilany +5v.<br /><br />Z góry dziękuję za pomoc <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4953">Lagun_25</a> — 21 lip 2015, o 18:49</p><hr />
]]></content>
</entry>
</feed>