Ads_700x200

czwartek, 21 czerwca 2012

ISP - KANDA - koniec problemów !

Witam,

Ponieważ co rusz spotykam się z problemami początkujących, którzy próbują podłączać swój programator do procka na płytce stykowej i zwykle popełniają wciąż jeden i ten sam błąd ale to nagminnie ;) ... to postanowiłem się z tym rozprawić OSTATECZNIE! Koniec, nigdy więcej błędów w połączeniach. Najczęściej początkujący adept spogląda na na rysunek gniazda ISP i ochoczo zabiera się za wkładanie drucików do wtyczki ale UWAGA! kabla programatora nie mogąc sobie jednocześnie wyobrazić często, że to jakby lustrzane odbicie - no i kłopot gotowy. Od razu z marszu jest źle podłączone zasilanie VCC i GND.



Najczęściej takie błędne połączenie na tyle wprowadza początkującego w błąd ponieważ bierze on sobie miernik w rękę i mierzy napięcie na procesorze podłączonym do takiego kabla. Okazuje się że dziwnym trafem pojawia się tam jakieś 4,5V .... pomimo że napięcie VCC podłączone jest do nogi MOSI procka a GND do nogi MISO.... Może to nawet uszkodzić procesor - no ale napięcie się przedostaje na nogi zasilania i początkującemu wydaje się że wszystko dobrze podłączył no bo przecież jest 4,5V ale zwykle nie zada sobie trudu żeby zbadać napięcie na programatorze a tam jest +5V choć czasem może być też spadek napięcia albo i zwarcie - bo zależy co w programowanym układzie początkujący podłączył jeszcze do pinów MISO i MOSI ;)

dlatego uwaga nadchodzi pomoc ostatnie starcie. Ten rysunek poniżej mam nadzieję, że pomoże już każdemu zawsze i wszędzie ;)


poniżej link do pobrania obrazka w nieco lepszej rozdzielczości

