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

ATmega8 - piny zasilające i zmiana napięcia silnika

dandys997 23 Mar 2006 21:35 4939 29
REKLAMA
  • #1 2449575
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Witam!
    To mój pierwszy post w tym dziale, dlatego prosiłbym o łaskawe potraktowanie - po raz pierwszy i ostatni. :)
    Kupiłem sobie układ ATmega8 16PI, i po zapoznaniu się z oznaczeniem jego wyprowadzeń (http://www.gaw.ru/im/atmel/avr/atmega8_p1.gif), mam parę wątpliwości.
    PBx, PCx oraz PDx to poszczególne porty. Jednak jak zasilić ten mikrokontroler? Są nóżki VCC (pod który podpinam biegun dodatni) oraz AVCC (biegun ujemny?). Czy dobrze rozumuję?
    Kolejne pytanie, to podawanie dodatkowego zasilania na poszczególne elementy. Powiedzmy, że zaprogramowałem mikrokontroler tak, by po naciśnięciu switcha SP1 na porcie PD0 zasilił silniczek elektryczny, podpięty pod PD1, jednak tak, by silczniczek ten dostał napięcie np. 9V, a nie 5V z zasilania układu. Jak podpiąć takie "dodatkowe" zasilanie oraz jak tym sterować? Proszę tylko o ogólną informację, resztę znajdę w google. Chodzi mi po prostu o zasadę "przydzielania" tego wyższego napięcia.
  • REKLAMA
  • Pomocny post
    #2 2449669
    strdaniel
    Poziom 20  
    Posty: 357
    Pomógł: 29
    Ocena: 4
    witam

    zasilanie 4,5-5,5V dla atmega8 wpinamy oczywiście pomiędzy VCC a GND
    pin AVCC jest zaislaniem dla modułu przetwornika A/C i można go połączyć z VCC
    co do zasialnia silniczka 9V no to oczywiście jak najbardziej tylko np. przez zastosowanie przkaźnika - którym będzie sterowam atmega a przkaźniczek będzie załaczał 9V

    tu masz przetłumaczoną instrukcje do amtegi32 ale spokojnie większość się pokrywa więc śmiało czytaj
    https://www.elektroda.pl/rtvforum/topic466902.html
    powodzenia
  • Pomocny post
    #3 2449677
    a_noob
    Poziom 23  
    Posty: 719
    Pomógł: 14
    Ocena: 447
    Silniczek lepiej za pomocą tranzystora, podłaczasz go prze rezystor (ok. 10k) do wybranego pinu procesora i wtedy przez tranzystorek dajesz 9V na silniczek.
  • Pomocny post
    #4 2449709
    rdt
    Poziom 25  
    Posty: 789
    Pomógł: 29
    Ocena: 39
    hę?dobra - poniewaz widze ze nie bardzo jestes z wiadomosciami to powiem tak - kazdy procek ma maxymalną wydajnosc prądową zarowno na pojedynczy pin jak i ogolnie
    sprawa wyglada tak - na pinie procka wystawiasz napiecie - dajesz w szereg rezystor a za rezystorem baze tranzystora bipolarnego npn
    pozostale dwa wyprowadzenia laczysz w szereg z silnikiem i bateria 9 wolt czy tez zasilaczem - panietaj o biegunowosci
    rownolegle do silnika lub cewki tranzystora powinienes dac diode zabezpieczającą
    - jest to tylko jedno z wielu mozliwych rozwiazan
    po 2 - minus zasilania masz oznaczone jako GROUND skrot GND
  • #5 2449940
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Czyli bazę podłączam do wybranej nóżki mikrokontrolera, pod kolektor 9V i emiter do silniczka, tak?
  • Pomocny post
    #6 2450446
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    Proponuję to zrobić tak:

    ATmega8 - piny zasilające i zmiana napięcia silnika

    Tranzystor zależny od prądu silnika (dla BD137 - do ok. 1A)
    Wartość R1 zależna od prądu silnika i wzmocnienia (β) tranzystora
    D1 ma za zadanie tłumić przepięcia powstające przy wyłączaniu silnika (silnik to indukcyjność!)

    Wystawienie stanu wysokiego na pin procesora do którego podepniesz R1 załączy silnik.

    Powodzenia!
  • #7 2452640
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Dziękuję za pomoc, jednak mam dość "prostsze" pytanie. Otóż kupiłem sobie programator (http://www.allegro.pl/item92903535_profesjonalny_programator_isp_avr_stk200_300_atmel.html) oraz układ ATmega8 16PI.
    Ściągnąłem oraz zainstalowałem najnowszą wersję Bascoma. Napisałem program, który zapalałby diodę podłączoną pod PB.1. Program się kompiluje bez problemu, te jednak zaczynają się przy programowaniu. Otóż aplikacja do programowania mikrokontrolera wbudowana w Bascoma wykrywa wprawdzie mój układ (ATmega8), jednak przy próbie wgrania programu do pamięci FlashROM (pierwsza zakładka) wyskakuje okienko z informacją o trwaniu procesu programowania, jednak pasek postepu nie wzrasta. Gdy próbuję wgrać program do EEPROMa, pasek postępu dochodzi do końca. Jednak po zniknięciu okienka wyświetlany jest na dolnym pasku napis "Verify failed", a odczyt (przebiega prawidłowo, sczytuje zawartość pamięci, co widać po zwiększającym się pasku postępu) powoduje wyświetlenie danych sprzed programowania (tak, jakby w ogóle nie zostały wgrane). Co robię źle? Czy dla tego programatora trzeba jakoś specjalnie konfigurować Bascoma? Jeśli tak, to co trzeba ustawić?
    Z góry dziękuję za odpowiedź!
  • #8 2452682
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    A ustawiłeś w Options => Programmer na "STK200/STK300 Programmer"?
  • #9 2452755
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Tak, ustawiłem typ tego programatora na STK200/STK300.
  • REKLAMA
  • #10 2453076
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    Hmm...
    Czy do programowania FLASH-a używasz przycisku "Write buffer to flash ROM"? Jeśli tak to spróbuj skorzystać z "Auto program chip" (to ten z ikonką w kształcie podstawki ZIF). U mnie też przy użyciu tego pierwszego nie programuje niektórych procków.
    Nie drążyłem dlaczego bo zawsze mogę skorzystać z Auto...
    Rozumiem że typ procesora jest poprawnie jest skonfigurowany w opcjach, a najlepiej na pooczątku programu dodana linijka:

    $regfile = "m8def.dat"

    Pewnie tak skoro piszesz że wykrywa procesor dobrze.
    Czy do pinów programujących procesora jest podpięte coś oprócz programatora? Nie pomyliłeś sę przy jego podłączaniu?
    Z tego co widzę na Allegro wymaga on zasilania z programowanego układu(?).
    Jak widzisz możliwości jest wiele i trudno coś kinkretnego doradzić... Za mało szczegółów... :roll:
  • #11 2453249
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Podłączałem według tego schematu:
    http://www.gaw.ru/im/atmel/avr/atmega8_p1.gif

    Zasilanie jest już z programatora - wyprowadzenie 2 to 5V, 4,6,8,10 to masy.

    Po wybraniu opcji autoprogramowania nic się nie dzieje.

    Dodano po 1 [godziny] 18 [minuty]:

    Chyba się trochę pospieszyłem z ty "wykrywaniem" układu. Jestem trochę zmęczony i zignorowałem dwa błędy pojawiające się przy uruchamianiu aplikacji do programowania mikrokontrolera. Oto i one:

    Pierwszy:
    ATmega8 - piny zasilające i zmiana napięcia silnika

    Chciałbym zaznaczyć, iż widoczny identyfikator układu zmienia się za każdym razem, gdy włącze w/w aplikację.

    Następny błąd, który pojawia się bezpośrednio po pierwszym, to:
    ATmega8 - piny zasilające i zmiana napięcia silnika

    Dlaczego on się pojawia? Sprawdzałem jeszcze raz połaczenie, i wszystko jest tak, jak być powinno. Schemat, który widnieje w poście poprzednim jest taki sam, jak w dokumentacji Atmela dla ATmegi8.

    Co zrobiłem źle?
  • #12 2454162
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    Zaraz, zaraz...
    Czy programator ma jakieś dodatkowe gniazdko do zasilacza 5V? Zasilasz procesor z programatora? Tak wywnioskowałem z Twojej ostatniej wypowiedzi.
    No to chyba mamy przyczynę Twoich problemów. Układ scalony w programatorze (74HC244) wymaga zewnętrznego zasilania. Nie spotkałem się z przypadkiem by był zasilany bezpośrednio z portu LPT, a już na pewno nie można z niego zasilić programowanego układu. Tam nie ma wyprowadzonego napięcia 5V o wystarczającej obciążalności. Musisz zasilać programator z płytki z procesorem, nie odwrotnie.
    Odłącz programator, uruchom Bascom-a i zobaczysz że dostaniesz te same błędy co pokazałeś. Programator nie działa bo nie jest zasilany.
    Takie jest moje zdanie. Jeśli się zapędziłem w wyciąganiu wniosków to sorry :D
    Pozdrawiam
  • #13 2454512
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Pierwsze okienko z błędem zawiera (przy podłączonym układzie) za każdym razem inny identyfikator. Po odłaczeniu zaś układu od programatora, identyfikator programatora to FFFFFF. Rzeczywiście, na wyprowadzeniu od programatora zmierzyłem 4V, zamiast 5V (w dokumentacji jest napisane, iż ATmega8 powinna być zasilana napięciem 4,5V-5,5V).
    Spróbuję podstawić inne źródło prądu niż to z LPT :). Zobaczymy, jakie będą efekty.
    I jeszcze pytanie na koniec: czy zbyt niskie zasilanie może być przyczyną - za każdym razem innego - identyfikowania się procesora?

    Dodano po 2 [godziny] 20 [minuty]:

    I kolejne spostrzeżenia.

    Podłączyłem pod odpowiednie nóżki zasilanie z regulowanego zasilacza - około 5V. Mierzyłem napięcie na tych nóżkach i jest takie, jakie jest potrzebne. Wczęsniejsze 5V i masę z programatora odpiąłem.

    I teraz zachowuje się jeszcze inaczej. Pojawiają się te same błędy, co poprzednio, tyle, że teraz za każdym razem identyfikator układu to 000000. I efekt (z programowaniem) podobny do tego, co wcześniej.
  • #14 2456064
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    No to sprawdź jeszcze raz, tylko linie +5V i masa programatora pozostaw podłączone. A najlepiej, zanim to zrobisz, podłącz miernik i zobacz co się dzieje z napięciem 5V z programatora podczas programowania/odczytu procesora.
    Tylko uważaj bo w razie odwrotnego podłączenia, podania za dużego napięcia, zwarcia itp. nie trudno o uszkodzenie portu LPT. Układ scalony w programatorze jest tylko po to żeby zmniejszyć to ryzyko (to zwykły bufor), ale wypadki chodzą po ludziach...
    Ja swój programator robiłem sam i poprostu wyprowadziłem sobie bezpośrednio z niego przewód +5V i podłączam go przez bezpiecznik (ok.200mA) do +5V zasilacza komputera. W ten sposób mam od razu zasilanie dla programowanego układu.
    Powodzenia!
  • #15 2456104
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Bascom wymaga zainstalowania w systemie drukarki nawet jeśli nie jest żadna podłączona fizycznie. Jeśli nie masz to zainstaluj (zalecają Linotronic - chyba tak się to pisze).
  • REKLAMA
  • #16 2456106
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Po przyłożeniu diody do +5V i masy i próbie programowania, dioda zaczyna szybko pulsować.
    Jeżeli to nie będzie dalej działać, to co robić? Uszkodzony jest układ czy programator?

    Dodano po 8 [minuty]:

    M. S.: Drukarka jest zainstalowana.
  • #17 2456230
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    Rozumiem że tą diodę podłączyłeś do +5V i masy programatora (mam nadzieję że przez rezystor?). No to wszystko się zgadza.
    Zrób tak: Podłącz wszystkie linie programatora do programowanego układu (+5V i masę też!), podaj zasilanie 5V do układu i sprawdź jescze raz. Powinno być wszystko OK.

    A skąd się bierze to napięcie na przewodzie 5V programatora? Mam nadzieję że ten rysunek wyjaśni Ci sytuację:

    ATmega8 - piny zasilające i zmiana napięcia silnika

    Przedstawia on budowę wewnętrzną wejścia (i wyjścia) układu 74HC244. Są tam wbudowane diody zabezpieczające wejście przed napięciem wyższym niż + zasilania i niższym niż masa (ujemnym). Wystarczy że na jedno z wejść podasz stan wysoki, a przy nie podłączonym pinie zasilania pojawi się nanim napięcie stanu wysokiego pomniejszone o spadek napięcia na diodzie. Mam nadzieję że zbytnio nie zagmatwałem...:D
    Ale jeśli nawet to z rysunku powinieneś wywnioskować o czym mówię. No i powinno być teraz jasne dla Ciebie dlaczego dioda miga.

    edit: Przypadkowe identyfikatory procesora dostajesz właśnie z powodu opisanego wyżej. 74HC244 zasila się od swoich wejść tylko gdy na jednym lub kilku z nich jest stan wysoki, a wydajność wyjść LPT jest mała, stąd te przekłamania.
  • REKLAMA
  • #18 2456663
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Podłączyłem - tak, jak kazaliście - zasilacz pod układ, a także wyprowadzenia programatora (również 5V i masę). Efekt taki sam, jak z samym zasilaniem z zasilacza (bez wyprowadzeń programatora). Układ dalej identyfikuje się jako 000000. Po odłaczeniu układu jest to wartość FFFFFF. Przy próbie jakichkolwiek operacji, napięcie doprowadzane do układu nieznacznie spada, więc "coś się dzieje" (w moim mniemaniu). Co to może być? Już naprawdę nie mam siły się z tym bawić - drugi dzień siedzę nad tym, by w ogóle coś zapisać na tym mikrokontrolerze. Może coś jest uszkodzone? Jeśli tak, to w jaki sposób mogę to zmierzyć? Proszę o porady, bo cały zapał związany z chęcią programowania mikrokontrolerów mi już minął :(.
  • #19 2457033
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    Nie no! Nie poddawaj się tak szybko! Ja jak widzisz się nie poddaję i jestem zdeterminowany drążyć z Tobą temat do skutku :D chociaż ktoś mógłby powiedzieć że sprawa przecież mnie nie dotyczy... ;) Z doświadczenia powiem Ci że im więcej problemów z uruchomieniem jakiegoś układu - tym większa satysfakcja gdy się to w końcu uda! Nie raz zdarzało mi się biedzić nad czymś nawet i tydzień. Zawsze diabeł tkwił w szczegółach (jakaś drobna pomyłka w montażu, mały i trudny do znalezienia błąd w programie itp.)

    Co do Twojego problemu:
    Jest możliwe że podczas eksperymentów uszkodził się układ '244 w programatorze, a nawet i procesor, chociaż moim zdaniem mało prawdopodobne, jeśli nie zamieniłeś biegunów zasilania, czy nie podałeś zasilania na którąś z linii programujących STK200. Dalej jestem zdania że robisz jakiś mały błąd który trudno mi wychwycić nie widząc tego na własne oczy...
    Czy używasz zasilacza stabilizowanego 5V? O jakiej wydajności prądowej? Napięcie się waha podczas programowania powiadasz? To zastanawiające. Wskazywało by na nieodpowiednie zasilanie układu i programatora (zasilacz) albo uszkodzony układ 74HC244 (przywarte wyjście?). Dałeś kondensator filtrujący w zasilaniu procesora? Daj najlepiej dwa pomiędzy +5V i masę - elektrolit 100-470uF i ceramiczny 100nF jak najbliżej nóżek zasilania procka.

    To tyle na razie bo muszę zmykać do pracy... Postaram się na jutro wymyślić jeszcze coś mądrego...

    Tymczasem polecam jeszcze lekturę podobnego tematu na który przed chwilą trafiłem:

    https://www.elektroda.pl/rtvforum/topic429963.html

    Pozdrawiam
  • #20 2457222
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    WIesz, na razie możliwość jakichś zwarć jest duża, bo robię to tak "nieelegancko", tzn. nie na płytce laminowanej, tylko po prostu: programator -> kabelki -> podstawka pod mikrokontroler -> ATmega8. Muszę znaleźc jakąś płytkę i wszystko to ładnie poskładać, wtedy będę się konkretniej zastanawiał.
    A czy są jakieś charakterystyczne napięcia, itp., które można zmierzyć i charakteryzują sprawny mikrokontroler AVR?
  • #21 2459906
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    No takie łączenie w pająku jest cokolwiek ryzykowne... Zbyt łatwo o pomyłkę, czy jak sam zauważyłeś - zwarcie.
    Zmontuj układzik na płytce, najlepiej uniwersalnej (do eksperymentów jak znalazł). Jeśli dostałeś to gniazdko do programowania, które miało być w komplecie z programatorem to go użyj (chyba że obciąłeś już wtyczkę).
    Ja osobiście lutuję przewody programatora bezpośrednio do nóżek procesora na płytce. Strzasnąłem schemacik na podstawie opisu wtyku programatora na stronie sprzedawcy którą podałeś. Zauważ że J1 to jest widok GNIAZDKA od góry (czyli nie tej co ścieżki na płytce). Czerwony przewód taśmy przy wpinaniu wtyczki ma być u dołu (tam gdzie PIN1). Sorry że piszę o rzeczach, być może, oczywistych dla Ciebie, ale chcę wyeliminować wszelkie możliwości pomyłki :)
    A oto schemat:
    ATmega8 - piny zasilające i zmiana napięcia silnika

    Co do sprawdzenia czy coś się nie uszkodziło to możesz włączyć miliamperomierz pomiędzy + zasilacza, a układ. Jeśli w programatorze masz scalak z serii HC to całość nie powinna pobierać więcej niż 4...5mA. Na sprawdzenie procesora nie znam pewnej metody, którą mógłbyś zastosować. Możesz co najwyżej pomierzyć czy któraś z nóżek nie przywiera do masy lub Vcc (zwłaszcza tych od ISP). Podobnie zresztą z układem '244 w programatorze. Sprawdź (po odłączeniu od komputera i procesora) czy piny 1,5,7,9 wtyczki nie mają zwarcia do 4,6,8,10 lub 2. Tylko uwaga na ładunki elektrostatyczne - to są układy CMOS.

    Na razie tyle!

    pees Nie odpowiedziałeś na moje pytania odnośnie zasilacza - a to ważne!
  • #22 2460157
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Co do poprzednich pytań, to - oczywiście - używam zasilacza stabilizowanego. Spadek napięcia występuje przy zasilaniu jedynie z wyprowadzeń programatora na LPT.
    Poczekam na płytkę i od nowa zacznę zabawę, jednak sądzę, że już "ubiłem" programator, bo o ile wcześniej pokazywał różne identyfikatory, itp., to teraz bez względu na to, czy mikorkontroler jest podłączony, czy nie - pokazuje komunikat: "Could not identify chip with ID: 000000", a w przypadku braku mikrokontrolera podpiętego pod programator powinien przecież pokazywać ID: FFFFFF. Poza tym, przy uruchamianiu Bascoma pojawia się komunikat mówiący o tym, iż nie może znaleźc programatora STK200/STK300, co wyjaśnia wszystko :D. Spróbuję teraz zareklamować ten programator (że niby uszkodzony przyszedł i od początku nie działał ;-)).
  • #23 2460311
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    OK.
    Jeśli się uda wymienić programator to zbuduj układ wg. powyższego schematu. Mam nadzieję że "ubiłeś" tylko programator... Jeśli masz coś co działa na LPT (np. drukarkę) to podłącz i sprawdź czy jest ok. Można by też się pokusić o wymianę 74HC244 - jest tani i ogólnodostępny, ale u Ciebie pewnie w wersji SMD.
    Gdyby jednak nie udał się myk z wymianą programatora, to daj znać - podrzucę Ci schemat tego który ja zbudowałem. To jest góra 20min roboty a służy mi już chyba ze 3 lata niezawodnie. Raz tylko zdarzyło mi się "ubić" '244 gdy przez pomyłkę podałem +5V na MOSI. Podmieniłem na 74LS244 bo taki miałem pod ręką i też ładnie śmiga, tylko pobiera trochę więcej prądu.

    W razie (oby nie) dalszych problemów pisz - będziem radzić.
    Powodzenia
    Andy
  • #24 2461156
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Jakie błędy powinny wyskakiwać, po odłączeniu styku programatora od płytki z układem? Tzn. jakie ID wyświetla aplikacja do programowania chipu przy Bascomie?
  • #25 2461340
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    Sprwdziłem:

    U mnie ID:FFFFFF niezależnie czy podam zewnętrzne zasilanie na programator, czy nie.

    Widzę że drążysz temat. Tak trzymać!

    p.s. A jak się ma port LPT? Sprawdzałeś?
  • #26 2463689
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Port LPT działa. Jutro wysyłam programator do sprzedawcy. Zobaczymy, czy uzna reklamację.
  • #27 2513230
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Witam ponownie po długiej przerwie!
    Przyszedł nowy programator. Jednak po jego użyciu dalej zachowanie jest takie samo - uC identyfikuje się za każdym razem inaczej. Kupiłem więc kolejną ATmegę8. Po włożeniu jej w podstawkę programatora i próbie włączenia BASCOM AVR, pojawia się komunikat, iż nie znaleziono programatora STK200/STK300. Po odłaczeniu wtyki programatora od gniazda w płytce z uC BASCOM uruchamia się, nie wykrywają c jedynie uC. O co tu chodzi? Już naprawdę zgłupiałem całkowicie. Sprawdzałem dwa razy, czy dobrze podłączyłem wyprowadzenia z kabla programatora do podstawki z uC - wszystko jest dobrze. Macie jakieś pomysły?
  • #28 2513686
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    Witam.
    A czy mógłbyś zamieścić fotki/skany na których było by widać jak to wszystko połączyłeś? Bo przyznam się że teraz to ja też już zgłupiałem... Przy prawidłowym podłączeniu (i zainstalowanej drukarce korzystającej z LPT) to MUSI działać. Może sprzedawca pokręcił coś w opisie wyprowadzeń programatora? Mało prawdopodobne, ale możliwe...
    Z jakiej wersji Bascoma korzystasz?

    Pozdrawiam
    Andy
  • #29 2513820
    dandys997
    Poziom 12  
    Posty: 140
    Ocena: 11
    Mam aparat bez makra, więc raczej dużo byś na takich zdjęciach nie zobaczył. Jednak postaram się jutro je wykonać.
    Wracając do schematu podanego przez Ciebie. Moje podłączenie różni się tym, iż nie mam tych dwóch kondensatorów między masą a 5V. Mam w związku z nim też pytanie: czy napięcie z zasilacza musi być podpięte (oprócz do Vcc) również do AVcc? I czy musi być z AGND wyprowadzona masa?
    I ostatnia wątpliwość: czy wszystkie masy z wyprowadzenia wtyki programatora (jest ich 4) muszą być zwarte i podłaczone do masy zasilacza?
  • #30 2514155
    Andy74
    Poziom 25  
    Posty: 525
    Pomógł: 103
    Ocena: 24
    Więc tak:
    Stosowanie kondensatorów nie jest niezbędne przy dobrym zasilaczu i krótkich przewodach od niego, ale mocno zalecane. Przynajmniej tego ceramicznego 100n. Mają one za zadanie dodatkowo odfiltrować śmieci z zasilania. I wierz mi, ich używanie jest dobrym zwyczajem, bo pozwala uniknąć wielu kłopotów.
    AVcc i AGND to są końcówki zasilania wewnętrznego przetwornika ADC (analogowo-cyfrowy) i jeśli wykorzystuję przetwornik w układzie docelowym, to pomiędzy Vcc i AVcc wstawiam dodatkowy filtr, a jeśli nie, to łączę je jak na rysunku który podałem. Ponieważ procesor zawsze programuję w układzie docelowym, to nigdy nie sprawdzałem czy zaprogramuje się on bez tych połączeń, ale myślę że tak.
    Te 4 wyprowadzenia masy (prawie) na pewno połączone są ze sobą w programatorze, co łatwo sprawdzić miernikiem, więc wystarczy użyć jednego.
    Schemat narysowałem tak ze względu na to "prawie". :)

