I have noticed that if more than one pin is set to output-HIGH, the most 
recent pin output request provides 3.3v out while the others are sacraficed 
(1.5v, .5v, etc). I am using the Adafruit_BBIO.GPIO library to control the 
pins. I am building a "climate control" system, and using the BBB and a 
DHT22 temperature/humidity sensor to operate relays to supply 120vAC to 
components (lights, heater, water pump).
 
I have: a door switch SPDT(P9_11) for safety override, a DPDT(P8_10 and 
P8_12) for automatic and manual operation, and a 3-24vDC/0-240vAC relay for 
suppling power to a lamp.
 
The P8_12 and P9_11 always have power. If the door switch is 
activated(P9_11) it activates the relay and bypasses the DPDT switch. If 
the DPDT switch is set to "manual"(P8_12) the relay is activated. Otherwise 
if the temperature from the DHT22 is above or below a set limit, and the 
DPDT switch is in "automatic"(P8_10), the relay is activated accordingly.
 
Pseudo code:
import libraries
 
# Set pins P8_12 and P9_11 to output 3.3v
GPIO.output(P8_12,HIGH)
GPIO.output(P9_11,HIGH)
 
while 1:
     read temperature
 
     # Decide to turn P8_10 on/off based on temperature
     if temp<28:
          GPIO.output(P8_10,HIGH)
     else:
          GPIO.output(P8_10,LOW)
# Loop indefinately
 
Here is the problem:
If I run a test program with only the door switch the light turn on/off as 
expected. If I execute the above code the DPDT switch and auto/manual 
control works as expected however the door switch will not supply enough 
power to activate the relay. When the above code is running and P8_10 turn 
on, or if the DPDT switch is set to manual(P8_12) the voltage across the 
door switch(P9_11) drops to ~1.5v and is less than the required 3v to 
activate the relay.
 
Question:
Can the BBB supply 3.3v out for more than one pin simultaneously, or will i 
need to add an amplifier  circuit to each output?
 
I can attach full code and schematic if it would be helpful. In the end 
there will be 8 relays, of which up to 5 will be activated simultaneously.

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to