logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Różnice między mikrokontrolerami PIC16F84 a PIC16F84A - kompatybilność?

zajcevos 25 Lip 2005 20:40 4124 11
REKLAMA
  • #1 1681312
    zajcevos
    Poziom 11  
    Posty: 7
    jaka jest roznica miedzy pic16f84a a pic16f84 ?

    w sklepie zamowilem bez A a teraz patrze i mam z A, byc moze dlatego uklad nie dziala?

    da sie zaprogramowac poprawnie pic16f84A programem ale w IcProg majac zaznaczonego pic16f84 ?
  • REKLAMA
  • #2 1681392
    Darekg
    Poziom 17  
    Posty: 210
    Pomógł: 27
    Ocena: 11
    Z tego co mi wiadomo, to różnią się tylko technologią wykonania. REszta pozostaje bez zmian. Gdyby było więcej różnic, to nie został by ten sam symbol.
  • REKLAMA
  • #3 1681464
    zajcevos
    Poziom 11  
    Posty: 7
    czyli wychodzi na to ze nie jest istotne ktory z nich zastosuje w ukladzie, a jak sie ma sprawa programowania? bylyby roznice? ICProg ma obie pozycje na liscie, byc moze oznaczaja te same ustawienia, wtedy bylaby to najgorsza dla mnie opcja bo oznaczalaby zle zmontowanie ukladu :/
  • #4 1681491
    Darekg
    Poziom 17  
    Posty: 210
    Pomógł: 27
    Ocena: 11
    Swego czasu pisałem program w asemblerze pod wersję bez A, a później stosowałem wersję tylko z A. Przy programowaniu PICSTART-em, wybierałem tylko którą wersje programuję.
  • REKLAMA
  • #5 1682010
    Jacu$
    Poziom 27  
    Posty: 730
    Pomógł: 119
    Ocena: 26
    Zajcevos, coś się plączesz w zeznaniach. Najpierw piszesz, że Ci program na PIC-u nie działa a następnie pytasz, czy się da zaprogramować?
    Wersji bez A to juz od kilku lat się nie produkuje. W Ic-Prog nie ma znaczenia, czy zaznaczysz z A, czy bez A. Ja próbowałem na wszystkie sposoby i działa. Sprawdzone na programatorach D.Tait i H.Schaer.
    A do sprawdzenia, czy się mikrokontroler dobrze zaprogramował służy polecenie weryfikacji.
  • #6 1683110
    zajcevos
    Poziom 11  
    Posty: 7
    jest tak: zamowilem bez A, dostalem z A (nie wiedzialem o tym)
    na willemie gosc mi zaprogramowal go jako "bez A", w ukladzie ktory mam zmontowac ma byc bez "A". dlatego zastanawiam sie czy wina ze uklad nie dziala jest to ze mam z A a mialo byc bez, lub to ze zaprogramowalem jako bez A, zamiast z A. Troche skomplikowane :P

    Konkretniej jest to kontroler 8 serwo:
    http://w3.tyszkiewicz.edu.pl/~dachwastek/schemat.GIF

    Przyjmujac ze moze byc ten Pic i jest dobrze zaprogramowany:
    napiecie jest, jak podlaczam servo nic sie nie dzieje, nie moge go kontrolowac, na pinie sygnalu do serwa jest napiecie tylko na tym pinie ktorego serwo jest podlaczone wiec uklad jakby kontroluje sygnal, ale serwo nie dziala, poruszy sie o pare stopni w rozne strony gdy przytkne miedzy sygnal serwa a napiecie 5+ diode Led 5 :P w momencie jej odczepienia :P czasem jak dotkne zwyklym srubokretem samego napiecia 5+ to tez sie cos poruszy o dwa trzy stopnie.. ja przy tym więdne bo sie jak dla mnie cuda dzieja :P

    z gory dziekuje za pomoc ;)

    PS. jak poruszam wtyczka z serva to tez sie rusza czasem, i tutaj zawsze rusza sie w prawo, nie w obie strony.
  • #7 1683506
    Jacu$
    Poziom 27  
    Posty: 730
    Pomógł: 119
    Ocena: 26
    Czy w pliku HEX, którym był programowany PIC są ustawienia FUSE-BITS?
    Jeśli nie, to czy zostały poprawnie ręcznie ustawione w programie Ic-Prog (albo innym, który został użyty do zaprogramowania PIC-a)?
    Coś mi się zdaje, że czysty PIC ma ustawione "fusy" w taki sposób, że nie będzie poprawnie działał z rezonatorem 4MHz. Poza tym na schemacie jest taki rezonator 3-nóżkowy a nie wiem, jaki zastosowałeś w praktyce. Może wstawiłeś zwykły kwarc i źle dobrałeś kondensatorki?
    Dla działania programu nie ma znaczenia, czy jest to PIC16F84A, czy bez literki A. Ta literka oznacza tylko tyle, że układ został wyprodukowany w najnowszej :wink: technologii i powinien dzięki temu wytrzymać więcej niż taki sam wyprodukowany w starej technologii (gdy jeszcze nie było literki A).
    Jeśli chcesz znać szczegóły to ściągnij datasheet układu ze strony producenta (ten do wersji A) i na samym początku przeczytasz wszystkie ochy i achy na temat tej nieszczęsnej literki.
  • #8 1683761
    zajcevos
    Poziom 11  
    Posty: 7
    zatem kosc moze byc,... uzylem rezonatora ceramicznego 4MHz, gdybym tylko mial programator nie byloby problemu bo majac swiadomosc ze kosc jest dobrze zaprogramowana szukalbym usterki w ukladzie ktory byl juz budowany przez pare osob i chodzil...
    No nic.. dziekuje wszystkim za pomoc ;)
    Jakby komus cos wpadlo go glowy to prosze piszcie ;)
    Nie prosze... BLAGAM! :P

    O tym jak byla programowana wiem tylko tyle ze uzyto programatora "Willem" (czy jakos tak), podobno kosc przeszla testy weryfikacji po zaprogramowaniu.

    PS. A hex jest tutaj ;)
    http://w3.tyszkiewicz.edu.pl/~dachwastek/servo.hex
  • REKLAMA
  • #9 1684032
    byrek
    Poziom 13  
    Posty: 53
    Pomógł: 2
    Ocena: 2
    zajcevos napisał:
    Jakby komus cos wpadlo go glowy to prosze piszcie ;)

    Ok, to tak - wersja z 'A' to jest szybsza wersja. Przez szybkość mam na myśli czas programowania. Reszta jest tak samo. A zresztą, www.microchip.com i poszukaj na przyszłość w datasheetach.
    To, co pewnie masz źle, to ustawienia FUSE BITS - domyślnie może być ustawiony np. rezonator RC a nie kwarc i dlatego układ ci nie działa.
    Po drugie sprawdź poziomy napięcia na RS232, czy na pewno się zgadzają ze standardem TTL. Swoją drogą ja bym się konwersji RS232/TTL na oporniku nie podjął robić, bo w RS232 są napięcia +/- 12V - oznacza to, że na procka podajesz napięcie ujemne względem masy i można mu zrobić kuku.
    Ta trzecia noga od kwarcu to nie do końca jest noga - to jest przylutowana do masy obudowa kwarcu.
  • #10 1684274
    Jacu$
    Poziom 27  
    Posty: 730
    Pomógł: 119
    Ocena: 26
    byrek wrote:
    Cytat:
    Ta trzecia noga od kwarcu to nie do końca jest noga - to jest przylutowana do masy obudowa kwarcu.

    Niestety, nie masz racji.
    Na schemacie jest IMHO rezonator ceramiczny z wbudowanymi kondensatorami (prawdopodobnie 2x30pF). Z tego powodu wyprowadzono trzecią nogę, która musi być połączona z masą. Jeśli zamiast takiego rezonatora ceramicznego zastosujesz zwykły kwarc i pominiesz kondensatory to układ raczej nie będzie poprawnie pracował. A podłączenie obudowy kwarcu do masy niczego tu nie zmieni.
  • #11 1685615
    Konto nie istnieje
    Poziom 1  
  • #12 1686167
    Jacu$
    Poziom 27  
    Posty: 730
    Pomógł: 119
    Ocena: 26
    :arrow: nemo07
    1. zajcevos wyraźnie napisał, że nie dysponuje programatorem.
    2. zajcevos podał link do pliku hex, którym był zaprogramowany PIC więc mogłeś sprawdzić, że fuse-bits są w nim poprawnie ustawione i nic nie trzeba ręcznie poprawiać.

