Aktyw Forum
Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.
Sprawdź punkty Zarejestruj sięprojekt w BASCOM i 'nowe' 89C2051 - gdzie mam błąd?
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
Pomocy, programik nie działa na nowych procesorach.
Zrobiłem projekt sterownika do pompy przy piecu i fajnie działa. Ale skończyły mi się procesory ze starych zapasów (seria z 1996) i kupiłem nowe. Kupiłem 5 sztuk każdy z innej serii (z 1998, i nowe z 2003)
Programator MAX nie chce ich zaprogramować (wywala się na losowo wybranej komórce) ale Willem nie robi problemów.
W załączniku jest schemat układu i poobcinane źródło do samego programu głównego. Wygląda to tak:
- włączany jest timer który generuje przerwanie co 250uS
- w obsłudze przerwania są zaszyte liczniki które odliczają czas na odczyty temperatury z DS1821 oraz obsługa wyświetlaczy
teraz w pętli głównej:
- po wystartowaniu liczników odmierzany jest czas około 3,5 sekundy, po którym wysyłana jest komenda konwersji temperatury do DS1821
- po kolejnych 1,5 sekundy licznik przekracza wartość 999 i jest skok do podprocedury odczytującej temperaturę.
W czym problem?
...po osiągnięciu temperatury TLO następuje włączenie przekaźnika który uruchamia pompkę.. liczniki zię zerują i nastepuje odmierzanie znowu czasu 3,5sek - pompka pracuje dalej. Potem kolejne 1,5sek i następuje aktualizacja temperatury oraz wyłączenie pompki
Dajej to już jest klepanie przekażnikiem:
- 3,5 sek wyłączony przekaźnik (po aktualizacji temp)
- na 1,5 sek się włącza (po wysłaniu komendy startu konwersji)
- wyłącza się znowu po odczycie i aktualizacji temperatury.
Co jest grane?
Edit: nie ma załącznika więc daję link: http://www.henrico.republika.pl/gdzie_blad.zip
Zrobiłem projekt sterownika do pompy przy piecu i fajnie działa. Ale skończyły mi się procesory ze starych zapasów (seria z 1996) i kupiłem nowe. Kupiłem 5 sztuk każdy z innej serii (z 1998, i nowe z 2003)
Programator MAX nie chce ich zaprogramować (wywala się na losowo wybranej komórce) ale Willem nie robi problemów.
W załączniku jest schemat układu i poobcinane źródło do samego programu głównego. Wygląda to tak:
- włączany jest timer który generuje przerwanie co 250uS
- w obsłudze przerwania są zaszyte liczniki które odliczają czas na odczyty temperatury z DS1821 oraz obsługa wyświetlaczy
teraz w pętli głównej:
- po wystartowaniu liczników odmierzany jest czas około 3,5 sekundy, po którym wysyłana jest komenda konwersji temperatury do DS1821
- po kolejnych 1,5 sekundy licznik przekracza wartość 999 i jest skok do podprocedury odczytującej temperaturę.
W czym problem?
...po osiągnięciu temperatury TLO następuje włączenie przekaźnika który uruchamia pompkę.. liczniki zię zerują i nastepuje odmierzanie znowu czasu 3,5sek - pompka pracuje dalej. Potem kolejne 1,5sek i następuje aktualizacja temperatury oraz wyłączenie pompki
Dajej to już jest klepanie przekażnikiem:
- 3,5 sek wyłączony przekaźnik (po aktualizacji temp)
- na 1,5 sek się włącza (po wysłaniu komendy startu konwersji)
- wyłącza się znowu po odczycie i aktualizacji temperatury.
Co jest grane?
Edit: nie ma załącznika więc daję link: http://www.henrico.republika.pl/gdzie_blad.zip
WItam ponownie.
Pozakładałem ręczne pułapki i...
przekaźnik puszcza w momencie wykonywania podprogramu odczytu temperatury, a dokładnie w trakcie jej odczytu z DS:
wie ktoś dlaczego?? No i dlaczego wykonanie kodu:
włącza go spowrotem?
Pozakładałem ręczne pułapki i...
przekaźnik puszcza w momencie wykonywania podprogramu odczytu temperatury, a dokładnie w trakcie jej odczytu z DS:
Kod: Zaznacz cały
Get_temp:
1wreset
1wwrite &HAA
Temp_buf = 1wread()
Kod: Zaznacz cały
Stop Timer0
1wreset
1wwrite &HEE
Licz_odc = 701
Start Timer0
to by ci wyłączały też w tamtym procku. z tego co widzę to prądowo nie daje radyA czy wogóle ktoś sprawdzał co właściwie kryje się pod komendami obsługi 1wire? Bo może jest tam taki misz-masz że lepiej jednak zacząć te proste programy w asm także pisać. Coś słyszałem że wyłączają obsługę przerwań na przykład.
podepnij tam rezystor 4,7K do Vcc pod linie P3.5 - pomoże.
po za tym ja bym aż tak bezpośrednio nie podpinał LEDów do procka, jak możesz zmienić płytkę to wepnij tam ULN2803 i drabinkę rezystorów między ULN a prockiem, jeszcze bardziej pomoże. a ósme wyprowadzenie do buczka.
Rezystor podpiełem i pomogło.
A co do ledów to port spokojnie daje sobie rady i nic nie jest procesorowi, gdyż jeden egzemplarz pracuje już 2 lata non-stop i mierzy temperaturkę.
Całość bierze 50 do 70mA przy włączonym przekaźniku. Buczek 7mA przy 12V to przy 5V pewnie z połowę tego.
A errat nie ma do tego procesorka.
Pozdrawiam.
A co do ledów to port spokojnie daje sobie rady i nic nie jest procesorowi, gdyż jeden egzemplarz pracuje już 2 lata non-stop i mierzy temperaturkę.
Całość bierze 50 do 70mA przy włączonym przekaźniku. Buczek 7mA przy 12V to przy 5V pewnie z połowę tego.
A errat nie ma do tego procesorka.
Pozdrawiam.
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 28 gości