Witam wszystkich, to mój pierwszy post na tym forum.
Lecz, nie jest to pierwszy raz kiedy tu zaglądam. Przewertowałem wątek o budowie taniego quadro koptera, postanowiłem nie zaśmiecać długiego już wątku moim dziwnym problemem.
Otóż zmajstrowałem płytkę (mojej produkcji) z atmega168, na wyjściach SDA, SCL podpiąłem wycięte żyro z WM+ (ITG3205) żyro zasilam z 3,3v konwertuje napięcie z procka także na 3,3V lecz nie otrzymuję komunikatów od tego żyra.
Jak można zweryfikować czy podczas lutowania nie uszkodziłem przypadkiem tego scalaka?
(mam dostęp do oscyloskopu)
test żyra ITG3205
Moderatorzy: moderatorzy2014, moderatorzy
W kodzie Multiwii zablokowałeś wewnętrzne pullupy Arduino? no i podciągnąłeś do 3.3 szynę I²C ? no i oczywiście dałeś definicję w kodzie dla żyrka ITG3200?
W dataszicie od ITG3200 znajdziesz na których nóżkach masz analogowe wyjścia - możesz obadać oscyloskopem...
W dataszicie od ITG3200 znajdziesz na których nóżkach masz analogowe wyjścia - możesz obadać oscyloskopem...
infekcja FPV postępuje w zastraszającym tempie...
z nóżek atmegi mam wyjścia na konwerter oparty o znany ze sparkfina na mosfetach bss138
tam zarówno na wejściu 5V jak i 3,3V jest rezystor podciągający do zasilania więc pull upy wewnętrzne powinny być wyłączone
nie działała komunikacja z softem wiicoptera więc (wszystkie opisane przez Ciebie rzeczy zrobiłem)
uprosciłem kod do minimum
oczekuję na potwierdzenie na 9 takcie od żyra ACK po wysłaniu 8 bitów (led powinien mi migać cały czas)
czy można jakoś zweryfikować sam scalak? może mam jakiś pechowy zimny lut, lub poprostu zwalone samo żyro
boję się go wylutowywać bo już nigdy go nie wlutuję..
w datasheecie ITG3205 nie widzę żadnych analogowych wyjść żyra
ps
Rurek Ty produkowałeś szildy do kopterów i widziałem wlutowane na gotowo takie scalaczki, masz jakiś dostęp do takiego sprzetu (tak z ciekawości) można to komuś zlecić?
tam zarówno na wejściu 5V jak i 3,3V jest rezystor podciągający do zasilania więc pull upy wewnętrzne powinny być wyłączone
nie działała komunikacja z softem wiicoptera więc (wszystkie opisane przez Ciebie rzeczy zrobiłem)
uprosciłem kod do minimum
oczekuję na potwierdzenie na 9 takcie od żyra ACK po wysłaniu 8 bitów (led powinien mi migać cały czas)
Kod: Zaznacz cały
const int SDA=A4;
const int SCL=A5;
void setup()
{
pinMode(13, OUTPUT);
//SDA A4
//SCL A5
pinMode(SCL,OUTPUT);
pinMode(SDA,OUTPUT);
}
void cyk(int i)
{
if(i<1)
{
if(i==1)
{
digitalWrite(SDA,HIGH);
}else
{
digitalWrite(SDA,LOW);
}
delay(10);
}
digitalWrite(SCL,HIGH);
delay(100);
digitalWrite(SCL,LOW);
delay(100);
}
void loop()
{
digitalWrite(SCL,HIGH);
digitalWrite(SDA,HIGH);
digitalWrite(13, HIGH); // set the LED on
delay(200);
digitalWrite(SDA,LOW); //Start
digitalWrite(13, LOW);
delay(20);
digitalWrite(SCL,LOW);
cyk(1); //1 adr
cyk(1);
cyk(0);
cyk(1);
cyk(0);
cyk(0);
cyk(0);//7 adr koniec
cyk(1);//8
digitalWrite(13,HIGH);
digitalWrite(SDA,HIGH);
delay(10);
pinMode(SDA,INPUT);
while(digitalRead(SDA)==HIGH){} //czeka na ack
pinMode(SDA,OUTPUT);
digitalWrite(13,LOW);
cyk(2);//9
digitalWrite(SDA,LOW);
delay(20);
digitalWrite(SCL,HIGH);//stop
delay(20);
digitalWrite(SDA,HIGH);
digitalWrite(13, LOW); // set the LED off
delay(5000); // wait for a second
}
boję się go wylutowywać bo już nigdy go nie wlutuję..
w datasheecie ITG3205 nie widzę żadnych analogowych wyjść żyra
ps
Rurek Ty produkowałeś szildy do kopterów i widziałem wlutowane na gotowo takie scalaczki, masz jakiś dostęp do takiego sprzetu (tak z ciekawości) można to komuś zlecić?
u mnie na szildzie są całe WMP oraz NK, sensory nie wylutowywane.kuncfot pisze:....
ps
Rurek Ty produkowałeś szildy do kopterów i widziałem wlutowane na gotowo takie scalaczki, masz jakiś dostęp do takiego sprzetu (tak z ciekawości) można to komuś zlecić?
Czekaj, no gdzieś mi się obiło,,, chyba Cholo pokazywał skąd pobrać analogowy sygnał ...aaa...aaale to rzeczywiście może było na płytce WMP i tam w procku DAC robił analoga...chyba jednak tak to było.
infekcja FPV postępuje w zastraszającym tempie...