ADC konvertálás

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Válasz küldése
Avatar
szovhoz
Bitfaragó
Hozzászólások: 608
Csatlakozott: 2007. április 7. szombat, 6:00

Hozzászólás Szerző: szovhoz »

a tennnék neki 1843200 kitályt akkoo bír atól hoy 16mh-es a proci ez már O.C. Lenne!

De bírná e.
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Szokták túlhajtani a procit, általában bírják. Feszültség emelés is mehet 5.5V ig. Esetleg ragaszthatsz rá valami hűtőbordát is. Ha sokat hibázik akkor nincs szerencséd, nem bírja.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

A Prescale-t ne AUTOra, hanem nagyobb sebességre tedd. ekkor a 10 bites felbontas leesik 8 bit kore, de igy ~10-20 uSec a konverziso sebesseg (az also 1-2 bitet meg egyszeruen eldobod.

Illetve kulso AD? SPI buszon?
AD INT alapon is futhat es a sample-k kozt ott van....
Avatar
szovhoz
Bitfaragó
Hozzászólások: 608
Csatlakozott: 2007. április 7. szombat, 6:00

Hozzászólás Szerző: szovhoz »

Az intek lefoglalva. Már nem tudom hasznánli. Egy áramkorlátózót csinálok vele egy adott áramfelvétel túllépésénél leszabályozná az elektronikát.
Adc-vel mérem és ha eléri vagy túlmegy a határon akkor kiadja a stop parancsot amúgy engedélyezi ebből frekvencia lessz az abaj. és az impulzusok szélessége túl nagy 200 us. annyi idő alatt akár 1000A-os csúcs is kialakulhat ezt pedig a fetem nem fogja elviselni.
nem tudom így érthető e mit akarok kihozni belőlle?
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Az ADCnek külön INT-je van! Nem a külső INT!


És mi van ha az AIN lábra csinálod? Ott simán egy belső műveleti erősítő van. Az AIN+ és AIN- lábak szabadon vannak?
AIN+ra rárakod a külső potméterrel (digit vagy analóg) a másikra a leosztott jelet. Így ha átbillenés van, akkor belső INT generálódik-> azonnali beavatkozás....

De külső műveleti erősítővel is megoldhatod..... Ekkor külső INT kell, ami a műveleti erősítő billenését jelzi.
Avatar
szovhoz
Bitfaragó
Hozzászólások: 608
Csatlakozott: 2007. április 7. szombat, 6:00

Hozzászólás Szerző: szovhoz »

megoldottam.

4 az osztás és megfogom a motort 5ms-re így 100hz a jel és a nem tud kialakulni akkora tüske ha 20ms-re fogm le a kimenet akkor 2hz lessz a jel tehát nagyon jó lett. :D :D :D

most max 8w hő tud keletkezni a fetben egy pillanatra ha felszök9ik az áram és ezt már elviseli amúgy kipukkanna szegény. És tudjauk hogy az Ic füsttel működik ha a füst elszál az Ic nem működik tovább.


Egy nem idevágó kérdés hogy van az a mondás a mérnöki munkáról seholsem találom de kiszeretném tenni a flara a kolegának meg magamnak motiváció gyanánt.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

"A mérnöki munkaidő napi 6 óra munkahelyen eltöltött időt jelent." Ennek oka, hogy a mérnök munkába menet, hazafele és szombaton mosogatás közben is aproblémán gondolkodik. Ez is a problémamegoldás része. Így jön ki a napi átlag 8 óra munkaidő... :P



1. Az egyetlen megoldás - nem mérnöki feladat.
2. A nem megoldás - nem megoldás.
3.Ha legalább van három-négy megoldás - na az már mérnöki munka!
Avatar
bgergo
DrótVégénSzéndarab
Hozzászólások: 49
Csatlakozott: 2009. március 11. szerda, 6:00

Hozzászólás Szerző: bgergo »

Sziasztok!

Kis segítség kellene! Egy Tiny45 belső referenciafeszét nem tudom beállítani 2,56V-ra, pedíg a bascom súgója ezt írja:

Kód: Egész kijelölése

Config Adc = Free , Prescaler = Auto , Reference = Internal_2.56_nocap 
Ha ezt adom meg akkor is a Aref 1,1V, ha Avcc írok arra reagál.
Hogyan tudnám rávenni a bascomot, hogy 2,56V-ot állítson nekem be?
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Próbáld meg direktben beírni a Voltage Reference Selection regisztert.
Set Admux.7 'REFS1
Set Admux.4 'REFS2
Reset Admux.6 'REFS0
’vagy
'Set Admux.6 'REFS0

Adatlap 138-139. oldal.
http://www.atmel.com/dyn/resources/prod ... oc2586.pdf
A hozzászólást 1 alkalommal szerkesztették, utoljára kapu48 2009. május 24. vasárnap, 13:17-kor.
Avatar
bgergo
DrótVégénSzéndarab
Hozzászólások: 49
Csatlakozott: 2009. március 11. szerda, 6:00

Hozzászólás Szerző: bgergo »

Köszi!
Működik!
Az adatlapot néztem, csak nem tudtam, hogy lehet bitenként is piszkálni.
Avatar
szovhoz
Bitfaragó
Hozzászólások: 608
Csatlakozott: 2007. április 7. szombat, 6:00

Hozzászólás Szerző: szovhoz »

Az adc bemenete kibírja ha -0.7V megy be neki?

Mivel az adc bemenetén zener-t használok felső határt szabályozza de záróirányba 0,6V a csatorna ellenállás.
Olyan feszültséget mérek ahol váltó jel kerül rá.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Igen. Zenerrel vedheto....
Avatar
szovhoz
Bitfaragó
Hozzászólások: 608
Csatlakozott: 2007. április 7. szombat, 6:00

Hozzászólás Szerző: szovhoz »

Hogy rontsam le az adc-t!

van 3 tartományom és 3 ledem.

Kód: Egész kijelölése

U = Getadc(channel0) 

if u < 100 then led1 = 1 else led1 = 0 end if

if u > 101 and u < 200 then led2 = 1 else led2 =0 end if

if u > 201 and u < 300 then led3 = 1 else led3 =0 end if

a probléma hogy ebben az esetben ha a külső fesz pont a határon van és ide oda billeg század voltokat a két led szinte egyszerre világit/villog.
mondjuk a 100-101 között 0.0235 V van és a külső fesz nem stabil ennyire.

hogyan tudnám megoldani hogy az adc azokra ne mozduljon csak 0.1V mozdulást.

gondoltam rá hogy nem teszem ilyen pontosra a tartományokat de akkor meg ha pont oda kerül a feszültség akkor egyik led sem világít.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Hysterézissel old meg.

Azaz pl.

Kód: Egész kijelölése

U = Getadc(channel0) 

if u < 100 then 
    if led2=1 then
       if u<95 then
        led1=1
        led2=0
       endif
    else
    led1 = 1 
    else
    led1 = 0
end if 

if u>100 then
  if led1=1 then
    if u>105 then
      led1=0
      led2=1
   endif
.
.
.

Szoval valami ilyesmi lenne...
Avatar
szovhoz
Bitfaragó
Hozzászólások: 608
Csatlakozott: 2007. április 7. szombat, 6:00

Hozzászólás Szerző: szovhoz »

Hogyan tudnám megoldani hogy ATmega64-es prociban 6adc-catornát használok és 4 a prescale, de az 5. csatornán én 64-es osztást szeretnék és a többin maradjon a 4-es osztó.

mert az egyik csatorna túl gyorsan veszi a mintát és szeretném lelassítani.

Időt nem tehetek sehova szóval waitms parancsa nem jó, azért gondoltam a prescalés növeléses lassításra.
Válasz küldése