-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Konop <k...@g...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Amega8 i reset
Date: Fri, 20 Feb 2009 10:12:09 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 51
Message-ID: <gnls4v$9t2$1@inews.gazeta.pl>
References: <gnkudh$9bk$1@atlantis.news.neostrada.pl>
NNTP-Posting-Host: apc206.internetdsl.tpnet.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1235121119 10146 83.17.136.206 (20 Feb 2009 09:11:59 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Fri, 20 Feb 2009 09:11:59 +0000 (UTC)
X-User: konoppo
X-Antivirus: avast! (VPS 090219-0, 2009-02-19), Outbound message
In-Reply-To: <gnkudh$9bk$1@atlantis.news.neostrada.pl>
X-Antivirus-Status: Clean
User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
Xref: news-archive.icm.edu.pl pl.misc.elektronika:557698
[ ukryj nagłówki ]Marek S pisze:
> Witam
> Atmega8 steruje tranzystorem polowym w trybie PWM .Niestety po włączeniu
> następuje krotki impuls do bramki FET . Bramka jest podłączona
> bezpośrednio do pinu bez opornika podciągającego . Jak zapobiec takiemu
> stanowi nieustalonemu ?
Źródła tego impulsu mogą być co najmniej dwa:
1) zakłócenia lub prądy wyjściowe w stanie Hi-Z
2) zła kolejność instrukcji w programie
AD1
Proc po i w trakcie resetu ustawia wszystkie porty w stanie Hi-Z.
Wówczas jakieś prądy upływu z tego wyjścia (zawsze jakieś są) lub
zakłócenia mogą powodować pojawienie się napięcia bramka-źródło i
włączenie tranzystora. W takiej sytuacji jedynym wyjściem jest
zastosowanie rezystora bocznikującego między bramkę a źródło. Nie da się
tego zrobić inaczej. Proc po włączeniu resetuje się z pewnym
opóźnieniem, tzn. jest utrzymywany w czasie resetu pewien czas. To ni są
nanosekundy, a raczej milisekundy. I w tym czasie bramka Twojego
tranzystora wisi albo dostaje jakieś nA z wyjścia :/...
AD2
Jeśli winny jest jednak nie stan Hi-Z tylko kolejność rozkazów, to ja
zasugerowałbym taką kolejność:
1) ustaw ten pin na stan nieaktywny (nie wiem, czy włączasz tranzystor 0
czy 1, ale masz go wyłączyć)
2) ustaw pin jako wyjście
(te 2 instrukcje są może zbędne, ale wymuszą wyłączenie tranzystora na
starcie!!)
3) skonfiguruj timera z PWMem, wpisz wartość startową dla PWMa
4) TU KONIECZNA JEST PEWNA ZWŁOKA CZASOWA!!!!!!! chodzi o to, że jeśli
timer po starcie "minie" wartość, do jakiej miał zliczać być może będzie
się musiał "przekręcić" żeby zacząć poprawnie pracować!! Można
ewentualnie go wyzerować, ale i tak chyba lepiej odczekać 1 pełny cykl
timera ;)...
5) na samym końcu ustaw sterowanie pinem wyjściowym z PWMa
Dzięki temu tranzystor najpierw będzie wyłączony, a potem będzie
sterowany w poprawny sposób - nie będzie żadnych stanów przejściowych w
postaci sterowania z nieskonfigurowanego PWMa ;)...
Swoją drogą na Twoim miejscu przemyślałbym dokładnie punkt 1!! NAwet
jeśli brak rezystora nie odpowiada za Twoje obecne problemy z układem -
zauważ, że w bardziej zakłóconym środowisku przy innym egzemplarzu
procesora - mogą być jaja!! Ten rezystor nie jest chyba ani zbyt drogi
ani zbyt duży, żeby go tam dodać, prawda??
Pozdrawiam!
Konop
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
Najnowsze wątki
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=
- 2025-01-31 Bieruń => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-31 Błonie => Administrator systemów <=