AVR i obwód RC... pytania :)...

May 25, 2004 12 Replies

Witam!!



Chce w układzie do pewnego pinu procesora (AT90S2343) podpiąć obwód RC (rezystor do VCC i do pinu, a kondensator od pinu do masy). Procesor będzie rozładowywał kondensator przez podanie na to wejście masy, a następnie będzie przełączać się w tryb HiZ. Pin ten będzie wejściem przerwania wyzwalanego STANEM wysokim. Po jakim czasie zostanie zgłoszone przerwanie?? Będzie to pewnie t = k* RC, tylko ile wynosi w tym wypadku k?? ATMEL gwarantuje, że stan wysoki jest powyżej 0,6Vcc, ale jak to jest z tym na prawdę?? Czy można się liczyć ze sporymi zmianami tego czasu w zależności od egzemplarza czy innych czynników?? Ile wynosić będzie k w tym wzorze i jaka będzie jego stabilność?? I jeszcze jedno - jak duże kondensatory można bez ryzyka rozładowywać bezpośrednio przez port IO procka?? Nie chciałbym czegoś sfajczyć, a wiadomo, że impuls prądu może być duży... Jakiego typu kondensatory byłyby tu najlepsze?? Nie chodzi o elektrolity, pojemność będzie od kilkuna nF do 1uF...


Kazdy avr ma komparator analogowy, ktory moze generowac przerwania. W niektorych typach avr-ow jedno z wejsc komparatora mozna podlazyc do wewnetrznego napiecia odniesienia. Moze to rozwiaze Twoj problem ?

Maksymalny prad plynacy przez pin procesora to 20 mA. Reszte musisz policzyc.

Pozdr AK

No, niestety nie do końca :(... . Procek AT90S2343 to jest taki maluch w obudowie DIP8 (nie mylić z serią ATtiny!!) i nie posiada on komparatora analogowego, wewnętrznego napięcia odnosienia ani takich tam :/... .

To, że 20mA to wiem :)... ale tak myślałem, co by się stało, gdyby ten kondensator podpiąć bezpośrednio... w końcu jest jakaś rezystancja tego kondensatora, jest także rezystancja wyjściowa... a wydajność prądowa według noty katalogowej zależy od napięcia. Wykres zatytułowany I/O Pin Sink Current vs. Output Voltage @ 5V mówi wyraźnie: 20mA przy napięciu < 0,5V, ale przy napięciu 1,5V to prąd wynosi już 60mA!!... stąd moje pytanie... czy możliwe jest więc uszkodzenie procka takim kondensatorem czy nie??... Zależy mi, żeby kondzioł się jak najszybciej rozładowywał :)... Jeśli zwolnię któryś z pozostałych pinów procka, to zrobię układ rozładowywujący z tranzystorem i będzie po krzyku, ale jak nie?? :/...

Witam...

OT ale pamiętaj że te 2343 są trochę trefne - cześć z nich nie wstaje po zresetowaniu (załączeniu zasilania) - kiedyś się naciąłem na nich i jeszcze do tej pory mam trochę w szufladzie ;-(

Pozdrawiam Artur Starz

Też o tym słyszałem, ale liczę na szczęście :).... A nie da się tego obejść, jakby coś?? Jakiś dodatkowy kondzioł resetujący czy coś?? :/...

Użytkownik "Konop" snipped-for-privacy@gazeta.pl napisał w wiadomości news:c90f61$5dr$ snipped-for-privacy@inews.gazeta.pl...

Zamiast kombinowac wez ATTiny15. Rozwiazuje wszystkie problemy. Ma wewnetrzny komparator i nie ma problemow z resetem.

Pozdrawiam Jarek

Weż ATtiny15 i kombinuj inaczej :)... np. jak tu upchnąć pogram do 1KB?? Poza tym... nigdy się procesorkami z rodzin tiny nie bawiłem, a z tego co wiem jest tam trochę inna filozofia jeśli idzie o pisanie programów (RAM)... . Choć, tak jak teraz przeglądam sobie notę katalogową... możliwe, że procek ten faktycznie by się nadawał i byłby nawet lepszy od '2343. Ma komparator, dwa liczniki, a ja właśnie ostro kombinowałem, żeby mi jeden wystarczył, a program póki co zajmuje niecały 1KB, z pozostałych funkcji może dałoby się zrezygnować :)... Wprawdzie pewnie będzie problem z zakupem, bo zwykłe sklepy, jak to sklepy, takich układów zazwyczaj nie miewają :/... Nie wie ktoś, czy w którymś elektroniku w Gliwicach można toto dostać??... I czy mógłby mi ktoś w skórcie streścić zasadę pisania programów na procki z rodziny tiny?? Czy muszę wszystkie swoje zmienne zaspisywać do tych 32 rejestrów (General Purpose Working Registers)?? I jak to jest z pisaniem programów w BASCOMie pod tego typu procki??

