Skocz do zawartości

Minisumo Haker2- worklog


Pomocna odpowiedź

$regfile = "m16def.dat"
$crystal = 16000000

Config Portb = Output
Config Porta = Input
Config Portd.5 = Output
Config Portd.7 = Output
Config Portd.4 = Output
Config Portd.6 = Output
Pina.1 = 1
Portd.4 = 0

Ocr1a = 22   'wartość maxymalna

Tccr1a = &B01000000

Tccr1b = &B00011001


Do
Portd.4 = 1
Waitus 600

If Pina.1 = 0 Then
Portb = &B00000

Elseif Pina.1 = 1 Then
Portb = &B1111111

Portd.4 = 0
Waitus 600


End If

Loop

Tak wygląda mój kod.

Link do komentarza
Share on other sites

$regfile = "m16def.dat"
$crystal = 16000000

Config Portb = Output
Config Porta = Input
Config Portd.5 = Output
Config Portd.7 = Output
Config Portd.4 = Output
Config Portd.6 = Output
Pina.1 = 1
Portd.4 = 0

Ocr1b = 22                                                  'WARTOŚĆ maxsymalna

Tccr1a = &B01000000

Tccr1b = &B00011001


Do
Portd.4 = 1
Waitus 600

If Pina.1 = 0 Then
Portb = &B00000

Elseif Pina.1 = 1 Then
Portb = &B1111111

Portd.4 = 0
Waitus 600


End If

Loop

I dalej coś jest źle bo program nie działa.

PS. sorry za te tcr1b - moje czytanie ze zrozumieniem...

Link do komentarza
Share on other sites

Albo ustawisz w rejestrach tryb zliczania do OCR1A, i wtedy wpisujesz wartość do OCR1A, albo zostawiasz swoje zliczanie do ICR1 i wpisujesz wartość do ICR1. Ustawiłeś zliczanie do ICR a wpisujesz do OCR.

  • Pomogłeś! 1
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

Działa !!! W końcu stawiam Ci twoje zasłużone pomógł i wielkie dzięki - wiedza którą mi przekazałeś na pewno nie raz mi się przyda, ponieważ póki co mam za mało kasy na szarpy więc samoróbki wygrywają. A gdybym chciał by czujnik zapalał diodę i trzymał ją zapaloną dopóki doputy czujnik nie będzie widział przedmiotu? Bo narazie czujnik widzi przedmiot przez chwilę a potem dioda gaśnie mimo przedmiotu przed czujnikiem. Jeszce raz dzięki bardzo mi pomogłeś.

Link do komentarza
Share on other sites

Bo narazie czujnik widzi przedmiot przez chwilę a potem dioda gaśnie mimo przedmiotu przed czujnikiem. Jeszce raz dzięki bardzo mi pomogłeś.

Tu właśnie wkraczają magiczne długości impulsów, masz pole do popisu 😉 Zmieniaj sobie długości paczek i obserwuj reakcję, ja wtedy dopiero znalazłem odpowiednią długość.

Link do komentarza
Share on other sites

Ok, dzięki popróbuję i napiszę czy się udało. Jeszcze myślałem o czymś takim że gdzy tsop widzi tą paczkę dioda uruchamia się na te 600 us, aż do kolejnej paczki ale to by chyba nie działało.

EDIT: dobra znalazłem jest to ok 120 us. Ale pojawił się kolejny problem - gdy przedmiot zbliża się z daleka czujnik nie reaguje tak jakby go nie było .

[ Dodano: 18-04-2012, 18:07 ]

Teraz sobie uświadomiłem że chyba mam źle podłączony mostek - wejścia enable nie są podpięte pod timer i nie mam jak ustawić pwm. Macie może jakieś pomysły co mógłbym z tym zrobić ?

Link do komentarza
Share on other sites

klonyyy, spróbuj z wyższymi wartościami, kilka ms. Powiem tyle, że ~300us powyżej i poniżej wartości którą znalazłem już nie działało tak jak powinno, więc ta granica może być bardzo wąska.

Link do komentarza
Share on other sites

przeciąć ścieżki i zrobić zworki ?

No raczej nie mogę bo mam zajęte te porty.

KD93 dzięki- na pewno popróbuję.

[ Dodano: 18-04-2012, 19:56 ]

Z tym mostkiem to nawet jakoś bardzo tego pwm jeszcze w tym robocie nie potrzebuję - chcę tylko mieć pełną moc silników i tu mam pytanie czy wystarczy zewrzeć enable a i b do gnd czy można to rozwiązać programowo ( stan niski ) ?

Link do komentarza
Share on other sites

PWM to dobra rzecz. Do czasu, aż zaczniesz kombinować z mostkiem-samoróbką na MOS'ach. Do ich przełączania potrzeba już jakiegoś drivera i najlepiej żeby nie był byle jaki.

Ale wracając do tematu - może warto dodać w programie wysyłanie impulsów? Sam tego nigdy nie stosowałem, ale z tego co widziałem u Destroyer'a to na prawdę fajnie to działało 😉 Masz nieciekawą sytuację teraz. Może jednak pokusić się o rozcięcie ścieżek i podłączenie bazy tranzystora sterującego całym segmentem diodek IR wyjście OC2?

Muszę przyznać, że fajny temat się zrobił. Czytam z zachwytem zmagania z czujnikami, ponieważ na dniach sam będę się z tym borykał.

EDIT:

Owszem, to powinno wystarczyć.

Link do komentarza
Share on other sites

Mam do Was prośbę o zerknięcie na program - jestem prawie pewien że jest dobry, ale chcę mieć całkowitą pewność czy nie trzeba nic dodać, zanim zacznę wnikliwie badać ścieżki :

$regfile = "m16def.dat"
$crystal = 16000000
Config Portc = Output
Portc.2 = 0
Portc.3 = 0
Portc.5 = 0
Portc.7 = 0
Portc.4 = 0
Portc.6 = 0


Do
Portc.2 = 0                                                 'silnik1
Portc.3 = 1                                                 'silnik1
Portc.5 = 0                                                 'silnik2
Portc.7 = 1                                                 'silnik2
Portc.4 = 1                                                 'enable
Portc.6 = 1                                                 'enable
Loop



Link do komentarza
Share on other sites

Dodawanie zmian kierunków obrotów silników tego w pętli głównej, bez żadnych opóźnień nie da żądanego efektu. Musisz dodać co najmniej prościutkie opóźnienia. Najlepiej takie, żebyś widział je gołym okiem - np. 2s i zmiana kierunku obrotu silnika.

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.