62 komentarze:

  1. Właśnie o to chodzi my początkujący gubimy się w tym wszystkim więc jeden obrazek jest dla nas wart więcej niż 1000 słów :) Dzięki

    OdpowiedzUsuń
    Odpowiedzi
    1. Tak na 100% się zgadzam :)
      Dziękuje za rozpiskę.

      Usuń
  2. Ostatnio tez to przerabialem :) Jednak dopiero teraz wpadlem na ta stronke. Po kilku minutach przygladania sie schematom i wtyczkom jednak mozna dojsc samemu za pierwszym razem do dobrego rozwiazania! Myslenie nie boli! Polecam kazdemu! :D

    mirekk gratuluje tego fajnego zrodla wiedzy! reklamuj sie! :)

    OdpowiedzUsuń
  3. Proszę ładnie o wytłumaczenie jakie jest najbardziej minimalne podłączenie USBasp do procka. Na pewno, MISO, MOSI SCK, czy reset mogę wyzwalać ręcznie a zasilać z baterii, czyli odpadają 3 kable?

    OdpowiedzUsuń
    Odpowiedzi
    1. RST - czyli RESET to najnormalniejszy sygnał złącza ISP. Próby jego ręcznego załączania to raczej jakieś totalnie nieporozumienie :(

      MOSI, MISO, SCK i RST <---- MUSZĄ BYĆ ;)

      Usuń
    2. Czyli RST można porównać po prostu do SS? W takim razie rzeczywiście ręczne sterowanie nie ma sensu. Z moich kombinacji wynika, że mimo podłączonej baterii i zasilaniu bateryjnym o eleganckim napięciu 5V (przez 7805) zarówno na programatorze jak i na kontrolerze, avrdude niestety nie może się połączyć bez podłączonego GND. Czyli minimalnie 5 kabli? (pewnie zaraz dojdziemy do wniosku, że najlepiej mieć podłączone wszystkie 6 :) )

      Usuń
    3. ;) .... posłuchaj - ja bym jeszcze zrozumiał gdybyś mówił że nie podłączysz tego sygnału czy siamtego. Że jeden będziesz sterował ręcznie a drugi nawet nożnie.

      ...... ale żeby wpadać na pomysł - nie podłączania MASY pomiędzy dwoma urządzeniami elektronicznymi, które się ze sobą komunikują to już TOTAL MISTAKE .... totalne nieporozumienie i porażka ;)

      w ogóle zaczyna się od podłączenia MAS panie kolego. Jak sobie wyobrażasz że układy rozpoznają swoje stany logiczne jeśli nie będą miały takiego samego punktu odniesienia ???????? przecież układ z prockiem może być zasilany np z zasilacza sieciowego i jego potencjał GND wobec np ZIEMII będzie miał 3V natomiast potencjał GND w komputerze niech ma np 0,5V ..... No i już masz KASZANO_MASAKRĘ. Komp wystawi logiczny stan wysoki np wg swojej masy 3,5V .... a te 3,5V nie załapie się w urządzeniu na stan niski ponieważ aż 3V wyżej jest masa !!!!!

      Dlatego TRZEBA je połączyć !!!!!!! ZAWSZE !!!!! .... wtedy masz wspólny punkt odniesienia pomiędzy GND a poziomem sygnału w obydwu urządzeniach. ROZUMIESZ ???

      ;) .... eeeh no ostatnio spory wysyp pytań i problemów z tymi pomysłami żeby może MAS nie trzeba było łączyć - a potem zdziwienie że coś nie działa ;)

      ale ok - mam nadzieję że teraz coś ci się rozjaśniło i nie będziesz już kombinował z wyrżnięciem sygnałów ISP a już na pewno nie pozbędziesz się połączenia MAS dwóch urządzeń

      Usuń
    4. A do takiego wniosku że trzeba mieć podłączone wszystkie sygnały ISP plus zasilanie procka - nie trzeba dochodzić zaraz. To jest OCZYWISTE i nikt - podkreślam, nikt nie myśli tego robić inaczej ;)

      Usuń
    5. Od dawna stosuję do programowania złącze 6-cio pinowe, ponieważ na kobylaste gniado KANDA szkoda mi najczęściej miejsca na płytce. Stosuję dodatkowy adapterek z 10 na 6 pinów jestem b. zadowolony. Wyprowadzenia są następujące:
      1. MISO
      2. VCC
      3. SKC
      4. MOSI
      5. RESET
      6. GND
      Dla lubiących obrazki dodaje link http://www.batsocks.co.uk/readme/isp_headers.htm
      Zenowi

      Usuń
    6. Aj tam zaraz kobylaste. Nie ma jednego jakiegoś najlepszego rozwiązania panie kolego. Sam stosuję często różne rozwiązania w tym 6-pinowe. Ale każdy dostosowuje złącze do swoich różnych potrzeb. Toż to nie żadna filozofia ;)

      Za to złącze KANDA ma dodatkową dużą zaletę, ma 3 piny a nawet 4 które można dodatkowo fajnie wykorzystać i np dopinać dodatkowe moduły do układu przy okazji przez nie - w końcu od razu jest na nim także SPI. Więc to jest tylko kwestia naszych potrzeb i wyobraźni. Spójrz sobie np tutaj:

      http://atnel.pl/elektronika/zestaw-testowy-atb/karta-sieciowa-atb

      Usuń
    7. I tak trzeba do mnie mówić! Dzięki za dobre wytłumaczenie stanu rzeczy! Widzicie, nawet nie pomyślałem, że o to właśnie chodzi w stanach logicznych. Teraz już wiem i dobrze to zapamiętam. No ale człowiek uczy się na błędach czyż nie? :) Dla jednego błachostka wiadoma od urodzenia dla drugiego coś nowego :)

      Usuń
    8. No to cieszę się, że mogłem jakoś pomóc i coś rozjaśnić - oczywiście że o to chodzi ;)

      Usuń
  4. Ja zazwyczaj stosuje DB9, łatwo je zamontować w obudowie aby można było programować bez rozbierania urządzenia. Dodatkowo mi zostają wolne piny do dowolnego wykorzystania (np. prosta konsola na rs232, jedna do wielu urządzeń, służąca głównie do parametryzacji)

    OdpowiedzUsuń
    Odpowiedzi
    1. Też fajne rozwiązanie - jak pisałem - każdy tu zadziała jak mu wygodniej i o to chodzi ;)

      Usuń
  5. Pytanie trochę nie związane z tematem ale widziałem że używałeś czujników TFMS (ja mam dokładnie wersje 5560). W nocie katalogowej jest na schemacie narysowany opcjonalny rezystor > 10kohm. Czy używałeś go - jeśli tak to jaką oporność zastosowałeś?

    OdpowiedzUsuń
    Odpowiedzi
    1. To nie opcjonalny rezystor a wręcz wymagany jeśli chcesz nie mieć zakłóceń. Ja jeszcze nigdy nie zrobiłem układu czujnika TFMS bez tego rezystora - oczywiście 10K

      Usuń
    2. Tzn. filtracją zakłuceń zajmuje się kondensator 4,7 uF i rezystor 330 Ohm.

      Skoro rezystor 10kOhm jest dodatkowo wymagany to czemu w nocie jak byk jest napisane że opcjonalny.

      Usuń
    3. Jak widzę nie rozróżniasz rodzajów zakłóceń. Dla ciebie zakłócenia - to jedno pojęcie i nie ma tu czego się doszukiwać co ?

      Jest jak byk napisane że jest opcjonalny bo jest także napisane panie kochany że linia ta jest już wewnętrznie podciągnięta do VCC ale dużo większą rezystancją. To podobnie jak na wejściach mikrokontrolerów AVR, też masz możliwość programowego załączenia linii wejściowej do VCC ale rezystor wewn. ma ok 70K. Nawet te dwa rezystory razem dają zbyt dużą wartość podciągania. I dlatego podłączam rezystor dodatkowy 10K a czasem nawet 5,6K. I nie chodzi o zakłócenia na zasilaniu a o stromość zboczy i poziomów logicznych panie kochany.

      Usuń
    4. Dzięki za cierpliwość, ale w obliczu potrzeby zastosowania tego rezystora 10kOhm i użycia jednocześnie pośrednictwa tranzystora (akurat wymaga tego sytuacja w moim schemacie) nie wiem czy ten rezystor 10kohm odciągnąć do bazy tranzystora (linia zielona na schemacie) czy bezpośrednio do wejścia procesora (linia niebieska).
      Schemat:
      http://www.forbot.pl/forum/upload_img/obrazki/IMG_4fe6df3916b115596.jpg

      Wydaje mi się że linia zielona jest ok?

      Usuń
    5. Ty lepiej powiedz mi co to za schemat ? O ile można to nazwać schematem - ale broń Boże nie piszę tego żeby się nabijać - tylko jesteś na moim blogu, czytasz moje porady a rysujesz takie laurki ? ;) czyżbyś nie oglądał tego: ????

      http://mirekk36.blogspot.com/2012/04/kurs-eagle-part-01.html

      A nawet jeśli ten schemat ma jakiś większy sens - to pewnie, że ten rezystor 10k może iść do bazy - no ale nie dałeś żadnego rezystora ograniczającego prąd bazy a przecież to PNP - więc może pójść z dymem i tyle będziesz miał po tym układzie - po prostu mały swąd :(

      Usuń
    6. Dzięki za precyzyjną odpowiedź.
      Jeśli chcę zbudować tylko układ typu załącz/ rozłącz to muszę pobudzać swój czujnik sygnałem modulowanym o danej częstotliwości (u mnie 56khz). Czy wypełnienie tego sygnału musi być jakoś zmienione czy może być po równo dla stanu niskiego i wysokiego?

      Usuń
    7. Ale to pytanie nie do mnie tylko do programisty ;) ... jak się to oprogramuje tak będzie .... zatem i kwestia wypełnienia jakie będzie zależy od tego jak się napisze program.

      Usuń
    8. Pamiętasz ten projekcik ?
      http://www.elektroda.pl/rtvforum/viewtopic.php?t=678948&highlight=

      Robię coś podobnego (też na takiej ramce z pleksy) , ale z wyświetlaczem LCD i też chciałem zrobić sobie taki pilot do budzika ;) który by mi włączał drzemkę.

      Usuń
    9. No pamiętam ;) przecież to mój projekt a zegarek do dzisiaj pracuje sobie u mnie i stoi w pokoju ;)

      Ale tym bardziej nie rozumiem po co ci ten tranzystor ? :( który jest raczej nieporozumieniem chyba bo całą funkcjonalność można zrobić na jednym pinie procka.

      Usuń
    10. Nie mam miejsca już w programie bo w BASCOM'ie piszę i zegarek ogólnie ma dużo funkciji. Kompilator mi już 100% wypełnienia pamięci pokazuje (mimo że to ATMEGA8) i dlatego musiałem problem rozwiązać sprzętowo.

      Ogólnie zegarek jest już złożony i zaprogramowany na płytce stykowej jednak nie mogę wypróbować działania czujnika bo nie mam pilota 56 khz <--specjalnie kupiłem czujnik na taką częstotliwość żeby z innymi pilotami nie kolidowało. Jutro wytrawię płytkę PCB i zmontuje pilot na Attiny13 to sprawdzę czy będzie działać.

      Usuń
    11. Widzę, że ty czegoś mocno niestety nie rozumiesz. A co ma wspólnego nośna 56kHz z tym żeby jak piszesz nie kolidowało z innymi pilotami ???? Nośna to nośna. I nie ma NIC WSPÓLNEGO z kodowaniem danego pilota. Dlatego praktycznie na dowolnym odbiorniku TFMS czy to będzie 32kHz czy 40kHz czy 56kHz to i tak np można zrobić odbiornik pilota, który będzie działał np z pilotem RC5, który z kolei standardowo pracuje na nośnej 36kHz. Jedynym ujemnym efektem zastosowania odbiornika 56kHz będzie tylko nieznaczne zmniejszenie zasięgu np z 10m do 8m i to wszystko. Tak więc twój tranzystor zareaguje praktycznie na każdego pilota a nie tylko na tego który nadaje z nośną 56kHz. To jest często mało zrozumiała rzecz przez początkujących. Dlatego polecam ci książki:

      http://www.sklep.atnel.pl/pl/p/KSIAZKA-I-DVD/1

      oraz

      http://www.sklep.atnel.pl/pl/p/KSIAZKA-II-DVD/36

      po ich przeczytaniu a szczególnie po pierwszym rozdziale drugiej książki nie będziesz już miał problemów ze zrozumieniem o co chodzi w podczerwieni/pilotach itp

      Usuń
    12. No niestety chyba nie rozumiem. Tym bardziej że nie zgadza się to dla mnie z największą świętością czyli z notą katalogową:

      Tu masz link do noty katalogowej (drugi pdf od góry)
      http://www.datasheetarchive.com/tfm%205560-datasheet.html

      Na 3 stronie(tytuł : Typical Characteristics)masz pierwszy wykres zatytuowany "relative Frequency".
      Wykres ten pokazuje Względną czułość w odniesieniu do odniesienia częstotliwości nośnej od standardowej. Czyli np. dla odchylenia o 20% czułość spada o 80%.

      Jak to wyjaśnisz?

      Usuń
    13. Wyjaśnię to dosyć prosto. Jak podłączysz to sam zobaczysz ;) .... Nie będę się o tym znowu rozpisywał. Podpowiem ci tylko że czułość spada, ale czułość względem jakiegoś tam wzorcowego sygnału biorąc pod uwagę jego natężenie że tak powiem w uproszczeniu.

      Owszem filtr na 56kHz pewnie mocniej ograniczy taki zasięg gdy pilot będzie nadawał z nośną np 32kHz niż taki, który będzie nadawał z 36kHz albo 40kHz ale to chyba zrozumiałe.

      Zresztą - podoba mi się to - rozważania czysto teoretyczne przez 5 miesięcy a potem w pół godziny, ba 5 minut wszystkie twoje założenia wezmą w łeb ;) bo czujnik zareaguje na każdego pilota.

      Kurczę co za problem wziąć sobie nawet do prostego testu podłączyć katodą diodę LED do wyjścia tego czujnika i przez rezystor anodę podłączyć do VCC i świecić mu pilotami różnego typu po oczach - ocenisz sobie to sam nawet w 5 sekund co i jak - zamiast rozważać teoretycznie jak mówiłem przez pół roku co to będzie.

      Usuń
    14. Rzeczywiście miałeś racje. Zarówno pilot philips (36khz) jak i pilot sony (40khz) wzbudza reakcje mojego czujnika - jednak zasięg w przypadku tych 2 pilotów jest dość kiepski - sprawdziłem to podłączając do wyjścia diodę LED. Zresztą nie jest to takie ważne ponieważ pilot będzie używany tylko i wyłącznie do wyłączania drzemki więc to nie będzie zbyt kolidować.

      Jednak nie udało mi się sprawdzić jak będzie działać w swojej normalnej roli (jako "wyłączacz" drzemki) ponieważ zarówno pilot sony jak i philips daje taki sygnał że na wyjściu pojawia się seria bardzo krótkich impulsów a ponieważ wyjście czujnika podłączone jest do tego samego wejścia co przycisk drzemki nie powoduje reakcji procesora (wejście to zablokowane jest przed b. krótkimi sygnałami z obawy o efekt "drgania styków")

      Usuń
    15. A jeszcze się zapytam ap ropo zegarka który buduje:
      Jeśli ma częstotliwość taktowania 16Mhz, Preskaler równy 1024 i używam timera 2-bajtowego do odmierzania sekundy to muszę wpisywać do niego wartość równą 49910 czy 49911?

      Maksymalna wartość tego timera równa się 65535 ale przejście do podprogramu przerwania następuje dopiero gdy timer się "przekręci" czyli jakby cykl później
      więc 65535 + 1 = 65536 <-- i właśnie tu nie jestem pewny czy powinno być 65535 czy 65536 ?

      Sekunda zajmuje 1 000 000 uS czyli 16 000 000 cyki zegara. Preskaler jest ustawiony na 1024 czyli 16 000 000 / 1024 = 15 625

      65536 - 15625 = 49911
      Dobrze? Czy powinno być 49910?

      Usuń
    16. Wogóle nie korzystaj z trybu zwykłego licznika to skończą się twoje problemy. Masz do dyspozycji tryb CTC po co więc męczyć się i walczyć z tym ładowaniem wartości timera w przerwaniu. Przecież to tak jakby na własne życzenie robić coś trudniej i dłużej.

      W trybie CTC za pomocą rejestru OCRx ustalisz przy jakiej wartości ma się przekręcać - RAZ W INICJALIZACJI i to wszystko

      Usuń
    17. Sam w swojej książce pokazywałeś (przeczytałem malutki fragment wyrwany z kontekstu akurat bo tak tylko przeglądałem) żeby robić tak jak ja wyżej napisałem. Jednak wiadomo że są różne drogi rozwiązywania tych samych problemów. W każdym razie w moim przypadku powinno być w końcu 49911. tak?

      Usuń
    18. W książce pewnie że pokazywałem bo przecież to jakby nie patrzeć podstawowy tryb licznika. A jak programujesz w C to przyzwyczaj się, że w odróżnieniu od Bascoma zawsze liczmy od Zera a nie od Jedynki. Dlatego ilość impulsów jakie zlicza timer 16-bitowy to nie żadne tam 65535 tylko 65536 ponieważ pod uwagę bierzemy także zero.

      Usuń
    19. Programuje w BASCOMIE ale przecież tu też timer liczy od 0.
      Byłbym wdzięczny jakbyś powiedział mi konkretnie czy trzeba wpisać 49910 czy 49911 (zgodnie z powyższymi obliczeniami). Przemyślałem to sam (szukałem też w swojej książce do nauki BASCOMA ,ale tam jest błąd rachunkowy w obliczeniach).W końcu ustaliłem że powinienem użyć wartości 49911. Czy dobrze? Bo teraz mój zegarek jest już skręcony a mnie niepokoi że po 3 godzinach zaczął spieszyć się o prawie sekundę.

      Usuń
    20. Dobrze wyliczyłeś ale się przeliczyłeś jeśli myślisz że tym sposobem zrobisz sobie zegar atomowy. Sorki ale tak zawsze zaczynają początkujący i się męczą, ćwiczą, dłubią, kombinują, programują, ...... itp itd\

      żeby na końcu dopiero zrozumieć, że to co im inni mówią to prawda. Nie da się zrobić w oparciu o typowe rezonatory kwarcowe nawet, super dokładnego zegarka. Zapomnij o tym. Ale wiem, że te moje słowa puścisz szybko i zapomnisz bo pewnie wg. ciebie bzdury plotę ;) No nic to próbuj dalej .... ciekaw jestem jak ocenisz taki zegarek po roku czasu? ;) czy on przetrwa rok czasu? czy ktokolwiek po roku się zainteresuje w ogóle że on tam się późni czy śpieszy kilka minut na miesiąc. Tym bardziej że np w zimę będzie się częściej np późnił a w lato np będzie się częściej śpieszył A czasem będzie się w ciągu roku to jakoś tam korygowało samo bo wraz z wachaniami temperatury będzie się raz śpieszył a raz późnił ;) ..... eeeeh kiedy ci początkujący to zrozumieją ??? chyba nigdy ;)

      jak chcesz mieć dokładny zegar to zrób sobie synchronizację z serwerem czasu np przez Ethernet, albo zegar DCF, albo synchronizację czasu z komputera przez Bluetooth itp .... a nie tam takie pomysły ;)

      ale to tylko moje nieobiektywne zdanie - każdy może mieć inne ;)

      Usuń
  6. I jeszcze jedno pytanko: Czy może Ci się kiedyś zdarzyło sterować tym czujnikiem tranzystor (u mnie akurat BC557C przy napięciu 5v)? Mam problem bo nie wiem jaki rezystor wstawić pomiędzy bazę a wyjście czujnika? Żeby obliczyć musiał bym znać np. rezystancje na wyjściu czujnika a tego nigdzie nie mogę znaleźć.

    OdpowiedzUsuń
  7. Zauważyłem jeszcze że na schemacie dotyczącym odtwarzacza WAV rezystor 10KOhm podłączyłeś prosto do Vcc podczas gdy powinien (według noty katalogowej) podłączony być między plusem kondensatora 4,7 uF a rezystorem 330 Ohm (Ty podłączyłeś go za rezystorem 330Ohm czyli bezpośrednio do VCC). Dlaczego?

    OdpowiedzUsuń
    Odpowiedzi
    1. To już nie jest takie istotne wobec tego co napisałem ci wyżej.

      Usuń
  8. Witam. Na opisie złącza ISP Kanda widać że jest tam 4 x GND, na większości schematów z podłączaniem złącza do mikrokontrolera również spotykam się że te wszystkie cztery masy połączone są razem. U Ciebie jednak widzę że są podłączone tylko dwie, jest jakiś powód żeby tak robić? Czytam Twojego bloga ale nie zauważyłem żebyś gdzieś o tym wspominał więc pytam. Jeżeli chodzi o GND to mam jeszcze jedno pytanie. Robię układ sterowania silniczków DC przez L293D, zasilanie dla silniczków daje osobne. Ale czy masy też dawać osobne? Chodzi mi o to czy masę z zasilacza dla silniczków łączyć z masą reszty układu. Nie wiem cz tak można, trzeba, czy może nie wolno?:p Kiedyś robiłem taki układ, masę miałem tylko jedną i wszystko działało, zastanawiam się tylko czy może to powodować jakieś zakłócenia dla mikrokontrolera? Tak pozatym fajna strona, szczególnie kurs Eagla, pozdrawiam.

    OdpowiedzUsuń
  9. No tak, zwykle są 4 piny Kanda przeznaczone na GND ;) a u mnie tylko 2 a w skrajnych przypadkach nawet TYLKO JEDEN. A zastanowiłeś się kiedyś po co tyle tych pinów z masą ? Zwykle później jak widzę, że początkujący robi tzn podłącza to do płytki stykowej to żmudnie wyprowadza 4 kabelki z tą nieszczęsną masą z gniazda Kanda do stykówki a po co ? co to za różnica czy połączysz jednym czy 4 kabelkami ? No może taka że jak czterema to mniejsza szansa że wszystkie naraz wypadną ;)

    Ja daję masę tylko na te dwa piny bo często pozostałe piny wykorzystuję do czegoś innego - rozszerzając tym możliwości tego jak go niektórzy nazywają wielkiego gniazda. Zobacz sobie np tutaj, gdzie stosuję takie swoje rozszerzenie standardu KANDA:

    http://atnel.pl/elektronika/zestaw-testowy-atb/karta-sieciowa-atb

    Jeśli chodzi zaś o łączenie MAS dwóch układów które mają ze sobą kontakt. To jest

    PODSTAWA - PODSTAW

    żeby ZAWSZE ŁĄCZYĆ ZE SOBĄ MASY TYCH UKŁADÓW

    w przeciwnym razie jak mają one rozpoznawać stany logiczne wystawiane jeden do drugiego ??? zastanowiłeś się nad tym ?

    Zawsze trzeba - ale niedługo przygotuję tu na blogu też krótki tutorial dlaczego - więc teraz nie będę się rozpisywał. I mam nadzieję, że on znowu w 100% wyjaśni DLACZEGO tak trzeba i dlaczego w przeciwnym wypadku można nawet doprowadzić do uszkodzenia układów.

    OdpowiedzUsuń
  10. Masy są potrzebne w przypadku dłuższego kabla, jak popatrzycie na kabel, to idzie, sygnał, masa, sygnał, masa itd. Przy kabelku do 20-30cm nie ma to znaczenia, ale przy dłuższych, albo maksymalnych częstotliwościach ISP mogą być zakłócenia.

    Po za tym w kwestii złego podłączania wtyczki, trzeba sobie raz a dobrze wbić do głowy, że co innego widok od strony lutowania, a co innego od strony podłączenia kabla. Zresztą przy każdym gnieździe i wtyczce IDC (a takie są wykorzystywane w większości programatorów) jest znacznik nogi nr. 1, oraz prawie zawsze robiąc taki kabel staramy się by 1 była na czerwonym. Dobrze znać nomenklaturę Top oraz bottom, wykorzystywaną w nazewnictwie warstw PCB, unikniemy wielu błędów.

    OdpowiedzUsuń
    Odpowiedzi
    1. Oj oj panie kolego Sylwetser T .....

      MASY - ZAWSZE - TRZEBA - ŁĄCZYĆ !!!! Z A W S Z E !!!!

      Sorki za duże litery, ale niestety teraz kolega straszną rzecz zrobił tą sugestią że są wypadki gdy nie trzeba łączyć ;) to jest podstawowy i karygodny błąd.

      Nie będę po raz drugi tego tłumaczył tak jak wyżej - bo widzę, że to i tak nie odnosi skutku. Ale spokojnie niedługo ukaże się bardzo fajny artykuł na ten temat na moim blogu i RAZ NA ZAWSZE WYTŁUMACZĘ dokładnie i z przykładami na rysunkach dlaczego ZAWSZE trzeba łączyć te masy. Podkreślam ZAWSZE - a nie że zależeć miałoby to od jakiejś długości kabla. Wtedy może i kolega zrozumie to i zapamięta na zawsze i nauczy się czegoś nowego. Tymczasem proponuję nie rezygnować panie kolego z łączenia mas pod żadnym pozorem! ;)

      Usuń
    2. Myślę że Sylwester T ma rację. Po przeczytaniu jego komentarza zrozumiałem dlaczego programatory w gniazdku IDC-10 mają podłączone masę do czterech pinów.

      Przewodem jest taśma 10-żyłowa, w niej żyły biegną równolegle do siebie, przez co są podatne na zakłócenia pochodzące z sąsiedniej żyły. Przewody z masą są umieszczone pomiędzy przewodami sygnałowymi i stanowią ekranowanie.

      Jeśli chcemy w naszym projekcie wykorzystać wolne piny gniazda IDC (przeznaczając na masę tylko jeden) trzeba pamiętać, że podłączając programator, podłączamy również masę do niektórych wolnych pinów. Jeżeli takie podłączenie będzie groźne dla naszego układu, to robimy tak aby nie podłączać masy w niepożądane miejsca.

      Jestem dopiero początkującym (składam pierwsze układy na płytce stykowej), ale sądzę że to co napisałem, choć w małym stopniu komuś pomoże.

      Usuń
  11. No tak, szczególnie kolega Sylwester T ma rację że masy trzeba łączyć przy długim kablu a przy krótkim można ich nie łączyć ;)

    No to powodzenia ;) życzę .... powodzenia - tylko jak ci DYM pójdzie z urządzeń to potem nie miej pretensji że zrozumiałeś co mówi kolega Sylwester T a nie to co ja albo stado innych zaawansowanych elektroników. Bo niestety nadal podtrzymam że to BZDURA - że nie trzeba łączyć MAS.

    A opowieści o podatności na zakłócenia z sąsiedniej żyły w tym konkretnym przypadku raczej biorą się u kolegi ze strachu przed NIEZNANYM niż ze zrozumienia tego o czym tu mowa.

    Dlatego ZDECYDOWANIE zabieram głos - żeby kolejne osoby nie pomyślały sobie że to dobra porada o nie łączeniu MAS!!!

    OdpowiedzUsuń
    Odpowiedzi
    1. Oczywiście zgadzam się, że masy trzeba ze sobą łączyć, tylko mnie chodziło o wytłumaczenie, dlaczego w większości programatorów masy są podłączone do kilku żył a nie do jednej.
      Bo przecież wystarczyłoby połączenie masy jednym przewodem a nie czterema. Myślałem że miałem racje (o tym że kilka przewodów masowych zmniejsza zakłócenia przy dużych częstotliwościach i długim przewodzie) i dobrze to wytłumaczyłem.

      Jeżeli się mylę to przepraszam i proszę o usunięcie moich komentarzy. Trochę mnie Pan zniechęcił do poszukiwania odpowiedzi.
      To zagadnienie pewnie i tak jest mało istotne.
      Więc trzeba dalej poznawać nowe rzeczy.
      "Powoli, ale do przodu!";)

      Bardzo doceniam to co pan tu przekazuje, i nie ukrywam że bardzo mi pomagają te wiadomości(dziękuje za nie). Zastanawiam się też nad kupnem książki.

      Pozdrawiam

      Usuń
    2. Ale nie zniechęcaj się i na pewno nie to miałem na myśli, wolę jednak od razu stanowczo tłumaczyć pewne rzeczy niż pozostawiać niedomówienia. W przypadku takiego programatora zastosowanie kilku przewodów masowych ma co najwyżej znaczenie, jeśli chodzi o pewność połączenia masy. Np gdy jeden zawiedzie to żeby chociaż drugi był - jeśli zdarzy się użytkownik, który nie za bardzo zwraca uwagę na połączenia mas obydwu urządzeń właśnie ;) to jedno.

      Natomiast to że w takich kablach do dysków twardych stosuje się naprzemiennie masę i przewód sygnałowy to normalne, ale to dopiero przy takich zastosowaniach i naprawdę dużych częstotliwościach przesyłu danych zaczyna nabierać znaczenia. Tym bardziej, że do dysków była stosowana magistrala równoległa. Więc trochę racji kolega miał że to przeciw zakłóceniom - no ale one są pomijalne i nie mają takiego znaczenia w przypadku tych programatorków. Więc mam nadzieję, że troszkę się wyjaśniło

      Usuń
  12. Witam, gniazdo przedstawione na rysunkach nie jest 100% zgodne ze standardem KANDA - brak połączenia do masy pinów 4 i 6.

    OdpowiedzUsuń
    Odpowiedzi
    1. No dobrze i w czym problem ? Jest jakiś obowiązek ? nie ma żadnego ;)

      Czy na tej stronie:

      http://www.fischl.de/usbasp/

      też zgłosiłeś że nie jest zgodne ? Może inaczej zadam pytanie - chodzisz po całym internecie i wszędzie piszesz że ktoś ma gniazdko niezgodne ze standardem Kanda ? .... no no no , fiu fiuu ciekawe zajęcie masz ;)

      to może jeszcze powiesz cóż takiego strasznego ci się stanie jak nie podłączysz tych dwóch pinów do GND ???

      tylko nie mów mi że stanie się "piekło początkujących" ;)

      bo GND to akurat NAJMNIEJ istotna część pinologii tego ala standardu .... ważniejsze są wszystkie pozostałe piny - tak gwoli wyjaśnienia

      Usuń
    2. Nie chodzę po necie i nie piszę, że ktoś odbiega od standardu. Post zrobiłeś dla początkujących, więc moim zdaniem powinieneś pokazać jak wygląda KANDA - po to są standardy, "Twoje" gniazdko to modyfikacja i warto to zaznaczyć.
      Ktoś inny też odejdzie od standardu i na jakiejś płytce nie podłączy masy pod 8 i 10 pin, bo przecież jest jeszcze 4 i 6, ktoś inny do tej płytki podłączy Twój programator i będzie pół soboty szukał przyczyny braku działania.
      I proszę nie odbieraj 1 mojego postu i tego jako atak. Propagujesz fajnie wiedzę i chwała Ci za to, ale może warto być nieco bardziej precyzyjnym.
      PS. znam znaczenie pinów ISP.
      Pozdrawiam

      Usuń
    3. Posłuchaj - po pierwsze to bardzo wyraźnie to zaznaczyłem, że jest to moje autorskie rozwiązanie.

      Ktoś kto zajmuje się tym to nie wpadnie na pomysł aby nie sięgnąć do schematu programatora - to po pierwsze. Po drugie podałem ci link do projektu USBASP - oryginału - więc nawet nie mam zamiaru polemizować w jakieś dodatkowe wyjaśniania itp itd itp .... bo (bez urazy proszę) to jest bez sensu całkowicie.

      Widzisz ten kto podłącza mój programator - nigdy nie ma problemów - coś o tym wiem - bo ja jestem zawsze OnLine i w kontakcie z czytelnikami oraz klientami. Nie unikam takich kontaktów i każdemu chętnie pomagam.

      Absolutnie nie wyobrażam sobie żeby ktoś podłączał akurat przypadkowo GND do pinu np 4 albo żeby jakiś producent USBASP nie podłączył masy do pinów 9 i 10

      widzisz to na stronie www.fischl.de/usbasp/

      czy nie ? każdy może sięgnąć do tego źródła a poza tym wystarczy pooglądać moje poradniki w których wszystko objaśniam ...

      a nie że sprzedam programator i nagle mnie nie ma a klient ma sobie radzić sam....

      Jeśli zaś ktoś podłącza w swoim programatorze GND TYLKO pod pin nr.4 albo pokazuje na przykładowym schemacie tylko taką konfigurację złącza kanda - że GND jest podpięta do pinu nr.4 to jest to dopiero osobliwość i chory pomysł niestety .... to właśnie brak praktyki i pogrążanie początkujących ....

      A jeśli znasz znaczenie pinów ISP jak piszesz i w to wierzę - to wiesz także, że brak GND na pinach 4 czy 6 to żaden problem. Ważne żeby GND było na pinie nr.10 i to już w 100% wystarczy.

      to wszystko.

      Usuń
  13. Janusz - Witam

    Mam programator stk200 podłączony do Laptopa przez USB.
    Podłączyłem Atmega8 sprawdziłem procek w mkAVRCalculator i OK
    Uruchomiłem Led w ECLIPSE- mruga na zewn.kwarcu 8Mhz i OK.
    PROBLEM:
    Nie wiem jak uruchomić programator w BASCOMIE_AVR?
    jak poustawiać porty itp:
    A potrzebuje to zrobć będe wdzięczny za porady :)

    OdpowiedzUsuń
    Odpowiedzi
    1. Jeśli chodzi o takie pytania z Bascomem to zapraszam na nasze forum do działu BASCOM:

      http://forum.atnel.pl/forum12.html

      pewnie koledzy pomogą bo ja już bardzo dawno nie używam Bascoma :( tylko C - więc sporo pozapominałem

      Usuń
  14. Panie Mirku, jako początkujący (i na skraju nerwicy) człowiek w temacie mikrokontrolerów, chciałbym tylko powiedzieć DZIĘKUJĘ. DZIAŁA! (nareszcie)

    OdpowiedzUsuń
    Odpowiedzi
    1. ciszę się i życzę powodzenie w dalszej walce z bakcylem ;)

      Usuń
  15. Witam

    Mam problem,czy mógłby Pan mi pomóc?
    Nie wiem czemu żaden program nie chce wykryć mi ATmegi.
    Mam nowy programator i ATmegę, programatory mam dwa i na obydwu mam ten sam problem.
    Podłączenie (kolory jak u Pana poza białym który jet uziemieniem):
    http://www.pl.image-share.com/ijpg-356-157.html
    na zdjęciu nie widać ale pin 10 (VCC) jest podłączony
    I dostaje takie komunikaty:
    http://www.pl.image-share.com/ijpg-356-156.html (eXtreme Burner)
    http://www.pl.image-share.com/ijpg-356-158.html (AVR Burn-0-Mat v2)

    OdpowiedzUsuń
    Odpowiedzi
    1. Panie ale co ja mogę pomóc przy tak lakonicznym opisie problemu. Przecież ty problemu szukasz wszędzie tylko nie w tym co sam robisz :( dlatego też nie podałeś DOKŁADNIE np jaki masz programator ? z jakiej firmy, nie pokazałeś jak to podłączyłeś razem a na dodatek wolisz się męczyć z jakimiś dziwnymi programami zamiast MkAvrCalculator ...

      Usuń
  16. Bardzo przydatny obrazek, dzieki !

    OdpowiedzUsuń
  17. Człowieku,z nieba mi spadłeś,super!!!

    OdpowiedzUsuń
  18. Rozumiem, że ATB-USBASP 4.0 podłączam w taki sam sposób.

    OdpowiedzUsuń
    Odpowiedzi
    1. KANDA to KANDA - więc zawsze ten sam sposób - zresztą na górze jest też rysunek programatora ATB-USBASP i połączenia są identyczne

      Usuń
  19. Witam
    Mam pytanie, gdzie w bibliotece Eagle mogę znaleźć gniazdo USBaps (ISP KANDA)?

    OdpowiedzUsuń