Skocz do zawartości

LF z kursu - problem z uruchomieniem.


aixI

Pomocna odpowiedź

Cześć, sprawdziłem najpierw czujnik lewy (z kodem takim, żeby dioda zapalała się jak "zobaczy" czarną linię) i jak włączyłem robota to dioda nie świeciła, najechałem czujnikiem lewym na czarną linię i dioda się zapaliła. Potem znowu zjechała i już nie chciała zgasnąć. Nie wiem czemu tak się dzieje. Ale później sprawdziłem czujnik prawy (z tym samym kodem tylko ze zmienionymi nazwami dot. czujnika prawego) i jak najechałem czujnikiem prawym na czarną linię to dioda się nie zapaliła. I na końcu sprawdziłem czujnik środkowy i jak najechałem czujnikiem środkowym na czarną linie to dioda się nie zapaliła. Wiec z tego wynika jakieś niedokładnie połączenia czujników - prawego i środkowego?

Taki był przykładowy kod do sprawdzenia czujnika lewego:

$regfile = "m8def.dat"
$crystal = 1000000

'Konfiguracja przetwornika analog-cyfra (ADC)
Config Adc = Single , Prescaler = Auto

'Konfiguracja sterowania sprzętowym PWM
Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down

'Konfiguracja portów
Config Portd = Output
Config Portb = Output

'Opis portów
'Enable1 - Silnik lewy - Portb.1 (PWM1A)
'Enable2 - Silnik prawy - portb.2 (PWM1B)
'Input1 - Silnik lewy A - Portd.3
'Input2 - Silnik lewy B - Portd.2
'Input4 - Silnik prawy A - Portd.0
'Input3 - Silnik prawy B - Portd.1
'Czujnik lewy - ADC2 (pin 25)
'Dioda - Portd.6

Silnik_lewy_a Alias Portd.3
Silnik_lewy_b Alias Portd.2
Silnik_prawy_b Alias Portd.0
Silnik_prawy_a Alias Portd.1
Dioda Alias Portd.6

'Granica reagowania na linię - należy dobrać doświadczalnie
Const Granica = 500

'Deklaracje zmiennych
Dim Czujnik_lewy As Single
Dim W As Word

'Blok instrukcji
Set Silnik_lewy_a
Reset Silnik_lewy_b
Set Silnik_prawy_a
Reset Silnik_prawy_b

Do
  Gosub Wczytaj_stany_przetwornikow
  If Czujnik_lewy > Granica Then
  Portd.6 = Pinc.2
  End If
Loop
End

Wczytaj_stany_przetwornikow:
Start Adc
W = Getadc(2)
W = Getadc(2)
Stop Adc
Czujnik_lewy = W
Return

EDIT: Ehh... szkoda słów... wgrałem oryginalny kod i teraz nie działa... w sensie takim: czujniki nie reagują na linię, oba silniki szybko się kręcą. Jeżeli macie chęci mi pomóc to proszę będę waszych uwag słuchał bardzo uważnie. Bo to co się z tym dzieje to ja tego nie rozumiem. AixI.

Link do komentarza
Share on other sites

Cześć, zrobiłem jeszcze raz robota tylko najpierw zaprojektowałem płytkę w eaglu i napisałem (na forum) czy się zgadza ze schematem Nawyka, poradzono mi żebym zobaczył testami Drc i Erc i nie było błędów. Zastosowałem dużo kondensatorów 100nf i dławik 10uH (to widać na płytce) i po wgraniu programu testowego (z kursu) po włączeniu kręcą się oba silniczki ale czujniki nie reagują na czarną linię. (wydaje mi się, że tę płytkę wykonałem znacznie lepiej niż poprzednią).

Tu projekt płytki. Kodu nie muszę chyba załączać, bo większość wie jaki to kod. (według tej płytki lutowałem).

AixI.

Link do komentarza
Share on other sites

Tak, tak podłączam. Na zaprojektowanej płytce (z eagla) tego nie ma ale normalnie jest. Jeszcze tylko myślę, czy to zależy od całej mojej płytki z czujnikami i złączem pomiędzy właśnie tą płytką, a płytką z uC. Ale to tylko moje gdybanie.

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

