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
Igen kellene. De elobb probald meg, hogy MAX232 nelkul mukodik-e a loopback, ugy hogy osszekotod a PC Rx-Tx labait. Ha nem megy, akkor esetleg a terminalban a flow control-t (nem tudom, hogyan nevezik magyarul) ki kell kapcsolni, vagy a PC-n az RTS/CTS jelek osszekotni es a DTR/DSR-t is.
Ha kap 5V-ot a MAX232, akkor azokon a bizonyos + es - 8.5V labakon merhetsz feszultseget. A hozzászólás módosítva: Feb 14, 2014
OK köszönöm szépen, most forraszgatok egy kicsit, azis meglehet a rs 232 txd rxd huzalokat cseréltem fel. A loopback működött a PC-n de 2400 bps től más sebességen nem, lehet a több nem össze kötött láb miatt.
Nos bekapcsoltam a labortápot, terhelés alatt 5,2V ot kapott az IC, a 2 es lábon 3,8V ot mértem a GND-hez képest, a 6 os lábon pedig 2,2V ot
![]() Ha jol látom a minusz ágban nemjó a kondi, mert diódavizsgáló szerint egyik irányba rövidzárlatba van másikba meg állandóan ellenállást mutat. A hozzászólás módosítva: Feb 14, 2014
Router 3,3V-os soros portját szeretném 5V-os Atmel Tiny soros portjára kötni. Egyszerűen összekötve nem megy aztán ha bemelegszik elindul.
Találtam sok okos kapcsolást a Neten, de nekem kipróbált kellene. Nem kell kétirányú szinteltolás csak egy oda és egy vissza. Gondolom az 5V-ről +3,3V-ra jó az ellenállás osztó. A vissza irány érdekes. Van valakinek gyakorlati tapasztalata?
Ez nagyon furcsa, hogy csak 2400bps-en mukodik. Nem hinnem, hogy koze van a tobbi labhoz, bar minden elofordulhat.
A mert feszultsegek totalisan nem jok. Kondikat csereld jora. Aztan merd meg a 2-es es 6-os on a feszultsegeket, de ugy, hogy a 7, 8, 13 es 14 labak ne legyenek bekotve. Mind a negy kondi fontos. Es a tapfeszultsegen is legyen, ahogy a rajz is mutatja.
Az 5->3 az valoban mehet ellenallassal, bar nem a legszebb megoldas. De ha van egy 74HCT125-od, akkor azzal mindket iranyba meg tudod csinalni korrektul. A HCT (fontos, hogy T a vege) tapja 5V. A driverek bemenetei foldre mennek. A kimenetek felhuzo ellenallassal arra a tapra, amirol a meghajtott IC vagy modul jar. Egy a 3.3V-ra, egy meg az 5V-ra. A driverek engedelyezo labai pedig mennek a "szintattenni"
![]() A hozzászólás módosítva: Feb 14, 2014
Na kicseréltem a gyanús kondit, most a + ágában 8,9 v van a minuszban 9,1 így megfelelő?
4,6V ot kap az IC. Minden kontakt ellenőrízve, a TTL kimenetet összekötöttem loopback céljából, de nem működik, csak ha az rs232ct zárom rövídre, de megvan az 5V ![]()
A feszultsegek jok, felteve, hogy a minuszon -9.1 volt van.
Kosd le rola a PC-t, mikrokontrollert, csak az IC maradjon a kondikkal. Ha tapot adsz neki, akkor a te megad is meg tudod merni, hogy jo-e az IC. Ha a TTL bemenetet (10 vagy 11 lab) lefoldeled, akkor a hozzatartozo RS kimeneten (7 vagy 14 lab) kb. +9 volt kell legyen. Ha a TTL bemenetet 5V-ra kotod, akkor a hozzatartzo RS kimeneten -9V kell legyen. Visszafele ugyanez. Ha az RS bemenetet (8, 13 lab) osszkotod a 2-es labbal (V+), akkor a TTL kimenet (9, 12) lemegy 0V-ra. Ha az RS bemenetet a 6-os labbal (V-) kotod ossze, akkor a TTL kimenet fel kell menjen 5V-ra. Merd meg legyszives, hogy a PC sorosportjan a 2 es 3-as labon mekkora a feszultseg nyugalmi helyzetben. Az egyiken 0V kell legyen (Rx) a masikon -5..-12V kell legyen. 9-es vagy 25-os csatlakozo van a PC-n?
Köszi. A RET-ben AHCT van. Az is jónak tűnik.
Üdv!
Egy kis gondom akadt az ADC-el. Amit szeretnék: LM335-el hőmérséklet mérése. Ahogy elképzeltem: AREF = 2,56V (ez a cél), valóságban multiméterrel 2,565-2,57V-ot mérek. A referenciát egy TL431 adja. Mivel a(z) LM335 25fokon ~3V-ot ad, ezért 2db 3kOhm-os ellenállással feleztem az értéket. Képet mellékeltem. A gondom, hogy nagyon ugrál a kapott érték. Szobahőmérsékleten 20-27 fokot kapok.
Tehát, 5x kiolvasom az ADC regiszterek értékét, amit minden egyes kiolvasáskor egy adc_value változóba mentek le és kivonok belőle 546-ot (ez a 273Kelvin ADC érétke 2,56V-os referenciával). SB
Szia!
Differenciát mérj, kell egy feszültség osztó amivel az offsetet eltolod 2,7315V-ra azaz 0°C-ra, ezt a negált bemenetre kötöd. 0°C esetén a differencia 0mV lesz, 25°C esetén 250mV, az ADC értéke ennek függvényében: 2,56V referencia 10bit-nél 2,5mV 1LSB, azaz 1000 lesz, viszont így a max mérhető hőmérséklet tartományod -12,8 és +12,7°C ami nem túl szerencsés. Ezért más referencia kell, vagy külső vagy táp (a tápot viszont meg kell szűrnöd és nagyon stabilnak kell lennie!). Újraszámolva: 5V ref. 10-biten 1LSB->4,88mV ami megközelítőleg 0,5°C felbontás ami már elég lehet, így a tartomány majdnem megduplázódik. Ha viszont negatív tartományt nem akarsz mérni akkor a negált bemenetre kötött potival eltolhatod a mérés tartományt 24,576°C-al azaz 2,97726V-ra, így a 0°C-nál mért érték -512 lesz, 49,5°C-nál 511, 24,576°C nál pedig az ADC=0 lesz. Differencia mérésre a negált benetet az ADC0-ra (poti), a ponált bemenetet viszont az ADC1-re kell kötni, és az ADMUX-ban a 16-os csatornát kell választani. Ha nem akarsz vele ennyit bajlódni, akkor az LM35DZ hőmérőt javaslom (10mV/°C). A hozzászólás módosítva: Feb 15, 2014
Bocsánat kicsit elszámoltam magam. Teszteltem egyet és így kapod meg a hőmérsékletet:
A kapcsolás marad, poti értéke 2,73V, 5V-os referencia, 16-os csatorna mérése, és a kapott értéket egész °C-ban jeleníti meg. Az adc mérést uint16-os visszatéréssel add meg int16-os változónak castolva: lemértem működik
Üdv!
Ez a módszer nekem még új. Differenciát még nem mértem. Nem is tudom, hogy feltétlen kell e ehhez... Jelenleg csak annyi a gond, hogy valamiért nagyon ugrál a kapott ADC Data regiszterben az érték. Arra tippeltem, hogy az AREF nem kap elég áramot, mivel a feszültség ott ~5mV-ot ugrál(multiméter szerint). Mennyi áramot vesz fel az AREF ill. az AVCC max? A tápot egy 7805-ös(1,5A) adja, aminek elég stabilnak kell lennie. Tekercset nem raktam az AVCC-re, csak 100nF-os kondit. Ami zavaró tényező lehet: A próbapanelen van még egy 24MHz-es órajel generátor, amit elosztok kettővel, hogy a szintén panelen lévő USBtiny programozónak adja meg a 12MHz-es órajelet.
Nem kell félni az új dolgoktól!
Itt semmi más nem történik, minthogy 2,73V-tól méred a feszültséget, és nem 0V-tól. Amit ténylegesen mérsz az a két láb közti különbség. Gondolom ismered a negatív számábrázolást (2-es komplemens képzés) a negatív korrekció csupán azért kellett mert nem 16-bites az ADC hanem 10bit (0..1023) negatív tartományban ez -512..511-ig amit int16_t változóba nem tudsz csak úgy beletenni. Én csak ajánlani tudom, hogy próbáld ki, lehet hogy sok új ötletetd ad. ![]() Üdv!
Sziasztok!
Tud segíteni valaki Budapesten felprogramozni egy ATMega644-et? Nincs programozóm, ezért szeretnék segítséget kérni. Előre köszönöm bármi nemű segítséget!
Hi! Megoldódott az AVR-es KIT problémám! De még hogy...nem volt felprogramozva az AVR. A szép a dologban az, hogy úgy derült, hogy felhívtak a HEStore-ból, elnézést kértek, mert véletlenül program nélküli AVR-t küldtek. Megküldték a cseredarabot, helyére raktam és egyből életre kelt! (pedig már kezdtem magamban kételkedni) Tökéletes ügyintézés
![]()
Sziasztok!
ADC méréssel szenvedek... Hogy tudnám megcsinálni azt, hogy 2 ms-enként mérek 5-ször. S ezek átlagát küldöm lcd-re? Gondolom for ciklus, de ugye mindig ADCH-ba kapom az értéket vissza...
A hozzászólás módosítva: Feb 20, 2014
Így sikerült megcsinálni.
De a lényeg ugyanaz.. Köszi azért ![]()
Sziasztok! Van egy hobbielektronikás AVR doperem és eszközillesztői telepítve vannak, de mégse tudom használni. Próbáltam HID üzemmódban is, de úgyse ment. Próbáltam az AVR studio 4-et és 6-ot is, de egyikben se sikerült használni. Valakinek van ilyen jellegű tapasztalata, esetleg tanácsa? Privátban hosszasan megbeszélhetjük a dolgokat. E-mail: ha4sb1@gmail.com Köszönet mindenkinek.
Szia!
Én a helyedben itt tenném fel a kérdést. Ezt meg töröld. (Rád szólnak a modik, hogy egy kérdést csak egy helyen teszünk fel ...)
Sziasztok! Van egy napelemem ami egy szivattyút hajt. az lenne a problémám hogy hogyan tudnám a napelem változó áramát az AVR-be jelként befogni, hogy pl. 2A-nál induljon csak el a szivattyú, az alatt ne terhelje? A feszültség mindig fix, csak az áram változik. Tud valaki erre megoldást?
Teszel az áramkörbe, azaz a motorral sorban egy ellenállást. (kicsit, pá tized ohmot), és a két sarkán mérhető feszültség az ellenállással arányos. Ugyanaz, mint az A mérők sönt ellenállása.
![]()
Köszi!
Bocsi de kezdő vagyok. Gyors rajzoltam egy elvi kapcsolást. Úgy gondoltam hogy ADC-vel mérném a bemenő feszt és aszerint kapcsolná be-ki a szivattyút. Csak hát a fesz állandó, az áramerősség változik. Hogy és mit kössek rá az ADC-re? Előre is köszi a segítséget!
Hát az érdekes lesz....
Van egy nyitott áramköröd, azon nézed, hogy mennyi áram folyik (mindig 0 fog folyni...), majd ha nagyobb 2 Ampernél, akkor zárod a kört? Idézet: Ez így elég értelmetlenül hangzik, mert ugyan hova folyna el a 2 A áram, ha a motor nincs bekapcsolva? Ha már bekapcsoltad a motort, akkor egy soros ellenálláson eső feszültséget könnyen meg lehet mérni. De ha lekapcsoltad, mert kicsinek találtad az áramot, akkor nincs ami jelezze, hogy mikor kapcsolható újra be. „hogyan tudnám a napelem változó áramát az AVR-be jelként befogni, hogy pl. 2A-nál induljon csak el a szivattyú, az alatt ne terhelje?” |
Bejelentkezés
Hirdetés |