SD kártyát látja a program, de a particiót nem

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
bagizoltan
Bitmanipulátor
Hozzászólások: 128
Csatlakozott: 2015. december 8. kedd, 19:52
Tartózkodási hely: Budapest

SD kártyát látja a program, de a particiót nem

HozzászólásSzerző: bagizoltan » 2020. január 29. szerda, 6:00

Sziasztok!

Nano és egy klasszikus SD kártya modult használok (microSD card adapter). Írtam egy programot, ami SD kártyára ír adatokat. Ez egy ideig rendben működött.
Egy nyáklapon forrasztgatom az alkatrészeket (van még rajta RTC óra stb.), és az egyik átalakítás után már nem működött az SD-re írás.
A példa programok özül betöltöttem a cardinfo-t, és azzal megnéztem mi látszik:

05:35:44.235 ->
05:35:44.235 -> Initializing SD card...Wiring is correct and a card is present.
05:35:44.871 ->
05:35:44.871 -> Card type: SD2
05:35:45.442 -> Could not find FAT16/FAT32 partition.
05:35:45.475 -> Make sure you've formatted the card

Úgy tűnik a kártya rendben van, még a típusát is felismerte, csk éppen nem használható, mert nem tudja a particiót megtalálni. Megformáztam persze a kártyát, de az sem segít. Van egy deek-robot datalogger modulom is, azzal meg minden szépen működik ugyanazzal a kártyával. Úgy gondoltam az SD modullal lehet valami baj, ezért vettem egy másikat. De azzal is ugyanezt produkálja. Nincs valakinek tapasztalata/ötlete, hogyan lehetne ezt a problémát megoldani? Úgy gondolom, hogy jó az SD kártya, hiszen PC-ban és egy másik hardverben is működik. Bár csak egy van, másikkal még nem próbáltam, de beszerzek egyet hamarosan. Annak kicsi a valószínűsége, hogy az SD modul lenne a rossz, szerintem amit kicseréltem az sem volt rossz. Még marad a nano és a mikroSD adapter összeköttetése, de azt már átmértem. minden drót a helyén és nem szakadt. Összesen 6 drótról van szó, nem hinném, hogy valamit álmomban elkötöttem.
Tök ugyanaz a program (SD library cardinfo) a deek robot mudullal jól fut le.
Sajna nincs másik mocroSD modulom, és nincs kedvem kiforrasztani, hogy egy dugdosós panelen is kipróbáljam, de el sem tudom képzelni, mit lehet úgy elkötni a a nyákon, hogy ilyen hibát produkáljon!

Köszi!

Bagi

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10032
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: SD kártyát látja a program, de a particiót nem

HozzászólásSzerző: Robert » 2020. január 30. csütörtök, 21:19

PCben formázd újra _teljes_ formázással.
https://www.sdcard.org/downloads/formatter/
http://www.tavir.hu - a gazda :)

bagizoltan
Bitmanipulátor
Hozzászólások: 128
Csatlakozott: 2015. december 8. kedd, 19:52
Tartózkodási hely: Budapest

Re: SD kártyát látja a program, de a particiót nem

HozzászólásSzerző: bagizoltan » 2020. január 31. péntek, 6:05

Szia!
Próbáltam, de biztosan nem ez a baj! Miután kicseréltem a kártya adapter modult, egy hirtelen ötlettel a kiszerelt SD modult (ami ugye rossz kéne legyen) összekötöttem egy dugdosus panelon egy Arduino UNO-val. És csodák csodája működött. Épp ott tartok, hogy a megépített "végleges" panelemből elkezdtem minden felesleget leszedni. Két nano működött együtt, LCD kijelző, RTC óra stb. Már mindent kiszedtem, csak az egyszem nano csücsül a panelon, és még a tápot is PC-ből kapja az USB porton keresztül. Persze már a nano-t is kicseréltem, mert szerencsére foglalatban van. Sajna így sem működik. Vezetékeket átmértem ellenállás mérővel, mind 0,1ohm (ennyit mutat a műszerem rövidzárnál). Ma este kipróbálom, hogy leforrasztom a panel saját tápjáról a nanot, és a földet is csak a nano és az SD modul között hagyom meg. Azon a nano-n már semmi más vezeték nincs, csak az I2C két vezetéke, talán az csak nem okozhat ilyen gondot. Sajnos nem elmékszem, hogy hol romlott el. A panel építése közben minden lépésnél ellenőriztem minden működést. Ez volt az első funkció amit összeraktam, aztán már nem foglalkoztam vele, csak építgettem rá a többit. Most megszívtam!!!
Köszi!
Bagi

Avatar
Robert
Elektronbűvölő
Hozzászólások: 10032
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: SD kártyát látja a program, de a particiót nem

HozzászólásSzerző: Robert » 2020. január 31. péntek, 8:27

A nano 5V -> SD 3V3 átalakítás megvan?
Ha a kártyát az sdcardinfo látja, akkor jó a kapcsolás (elvileg).
A Chipselect lábat igaz kapcsolod és nem a SW-re bízod (SD eljáráskönyvtárra)? Pár mintaprogram, hibás: nem teszi a CS lábat kimenetre!

A kódból minimál csak SD-t használót próbálj ki. A nano 2k SRAMjából ~1k az SD kezelésre megy el!
http://www.tavir.hu - a gazda :)

