Arduino uno V/A MCP1541 ref mérésel
Arduino uno V/A MCP1541 ref mérésel
Sziaszok!
Dc feszültség / áramérést szeretnék megvalositani referencia feszültség segitségel!
Találta exra precizios ict ref feszültség forrásra mcp1541 http://ww1.microchip.com/downloads/en/d ... 21653b.pdf
mega328 családra keresnék samle kodot ere a megoldásra!
Dc feszültség / áramérést szeretnék megvalositani referencia feszültség segitségel!
Találta exra precizios ict ref feszültség forrásra mcp1541 http://ww1.microchip.com/downloads/en/d ... 21653b.pdf
mega328 családra keresnék samle kodot ere a megoldásra!
Egy mintapélda is elég pl egy analog bemenet feszültség mérés történikRobert írta:Ha referenciafesz: Analogreference(External);
De kérdés:
1, Mi a feladat?
2, Mi az elképzelésed?
3, Sültgalamb az nem programkód, hanem recept
de ezt a feszültség mérés behatárolja egy álando referencia feszültség figyelésével vagyis hogy álandoan pontos legyen az analog mérés értéke ha a tápfesz változik ez legtöbb müxerben igy megoldot!
mcp1541 adja folyamtosan 4.096v feszültséget ezt figyeli álandoan mega328 egy lábon és ehet viszonyit egy másik analog bemeneteni feszültség méréshez hogy álando legyen a kalibrácio pontos méréshez!
Sajnos ezt joban nem tudom leirni!
Nem szokásom a sült galambal jolakni mert nem szeretem.....
Néha kel egy kis kezdö lökés az elinduláshoz!
Tanfolyamból a 17. lecke....
Kód: Egész kijelölése
int analogPin = 3; // potentiometer wiper (middle terminal) connected to analog pin 3
// outside leads to ground and +5V
int val = 0; // variable to store the value read
void setup()
{
analogReference(EXTERNAL);
Serial.begin(9600); // setup serial
}
void loop()
{
val = analogRead(analogPin); // read the input pin
Serial.println(val); // debug value
}
A hozzászólást 1 alkalommal szerkesztették, utoljára Robert 2012. november 1. csütörtök, 18:17-kor.
Mindeféleképen külsö referencia feszt akarom használni ami pontos!Robert írta:Tanfolyamból a 17. lecke....![]()
Kód: Egész kijelölése
int analogPin = 3; // potentiometer wiper (middle terminal) connected to analog pin 3 // outside leads to ground and +5V int val = 0; // variable to store the value read void setup() { analogReference(EXTERNAL) Serial.begin(9600); // setup serial } void loop() { val = analogRead(analogPin); // read the input pin Serial.println(val); // debug value }
Eben a kodban bene van?
Igy már kezd érthetöbb leni a számomra!kapu48 írta:Igen!
Szó szerint:
analogReference(EXTERNAL)
analog = analóg
Reference = referencia
EXTERNAL = KÜLSŐ
A neten sok ilyen van A/V mérésre de legtöbbböl kihagyták a legfontosabb részt az eltalont viszonyitási pont ami mindig álandó kel hogy legyen a pontosághoz....
Kis háttér az Aref-ről:
- belül az AVReknél a régi sorozatnál 2.56V, az újabbaknál 1.1V a belső (Internal).
- a nagyobb AVRek esetén 2.56 _és_ 1.1V is van (internal_2.56 vagy internal_1.1)
- a kapcsolási rajz alapján az ARef és a GND közé 100nF, hogy ne ugrabugráljon összevissza.
- a belső pontossága: gyártási szórás, hőfok, meg a csillagállás. Jellemző:2.56V = 2.5...2.6V közt bármi
A Külső referencia lehet 0.7V...Vcc közt bármi. Ideális valamilyen gyári feszültségreferencia.
De lehet az 5V is, ekkor a digitális táp zajongása és zavara is a referenciafeszültség része.
Mindig az adott feladat határozza meg mit használunk...
- belül az AVReknél a régi sorozatnál 2.56V, az újabbaknál 1.1V a belső (Internal).
- a nagyobb AVRek esetén 2.56 _és_ 1.1V is van (internal_2.56 vagy internal_1.1)
- a kapcsolási rajz alapján az ARef és a GND közé 100nF, hogy ne ugrabugráljon összevissza.
- a belső pontossága: gyártási szórás, hőfok, meg a csillagállás. Jellemző:2.56V = 2.5...2.6V közt bármi
A Külső referencia lehet 0.7V...Vcc közt bármi. Ideális valamilyen gyári feszültségreferencia.
De lehet az 5V is, ekkor a digitális táp zajongása és zavara is a referenciafeszültség része.
Mindig az adott feladat határozza meg mit használunk...
"Mindig az adott feladat határozza meg mit használunk..."Robert írta:Kis háttér az Aref-ről:
- belül az AVReknél a régi sorozatnál 2.56V, az újabbaknál 1.1V a belső (Internal).
- a nagyobb AVRek esetén 2.56 _és_ 1.1V is van (internal_2.56 vagy internal_1.1)
- a kapcsolási rajz alapján az ARef és a GND közé 100nF, hogy ne ugrabugráljon összevissza.
- a belső pontossága: gyártási szórás, hőfok, meg a csillagállás. Jellemző:2.56V = 2.5...2.6V közt bármi
A Külső referencia lehet 0.7V...Vcc közt bármi. Ideális valamilyen gyári feszültségreferencia.
De lehet az 5V is, ekkor a digitális táp zajongása és zavara is a referenciafeszültség része.
Mindig az adott feladat határozza meg mit használunk...
környezet és a cél:
Egy cnc mozgás vezérlö tápegységében lesz feszültség / áram / termikus mérés a cél olyan gép terhelési monitorként szolgál majd lcds info panel!
A referencia feszültséget nem akarom kisebre veni hisz a febontási értéken ha jol számolon sokat ron!
igen valami ilyesmi rémlet hogy az a 1023 számal a Aref is osztodik!Robert írta:A mérési tartomány 0V...Aref közt van, 0...1023 eredménnyel.
Ha pl. ARef=4.096V, akkor 0.004V egy egység.
Ha az analóg bemenetre 4.5V-t kapcsolunk, akkor is 1023-t kapunk.
De jobb egy profitol is látni hogy meg erösiti!:)
pl okán ha még ezt is finomitani szeretnél egy külsö nagyobb felbontásu A/D mit ajánlasz hozá?
Két mód van a növelésre:
- túlmintavételezés
- külső chip
Túlmintavételezés:
- ha nem változik a jeled gyorsan, akkor veszel 16 mintát és átlagolod. Az ingadozás/bizonytalanság/szórás miatt a pontosságod 1-2 bitet nő
Külső chip:
- MCP3208 : 12bites
E felett az ár összemérhető az AVRrel + a környezeti zaj is bejátszik...
AVR chipcsere:
- AVR-> xMega (12 bites belső)
Mondjuk Arduinoval necces (de van rá xMega kiegészítés). Inkább Basciom illetve C javasolt (Én a Bascomot preferrálom).
- túlmintavételezés
- külső chip
Túlmintavételezés:
- ha nem változik a jeled gyorsan, akkor veszel 16 mintát és átlagolod. Az ingadozás/bizonytalanság/szórás miatt a pontosságod 1-2 bitet nő
Külső chip:
- MCP3208 : 12bites
E felett az ár összemérhető az AVRrel + a környezeti zaj is bejátszik...
AVR chipcsere:
- AVR-> xMega (12 bites belső)
Mondjuk Arduinoval necces (de van rá xMega kiegészítés). Inkább Basciom illetve C javasolt (Én a Bascomot preferrálom).
kicsivel nagyobb felbontásban szerinted egy ilyenel?Robert írta:Két mód van a növelésre:
- túlmintavételezés
- külső chip
Túlmintavételezés:
- ha nem változik a jeled gyorsan, akkor veszel 16 mintát és átlagolod. Az ingadozás/bizonytalanság/szórás miatt a pontosságod 1-2 bitet nő
Külső chip:
- MCP3208 : 12bites
E felett az ár összemérhető az AVRrel + a környezeti zaj is bejátszik...
AVR chipcsere:
- AVR-> xMega (12 bites belső)
Mondjuk Arduinoval necces (de van rá xMega kiegészítés). Inkább Basciom illetve C javasolt (Én a Bascomot preferrálom).
http://ww1.microchip.com/downloads/en/d ... 21950c.pdf