Podsumowanie tematu

LABEL_AI_GENERATED
Różnice między mikrokontrolerami PIC16F84 a PIC16F84A dotyczą głównie technologii wykonania i szybkości programowania, przy czym wersja z literą "A" jest nowsza i bardziej wytrzymała, ale funkcjonalnie kompatybilna z wersją bez "A". Obie wersje można programować tymi samymi narzędziami, np. programem ICProg, gdzie wybór wersji nie wpływa na poprawność programowania. Problemy z działaniem układu najczęściej wynikają z nieprawidłowych ustawień fuse bits, zwłaszcza konfiguracji oscylatora (Clock Config Fuse), co jest kluczowe przy stosowaniu rezonatorów powyżej 3,5 MHz. W przypadku układu sterującego serwem, zastosowano rezonator ceramiczny 4 MHz z trzecią nóżką podłączoną do masy, co jest istotne dla poprawnej pracy. Niewłaściwe ustawienia fuse bits lub błędna konfiguracja oscylatora mogą powodować brak działania układu mimo poprawnego zaprogramowania i zasilania. Weryfikacja programowania powinna być wykonana poleceniem weryfikacji w programatorze. Zaleca się sprawdzenie sygnału CLKOUT na pinie 15 mikrokontrolera oscyloskopem, aby potwierdzić poprawną pracę oscylatora. W dyskusji podkreślono, że problem nie leży w różnicy między PIC16F84 a PIC16F84A, lecz w konfiguracji i ustawieniach programowania oraz w doborze i podłączeniu rezonatora.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA