nodo-domotica.nl

0-5v in lagere waarde uit

Hier alles over software in combinatie met de Nodo

0-5v in lagere waarde uit

Berichtdoor DMeekelenkamp » 19 jun 2015, 09:10

Hallo,

Ik ben bezig met een projectje en hierbij wil ik de nodo gebruiken.

Wat ik graag wil is:
Ik heb een variabele potmeter die 1 tot 4,8v geeft deze wil ik graag aansluiten op een analoge ingang 1 van de nodo.
Op het moment dat ik dan bijv. userevent 1,1 gebruik moet een analoge uitgang (pwm) dezelfde waarde geven. 1 tot 4,8v
Maar op het moment dat ik bijv userevent 1,2 gebruik moet de analoge uitgang (pwm) een mindere waarde geven bijv. 1 tot 2,4v
een soort van spanningsdeler dus. de exacte deel waarde weet ik niet maar dat zal wel in te stellen zijn.

is dit mogelijk?

Het mooiste zou zijn als er een plugin gemaakt kon worden van de PID library http://playground.arduino.cc/Code/PIDLibrary
Op die manier kan het uitgaande signaal ook nog afhankelijk zijn van een 2e ingangs sensor. bijv temperatuur, toerental of ampere's

EDIT zie dat er een PID plugin is maar de link is dood... :mrgreen:

Hopelijk kan iemand me hierbij helpen want van arduino programeren weet ik niet veel.

Groeten Dennis
DMeekelenkamp
 
Berichten: 87
Geregistreerd: 20 dec 2013, 19:25

Re: 0-5v in lagere waarde uit

Berichtdoor DMeekelenkamp » 20 jun 2015, 09:07

Here is the throttle input, amp input, then it will analogWrite 0-5v PWM to an external controller. "limitRamp" will ramp up or down the modified throttle signal to the external controller. So you may be holding full throttle at 4.8v going into the arduino from your hand throttle, but the arduino is sending a 3.1v signal to the external controller.
Code: Selecteer alles
void loop()
{
  int throttleIn = analogRead(throttleSignal); //Main read throttle, declare pulse
  int pulse = constrain(throttleIn, 0, 1023);
  pulse = map(pulse, 0, 1022, 0, 254);
 
  int ampRead = analogRead(hallIn); //Read raw hall sensor output signal hallIn
  ampRead = constrain(ampRead, sensorCal, 1023); //constrain to sensor output range, sensorCal is zero amps
  int actualAmp = ampRead - sensorCal; //Declare new int for conversion, actualAmp is Delta signal change above sensorCal
  actualAmp = (actualAmp * 4.9) / sensorSpec; //Convert actualAmp to mV integer, divide by 40 "ACS756 = 40mV/1A" to get actual Amp integer

 
  //limitRamp is a modifier for the throttle output to the external controller, higher amps = continuously lowering throttle signal to external controller
  if (actualAmp > ampLimit) //Main current limiter function, int ampLimit manually set
  {
    limitRamp = limitRamp + 2;  //[actual throttle output signal] = [your intended throttle signal integer] - [limitRamp integer]
    limitRamp = constrain(limitRamp, 0, 254);
    Serial.println("AMP OVERLIMIT");
  }
  else
  {
    limitRamp = limitRamp - 2;
    limitRamp = constrain(limitRamp, 0, 254);
  }

    pulse = pulse - limitRamp; //The main outsignal to external controller, if not in ampSurge mode
    pulse = constrain(pulse, 0, 254);
    analogWrite(throttleCmd, pulse); //Main Throttle Command Line

}


//The End


Dit zou het moeten zijn. Denk ik. Maar hoe krijg ik zoiets in een plugin? Iemand een idee...
DMeekelenkamp
 
Berichten: 87
Geregistreerd: 20 dec 2013, 19:25

Re: 0-5v in lagere waarde uit

Berichtdoor DMeekelenkamp » 23 jun 2015, 11:15

iemand van het nodo team die me hiermee kan helpen?

Groeten Dennis
DMeekelenkamp
 
Berichten: 87
Geregistreerd: 20 dec 2013, 19:25

Re: 0-5v in lagere waarde uit

Berichtdoor manjh » 27 jun 2015, 22:14

DMeekelenkamp schreef:iemand van het nodo team die me hiermee kan helpen?

Groeten Dennis

Nodo team op vakantie....? Ik wel, in elk geval! 8-)
Hans
manjh
 
Berichten: 1172
Geregistreerd: 29 aug 2011, 14:39

Re: 0-5v in lagere waarde uit

Berichtdoor DMeekelenkamp » 30 jun 2015, 16:20

Het blijft ook vrij stil van de andere.

Fijne vakantie!!!

Groeten Dennis
DMeekelenkamp
 
Berichten: 87
Geregistreerd: 20 dec 2013, 19:25


Keer terug naar Overige software Nodo

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers. en 1 gast

cron