Show Posts
Pages: 1 2 3 [4] 5 6 ... 94
46  International / Español / Re: Medir consumo eléctrico. on: October 26, 2013, 05:37:13 am
parece que no lleva resistencia de carga interna, tendras que añadirle una tu.
47  International / Español / Re: Medir consumo eléctrico. on: October 26, 2013, 05:36:02 am
Hola, alguien ha ensayado este?

http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Sensors/Current/ECS1030-L72-SPEC.pdf

Al parecer es de 30a, es el que tengo en la tienda local...

Saludos...

Practicamente cualquier CT deberia de valer, solo tienes que asegurarte de varios puntos
- Si saca corriente o voltaje (no lleva resistencia de carga)
- Que la tensión a la entrada del arduino no supere 0 a 5 V. si vas a meter Vac al arduino entonces tienes que mirar que cuando conectas la mayor carga posible a medir (30A) no se superen los 2,5Vac
- Si el CT saca corriente, tienes que dimensionar una resistencia de carga para obtener voltaje
48  Using Arduino / Project Guidance / Re: Water Filter RO system controller on: October 22, 2013, 02:37:54 pm
Although all of the above are really good suggestions, let me add another one.
You could add one of this...

http://www.ebay.com/itm/10000mAh-USB-External-Battery-Backup-Power-Supply-Bank-Charger-for-Mobile-Phone-/360755678693?pt=US_Cell_Phone_PDA_Chargers&var=&hash=item53feb6cde5

You can plug the battery backup to the wall to keep it charging at all times, and then power the arduino with one of the 2 USB outputs. At least in the one ive got, this works perfectly, so if there is a power failure it will keep running from the battery for quite a long time. Then you would just need to make a way of knowing that a power failure has happened, which should be easy with a digital pin.

Very interesting your project.
49  Using Arduino / General Electronics / Re: Arduino digital input, 80Vdc on: October 19, 2013, 04:48:50 pm
Do not belive everything on the net.
CTR are important to calculate with. Look at the 4N27, 10% up to what I have seen as max, 600%.
The solution with the zeners are not optimal when the input signal varies 20 volts (60-80)
I have read earlier in this tread why the design was made like this.
Was it nessecery to let voltage in the span 0-50 volts be absolutly off.
With only a resistor, 0-10 volts can be off and over 60 on.

Pelle

Thanks for reading the thread to understand.
It was initially suggested to use zener diodes and it seemed a good idea, thats why i went that way. I also found it interesting to be able to make sure if the channel was really on or off, and by using the zener I would know for sure if the voltage is above 57V.
Apart from that, yes, the voltage can vary between 60V and 80V but I guess using the zenner diodes we are dropping the voltage enough to be save after that, right?

What is your suggestion? I am always open to learning new things, maybe there a much better way of doing all this.

dc42 I am still trying to figure out all the CTR things  smiley-roll-blue
50  Using Arduino / General Electronics / Re: Arduino digital input, 80Vdc on: October 19, 2013, 04:20:29 pm
1st part ---> Completely clear!  smiley-grin
I will leave the 1n4148

2nd part --->  smiley-eek-blue

This is my first project with optocouplers and all the tutorials on the internet are much simpler than all this. they dont go into CTR, they just talk about the optocoupler as a led diode, current limiting resistor and not much more.
51  Using Arduino / General Electronics / Re: Arduino digital input, 80Vdc on: October 19, 2013, 03:47:14 pm
Current for the 4N25

4N25 CTR  50 %

I dont understand very well your formulas, but:
if indicator LED current is choosen to be 10mA (maybe lower as i dont need it to be bright)

LED current  x CTR = phototransistor current.
LED current (10mA) x CTR 50% = possible phototransistor current 5 mA

If you use 10kohm pullup = 0,5 mA from optocoupler you only need 1 mA LED current.
I dont understand this last phrase.
as they are in series, if 10mA go through the status led, arent there going to be the same 10mA through the optocoupler led?
52  Using Arduino / General Electronics / Re: Arduino digital input, 80Vdc on: October 19, 2013, 03:29:25 pm
The full design is here, as you can see there are already 2 x 1n400x at the begining as protection. however, previously I was told to put also this  other diode across the optocoupler as it was a faster diode.  Is this correct? should I leave it or remove it?

