There is always 0.7 volts on digital pins even when they're not active.
#1
Posted 20 February 2011 - 09:02 AM
#2
Posted 20 February 2011 - 10:42 AM
#3
Posted 20 February 2011 - 05:49 PM
If you drive them as an OutputPort and set their state to false (0V), do you still see power?
Yes, I see 0.7 volts, even when the output port is set to false.
#4
Posted 20 February 2011 - 06:26 PM
Yes, I see 0.7 volts, even when the output port is set to false.
Fabien,
Are you using the Pins. enumeration (which gives you GPIO pins 5-20) instead of the Cpu.Pin enumeration?
If you set the OutputPort to true, do you see 3.3V?
Chris
#5
Posted 20 February 2011 - 09:02 PM
Are you using the Pins. enumeration (which gives you GPIO pins 5-20) instead of the Cpu.Pin enumeration?
Here's what I'm doing (NETDUINO_MINI is defined in this case):
#if NETDUINO_MINI private static readonly OutputPort _servoPowerEnable = new OutputPort(Pins.GPIO_PIN_16, false); private static readonly PushButton _pushButton = new PushButton(Pin: Pins.GPIO_PIN_17, Target: PushButtonHandler); private static readonly OutputPort _ledOverride = new OutputPort(Pins.GPIO_PIN_13, false); private static readonly OutputPort _ledServoPowerEnable = new OutputPort(Pins.GPIO_PIN_15, false); private static readonly PWM _ledLowHeat = new PWM(Pins.GPIO_PIN_18); private static readonly PWM _ledHighHeat = new PWM(Pins.GPIO_PIN_19); private static readonly HS6635HBServo _servo = new HS6635HBServo(Pins.GPIO_PIN_20,minPulse: 700, centerPulse: 1600); #else private static readonly OutputPort _servoPowerEnable = new OutputPort(Pins.GPIO_PIN_D3, false); private static readonly PushButton _pushButton = new PushButton(Pin: Pins.ONBOARD_SW1, Target: PushButtonHandler); private static readonly OutputPort _ledOverride = new OutputPort(Pins.GPIO_PIN_D2, false); private static readonly OutputPort _ledServoPowerEnable = new OutputPort(Pins.GPIO_PIN_D4, false); private static readonly PWM _ledLowHeat = new PWM(Pins.GPIO_PIN_D5); private static readonly PWM _ledHighHeat = new PWM(Pins.GPIO_PIN_D6); private static readonly HS6635HBServo _servo = new HS6635HBServo(Pins.GPIO_PIN_D9,minPulse: 700, centerPulse: 1600); #endif
Complete source: http://netduinohelpe...29%2fProgram.cs
If you set the OutputPort to true, do you see 3.3V?
Actually ~1.4 volts in this case because of a voltage divider configuration on the pin. But yes, it would be 3.3v without it.
#7
Posted 25 February 2011 - 03:24 AM
#8
Posted 25 February 2011 - 06:46 AM
#9
Posted 27 February 2011 - 08:34 AM
#10
Posted 28 February 2011 - 02:32 AM
Hi Fabien,
Okay, I've looked at the schematic, board design, and source... You should have 0.00VDC (GND) on your OutputPorts when you do an OutputPort.Write(false);
Is there any chance you could put your Netduino Mini on an empty breadboard, provide power, run a program which creates an OutputPort, set the OutputPort to false (0V) and then measure the voltage between that pin and GND?
If you're still seeing voltage at that point, we'll run the same test here and come to a resolution for you.
Chris
Hi Chris,
As you suggested it, I put my other netduino-mini on a breadboard, wrote a proggy setting pin 10 to pin 20 as output pins and powered the netduino-mini using a 5V FTDI cable (5v on pin 21).
Here are the results of my measurements:
pin 10: 0.0v
pin 11: 3.4v
pin 12: 5.0v
pin 13: 0.0v
pin 14: 0.0v
pin 15: 0.0v
pin 16: 0.0v
pin 17: 3.3v
pin 18: 3.3v
pin 19: 3.3v
pin 20: 3.3v
I went to do the same thing when powering the netduino-mini with 9 volts (pin 24 and 23) and... I let the magic smoke out of the 5v voltage regulator. I believe I shorted one of the pins of the voltage regulator as I went to take a measurement and it died with a stinky puff of smoke
It's too bad because that was the interesting part of the test since on my other netduino-mini, when powered using 9 volts, pin 16 configured as an output pin shows 0.7 volts even when set of 'false'.
-Fabien.
#11
Posted 28 February 2011 - 02:45 AM
#12
Posted 28 February 2011 - 03:09 AM
Fabien,
Let us mourn our fallen comrade.
On your tests...
1) The pins with positive voltage readings...I'm assuming that you set those OutputPorts to TRUE correct?
2) Not sure why pin 12 would read 5V. That's really odd, since the Netduino Mini only drives 3.3V signals. Was a TTL serial cable plugged in when you took the measurements?
Chris
About #1: all the output ports are set to FALSE. Here's what the app does:
public static void Main() { var pins = new OutputPort[(int)Pins.GPIO_PIN_20 - (int)Pins.GPIO_PIN_10]; var count = 0; for (int pin = (int) Pins.GPIO_PIN_10; pin <= (int) Pins.GPIO_PIN_20; pin++, count++){ pins[count] = new OutputPort((Cpu.Pin) pin, false); } while (true) { Thread.Sleep(5000); Debug.Print("beep..."); } }
About #2: yes, my bad, the FTDI cable was connected when I took the measurement. When disconnected, pin 11 & 12 both read 3.3 volts.
#13
Posted 28 February 2011 - 03:28 AM
public static void Main() { var p13 = new OutputPort(Pins.GPIO_PIN_13, false); var p14 = new OutputPort(Pins.GPIO_PIN_14, false); var p15 = new OutputPort(Pins.GPIO_PIN_15, false); var p16 = new OutputPort(Pins.GPIO_PIN_16, false); var p17 = new OutputPort(Pins.GPIO_PIN_17, false); var p18 = new OutputPort(Pins.GPIO_PIN_18, false); var p19 = new OutputPort(Pins.GPIO_PIN_19, false); var p20 = new OutputPort(Pins.GPIO_PIN_20, false); while (true) { Thread.Sleep(5000); Debug.Print("beep..."); } }
and now, all the pins do show 0.0 volts...
Had forgotten that pin definitions aren't always sequential... <facepalm>
Still, our mystery is not solved yet... Stay tuned.
#14
Posted 28 February 2011 - 03:38 AM
and now, all the pins do show 0.0 volts.
Okay, great. Now if you put the Netduino Mini back into your circuit using this program...do you still get 0.7V?
Chris
#15
Posted 28 February 2011 - 06:22 AM
#16
Posted 28 February 2011 - 06:32 AM
Ok, mystery solved
Floating pins show ~0.7 volts when the circuit is powered with 9 volts, even when the corresponding output ports are set to FALSE.
-Fabien.
Hi Fabien,
Which pins are floating? If they're OutputPorts set to false, they should be driven (to 0V) and not floating...
Chris
#17
Posted 28 February 2011 - 06:38 AM
#18
Posted 28 February 2011 - 06:40 AM
For instance, pin 14 in the circuit is not connected to anything (no external pull-up or pull-down resistor) and it showed 0.7 volts.
Okay, so just to confirm:
1. When powered via 5V regulated power everything is fine.
2. When powered via VIN (9V unregulated) the output is incorrect?
If that's accurate, when powering via VIN...what voltage do you measure between VIN and GND? 9V exactly?
Chris
#19
Posted 28 February 2011 - 07:01 AM
#20
Posted 28 February 2011 - 11:35 AM
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users