Poczwara_13 Napisano Luty 18, 2012 Udostępnij Napisano Luty 18, 2012 Witam wszystkich, mój problem jest następujący; zabrałem się za zbudowanie pierwszego robota (dość prostego) który będzie sterowany 4 switch'ami, w miarę możliwości napisałem program do ATMEGI8, ale niestety układ do sterowania silniczkami niedziała (brak napięcia na 1Y,2Y,3Y,4Y), moje pytanie brzmi czym może być to spowodowane?? Sam układ L293DNE jest podłączony w następujący sposób: 1,2EN- +5V 1A- ATMEGA8 (PC3) 1Y-silnik GND GND 2Y-silnik 2A- ATMEGA (PC2) Vcc2- +5V Vcc1- +5V 4A-ATMEGA(PC0) 4Y-silnik GND GND 3Y-silnik 3A-ATMEGA(PC1) 3,4EN- +5V Dziękuje za pomoc:) Pozdrawiam:) Cytuj Link do komentarza Share on other sites More sharing options...
bartek1333 Luty 18, 2012 Udostępnij Luty 18, 2012 Napisz na jakie piny podajesz napięcie, najlepiej daj schemat. Cytuj Link do komentarza Share on other sites More sharing options...
MacGyver Luty 18, 2012 Udostępnij Luty 18, 2012 Fajnie było by gdybyś wrzucił schemat i program. 1) Połaczyłeś masy obu układów? 2)Napiecie doprowadzone do silników powinno być większe od napięcia logiki chodź myślę, że to nie jest głównym powodnem nie działania silników. 3)Sprawdz czy jest napięcie na wyjściu Atmegi tj. PC0, PC1, PC2, PC3. Cytuj Link do komentarza Share on other sites More sharing options...
Poczwara_13 Luty 18, 2012 Autor tematu Udostępnij Luty 18, 2012 Programik nie jest do końca jeszcze dopracowany ale proszę bardzo; $regfile = "m8def.dat" $crystal = 1000000 Do 'linia PD6 (wej) Config Portd.6 = Input 'linia PD7 (wyj) Config Portd.7 = Output 'linia PD6 stan wysoki Portd.6 = 1 'linia PD7 stan niski Portd.7 = 0 'linia PC0 wyjściowa Config Portc.0 = Output 'linia PC1 wyjściowa Config Portc.1 = Output 'linia PC2 wyjściowa Config Portc.2 = Output 'linia PC3 wyjściowa Config Portc.3 = Output 'wyzerowanie lini PC0,PC1,PC2,PC3 Portc.0 = 0 Portc.1 = 0 Portc.2 = 0 Portc.3 = 0 If Pind.6 = 0 Then Portc.3 = 1 Else Portc.3 = 0 End If 'linia PD4 (wej) Config Portd.4 = Input 'linia PD5 (wyj) Config Portd.5 = Output 'linia PD4 stan wysoki Portd.4 = 1 'linia PD5 stan niski Portd.5 = 0 'linia PC0 wyjściowa Config Portc.0 = Output 'linia PC1 wyjściowa Config Portc.1 = Output 'linia PC2 wyjściowa Config Portc.2 = Output 'linia PC3 wyjściowa Config Portc.3 = Output 'wyzerowanie lini PC0,PC1,PC2,PC3 Portc.0 = 0 Portc.1 = 0 Portc.2 = 0 Portc.3 = 0 If Pind.4 = 0 Then Portc.1 = 1 Else Portc.1 = 0 End If 'linia PD3 (wej) Config Portd.2 = Input 'linia PD2 (wyj) Config Portd.3 = Output 'linia PD3 stan wysoki Portd.2 = 1 'linia PD2 stan niski Portd.3 = 0 'linia PC0 wyjściowa Config Portc.0 = Output 'linia PC1 wyjściowa Config Portc.1 = Output 'linia PC2 wyjściowa Config Portc.2 = Output 'linia PC3 wyjściowa Config Portc.3 = Output 'wyzerowanie lini PC0,PC1,PC2,PC3 Portc.0 = 0 Portc.1 = 0 Portc.2 = 0 Portc.3 = 0 If Pind.2 = 0 Then Portc.0 = 1 Portc.2 = 1 Else Portc.0 = 0 Portc.2 = 0 End If 'linia PD0 (wej) Config Portd.0 = Input 'linia PD1 (wyj) Config Portd.1 = Output 'linia PD0 stan wysoki Portd.0 = 1 'linia PD1 stan niski Portd.1 = 0 'linia PC0 wyjściowa Config Portc.0 = Output 'linia PC1 wyjściowa Config Portc.1 = Output 'linia PC2 wyjściowa Config Portc.2 = Output 'linia PC3 wyjściowa Config Portc.3 = Output 'wyzerowanie lini PC0,PC1,PC2,PC3 Portc.0 = 0 Portc.1 = 0 Portc.2 = 0 Portc.3 = 0 If Pind.0 = 0 Then Portc.1 = 1 Portc.3 = 1 Else Portc.1 = 0 Portc.3 = 0 End If Loop Co do schematu muszę narysować, bo mam tylko płytke do termotransferu w PDF'ie. Ad.1) Masy są połączone. Ad.3) Tak jest napięcie;) Program jakoś działa, doskonały nie jest ale funkcja 'prawo' i 'lewo' jest ok:) __________ Komentarz dodany przez: Nawyk Używaj znaczników [ code] i [ /code] Cytuj Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. 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
MacGyver Luty 18, 2012 Udostępnij Luty 18, 2012 staraj się wstawiać program w znacznik [code.][/code.]sprawdź ten prosty program $regfile = "m8def.dat" $crystal = 1000000 Config Portc = Output 'portc jako wyjście Portc = &B00000000 'stan niski na porcie Config Portd = Input 'portd jako wejście Portd = &B11111111 'stan wysoki na porcie Do If Pind.6 = 0 Then 'zakładam ze przycisk masz zwarty do masy nie do vcc :) Portc.0 = 0 Portc.1 = 1 Portc.2 = 0 Portc.3 = 1 Else Portc.0 = 1 Portc.1 = 0 Portc.2 = 1 Portc.3 = 0 End If Loop Po wgraniu programu silniki powinny sie odrazu zacząc kręcic, natomiast kiedy wcisniesz przycisk(pind.6). silniki zaczną krecic w odwrotną stronę. Cytuj Link do komentarza Share on other sites More sharing options...
Poczwara_13 Luty 18, 2012 Autor tematu Udostępnij Luty 18, 2012 Dzięki wielkie do paru minut dam odpowiedź🙂 Jest napięcie 🙂 Cytuj Link do komentarza Share on other sites More sharing options...
MacGyver Luty 18, 2012 Udostępnij Luty 18, 2012 Dla ścisłości jakie napiecie podajesz na Atmege i Mostek? Proponuje zebyś wysłał mi swoje GG na PW to znacznie przyśpieszy proces 😃 1 Cytuj Link do komentarza Share on other sites More sharing options...
Poczwara_13 Luty 19, 2012 Autor tematu Udostępnij Luty 19, 2012 Problem został rozwiązany 🙂 (Słaba bateria i błędy w programie) Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
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!