Skocz do zawartości

Robot omijający przeszkody


Piotrektom

Pomocna odpowiedź

Witam, mam problem z mostkiem H w moim projekcie.

Na wyjściach pokazuje mi napięcie 0,05V pomiędzy pinheadem a GND, natomiast pomiędzy dwoma pinheadami już nie, myślałem że może to być problem z masą ale sprawdziłem napięcie między zasilaniem a Gnd na mostku i było ok.

Załączam kod programu który wrzuciłem oraz schematy.

Pozdrawiam

Nie jestem pewien czy to napewno ten program jest w chwili obecnej załadowany, ale to moim zdaniem to nie wina programu.

#include <avr/io.h> 
void main(void) 
{
DDRA=0;         // PRZYCISK/CZUJNIK
DDRB=0xFF;         // MOSTEK H/LED
DDRD=0xFF;        //ENABLE

while(1)
{
PORTD=1;
PORTB=10001000;
}
}

ROBOT1,4 do druku.brd

Link do komentarza
Share on other sites

Jeśli masz to zmontowane na takiej płytce jaką zamieściłeś, to się nie dziwię ze ci nie działa, bo jest ona tragicznie zaprojektowana i podejrzewam że masz tam dużo błędów. Zamieść trochę większe schematy, bo nie da się tych powiększyć i nic na nich nie widać.

Link do komentarza
Share on other sites

Zdaję sobie sprawę że elementy nie są "ładnie" rozłożone itd. ale bardziej skupiłem się na tym żeby to wszystko działało. Jest to mój drugi schemat w eagle i na dodatek robiony na szybko.

Zamiast diod ze schematu są wlutowane diody Bat43. nie ma ich na schemacie ponieważ zmienić je chciałem gdy schemat brd, był już gotowy a nie mogłem znaleść diod bat43 o takim rozstawie nóżek.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

wstawiłem schematy z eagle.

Czyli ograniczasz możliwość podpowiedzi Tobie do osób, które Eagle posiadają, a którzy dodatkowo będą musieli pobrać plik i uruchomić Eagle ... jak chcesz.

Link do komentarza
Share on other sites

płytka działa, kupiłem cyfrowe czujniki sharpa wraz z podstawkami wszystko polutowałem ale:

Gdy podlacze czujnik pod zasilanie i gnd dioda na czujniku działa prawidłowo a na wyjsciu pojawia się napięcie w zaleznosci czy wykrywa cos czy nie, lecz gdy podłącze wyjscie do płytki dioda świeci ciągle i nie zmienia stanu. na pinie do którego podłaczyłem Out jest 0V wzgledem masy.

Czym to może być spowodowane?

kupiłem 3 czujniki i każdy zachowuje się identycznie

Pozdrawiam

Link do komentarza
Share on other sites

Faktycznie było zwarcie, w chwili obecnej mam problem z programem, w symulacji AVR studio wszystko działa jak należy, lecz po podlaczeniu do płytki wszystko się sypie.

Program zapętla się w funkcji dla czujnika środkowego i nie wychodzi, stany poszczególnych wejść czujników zmieniają się albo chaotycznie, albo poprawnie z tym że gdy czujnik PA6 wykrywa to zeruje także PA5 natomiast PA7 zeruje PA6.

Gdyby nie to że kazano nam zrobić ten projekt a dopiero później "pokazano" przerwania to pewnie bym z nich skorzystał ale w chwili obecnej w grę wchodzą tylko pętle if.

Dodam że czujniki to Sharp GP2Y0D810Z0F a silniczki pololu 1:120.

Mam też pytanie co do samego podłączenia:

Czy te czujniki mogę podpiąć wszystkie pod to samo zasilanie i masę ?

gdy próbowałem to robić jeden dzialal normalnie reszta wariowała. Dlaczego???

Symulacja która działa

#include <avr/io.h> 
void main(void) 
{
DDRA=0; //czujniki
DDRB=0xFF; //mostek H 
DDRD|=(1<<5)|(1<<4); //mostek h Enable

while(1)
{

if(!bit_is_clear(PINA,7))	//CZ. LEWY
{
PORTD|=(1<<5);	 //S. L. ON
PORTD|=(1<<4);	 //S. P. ON

PORTB|=(1<<7);	 //SILNIK LEWY DO PRZODU
PORTB&=~(1<<6);

PORTB&=~(1<<5); //SILNIK PRAWY DO TYLU
PORTB|=(1<<4);
}
else if(!bit_is_clear(PINA,6))	//CZUJNIK SRODEK 
{
PORTD|=(1<<5);	 //S. L. ON
PORTD|=(1<<4);	 //S. P. ON
PORTB|=(1<<7);	 //S. L. DO PRZODU
PORTB&=~(1<<6);

PORTB&=~(1<<5); //S. P. DO TYLU
PORTB|=(1<<4);
}	
}
else if(!bit_is_clear(PINA,5))	//CZ. PRAWY 
{
PORTD|=(1<<5);	 //S. L. ON
PORTD|=(1<<4);	 //S. P. ON

PORTB&=~(1<<7);	 //Sl L. DO TYLU
PORTB|=(1<<6);

PORTB|=(1<<5); //S. P. DO PRZODU
PORTB&=~(1<<4);

}
else
{
PORTD|=(1<<5);	 //S. L. ON
PORTD|=(1<<4);	 //S. P. ON

PORTB|=(1<<7);	 //S. L. DO PRZODU
PORTB&=~(1<<6);

PORTB|=(1<<5); //S. P. DO PRZODU
PORTB&=~(1<<4);


}
}
}

__________

Komentarz dodany przez: Nawyk

Używaj znaczników [ code] i [ /code]

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.