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
Szia!
Megmértem, most 7.56V-on van a lipo, a fesz.osztó feszültsége pedig 4.5V, nem lehet 5V felett, azért nem értem miért ad 1023-at. (más mega8-al is próbáltam már, azzal is ugyanez a helyzet) Köszi azért! A hozzászólás módosítva: Feb 6, 2017
Szia!
Akkor arra gondolok, hogy az ADMUX beállítása nem biztos hogy jó:
Mert a kódból nem látszik az ADMUX kezdeti értéke.
Kipróbáltam, ugyanaz a helyzet : (
Csatoltam a kódot, meg a kapcsolást. (lipo akku kapacitását akarom mérni %-ban, fesz. alapján)
A rajz nincs szinkronban a kóddal, a rajzon a PC1 a bemenet.
Folyamatosan terheled szegényt 25K-val és az AVR-el is? Akkumulátoros üzemmódban át kell gondolni kicsit a dolgokat. Alvó mód, ébredések sűrűsége, lekapcsolható feszültség osztó, kijelzők lekapcsolása és/vagy fényerőszabályzás (este minek menjek teljes fényerővel?) stb.
Azt tudom, a rajzot még nem módosítottam, de most a PC5-n van, a 28-as lábon. Mindegyik adc port-on próbáltam már.
igaziból csak egyszer rádugom az lipo-ra majd megmondja hogy mennyi %-on van (nincs folyamatosan rákötve)
Százalékot biztosan nem fog helyesen kijelezni a készüléked, maximum a cellafeszültséget, de abból nem következik egyenes arányosan a cellában levő maradék töltöttség szintje.
A RESET lábon van valami?
Mit mutat a kijelző? A hozzászólás módosítva: Feb 6, 2017
Tudom hogy nem lineáris a lipo karakterisztikája, ezért felvettem a karakterisztika néhány pontját, majd a mért fesz.-re interpolálok, és az már egy jó közelítés.
A RESET-en nincs semmi.
97%ot, mutat a kijelző, de 46-ot kellene. ( van egy kis hibája mert a mért 0-5V-ot visszaszorzom a leosztott aránnyal, ami 1.666 körüli érték, így kapom meg a lipo feszültségét)
Sziasztok! Kész lettem egy 30x10-es színes kijelzővel amit ~90fps-el tudok frissíteni. Szeretnék egy 30 sávos audio spektrum analizátort készíteni belőle. Milyen módon tudok 30db frekvenciasáv-ot szűrni és bejuttatni egy atmega mikrovezérlőbe? A leg egyszerűbb módon?
az interpoláció egyébként jól működik, fix értékekkel leteszteltem és az teljesen jó eredményeket (%-okat) ad. A gond ott van hogy az interp. rossz fesz. értéket kap, mert rossz az adc érték...
(régebben csináltam már ilyent ARM-al egy adott robothoz, akkor ipari cella kapacitását mértem, elsőre működött. De most avr van kéznél... )
Én úgy értettem, hogy egy kb. 10 kohmos ellenállás, amit be kell kötni, az bent van?
Próbáld még ezt meg:
Oké, kipróbálom, nincs 10K-s a reset lábon, köszi szépen! : )
Az AREF lábon mekkora feszültséget mérsz?
ADC szabadonfutó módban, majd FFT algoritmus.
Az Aref-en és az Avcc-n is 4.1V-ot mérek. Kereken 5-nek kellene lennie?
Megvan, a 7805 volt a ludas, kicserélem egy másikra és működik, jól mér. Köszönöm szépen a segítséget mindenkinek!! : )
Pontosan... Itt a problémád, kis szerencsével nem ment tönkre az analóg bemeneted a túlfesztől.
Nem értem ezt a 7805 imádatot. Sokkal pontosabb (és gyakran olcsóbb) LDO-k kaphatóak, amiken jóval kisebb feszültség esik. Mondjuk a te eseted elég extrém, 7,4V-nál ki kéne tudnia adni az 5V-ot.
Nem értem miért volt hibás a 7805, de ez volt a baja, eddig eszembe sem jutott, hogy ezzel lehet valami gond.
Nem imádom, de ebből van egy marokkal : )
Igen, de nem lesz jó vele a mérés. Mi történik ha az akkuid mondjuk 3,2V-on vannak? Akkor már bőven a dropout alá esik a betáp feszültség és nem lesz 5V a kimenetén. Ettől látszólag még működni fog az eszköz, de eltolódik majd a referenciafeszültséged is és máris jóval nagyobb maradék kapacitást hazudik majd.
A hozzászólás módosítva: Feb 6, 2017
Nem külön-külön, hanem egybe mérem a két cellát direkt, így a minimum fesz. 6.4V lehet, de addig meg úgysem hagyja lemerülni a szabályzó.
A hozzászólás módosítva: Feb 6, 2017
Tudom. Csak épp terheléstől/hőmérséklettől függően jóval nagyobb lehet a dropout fesz mint 1,4V, azaz máris nem jön ki 5V a regulátorból és azt hazudja majd az eszköz, hogy van még nafta bőven.
A helyes megoldás az volna (ha ragaszkodsz a 7805-höz), ha átállnál a belső feszreferenciára (2,56V). Eszerint átméreteznéd a feszosztódat és máris toleráns az eszköz a bemeneti fesz ingadozásra. A hozzászólás módosítva: Feb 6, 2017
Értem, akkor célszerűbb a 7805-t valami másra cserélni vagy átállítani a referencia feszültséget. Megpróbálkozom a belső referencia használatával. Köszönöm a segítséget!!
A hozzászólás módosítva: Feb 6, 2017
Mint írtam, megoldható 7805-el is. Csak épp elegánsabb vmilyen LDO-val, amiből végig kijön az 5V ezért egyenletes marad a kijelzés fényereje és biztos benne maradsz az uC működési tartományában (mondjuk ezt már tesztelted
![]()
Okés, köszönöm szépen a segítséget! : )
Sziasztok,
Melyik az a legolcsóbb Atmel uC, amelyikre direkt USB-n keresztül tudok feltölteni .hex fájlt USB-soros átalakító nélkül? 8 darab WS8212 ledet és egy égőt kellene meghajtson PWM-el. USB-soros átalakítót nem szeretnék beletenni helyszüke miatt. A választ előre is köszönöm.
Talán a legolcsóbb amiben van hardware-s USB támogatás az atmega8u2.
Egyébként az www.atmel.com oldalon "Atmel MCU Selector" link mögött sok paraméter alapján tudsz keresni. Ennél olcsóbb lehet a software-s usb: https://www.obdev.at/products/vusb/index.html. Ez kb 2kbyte méretben tud v1.2-es (alacsony sebességű) USB-t, csak az órajel a megkötés (pl.: 12MHz). Akár attiny chip is jó lehet (pl.: attiny4313 ~420Ft/db). Ezen a linken van több minta projekt kapcsolási rajzzal és programmal. Ezek akkor jönnek szóba, ha USB-n akarsz kommunikálni az MCU-val. Felprogramozni direkben USB-ről nem tudod, ahhoz kell egy ISP-s programozó. Ez nem sok helyet foglal, mert csak egy csatlakozó kell neki, hogy addig kösd rá a programozót, amíg feltöltöd a programot. A kettő között átmenet lehet a boot loader. Itt viszont a méret lehet gond. A vusb-t biztos nem lehet boot loader-ként használni (túl nagy), de lehet a hw-es USB támogatással egy kis ügyességel bele lehet szorítani. A hozzászólás módosítva: Feb 7, 2017
Létezik egy BootloadHID is az obdev-en, az egy HID-et implementáló bootloader USB-re, ezzel direktbe lehet programozni. Az viszont igaz, hogy 2kb, szóval kell hozzá legalább egy atmega8.
A másik lehetőség pedig az AVRUSBBoot. Ennek az a hátránya, hogy saját feltöltő progija van és ennek is kell elvileg 1024 szónyi bootloader hely. Azzal viszont egyetértek, hogy felesleges, ha csak arra kell, hogy fel legyen programozva, hiszen azt egyszer kell csak megtenni. Szerk: Alkalmazható még a micronucleus is attinyhez pl. Ez csak 1.4~1.8kb. A hozzászólás módosítva: Feb 7, 2017
|
Bejelentkezés
Hirdetés |