Elektroda.pl
Elektroda.pl
X
CControls
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

płytka testowa PIC - Prosta płytka testowa pic prośba o sprawdzenie schematu

andrejch 23 Wrz 2012 19:22 3012 11
  • #1 23 Wrz 2012 19:22
    andrejch
    Poziom 8  

    Witam jak w tytule mam prośbę, czy obeznani forumowicze mogą mi usłużyć swoją pomocą.
    Zaprojektowałem prostą płytkę testową, której schemat poniżej. Na płytce jest umieszczony prosty programator( który działa na moim komputerze, już go sprawdziłem) oraz dwa 7 segmentowe wyświetlacze jak i kilka przycisków, piny wyjścia z portu B i 3 piny wyjścia z portu A.
    Moim zamysłem było, aby w odpowiedzi na naciśniecie przycisku (prócz resetu) świeciły się poszczególne elementy wyświetlacza. W celu minimalizacji i uproszczenia całości projektu płytki (rezygnacja z osobnych diod).
    Mam też osobny wyświetlacz z nokii N3310, który chciałbym później podłączyć do wyjść portu B kiedy bd chciał się uczyć obsługi wyświetlacza LCD.
    Jeszcze raz proszę o ocenę i wskazanie błędów w schemacie oraz ewentualnych możliwości komplikacji po montażu płytki. płytka testowa PIC - Prosta płytka testowa pic prośba o sprawdzenie schematu

    0 11
  • CControls
  • #2 23 Wrz 2012 19:32
    dondu
    Moderator Mikrokontrolery Projektowanie

    Witaj,

    1. Po pierwsze nie podajesz jaki to mikrokontroler, a na schemacie także nie ma oznaczenia (chyba, że przegapiłem).
    2. Po drugie by sprawdzać Twój schemat trzeba by sięgać do datasheet, by wiedzieć, który pin ma jaką funkcję. Zamiast symbolu obudowy, stosuj symbole zastępcze z opisami pinów.
    3. I wreszcie po trzecie, sprawdzenie tak połączonego (chaos) schematu jest trudne i dlatego niewiele osób będzie chciało Ci pomóc. Naucz się robić czytelne schematy: http://mikrokontrolery.blogspot.com/2011/04/jak-projektowac-czytelne-schematy.html

    0
  • #3 23 Wrz 2012 21:18
    andrejch
    Poziom 8  

    chodzi o ten mikro kontroler. A czytelniej nie umiałem zrobić już płytka testowa PIC - Prosta płytka testowa pic prośba o sprawdzenie schematu

    0
  • CControls
  • #4 23 Wrz 2012 21:35
    dondu
    Moderator Mikrokontrolery Projektowanie

    Rozumie i widzę, że się starałeś, ale sugeruję jednak byś zrobił schemat jeszcze raz wg wytycznych, które Ci podałem, bo prawdopodobnie będziesz długo czekał na osobę, która będzie chciała się wgryzać w tę plątaninę.

    0
  • #5 24 Wrz 2012 21:14
    andrejch
    Poziom 8  

    udało mi się zrobić tylko coś takiego. A najbardziej zależy mi tylko na sprawdzeniu przycisków wymuszających stany na portach A, czy dobrze dobrałem kondensatory? 1uF wystarczy? płytka testowa PIC - Prosta płytka testowa pic prośba o sprawdzenie schematu

    0
  • #6 25 Wrz 2012 00:16
    Rudolfak
    Poziom 13  

    http://pl.wikipedia.org/wiki/Uk%C5%82ad_RC

    Przy oporze 10k i 1u kondensatorze otrzymasz stałą czasową:

    t = R*C = 10000*0.000001 = 0.01s.

    Myślę, że tak długi czas ładowania kondensatora nie jest potrzebny, poza tym przy kondensatorze 1u będziesz generować duże szpilki w napięciu zasilania (na indukcyjności ścieżek)

    Jak chcesz mieć długi czas ładowania to zmień rezystor z 10k na 100k, i kondensator z 1u na 100n.

    3 uwagi po przejrzeniu schematu (pobieżnie):
    1. stabilizator 5V obowiązkowy
    2. wywal ten programator. Zaraz pewnie będziesz chcieć coś innego programować, i będziesz robić/kupować PICkit/ICD a są szybsze i wygodniejsze w obsłudze. O możliwości debugowania nie wspomnę.
    3. Opornik przy diodzie na zasilaniu jest potrzebny, chyba, że będziesz jakichś fajnych diodek używać, co mają Vf = 5V.

    Pozdrawiam

    0
  • #7 25 Wrz 2012 08:44
    andrejch
    Poziom 8  

    A jak bym użył 0.5 uF przy oporze 10k ? Bo takie wartości mam podane w książce "Mikrokontroler PIC w zastosowaniach", ale za bardzo teraz nie rozumiem co tutaj ma tau do rzeczy, oczywiście wiem co to jest ale po co mi czas ładowania i rozładowania kondensatora w tym przypadku mógłby mi to ktoś wyjaśnić? ;] Nie sądzę, żebym przez najbliższy rok chciał programować coś więcej niż PIC 16f628 dlatego wolę póki co zostawić ten programator. Zawsze można dorobić jakiś moduł do tej płytki. :) Ale za uwagi szczerze dziękuje i czekam na więcej.
    P.S.
    Faktycznie zapomniałem o oporze przy diodzie dzięki za przypomnienie :)

    0
  • #8 25 Wrz 2012 10:53
    dondu
    Moderator Mikrokontrolery Projektowanie

    Problem szpilek, o którym pisze :

    Rudolfak napisał:
    Myślę, że tak długi czas ładowania kondensatora nie jest potrzebny, poza tym przy kondensatorze 1u będziesz generować duże szpilki w napięciu zasilania (na indukcyjności ścieżek)

    załatwia się rezystorem rzędu 100-330Ω włączonych w szereg między kondensator i przycisk lub przycisk i masę. Więcej na ten temat:
    http://mikrokontrolery.blogspot.com/2011/04/przycisk-drgania-stykow-debouncing.html

    Ale właściwie dlaczego nie zrobisz programowej eliminacji drgań styków?
    Warto uczyć się takich rozwiązań. Wiesz jak to zrobić?
    Jeśli nie to w linku powyżej znajdziesz przykłady dla AVR, których zrozumienie pozwoli Ci napisać to samo na PIC.

    BTW.
    Czy ten schemat robiłeś w Eagle? Jeżeli tak to wykorzystaj funkcję exportu do pliku graficznego w menu: File > Export >Image, bo przeczytanie opisu etykiet jest utrudnione.

    Schematu nie sprawdzałem.

    0
  • #9 25 Wrz 2012 15:01
    andrejch
    Poziom 8  

    tak robiłem w eagle i faktycznie kolega wyżej ma racje do usunięcia szpilek wystarczy rezystor z przedziału 100-300 ohm podłączony szeregowo z przyciskiem i masą.
    Dlatego też za miast kondensatora 1uF dam 0,5uF ma szybszy czas ładowania i rozładowania, zastanawiałem się też czy nie dać 100nF, ale jednak po głębszym namyśle pozostanę przy 0,5 uF co o tym sądzicie?

    0
  • #10 25 Wrz 2012 15:44
    dondu
    Moderator Mikrokontrolery Projektowanie

    Zewnętrzne rezystory pull-up do przycisków możesz śmiało wywalić i włączyć wewnętrzne rezystory pull-up. Mają one typowo 25kΩ. Tę wartość podstaw do wzoru Rudolfak i oblicz jaką wartość kondensatora wiedząc, że drgania styków trwają max 25ms.

    Natomiast rezystory 100-300Ω, oczywiście zastosuj.

    Nie odpowiedziałeś na pytanie dot programowej eliminacji drgań styków.
    Wtedy żadne elementy dodatkowe do przycisków nie są potrzebne.

    0
  • #11 25 Wrz 2012 18:58
    andrejch
    Poziom 8  

    hmm... Przemyślałem twój pomysł z zmianą w programie i faktycznie jest dużo wygodniejszy niż zewnętrzne elementy oczywiście go zastosuje.
    Jednakże stosuje asemblera więc póki co pomyślałem żeby zastosować coś na wzór:

    Kod: asm
    Zaloguj się, aby zobaczyć kod


    Czy chodziło i o coś takiego? jest to oczywiście bardzo mizerny programik, al czy to w ten deseń ?:)

    0
  • #12 30 Wrz 2012 00:25
    abel11
    Poziom 10  

    Najbardziej łopatologicznie to było by coś w tym stylu, choć ani to pożyteczne ani wydajne, po prostu po wciśnięciu przyCisku RAZ wykonuje 256x2 operacji jako zwłoka przed kolejnym sprawdzeniem, żeby było to funkcjonalne należy rozbudować!
    Najlepiej było by timer zaprzęgnąć do pracy - jest taktowany zwykle fosc/4 + prescaler albo jakoś tak (sprawdź w nocie producenta).
    Jeśli masz IOC (interrupt on change) dla tego układu to przerwania możesz włączyć w przypadku zmiany stanu na porcie dla każdego z przycisków i w podprogramie przerwań całość z drganiami styków zrealizować.

    NIE SPRAWDZAŁEM PONIŻEJ NAMIASTKI KODU

    Kod: asm
    Zaloguj się, aby zobaczyć kod


    edit:
    mało to przejrzyste bez kolorowej składni... nie wiem jak ja tu pokolorować

    0