Arduino 12 bit

Arduino specifieke Software
Berichten: 55
Geregistreerd: 20 Feb 2014, 11:37

Arduino 12 bit

Berichtdoor Dennis485 » 12 Jan 2015, 09:04

Hallo,

Ik ben opzoek naar iemand die mij kan helpen om mijn arduino micro een analoge ingang naar 12 bits te krijgen (0-4096) ipv 0-1023 wat hij standaard is
Wie heeft hier ervaring mee??

Alvast heel erg bedankt!
Gr. Dennis

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Arduino 12 bit

Berichtdoor nicoverduin » 12 Jan 2015, 09:29

Aparte I2C 12Bit adc chip kopen. de 32U4 ADC is max 10 bits.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 55
Geregistreerd: 20 Feb 2014, 11:37

Re: Arduino 12 bit

Berichtdoor Dennis485 » 12 Jan 2015, 09:52

Ik heb wel is gehoord dat het met een ADC kan?? Alleen geen idee hoe dit werkt

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Arduino 12 bit

Berichtdoor nicoverduin » 12 Jan 2015, 10:16

ik hoor ook wel eens dingen :)
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 4079
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Arduino 12 bit

Berichtdoor shooter » 12 Jan 2015, 10:23

dennis wat wil je meten, want heel vaak kun je het bereik verkleinen of opdelen, waardoor je met veel minder bits terecht kunt.
bijvoorbeeld een temperatuur, die hoef je helemaal niet van -200 tot 800 te meten, dat kan best een stukje kleiner als je hem in de kamer wilt gebruiken.
bedenk ook eens dat een simpele 555 ook prima als analoge ingang gebruikt kan worden. de precisie ligt dan in de timing (maar dat is geen probleem met MHz etc.
paul deelen
shooter@home.nl

Berichten: 55
Geregistreerd: 20 Feb 2014, 11:37

Re: Arduino 12 bit

Berichtdoor Dennis485 » 12 Jan 2015, 10:41

@Shooter

het is de bedoeling om een PT 100 mee uit te lezen. Op dit moment heb ik onderstaande programma:

Code: Alles selecteren
int pt100 = A0;
int relais1 = 3;
int relais2 = 5;
int waardept100 = 0;

void setup () {
 // Serial.begin(9600);
  pinMode (relais1, OUTPUT);
  pinMode (relais2, OUTPUT);
}

void loop (){
  waardept100 = analogRead(pt100);
 
  if (waardept100 <= 910 && waardept100 <= 913 ){
    digitalWrite (relais1, HIGH);
  }
  else
  {
    digitalWrite (relais1, LOW);
  }
 
    if (waardept100 <= 901){
    digitalWrite (relais2, HIGH);
  }
  else
  {
    digitalWrite (relais2, LOW);
  }
 // Serial.print("pt100  ");
  //Serial.println(waardept100);
 
delay;
}
 


Bovenstaand programma doet zijn werk prima alleen het is niet nauwkeurig genoeg dus hiervoor dacht ik aan een 12 bit oplossing zodat ie nauwkeuriger in te lezen is?

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Arduino 12 bit

Berichtdoor nicoverduin » 12 Jan 2015, 12:14

beetje zinloos op deze manier:
Code: Alles selecteren
 if (waardept100 <= 910 && waardept100 <= 913 ){
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 163
Geregistreerd: 15 Dec 2012, 21:02
Woonplaats: Delfzijl

Re: Arduino 12 bit

Berichtdoor FPCUser » 12 Jan 2015, 12:35


Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Arduino 12 bit

Berichtdoor nicoverduin » 12 Jan 2015, 14:58

Ik geloof dat ie nog van mening is dat je de 32u4 10bits ADC naar 12 bit kan omzetten..... nog ff wachten....
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 4079
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Arduino 12 bit

Berichtdoor shooter » 12 Jan 2015, 20:31

je zoekt eigenlijk een schakelpunt voor een verwarming dus, dat kan niet op deze manier want de stroom door de Pt100 is veel te hoog maximaal 2 mA liever 1 mA

paar manieren om dit op te lossen:
gebruik een goede 1 mA stroombron en een opamp.

gebruik een XTR105 die kun je voeden met 12 volt en gebruik een weerstand van 250 ohm in de lijn dan heb je netjes 5 volt.
daarnaast nog een paar weerstanden voor het bereik en klaar.

gebruik een 555 Timer, de frequentie is dan afhankelijk van die Pt100, de uitgang kun je meten en de tijd tussen een stijgende flank is dan een goede maat voor de temperatuur.
paul deelen
shooter@home.nl

Volgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: iviheba en 17 gasten