bagizoltan
Bitmanipulátor
Hozzászólások: 128
Csatlakozott: 2015. december 8. kedd, 19:52
Tartózkodási hely: Budapest

Re: SD kártyát látja a program, de a particiót nem

HozzászólásSzerző: bagizoltan » 2020. január 31. péntek, 9:41

Köszi!
Nekem úgy tűnt, hogy azt az SD modul megcsinálja az illesztést, de megnézem, hátha tévedtem. Minden esetre UNO-val működik, és ott is 5V van. ...és persze működött ez valaha a nano-val is, ráadásul ugyanabban a hardver kialakításban, csak valahol elveszett a működőképesség!
Én is memóriára gyanakodtam, mert az egész dolog úgy indult, hogy elfogyott a memória és a flash is kevés lett, addig nőtt a program. Ezért eztán a végleges hardverbe két nano-t raktam, az egyik I2C buszon megkapja az adatokat, és kizárólag az SD kártya írással foglalkozik. Most azonban még nem is ezzel a programmal foglalkozok, csak cardinfo-t próbálgatom. Ha dugdosós panelen megy UNO helyett nano-val is (nano-m is van másik amivel próbálkozzak), akkor már csak a hardverben cseszhettem el valamit. Estére kiderül!
Köszönöm!
Bagi

bagizoltan
Bitmanipulátor
Hozzászólások: 128
Csatlakozott: 2015. december 8. kedd, 19:52
Tartózkodási hely: Budapest

Re: SD kártyát látja a program, de a particiót nem

HozzászólásSzerző: bagizoltan » 2020. február 1. szombat, 19:07

Szia!

Sikerült megfejteni, hogy mi a baj.
Az okozta a problémát, hogy az SD kártya adapter modul Vcc táp kivezetését nem közvetlenül a tápra, hanem a nano egyik kimenetére kötöttem. Az eredeti elképzelés az volt, hogy az SD kártyának csak akkor adok tápot, amikor épp használni akarom (óránként egyszer)! Aztán a megvalósításban erről megfeledkeztem, és közvetlenül a tápra kötöttem. Így persze gond nélkül működött. Aztán ezt észrevettem, és korrigáltam. Fel nem merült bennem, hogy így már nem fog működni. Csak jóval később ellenőriztem az SD kártyát, így csak napokkal később derült ki, hogy gond van, és már nem emlékeztem az átalakításra.
Nagyon furcsállom a dolgot, mert amikor először kísérletezgettem az SD adapterrel, olyan példa programot találtam a neten, amiben már kapásból a Vcc az egyik kimenetre volt kötve. Úgy emlékszem, hogy működött is. Minden esetre a programjaimban benne volt a kimenet magasra állítása, de lehetséges, hogy már akkor is a tápra kötöttem az SD adaptert, ezért nem vettem észre, hogy gond van.
Most kísérletezgetni kezdtem, mert elvben ennek működnie kellene. Volt két azonos SD adapterem, mindkettő ugyanazt a hibát produkálja, ha kimenetről kapja a tápot (kártyát látja, típusát lekérdezi, de már a particiót nem tudja kiolvasni). Tehát nem egy adott modul hibája. SD kártyát újra megformáztam SD formatter programmal, ettől a hiba maradt. Kipróbáltam nano és UNO-val is, persze egyikkel sem működik, tehát ez sem az egyik modul hibája. Tettem egy 22nF kondit a föld és a kapcsolt kimenet közé, hátha ott "szivárog " ki valami zavarjel a nano-ból. Ez sem segített. Kipróbáltam a D8 és a D9 kimenetekkel is, hátha van valami különbség, de nem volt! Itt feladtam, mert kifogytam az ötletekből.
Működik a kapcsolás így is, de azért bosszant a dolog! Nincs valami ötleted? Esetleg tudsz valamit?

Köszi!

Bagi

vargham
Chipgyilok
Hozzászólások: 275
Csatlakozott: 2014. január 8. szerda, 8:32
Kapcsolat:

Re: SD kártyát látja a program, de a particiót nem

HozzászólásSzerző: vargham » 2020. február 2. vasárnap, 6:18

A GPIO adja a tápot, vagy tranzisztorral kapcsolod?
A GPIO az kevés lehet hozzá. Attól függ, hogy mennyit vesz fel az SD kártya, és mennyi áram folyik éppen a többi GPIO-n. Így hol működik, hol nem.
Alapszabály, hogy tápot nem adunk GPIO-val. A GPIO csak a kapcsoló jelet adja a tranzisztornak, amin keresztül a kapcsolt áram folyik.

bagizoltan
Bitmanipulátor
Hozzászólások: 128
Csatlakozott: 2015. december 8. kedd, 19:52
Tartózkodási hely: Budapest

Re: SD kártyát látja a program, de a particiót nem

HozzászólásSzerző: bagizoltan » 2020. február 2. vasárnap, 11:51

Sajna és GPIO-val adtam tápot. Elvileg elégnek kellene lennie, de igazad lehet. Kipróbálom, hogy tranyóval kapcsolgatom!
Köszi az ötletet!
Visszajelzek, ha kiderül valami!
Bagi


Vissza: “Arduino / C-nyelvű programozás (AVR-Duino, EthDuino, Arduino, Diecimila)”

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég