Fórum témák
» Több friss téma |
Tedd fel a programot amit csináltál , megnézzük hogy mi a hiba...
Igazából már nagyon sok mindent csináltam a T-Bird2 panelhez... Gyakorlatilag a 0-ról.
Itt egy általam készített alapfájl, e-program használatával valósítottam meg a számológépmet, beléptető rendszert. Azt is felrakom, nézzétek meg. Viszont ezzel az ADC dologgal nem boldogulok. Berakok egy ADC bemenetet a panelre. Azon kell valamiféle konfigurálást végezni? Illetve a programon belül, makrózok, ADC0-> és olvasás mint feszültség. Na innentől kezdve elakadtam, mert kellene valami számítás, hogy a beolvasott fesz-ből celsiust írjon ki az lcd. Próbálkoztam, floattostring-el is, de, hogy mit mivel hogyan kell számolni.. Na szóval ez nem megy.
Próbáld meg int -ben beolvasni és olvasd át az lm35 adatlapját .Na meg beleolvashatsz a témába is van fent legalább 5 példa ...
A hozzászólás módosítva: Feb 7, 2013
integer-ként beolvasva meg elég érdekes számokat dob az lcd-re. Gondolom itt is kellene valami számítás.
Számold át 10mV/c'
A hozzászólás módosítva: Feb 7, 2013
Nos...
ADC0, readasint visszatérési érték: temp1 (int) Számítás temp2=temp1/10 LCd print number temp2 Most azt írja hogy 5. A potin nem kell valamilyen konfigot végezni? A hozzászólás módosítva: Feb 7, 2013
És hány fok van a szobában?? 24?
A hozzászólás módosítva: Feb 7, 2013
Nézegettem egy kicsit ezt a dsp-t, de gondolom szimulációban ne várjam, hogy tökéletesen fusson? A gyári példák sem úgy mennek ahogy azt elvárnám.
A "gyári példa" az gondolatébresztő ! Ne várd el hogy rögtön megoldást kínál minden problémádra!
Ha tudod hány fok van, és azt is tudod mit ír ki az lcd akkor már egészen könnyű kiagyalni milyen műveletet kell használnod hogy a valós hőmérsékletet lásd a kijelzőn
A hozzászólás módosítva: Feb 7, 2013
Mutathatnál egy példát.
Mert ha én most így csinálom: ADC0-ból beolvas int-ként. visszatérési érték, temp1 (ennek az értéke: 45-60 között ugrál) számítás: temp2=temp1/10 (ennek az eredménye 5) temp3=temp2*5 lcdkiír: temp3 Az összes változó int. Ezzela számítással, elég durva léptékben írja a hőmérsékletet. Hiába fújom, fogdosom az érzékelőt, 30 és 25 fokot ír... Khm? :S Számít az hogy a potinak milyen beállításokat adok meg? A hozzászólás módosítva: Feb 7, 2013
Olvastam ezeket a dolgokat. A problémám az, hogy csinálom ezt meg flowcode-ban?
Ha nem olvasol vissza , és nem nézed meg a régebben feltett példákat akkor nehezen ...
Értem én, hogy 10mV/°C.
Viszont: Pl.:ADC 10bit referencia 5Volt = 5/1024=0,0048828125Volt Hogy állítom be a folyamatábrámat? Felrakom a progit amin most kínlódom.. A hozzászólás módosítva: Feb 7, 2013
Rendben.
Viszont, ha a panelen a potinak adok egy olyan beállítást, hogy VREF+ és alá x*10mV. Akkor csak azt a megadott x*10mV-ot írja az LCD-re... Bocsánat. Most ez a helyzet. temp1-et bekérem int-ként. Számítás: temp2 = temp1-200 temp3 = temp2*0.25 temp3-mat írom lcd-re. Az poti beállításai pedig. VREF+ 256x10mV A hozzászólás módosítva: Feb 7, 2013
Szia!
Ha az adc-re egy potit teszel változik az értéke a kijelzőn?
Nem tudok a kapcsoláson változtatni mert:
Hestore Igen néztem, amit írtál. Hogy a VREF+ beállítás csak dísz... Ha 500x10mV-t adok meg. Akkor az lcd-n stabilan 205 az eredmény, sem lejjebb sem feljebb nem megy. Ha VDD-t állítok be, akkor meg az LCD-n: -35, -36.. Ha megfogom akkor -34 de lejjebb nem megy.
Az lm 35 öt jó helyre kötötted? Az a bemenet van megadva a programban amit használsz?
Az az igazság, hogy ez iskola cucc. Nekem lett oda adva, hogy nézzem meg mi hogyan működik rajta flow code-al.
Sajna sok panelon forrasztási hibavolt, pl RGB ledek lába összefolyva pl. Illetve az útmutatóban az RGB színek is fel vannak cserélve. :S A papír alapján, az lm35 output lába, portF 0. bit. Vagy ADC0. Annyit tudok az itthoni műszerrel, hogy az LM35 out lába és a test között mérek egy feszt. Nos. Out és GND között 270mV van most. VDC-t mértem. A hozzászólás módosítva: Feb 7, 2013
Van a panelen egy poti is. ADC1-en. Szépen működik. Int-ként beolvasom az értékét és kiíratom...
Ezzel a módszerrel, int-ként olvasom be az ADC0-át akkor az LCD-n 55-60 között mozog az érték, ha meg fogom illetve ha fújom. Ezekk az értékek számítások nélkül vannak ugye. A hozzászólás módosítva: Feb 7, 2013
Most próbáltam úgy, hogy lebegőpontos változókat csináltam.
Bekértem feszültségként az infót. Ugye 10mV/C-t nézve, a 207mV-ot szorzom 100-al, kapok 20,7-et. Majd float to string és a string-et íratom ki... A ciklus 1 másodpercenként indul újra. De így egyik másodpercben 30,321546. Másik másodpercben meg 27,364523, aztán 23.xxxxxx stbstb. Ugrál összevissza.
Nem megoldást akartam, csak szerintem nem úgy működik egyik másik mint ahogy annak kellene.
U.i.:Elnézést, ha valami sértő volt a szerdai hozzászólásomban!
Szia
Én is szenvedtem ilyennel, csinálj egy ADC mérést átlagszámitással és legalább 10 mérés legyen ahoz hogy megközelitöleg pontos legyen.
Üdvözletek!
Mi a helyes képlet arra, hogy ha pl megadom, hogy: PORTA = 9 ;(csak a példa kedvéért) és ezt később szeretném megfordítani, hogy az (előzőleg) eddig magas kimenetek 0-ba, az alacsony szintek 1-be kerüljenek? Remélem érthető voltam.
255-ből vond ki a port értékét, mindig a negátját kapod bit szinten az aktuálisnak. 8 bites port esetén!
A hozzászólás módosítva: Feb 8, 2013
|
Bejelentkezés
Hirdetés |