Macie jakiś pomysł?? Tak jak już mówiłem to wszystko polutowałem według płytki z eagla, która była projektowana ze schematu Nawyka. A jak silniki zasilam z napięcia ze stabilizatora to mogą być zakłócenia nawet wtedy, gdy są filtrowane piny mostka i uC z ADC?

EDIT: 24.11.12r. Dziś chciałem zobaczyć, czy silniki ruszą same. Zmieniłem kod, żeby silniki się kręciły niezależnie od czujników. (chodziło mi tylko czy są dobre połączenia i czy silniki nie robią zakłóceń, przez które Atmega resetowałaby się). Więc wgrałem kod i po podłączeniu zasilania silnik ruszył kręci się i kręci non stop. (a miał 3 sek. się kręcić w jedną stronę, później po 3 sek. w odwrotną stronę i przez ostatnie 3 sek. stać). Odłączyłem zasilanie, podłączyłem ponownie i już nie chciał się kręcić. Zamieniłem silniki i to samo było na drugim.

Możliwe, że są jeszcze zakłócenia jakieś bo raz działa, raz nie.

Proszę Was o pomoc, bo ja nie jestem jeszcze za bardzo obeznany z robotyką (jestem początkujący), za sobą mam tylko światłoluba.

Link do komentarza
Share on other sites

Jakaś abstrakcja... Nie mam bladego pojęcia, co może być jeszcze nie tak:/ Obstawiam niezgodność połączeń ze schematem z kursu, bo rozumiem, że 'fusami' atmegi się nie bawiłeś, a programator wypluwa info, że wszystko zaprogramowało się pomyślnie... Próbowałeś podłączyć jakieś mniejsze silniki? Mostek był gorący kiedy przestał działać? Może już czas żeby zakupić płytkę uniwersalną i polutować wszystko tak, jak w przepisie?

Link do komentarza
Share on other sites

Obstawiam niezgodność połączeń ze schematem z kursu

- No nie wiem, projektowałem płytkę z Twojego schematu.

'fusami' atmegi się nie bawiłeś, a programator wypluwa info, że wszystko zaprogramowało się pomyślnie

- 'Fusami' się nie bawiłem, a programator pokazuje, że wszystko jest zaprogramowane.

Próbowałeś podłączyć jakieś mniejsze silniki?

- Nie.

Mostek był gorący kiedy przestał działać?

- Nie.

Może już czas żeby zakupić płytkę uniwersalną i polutować wszystko tak, jak w przepisie?

- Możliwe, że tak ale jak polutuję wszystko tak dobrze jak tylko umiem i znowu coś...... Aż nie chcę kończyć.

Link do komentarza
Share on other sites

No nie wiem, projektowałem płytkę z Twojego schematu.

Chodziło mi o fizyczną zgodność - czy nie ma zwarć ani przerw w obwodzie... Serio chciałbym Ci pomóc, ale już nie ogarniam co jeszcze może być źle. Jeśli bardzo chcesz, to możesz mi wysłać bota do sprawdzenia, spróbuję go uruchomić i odeślę, ale to raczej nie w przeciągu najbliższych dwóch tygodni

Link do komentarza
Share on other sites

Pomierzyłem napięcia:

*Mostek: pin 8 i 16 => 5V

*uC pin: 7 => 5V

pin: 8 => 0V

pin: 22 => 0V

pin: 21 => 0.3V

pin: 20 => 5V

*Zasilanie czuj:

(+) => 5V

(-) => 0V

*Wejście stabilizatora => 15V, wyjście 5V

Na pinach 14 i 11 mostka (tam, gdzie mam podpięty silnik, który miał się kręcić) było (pin 11) => ok. 5V, pin (14) => ok. 0,5V, a później było (pin 11) => o,5V i (pin 14) => 0,5V

Mało prądożerny silniczek DC tez się nie chciał kręcić. Jak go podpiąłem to aktualnie było po 0,5V na pinach: 11 i 14. Po jakimś czasie to się "ogarnia" i znowu działa.

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.