Let me go through your calculations, CRT is new to me. After I read about it I will post again.
Thanks again pelle
53  Using Arduino / General Electronics / Re: Arduino digital input, 80Vdc on: October 19, 2013, 02:17:42 pm
Your revised schematics need amending. If you are going to connect the indicator LED in series with the opto isolator, then the 1N4148 diode should be in parallel with the series combination of the indicator and the opto isolator. Otherwise, if the 80V input is reversed, you will blow the LED.
Absolutely right, I forgot about that, Thanks for looking into it and telling me.
Attached the corrected schematic. (I left the SW2 switch to do some tests in the simulator)

Another issue with both the original and the revised circuit is that if you reverse the 80V input, then almost the full 80V appears across the 2.2k resistor, and it will dissipate about 3W. This is a consequence of adding the zener diodes and reducing the series resistor.
Anything that can be done with this? I understand what you are saying but I cant see this can be fixed, right?

You haven't told us what the forward voltage of your indicator LEDs is (or even what colour they are), so I can't calculate the exact current flowing through the circuit.
Sorry about that, its a regular 5mm green led. I dont know the forward voltage as I got them from the store without further information.  According to https://www.sparkfun.com/products/9592
Could we say "1.8-2.2VDC forward drop
Max current: 20mA
Suggested using current: 16-18mA
Luminous Intensity: 150-200mcd"

I really appreciate your help dc42, now and also in the past you have helped me.

btw. I dont need very bright leds on the PCB, just the minimum to see if the channel is ON or OFF. So the current through the LED+optocoupler can be lowered, 5mA is ok?
54  Using Arduino / General Electronics / Re: Arduino digital input, 80Vdc on: October 19, 2013, 01:11:11 pm
With the latest change, arent they running at seven mA? According to the simulation at least.
Could i get a one or two line explanation on the change of putting the led in series ? Is what i said earlier correct?
There are only 0.7 volts to the second led, should i worry about this?
Thanks everyone
55  Using Arduino / General Electronics / Re: Arduino digital input, 80Vdc on: October 19, 2013, 10:52:45 am
What I can see from your layout you have the indication LED in parallell with the optocoupler.
Connect the indication LED in series with the optocoupler and the current are half of what is now.

One less component (2,2KΩ)

Pelle

Thats a very good idea Pelle !! Just cant believe how easy it was.

I did the simulation in livewire and we went from 402mW to 192mW !! Plus as you say, I can get rid of 6 resistors !!  smiley-money

So whats happening here is that by using only 1 resistor, the current "lost" in the extra resistor to drop the voltage is not required any more. The leds need very little current.
Is this correct? I just want to fully understand whats happening now.

Once again thanks ! When I fully understand whats happening I will modify my PCB to test it. Thank you  smiley
56  Using Arduino / General Electronics / Re: Arduino digital input, 80Vdc on: October 19, 2013, 09:17:26 am
Lower the current and/or lower the voltage drop over the zeners, (change from 2 to 3 zeners)

Pelle

Hello Pelle,

I can not lower the current as it is already powering the minimum things requiered (ie: pcb status led + 4N25).
I can add a third zener diode but I wanted to know if there was any other option as i am already with too many components (2zener+2diodes) per channel. If i add a third diode means another 6 diodes in the pcb + having to make the pcb bigger.

any other option?

thanks for the help
57  Using Arduino / General Electronics / Re: Arduino digital input, 80Vdc on: October 19, 2013, 07:31:53 am
UPDATE !

Sorry to bring this up again, but I need a little further help.

As I said earlier, I finally build this system and works perfectly, however I am a bit concerned on the temperature the diodes are getting up to.

There are 2 diodes (1N4750A with a 27V drop). First one to drop from 72V to 45V and then to 18V.
With a 15mA current.

1st diode)
   Power Dissipated:   
P=I∙E=0.015∙(72.73-45.73)=0.405W=405 mW

2nd diode)
   Power Dissipated:   
P=I∙E=0.015∙(45.73-18.73)=0.405W=405 mW

This diodes are 1 Watt, however they get very hot to the touch.

Any suggestion on how to upgrade the system to prevent them getting so hot?

Thank you very much for your help smiley
58  Using Arduino / Project Guidance / Re: Arduino AC Detector Help on: October 18, 2013, 12:17:50 pm
I wanted to do something similiar aggelos16, with the amazing help of the people at openenergymonitor.org we managed to put together a circuit that comes very handy.

http://openenergymonitor.org/emon/node/1050
Read through it and if you find it interesting and suits your needs let me know and I will post all the info I might find.
59  Using Arduino / Programming Questions / Re: Receiving a large line by Serial port. Buffer problem on: September 30, 2013, 12:02:40 pm
IT'S WORKING !!