Użytkownik "Konop" snipped-for-privacy@gazeta.pl napisał w wiadomości news:c91vo1$sab$ snipped-for-privacy@inews.gazeta.pl

Niech zgadnę... w Seguro? ;-) (seguro.pl)

Jak w BASCOMie to nie wiem, niestety jesli nie maja RAM to wszystko musisz trzymac w rejestrach - 32 starcza na naprawde duzy program:) Dodatkowo niestety maja one tylko 3 pozycyjny stos:( Wiec w praktyce trodno pisac podprogramy o ile jednoczesnie chcesz wykorzystywac przerwania. A BTW - jakie oszczednosci daje wypuszczenie proca z 1kb FLASH w stosunku do np. 8kb FLASH? ATTiny to naprawde swietne proce, ale przy takich mozliwosciach trudno upchnac sensowny program w 1-4kb:(

Na szczęście bym nie liczył - u mnie pomogło całkowitw wycięcie kondensatora elektrolitycznego po stronie 5V za 7805. Gdzieś znalazłem info że pomaga bardzo strome podanie napięcia - u mnie faktycznie to zadziałało - ale nie zmienia to faktu że już mi się nie podobają ;-)

Pozdrawiam Artur Starz

Trzypozycyjny stos?? Co to znaczy?? Ze moge do 3 zmiennych tam wrzucic, czy ze program moze trzykrotnie gdzies wyskoczyc na chwile i pózniej bez problemu wrócic?? I bardziej mnie zastanawia oszczednosc na RAMie, który jednak musi w tym procku byc, skoro sa tam rejestry i w ogóle... czemu nie dodaza tych kilkudziesieciu bajtów jeszcze??... A pamiec flash... na pewno podnosi koszty, ale pewnie nieduzo... i te procki sa dziwne... maja komparator, przetwornik A/C, sprzetowy PWM, dwa liczniki, jakies wbudowane wzorce czestotliwosci i napiecia itp. itd. co w porównaniu z jednolicznikowym '2343, który nie posiada pozostalych bajerów, to na prawde, ale malo jaki program da sie na tym napisac, bo pamieci brakuje - albo flash, albo RAM :/... I dziwi tez cena... kolo 10zl za tiny i 14zl za '2343 :/...

Użytkownik "Konop" snipped-for-privacy@gazeta.pl napisał w wiadomości news:c936cq$m60$ snipped-for-privacy@inews.gazeta.pl...

W trakcie wywolania procedury lub przerwania adres powrotu jest odkladany na stos. Skoro stos jest 3 pozycyjny to można maksymalnie 3 razy wywolac procedure w procedurze. W sumie jak na 1 kilo pamieci to i tak duzo:-)

Wydaje mi się, że w zamierzeniu konstruktorów ATMELA miał być głównie wykorzystywany jako prosty sterownik do ładowarek akumulatorów, a jak trza więcej pamięci to sobie zobacz na ATTiny26. Ma 128b SRAM, 2k pamięci programu i kosztuje w SEGURO 9,63zł.

Tymczasem Jarek

No nie wiem czy duzo. Powiedzmy, ze korzystamy z dwoch zrodel przerwan i w glownej petli programu mozemy juz zrobic tylko jedno wywolanie procedury, pod warukiem, ze zakazemy wywolywania procedur w obsludze przerwan. Przy trzech zrodlach przerwan o wywolaniu procedur mozemy jedynie pomarzyc :) A to przy malej ilosci pamieci juz niestety znacznie wydluza kod. Dodatkowo nie ma instrukcji PUSH i POP, czyli na stosie nic nie odlozysz, no ale tez nie ma po co skoro nie ma RAMu.

2kB=1kslowa - tylko 1024 instrukcje sie zmieszcza, co dla w sumie tak wypasionego procka nie jest niczym nadzwyczajnym. Naprawde nie rozumiem skad taka oszczednosc w tych AVRkach.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required