Podsumowanie tematu

✨ Dyskusja dotyczy zasilania mikrokontrolera ATmega8 16PI oraz sterowania silnikiem elektrycznym z wyższym napięciem niż zasilanie mikrokontrolera. Wyjaśniono, że mikrokontroler zasila się napięciem 4,5-5,5 V między nóżkami VCC a GND, a pin AVCC służy do zasilania przetwornika ADC i można go połączyć z VCC. Sterowanie silnikiem 9 V powinno odbywać się przez tranzystor (np. bipolarnego NPN typu BD137) lub przekaźnik, z zastosowaniem rezystora na bazie i diody zabezpieczającej równolegle do silnika, aby tłumić przepięcia indukcyjne.

W dalszej części autor opisuje problemy z programowaniem ATmegi8 za pomocą programatora STK200/STK300 i oprogramowania Bascom AVR. Problemy obejmują błędy identyfikacji układu, nieudane programowanie pamięci Flash i EEPROM oraz komunikaty o braku wykrycia programatora. Wskazano, że programator wymaga zewnętrznego stabilizowanego zasilania 5 V, które nie może być dostarczane jedynie z portu LPT komputera. Zalecane jest podłączenie zasilania do programatora i mikrokontrolera zgodnie ze schematem, z uwzględnieniem masy i napięcia AVCC oraz filtracji kondensatorami ceramicznymi.

Zwrócono uwagę na ryzyko uszkodzenia programatora lub mikrokontrolera przy nieprawidłowym podłączeniu, zwłaszcza przy eksperymentalnym montażu "na pająka". Sugerowano użycie uniwersalnej płytki do montażu i dokładne sprawdzenie połączeń. W przypadku uszkodzenia programatora zasugerowano jego wymianę lub budowę własnego na bazie układu 74HC244 lub 74LS244. Problemy z identyfikacją układu (różne ID lub 000000) mogą wynikać z braku stabilnego zasilania lub błędów w połączeniach.

Podsumowując, poprawne zasilanie, odpowiednie sterowanie silnikiem przez tranzystor lub przekaźnik oraz prawidłowe podłączenie programatora i mikrokontrolera są kluczowe do prawidłowego działania i programowania ATmega8.
Wygenerowane przez model językowy.
REKLAMA