I splitted the string into much shorter ones, and added a delay after each of them. Seems to be working now. I will update the post with final results later...

Code:


void Send_Serial_MYSQL()
{
  //************************************************************************************************
  if (millis() - previousmillis_Send_Serial_MYSQL > interval_Send_Serial_MYSQL)
  {
      previousmillis_Send_Serial_MYSQL = millis();
      int delay_t = 100;
    // Using an Arduino MEGA for test. Send it using Serial2
      Serial2.print(F("<INSERT INTO data (B,date_uploaded,"));
      Serial2.print(F("temp_box,temp_amb,tempDHT"));
      delay(delay_t);
      Serial2.print(F(",humDHT,weather_status,Apparent_power,"));
      Serial2.print(F("Irms,ArduinoMeter) "));
      delay(delay_t);
      Serial2.print(F("VALUES ("));
      delay(delay_t);
      Serial2.print(millis());
      delay(delay_t);
      Serial2.print(F(",2013-09-28 11:22:33,44.55,66.77,"));
      delay(delay_t);
      Serial2.print(F("88.99,00.11,2.33,444.55,6.77,888.9)>"));
      
    // Show it also in the Serial monitor
      Serial.print(F("<INSERT INTO data (B,date_uploaded,temp_box,temp_amb,tempDHT"));
      Serial.print(F(",humDHT,weather_status,Apparent_power,Irms,ArduinoMeter) "));
      Serial.print(F("VALUES ("));
      Serial.print(millis());
      Serial.print(F(",2013-09-28 11:22:33,44.55,66.77,88.99,00.11,2.33,444.55,6.77,888.9)>"));
      Serial.println();
  }
  //************************************************************************************************
}


Receiver:
Code:

void serialEvent()
{
  // Read all serial data available, as fast as possible
  while(mySerial.available() > 0)
  {
    char inChar = mySerial.read();
    //Serial.write(inChar);
    if(inChar == SOP)
    {
      Serial.println("Starting");
       index = 0;
       inData[index] = '\0';
       started = true;
       ended = false;
    }
    else if(inChar == EOP)
    {
      Serial.println("Ending");
       ended = true;
       break;
    }
    else
    {
     // Serial.println("Data");
      if(index < ARRAYSIZE-1)
      {
       // Serial.print("Saving: ");Serial.print(inChar); Serial.print(" index ");Serial.println(index);
        inData[index] = inChar;
        index++;
        inData[index] = '\0';
      }
      else { Serial.println("array overflow");}
    }
  }

  // We are here either because all pending serial
  // data has been read OR because an end of
  // packet marker arrived. Which is it?
  if(started && ended)
  {
    // The end of packet marker arrived. Process the packet
              // Print the string
              for(int i=0; i<index; i++) Serial.print(inData[i]);
              Serial.print(" Index: ");Serial.println(index);
    // Reset for the next packet
    started = false;
    ended = false;
    index = 0;
    inData[index] = '\0';
  }
}

Quote
Starting
Ending
INSERT INTO data (B,date_uploaded,temp_box,temp_amb,tempDHT,humDHT,weather_status,Apparent_power,Irms,ArduinoMeter) VALUES (127083,2013-09-28 11:22:33,44.55,66.77,88.99,00.11,2.33,444.55,6.77,888.9) Index: 198
Starting
Ending
INSERT INTO data (B,date_uploaded,temp_box,temp_amb,tempDHT,humDHT,weather_status,Apparent_power,Irms,ArduinoMeter) VALUES (132529,2013-09-28 11:22:33,44.55,66.77,88.99,00.11,2.33,444.55,6.77,888.9) Index: 198

Thank you so much everyone.
If I confirm its all working good I will post the full sketch with comments for future reference. Then I will try to add the SD card saving function.
THANKS !!
60  Using Arduino / Programming Questions / Re: Receiving a large line by Serial port. Buffer problem on: September 30, 2013, 11:36:18 am
Sending 19 characters back for every one received is killing you. Stop it. At most print one character.

I just did the printing to see if i could figure out what was happening. if I dont print I only get...
Code:
STARTING LOGGING and WATCHDOG PROGRAM
Starting
Starting
Starting
Starting

Thank you for keep trying to help me, I know we are close, but cant make it fully work.
Pages: 1 2 3 [4] 5 6 ... 94