Fórum témák
» Több friss téma |
WinAVR / GCC alapszabályok: 1. Ha ISR-ben használsz globális változót, az legyen "volatile" 2. Soha ne érjen véget a main() függvény 3. UART/USART hibák 99,9% a rossz órajel miatt van 4. Kerüld el a -O0 optimalizációs beállítást minden áron 5. Ha nem jó a _delay időzítése, akkor túllépted a 65ms-et, vagy rossz az optimalizációs beállítás 6. Ha a PORTC-n nem működik valami, kapcsold ki a JTAG-et Bővebben: AVR-libc FAQ
Sziasztok! Egy AVR portjait kellene vezeték nélküli módon eljuttatni 15-15m két fizikailag külön helyre, (egy egyenlő oldalú háromszög lenne). XBee-re gondoltam, de még nem dolgoztam vele, sőt még UART-on sem. Hogy kell ezt elképzelnem, bascom alatt például, ha az 1-es end device 1-es portját akarom bekapcsolni, mit írjak a PRINT után? Valakinek esetleg ilyesmi programrészlete bascomban? Köszönettel, üdv.
Szervusztok,
az Attiny-k elvileg tudnak I2C-t használni? (minden előzetes projektterv nélkül, csak szimpla érdeklődésként kérdezem, "ráadásul" kezdő vagyok ![]()
Elvileg tudnak, azonban nezd meg az adatlapjat a megfelelo IC-nek, mielott nekifognal a tervezesnek.
Köszi.
Nem tartok még tervezésnél, épp csak nézegetni kezdetem az Arduinokat, viszont elgondolkodtam azon, hogy -a könnyebb használhatóság végett, jogosan- egy csomó cucc fönt van rajtuk (az Arduinokon), amik viszont egy konkrét projektnél feleslegesek lehetnek. Egyszerűbb, gyakori felhasználási területeken (pl. mérek valamit (hőt, időt, stb.), azt kijelzem, esetleg egy-egy relét kapcsolgatok) szerintem elég lehet a kis Tiny-k teljesítménye, de a lábak hamar elfogyhatnak - ezért kérdeztem csak. De ettől még messze állok sajnos.
Elvileg tudnak, de problémás. Az Atmegák alatt rengeteg dolog megy hardverből, amit Attiny szoftveresen kezel. Az Attiny I2C az tulajdonképpen egy kiterjesztett shift regiszter, amelyiket I2C-re is lehet használni.
Az attiny implementáció kevesebb memóriájú chipekbe hosszabb kódot eredményez. Hogy szemléltessem: - atmega alatt beállítod, hogy a te címed 26, amikor valaki téged címez, interrupt kerül meghívásra. Ha senki sem címez téged, akkor nem is csinálsz semmit. - az attiny egy shift regiszter, nem hallgat címet, minden egyes esetben, amikor start jel küldődik és utána feltöltődik az első bájt, akkor neked kell szoftveresen eldönteni, hogy az üzenet neked szól-e. Első hangzásra nem olyan rémes, de hidd el az. Képzeld el, hogy 'A' chip beszélni akar 'B' chippel és megcímzi. Van még egy Attiny chip is a buszon, akit nem címeztek, akivel nem akarnak beszélni. Szóval kiküldődik a start jel és az első bájt. Az attiny éppen nem ér rá, ezért tartja a vonalat. Eltelik jó sok idő, az attiny már ráér és látja, hogy nem őt keresték, el is engedi a vonalat: bocsi nem engem címeztek. A és B addig nem tudnak beszélni, amíg az összes buszon lévő Attiny el nem jut oda, hogy rájöjjön, hogy nem neki szóltak. Mindegyik feltartja a vonalat. Atmega alatt a hardver elintézi mindezt, ha nem téged címeztek, nem pofázol bele és tartod fel az egész buszt. A hozzászólás módosítva: Ápr 29, 2015
Köszi, nagyon részletes, valamelyest fogom is a lényegét.
Ez a dolog akkor is így játszódik le, ha nincs slave Attiny a buszon? Tehát ha egyetlen Attiny-t használok (masterként), azon van a kód, az I2C eszközök pedig pl. egy-egy hőérzékelő ill. LCD, akkor is ez a játék megy? (Lehet, hogy abszurd dolgokat kérdezek, de most kezdtem csak erről olvasgatni...)
Attiny masternél nincs probléma. Max annyi, hogy bonyulultabb lesz a kódod.
Sziasztok! Atmega8-al szeretnék egy olyan időzitőt készíteni, hogyha az egyik lábán megváltozik a kapcsoló állapota, akkor egy kimeneti lábon behúz egy relét, majd 20 másodperc múlva lekapcsolja. De ez a funkció csak akkor lép érvénybe ha egy másik bemeneti lábon egy fotoellenállás "sötétet érzékel".
Nos ez nem is volna probléma, csak az hogy ebből az egészből 3 kell, és az a kérdés, hogy meg lehet-e oldani azt hogyha az egyik relé épp behúzott állapotban van akkor közben tudjon egy másik kapcsolót is érzékelni, és ugyanúgy külön késleltetni a bekapcsolási időt? Itt a jelenlegi kód:
Egy kérdésem lenne az 5V-os / 3.3V-os panelek szintillesztéséről.
Ahogy látom az ebay-en, az illesztés úgy történik, hogy sorbakötnek egy 470 ohm-os ellenállást, se zener, se kutyafüle. Ez normális, vagy fusizás és rendesen megtervezett áramkörökbe ilyet ne rakjak?
Timer-el lehetne szépen megcsinálni, de mivel nem tűnik időkritikusnak az alkalmazás ezért leírok egy egyszerű elvi megoldást...
A hozzászólás módosítva: Ápr 30, 2015
Vannak olyan mikrokontrollerek, perifériák, ahol az adat lábak tolerálják az 5V-ot is.
De ez a ritkább, tehát az ellenállásos megoldás az "általában működik" kategória. Hobbira elmegy, de kereskedelmi alkalmazásokban nem illik ilyet csinálni.
A sötét érzékelés kimaradt...
Szia sok esetben működik viszont nem valami elegáns megoldás, komolyabb dolgokban szerintem nincs helye. Egyébként első sorban védő diódák miatt kell az az ellenállás,lásd. Szerintem nem nagy dolog egy fetet +2 ellenállást berakni szintillesztésként, egyszerű és szerintem a legtöbb célnak bőven megfelel.
Nézd, hobbi szinten űzöm az elektronikát. Nekem megéri fizetni 238 Ft-ot, csak hogy ne ezzel kelljen foglalkozni, hanem a témára tudjak koncentrálni. Házilag nem tudnám 238 Ft-ból kihozni. Drága az univerzális nyák, legyárttatni a panelt meg mégdrágább. Otthon már nem maratok nyákot, mert egy életre megundorodtam a vaskloridtól, az UV fénytől, meg a többiektől. Drágán rossz minőséget sikerült csinálni, komplett befürdés volt az egész. Röpködtek a tízezresek használhatatlan panelekre. Most legyárttatom, a tízezresek pedig használható panelekre röpködnek, ami valljuk be előrelépés.
![]()
Ellenállásosztókat nem csak azért nem használnak, mert nem elegáns, hanem azért is mert lassúak (pocsék slew rate nagy frekvencián). Ugyanez igaz a zener diódákra is. Bár ott el lehet érni nagyobb sebességet is, de csak akkor ha 20-30mA-t kényszerít ki az ember a pin-ből (minél nagyobb az árama, annál gyorsabban reagál a zener).
A helyes megoldás vagy a diszkrét fet-ek használata vagy pedig az ún. buffer IC-k, illetve szint illesztő IC-k. Ezek gyorsak is, viszonylag olcsók is. A CD4050 40-80Ft, kb. 4MHz-ig jó (5V->3V3 esetén), a HC verziója (74HC4050) ennél gyorsabb működésre is képes. Bár ezek a chipek egy irányúak, 5V és 3V3 esetén elég csak az 5V-os jeleket lekonvertálni. Természetesen léteznek kétirányú konverzióra alkalmas chipek is picit drágábban (tényleg nem drágák). Én otthon marom a nyákjaimat. ![]()
Sziasztok!
Egy kissé macerás az ügy, amiben segítség kellene, ugyan is még soha nem programoztam uC-t, még a legalap szinten sem, de van egy audio processzorom, ami I2C-n kommunikál, és szeretném felhasználni. Az áramkör tartalmaz beépített csatorna választót. Ez nem kívánom használni, elég egy csatorna. Tudnátok segíteni ebben nekem? Milyen uC lenne a legmegfelelőbb a vezérlésre? Programozóm van, mert el akarok kezdeni AVR programozást tanulni. A hozzászólás módosítva: Máj 2, 2015
AVR, azon belül is ATMega sorozat. Hardveresen támogatott I2C van bennük, de ha C-ben
szeretnél akkor a megfelelő könyvtárat is érdemes beszerezni.
TQFP IC-k alá is tudsz marni áramkört? Egy képet dobnál a marógépről? Milyen marófejjel megy?
Szia! Uc család/típus végül is lényegtelen, mind tudja az I2C-t, de SW megvalósítás sem bonyolult. Az "audio-processzorod" regiszterkiosztását kell még megértened (ami szerintem bonyolultabb lesz, mint az I2C) Ha mg soha nem programoztál uC-t, akkor azért 1-2-3 hónap kell majd a biztonsághoz vagy egy nagyon jó tanár/segítség. (aki a kisebb buktatókon átrugdos)
JAni
Nos 1-2-3 hónapot nem akarok várni, addig keresek más vezérlési módot az erősítő vezérlésére, végül is hangerőt lehet jóval egyszerűbben is szabályozni!
![]() Mekkora munka megírni erre az ic-hez egy vezérlő programot olyannak aki meg tudja érteni az ic regiszter kiosztását ?
Igen tudok. Most épp rokonoknál vagyok, így csak linkelni tudok egy korábbi munkát (ez egy QFN kiszerelésű ATMEGA16U2-s áramkör). Egyébként egy módosított CNC3020-as gépem van (a vezérlőelektronikát teljesen átépítettem, kapott végálláskapcsolókat, stb.).
Gravírtűvel marok nyákot (90 fokos 0,1-essel nagyolok, 20 fokos 0,1-essel pedig a finom részleteket csinálom).
Belenéztem a pdf-be, ez nem egy bonyolult jószág (tehát igen messze van az audio processzortól), aki ráér, az szerintem pár óra alatt kiszoborja, de ugye az audio IC a feladat "vége", ehhez biztos lesz valami eleje is, gombok, kijelző, távirányító, webfelület, időzített kapcsolások, űrsikló, holdraszállóegység stb. Na, arra fog elmenni az idő, tehát hogy igazából mit is szeretnél/hogyan kapcsolgatni/szabályozni a hang-láncban. Tehát összességében nem az a 3-4 adat kiadása a feladat, hanem a környezethez illesztése.
JAni
Nyomógombos hangerő szabályzót szeretnék. Tudom erre van egyszerűbb céláramkör is, de most nincs pénzem rá, és stb dolgok, ez meg meg van ugyebár... Bár pofátlanság mással megiratni, de hátha lesz ki elválalja, ha nem nagy munka...
Egy ford autó rádiós magnójának paneljában lakik még. Van egy atmegám, de a pontos típusát most így fejből nem tudom. Egy nixe òrát meghajt. Arra is lett felprogramozva.
Sziasztok!
Szükségem lenne egy Assemblerben megírt óra programhoz ATmega16-hoz, 4db 7 szegmenses kijelzővel. Már egy hasonló program is hatalmas segítség lenne, hogy ne a nulláról kelljen vele szenvedni. Krisztián.
Sziasztok!
SPI kommunikációnál master módban használok egy AVR-t, és nem használom a MISO lábat, mert csak 74HC595-tel kommunikálok. Úgy olvastam, hogy automatikusan, felülírhatatlanul input lesz a MISO, amíg be van kapcsolva az SPI periféria, de én még is szeretném kimenetként használni. Azt írja az adatlap, hogy a felhúzó ellenállással én rendelkezem, úgy kapcsolgatom, ahogy akarom. Működő megoldás lenne, ha mondjuk 1Mohm-mal lehúznám GND-re a PIN-t, tehát mikor nincs felhúzó ellenállás, akkor GND-t, ha pedig bekapcsolom a felhúzó ellenállást (kb. 25-50Kohm), akkor pedig majdnem a tápfeszültséget kapom? Esetleg meg tudnám támogatni egy tranzisztorral. Ezzel szeretném kapcsolni a Shift regiszter Latch lábát. Működő megoldás ez? Köszönöm! A hozzászólás módosítva: Máj 3, 2015
Szia.
Miért pont assemblerben kell? C-ben egyszerűbb lenne szerintem. |
Bejelentkezés
Hirdetés |