Fórum témák

» Több friss téma
Fórum » AVR - Miértek hogyanok
 
Témaindító: pakibec, idő: Márc 11, 2006
Témakörök:
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
Lapozás: OK   739 / 837
(#) Ivan93 válasza Ivan93 hozzászólására (») Jún 20, 2016 /
 
Kezd összeállni a dolog . Az egyik gond az volt, hogy ha érzékelt egy parancsot, akkor memset-el töröltem a buffert, az isr viszont folytatta a buffer feltöltését onnan, ahol éppen járt. Az strstr addig nem találta meg a következő parancsot, míg elölről nem kezdte feltölteni. Gondolom zavarta a buffer elején a sok nulla. Így memset után nullázom a buff_cnt-t, így minden parancsot megtalál. Ezzel a buffer-méret gond is megszűnt. Egy egy mondatos weboldalt már sikerül megjeleníteni böngészőben. Az isr még most is lefut véletlenszerűen, de egyelőre úgy tűnik nem okoz gondot.

Killbill: értem, köszönöm!
(#) Gj hozzászólása Jún 21, 2016 /
 
Üdv!

Egy FT232RL IC-t használok USB-UART összekötésre, de nehezen ismeri fel a PC (Windows 10). Amikor rádugom egy USB portra, akkor az esetek 95%-ában "sikertelen eszközleíró kérés" üzenetet ír és nem ismeri fel a COM portot.
Próbáltam játszani a + és - közé rakott kondenzátor méretével. Kipróbáltam 100nF, 22µF és 220µF kondikkal, de egyik sem volt jó.
Van viszont egy ilyen USB-hubom, ha erre dugom rá az FT232RL-t, akkor működik.

Miért nem ismeri fel a PC az IC-t? (kipróbáltam egy laptoppal is, ugyan ez a helyzet)
(#) csabeszq válasza Gj hozzászólására (») Jún 21, 2016 / 1
 
Helló a klubban

Nekem 2 évem ment el, míg rájöttem, hogy miért nem megy. A probléma az szokott lenni, hogy az FTDI 26-os pinje lebeg (TEST). A hozzászólásom itt van:

http://www.hobbielektronika.hu/forum/topic_post_1942054.html#1942054

Annyit kell tenni, hogy egy multiméterrel kiméred, hogy a 26-os pin földelve van-e, vagy nincs (TEST pin).

Ha nincs, akkor sajnos a 25-ös és 26-os lábakat a chipen össze kell forrasztanod.
A cikk itt van:

https://ketturi.kapsi.fi/2014/04/how-to-fix-moody-arduino-nano/

Én elég bevállalós csávó vagyok és kipróbáltam a dolgot, ment is. Ha kevésbé vagy gyakorlati típus, akkor vegyél más USB-UART átalakítót, mondjuk CP2102-t 500 pénzért.
A hozzászólás módosítva: Jún 21, 2016
(#) csabeszq hozzászólása Jún 21, 2016 /
 
Vettem egy 20 LED-es kínai égősort és sehogy sem értem, hogy hogyan megy.

Link itt:
http://www.ebay.com/itm/321901487642

- van egy táp, ahova a 230V megy, rá van írva, hogy 12V-os trafó
- a tápból 3 vezeték megy ki
- 19 LED-be két vezeték megy be, a 1-be három

Villogtatja a színét adott időközönként. Értelemszerűen kétirányú LED-ekkel kell megoldani mert két vezetéken másképp nem lehetséges.

Nem tudom elképzelni, hogy ebben a felállásban hogyan működhet. Egyelőre csak olyan elképzelésem van, hogy a 12V tulajdonképpen 35V és 2x10 LED sorosan van kapcsolva. Nem szedtem még szét a csomagot, ezért csak sejtem, hogy a 3 vezetékes LED az utolsó helyen van.
A hozzászólás módosítva: Jún 21, 2016
(#) Gj válasza csabeszq hozzászólására (») Jún 21, 2016 /
 
Nagyon köszönöm a lelkes választ!
Kipróbálom.

Hát ezek tipikus fejlesztős pillanatok

Mondjuk ekkora méretekben inkább nem méregetnék, főleg, hogy úgy terveztem a nyákot, hogy csak a használt lábaknál van kivezetés. Kapásból forrasztom inkább.
A hozzászólás módosítva: Jún 21, 2016
(#) Gj válasza Gj hozzászólására (») Jún 21, 2016 /
 
Na most tudtam kipróbálni.
Jelentem, tökéletesen működik.
Kösz mégegyszer!
(#) killbill válasza csabeszq hozzászólására (») Jún 21, 2016 /
 
Ehhez miert kellett ket ev? Az adatlap vilagosan irja, hogy le kell foldelni a test labat, mert kulonben az eszkoz rossznak fog latszani.
(#) slimtomi hozzászólása Jún 22, 2016 /
 
Helló!

1) ArduinoUNO-ban tudomásom szerint ATmega328p proci van. Ennek milyen külső alkatrészekre van szüksége a működéshez, ha ki szeretném venni az UNO-ból?
2) Arra gondoltam, hogy mivel az Arduino nagyon gyorsan tud mintavételezni az analóg bemeneteken, ezért alkalmas lenne egy nagyon egyszerű DC tárolós oszcilloszkópként működni. Pl. 0V és 5V között nekem meg is felelne, ezt tudja is. Csak az analóg bemenet és az aktuális idő értékét kell elmenteni valahova, majd onnan kiolvasni és pl Excelben diagrammá varázsolni. Egy autó Lambda-jelét lehetne így leolvasni stb.
Mire lehetne ilyen sebességgel írni? Pl belső EEPROM? Ha már 0,01 szekundumonként lehetne írni valamire az adatokat, az egész jó lenne.
(#) Kovidivi válasza slimtomi hozzászólására (») Jún 22, 2016 / 1
 
A RAM-ba kell írni, az elég gyors. Felesleges ezzel koptatni az eeprom-ot. Ha érdekel a téma, olvasgass a neten utána, rengeteg projekt van. Nagy sebességre ne számíts, olyan 20KHz-ig lesz jó a felbontás 8biten, de 50KHz-nél nem valószínű, hogy több összejön. A mai szkópok pedig 50-70MHz-et tudnak, szóval nem sokra mész vele a tanuláson kívül.
(#) slimtomi válasza Kovidivi hozzászólására (») Jún 22, 2016 /
 
Mit értesz az EEPROM koptatása alatt, élettartamot?
50 kHz is elég lesz egyszerű szenzorok értékeinek pontos leolvasásához (kivéve mondjuk egy Ford MAP-szenzort).
Az remek, ha már léteznek működő projektek, így nem kell újra feltalálnom a spanyol viaszt.
De azért RAMbòl valahogy ki kellene varázsolnom majd az adatokat.
Akkor utànajárok.
Külső alkatrészekre tipp?
A hozzászólás módosítva: Jún 22, 2016
(#) Kovidivi válasza slimtomi hozzászólására (») Jún 22, 2016 /
 
Ha nézelődsz kicsit a neten, akkor külső alkatrészekre is találsz ajánlást. Nem tudtad, hogy az eepromnak véges az élettartama plusz lassú?
(#) slimtomi válasza Kovidivi hozzászólására (») Jún 22, 2016 /
 
Ezt nem tudtam. Akkor nem olyan, mint a flash.
(#) csabeszq válasza killbill hozzászólására (») Jún 22, 2016 /
 
Bolti cucc volt, nem én készítettem.
(#) csabeszq válasza slimtomi hozzászólására (») Jún 22, 2016 /
 
Én is csinálok mini szkópot -35V - 35V között.

- MCP6S24 PGA (programozható erősítésű műveleti erősítő, 2MHz-et visz, nálam max 10-szeres erősítése volt)
- CA3306 6 bites ADC, 15 MSPS sávszélességű. Ez párhuzamos ADC, tehát 6 láb kelleni fog a kiolvasáshoz.
- I2C LCD

Ezekből gondoltam összedobni egy mini szkópot 2 MHz max mintavételi frekvenciáig.

A lényeg, hogy kevés adatot mintavételezel a trigger jeltől (max 2 MHz), azt eltárolod a RAM-ban és I2C-vel megjeleníted. Szerintem felesleges több megabájt adatot letárolni.
A hozzászólás módosítva: Jún 22, 2016
(#) slimtomi válasza csabeszq hozzászólására (») Jún 22, 2016 /
 
Nekem ez még összetett - azt sem tudom, hogyan tudnék negatív feszültséget mérni.
Autókban a legtöbb szenzor +5V tápról működik, azaz 0V és 5V közé esik a kimeneti jelük. Ha másodpercenként 500 mintavételt le tudok zavarni, akkor én már boldog ember leszek. Mindezt egy 2000 Ft-os AVR-rel,nem is vágyom többre. Itt áll meg a tudásom. Nem vagyok olyan pro
Remélem összejön a projekted!
Am engem is érdekelne egy normál pixelmátrixos LCD meghajtâsa. Jelenleg a szokásos 4x20 karakteres kijelzőt tudom sanyargatni az ötleteimmel.

Egyébként azt írtátok, küldjem RAM-ba a beolvadott adatokat. Ez nekem is tiszta, viszont a valódi kérdésem az lenne, hogyan tudnám PC-re varázsolni legalább egy TXT fájlba ezeket azcértékeket?
(#) Gj válasza slimtomi hozzászólására (») Jún 22, 2016 / 1
 
LCD

A második kérdésről pedig épp szó volt néhány hozzászólással feljebb. A legegyszerűbb, ha UART-on kommunikálsz a PC egy USB portjával, egy megfelelő protokoll konverterrel. Itt egy cikk erről.
A hozzászólás módosítva: Jún 22, 2016
(#) slimtomi válasza Gj hozzászólására (») Jún 23, 2016 /
 
Nagyon megköszönöm a válaszaitokat és linkeket!
Az LCD link alatt az "alap" alfanumerikus kijelző programozása található és ennek nagyon örülök!
Így ez is tiszta lett. A nem alfanumerikus kijelzőket viszont összetettebb dolog programozni vagy tévedek? Pl arra ki is lehetne rajzolni a szkópképet.
(#) Gj válasza slimtomi hozzászólására (») Jún 23, 2016 /
 
Jó a link.
Nézd meg a cikk 7. oldalát.
A hozzászólás módosítva: Jún 23, 2016
(#) csabeszq válasza slimtomi hozzászólására (») Jún 23, 2016 /
 
Jó minőségű szkóp készítése szerintem hobbi szinten bonyolult.

Problémák:
- negatív feszültség (csinálsz 2.5V ref-et (TL431), az lesz a szkóp 0V pontja, a -35/35V-ot leképzed 0 és 5V közé feszültség-osztással)
- táp feszültség: az USB-ről érkező táp őrült nagy zajt csinál, ha keveset akarsz szívni, működtesd 3 akkumulátorról, vagy elemről
- erősítés: az Arduino ADC-je 10k-ra lett méretezve. Ez azt jelenti, hogy sok áramkörre ha rárakod a mérőt, az Arduino befolyásolni fogja a mérést a 10kohm belső ellenállásával. Erősítő kell hozzá, szerintem 100kohm bemeneti impedanciával legalább, de egy profi szkóp gigaohm feletti belső ellenállást produkál
- frekvencia: az Arduino 78 kHz fölé nem tud menni, profi szkóp elmegy 200 MHz tartományba is

Egy profi szkóp legalább egy százas, de láthatóan irgalmatlan képességei vannak. Ha hobbi szinten építesz valamit, akkor áldozatot kell hozni. Ezt te magad tudod, hogy mi kell neked, mi nem. Ennek függvényében az AVR ADC-je elfogadható eredményt képes adni, csak ne lepődj meg, ha módjával megy minden.
(#) csabeszq válasza slimtomi hozzászólására (») Jún 23, 2016 /
 
Még mielőtt vennél egy 640x800-as grafikus TFT-t, szólnék, hogy AVR alatt a képfrissítés ideje ekkora kijelzőnél már bőven másodperc fölé megy.

Itt van 1500-ért I2C LCD:

http://www.ebay.com/itm/0-96-I2C-IIC-SPI-Serial-128X64-White-OLED-L...FS~341

Ez monokróm 128x64 felbontással. 128x64/8 = 1kbyte memória kell a képpontok tárolására.

Voltam olyan hülye, hogy vettem 320x240 RGB TFT touch screen-t. Gondolj bele, az összes pont tárolása 320x240x3, tehát 225 kByte. Sosem fogod Arduinoval értelmes idő alatt átküldeni. Egy teljes kép kirajzolása 3 s körül van.
A hozzászólás módosítva: Jún 23, 2016
(#) killbill válasza csabeszq hozzászólására (») Jún 23, 2016 /
 
Idézet:
„de egy profi szkóp gigaohm feletti belső ellenállást produkál”
A szkópok bemeneti ellenállása 1MOhm, ha profi, ha nem.
(#) teglascs válasza csabeszq hozzászólására (») Jún 23, 2016 /
 
Idézet:
„monokróm 128x64 felbontással. 128x64/8 = 1kbyte memória”

v.ö.
Idézet:
„RGB...320x240x3, tehát 225 kByte.”


Azt sejtem, hogy a színesnél a "x3", az a három szín miatt van, viszont a monokróm esetében mi a "/8"? - Köszi.
(#) killbill válasza teglascs hozzászólására (») Jún 23, 2016 / 1
 
1 bit/pixel, tehat egy byte = 8 pixel. De szinesnel sem kell 3 byte pixelenkent feltetlenul. Ha palettat hasznal a hardver, akkor eleg 4 vagy 8 bit keppontonkent. Mindjart csak 76 kilobyte. Mondjuk az AVR-nek az is sok.
A hozzászólás módosítva: Jún 23, 2016
(#) teglascs válasza killbill hozzászólására (») Jún 23, 2016 /
 
Dereng, köszi.
(#) pont válasza slimtomi hozzászólására (») Jún 23, 2016 /
 
Üdv!

Nem derült ki számomra bocs, hogy építeni szeretnél, vagy egyszerűbb mérésekhez kellene olcsó szkóp, elvileg 100KHz-ig azért ez is mutat valamit :

Bővebben: Link

kittben olyan 7000 Ft körül van, van neten hozzá kapcsolási rajz, akár onnét is ellelhet lesni dolgokat egy építéshez.
(#) csabeszq válasza killbill hozzászólására (») Jún 23, 2016 /
 
Na erről bővebb infót tudnál adni? Próbáltam palettás LCD-t keresni, de nem sikerült.

Az ST7735 tűnt a legjobbnak a 12 bites RGB 444 módjával. Ha tudsz olyan típust, amelyik képes indexelt színmódra, az nagyon tuti lenne.
(#) csabeszq válasza pont hozzászólására (») Jún 23, 2016 /
 
A DDS120-as PC-s szkópot ebay-en 14000-ért adják az ebay-en (20 MHz sávszélesség).

Nincs rajta LCD, de szerintem 14.000-ért egy 100KHz-es szkóp rablás.

Ha játszani szeretnél, akkor 4-5 ezerből saját készítésű szkóppal, de gagyit 14.000-ért nem javaslok.
A hozzászólás módosítva: Jún 23, 2016
(#) pont válasza csabeszq hozzászólására (») Jún 23, 2016 /
 
Csak mint egy lehetőséget mutattam, mindenki eldönthet,i mi éri meg neki. Van úgy, hogy jó az ha, tenyérben elférő példánya is van az embernek, hangfrekis, fémkeresős stb hobbi dolgoknál jól jött, az ebay-en 6500 -ért vettem a kittet, ennyiért az alkatrészek sem lesznek meg, nemhogy még egy profi nyák, olyan amilyen mérőkábel is. A linken egy dobozolt változat van azért 14.
A hozzászólás módosítva: Jún 23, 2016
(#) killbill válasza csabeszq hozzászólására (») Jún 23, 2016 /
 
Csak olyat tudok, ami a mikrokontrollerben van. Pl. az NXP LPC1788 mikrokontroller LCD vezerloje olyan, hogy max. 24 bites TFT-t lehet rakotni, es azt tudja 24, 16, 8, 4, 2 es talan 1 bpp modban hasznalni. 8, 4, 2, 1 eseten van paletta. En 320x240 LCD-hez hasznalom 8 bpp modban. Kb 10-15 szint hasznalok. Par milliszekundum egy teljes kep valtas. Igaz, 100MHz Cortex-M3 processzor.
(#) csabeszq hozzászólása Jún 23, 2016 /
 
Ha már a grafikus LCD-nél vagyunk:

https://www.pjrc.com/tech/8051/board5/lcd_128x64.html

Innen lehet letölteni több mega LCD fontot (lcd_fonts_01.tar.gz, lcd_fonts_02.tar.gz).

Ezek a fontok BDF formátumban vannak, néhány C fájlt le is generáltak belőlük, természetesen magyar ékezetek nélkül. Akinek magyar ékezetek is kellenek, annak saját gerenáló kódot kell készíteni. A BDF formátum nem túl bonyolult. Csak egy szövegfájl.

Nálam Linux alatt automatikusan megjelenik BDF-nél az Árvíztűrő Tükörfúrógép.
Következő: »»   739 / 837
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem