Netduino home hardware projects downloads community

Jump to content


The Netduino forums have been replaced by new forums at community.wildernesslabs.co. This site has been preserved for archival purposes only and the ability to make new accounts or posts has been turned off.

Nobby's Content

There have been 66 items by Nobby (Search limited from 01-July 23)


By content type

See this member's


Sort by                Order  

#32847 Circuit example for 4-20mA measurement

Posted by Nobby on 28 July 2012 - 01:21 PM in Netduino Plus 2 (and Netduino Plus 1)

Hello Alex,

Sound a typical field instrumentation problem.

Use a 250ohms in parallel to 4-20mA signal. Remember V=IR .... V=(4/1000)(250) = 1V...do similar
operation for 20mA and you get 5VDC...right in the acceptable voltage range of the Analog inputs...

Hope helps.


You can't measure the current of a circuit using a parallel impedence, that's only appropriate for voltage measurements(scale conversion). Parallel impedence splits the current through branched paths and it also alters the characteristics of the circuit in a large way(unless the impedence is essentially infinite, 250ohms is very low).

The current transducer circuit has to run in series and have a negligable impedence.



#32747 Circuit example for 4-20mA measurement

Posted by Nobby on 27 July 2012 - 03:28 AM in Netduino Plus 2 (and Netduino Plus 1)

Hi Guys,

Separately, do you have any sample circuit to connect to N+ for measuring 4-20mA Analog input?
Together with sample code will be great. Currently I am using VB.net to handle the 12V pulse input through opto-coupler circuit.

Thanks in advance.


I don't think you can measure current with a microcontroller. You need to transduce the current to a voltage.

The most accurate method is getting a transducer which uses electromagnetic coupling. It's also the most expensive method.

The easiest method is to use a really small series resistance (1-5 ohms, whatever you can get your hands on) with the circuit you are measuring current. Measure the voltage across the resistance and divide that by the series resistance in your netduino code. The result has errors obviously. Adding resistance to the circuit changes the current. You might also get non-negligable current flow into the analog pin even if it has a high impedence characteristic during analog sampling.

The other consideration you need to be aware of is that 4-20mA is a rather small current to transduce. Mostly because ADC(Analog to Digital Conversion) usually has a precision relative to the operating voltage of the microcontroller(AVR/Netduino) and the value of AREF(usually set to zero volts or Vcc/2). A current that small will produce a voltage so small it will appear as zero after ADC. You'll need to amplify the transduced current signal significantly, especially if you are working in a narrow measurement range (4-20mA).

You can make a simple voltage amplifier with two resistors and an op-amp package.



#38212 How to check if ethernet is connected?

Posted by Nobby on 30 October 2012 - 12:45 AM in Netduino Plus 2 (and Netduino Plus 1)

One method I use is to create a socket which is a listener using IPAddress.Any for the binding. The listener will be created if the network is up or down but you can call Socket.Poll(). It will throw a SocketException if the network is down with an error code 10050. The only time this approach fails is if you power the ND+ up and it initially isn't connected to the switch/router. There's some bug which is apparently being fixed in 4.3 where network connectivity to the ND+ is impossible under this start-up condition but the ND+ internally believes connectivity is fine after you plug the network cable in.



#33205 30cm go!cable

Posted by Nobby on 07 August 2012 - 06:44 AM in Netduino Go

I don't seem to be able to find the 30cm go!cable's for sale anywhere. Does anyone have a source? I need the length for the location of the touch screen in this project.


You can make these kinds of things really easily. They require no soldering and you only need tools to do it if you want to make it easy for yourself. The Netduino Go uses standard 10-way header sockets(5x2 pin array) that have locator notches. The items you need to make cables are:

  • 10-way plugs (one per end if required)
  • Ribbon cable (grey or multi coloured are fine)
  • Clamping tool (less than $10 and reduces chance of mistakes)

You can get all of these from electronics hobby shops and electronics parts retailers/suppliers. The 10-way plugs usually come packaged individually with three parts to them. The larger part has sharp contacts that pierce the ribbon cable wires when you clamp it. The other two pieces clip into the main piece. One is smaller than the other. The smaller one is used to clamp the ribbon into the sharp contacts. Line the ribbon up with the contacts and push down hard with the second piece(using the clamping tool makes this really easy). Once clamped, fold the ribbon back over the plug and use the final piece to brace the ribbon. It prevents tugging from ripping the ribbon out of the plug.

The ribbon cable can be bought in lengths you require. If you can't get ribbon with 10 wires in it, just buy anything larger than that. I personally have a massive roll of 16-way that I use for everything and strip off what I don't need for a particular cable. Sometimes you can buy bundles from electronics hobby shops which have breadboard wires and ribbon cable in them with other junk if they don't sell ribbon cable.

Not sure what country you live in but I've never seen these cables pre-made purely because they're not used in consumer electronics for external purposes. I have read that packs of 10-way cables for the Netduino will be sold soon within the USA for people who aren't hardware savey. Not sure what the status on that is.



#32186 I2C communication with GainSpan GS1011

Posted by Nobby on 18 July 2012 - 11:18 AM in Netduino Plus 2 (and Netduino Plus 1)

Hey crawf, I'm about to head to bed so I'll read this thread tomorrow. Judging by your code, the methodology is fine. I use I2C comms with a GPS unit and i've tried various approaches to see how flexible the API is. The main points you need to know: -When you perform a write operation, .Net will ALWAYS provide the device address in the transaction, you don't have to add this to the byte[](not that you are but just so you know) -When you perform any transaction, if zero actions are returned from Execute(), this means that communication to the device failed completely. This has nothing to do with register addresses -.Net handles all ACK & NACK signalling(comms interlocking). The number of ACKS & NACKS returned by the slave device determines the return value of Execute(). -You can't simply read a single byte in a transaction. The data you read from a target register needs a destination array large enough to fit it. If you don't know the size required, give one sufficiently large enough. The remaining bytes in the array are set to zero(or a value defined in the device documentation).



#39290 Anyone try driving a relay with two output pins.

Posted by Nobby on 13 November 2012 - 09:48 PM in General Discussion

If I'm using a dual coil latching relay with voltage of 3V (with coil resistance 129 ohms), do I need to use the transistor ??


It's a bit touch & go with your situation. When they say 129 ohms, they mean total impedance. Part of it is reactive and the other is purely resistive. 129ohms at 3.3V from the CPU pin will draw up to 23mA which is borderline. If you intend on driving the relay in short bursts then it would possibly be acceptable but otherwise you wouldn't.

Once the transient behaviour dies away from switching the relay on, the effective impedance of the relay will be less and you'll exceed the maximum continuous current draw from the CPU pin and smoke the poor thing.

If it was me, I'd use a transistor.



#38172 Getting Started with Netduino: Connecting to the Internet

Posted by Nobby on 29 October 2012 - 10:57 AM in Netduino Plus 2 (and Netduino Plus 1)

I have version 4.1 since this is what is recommended in the Download section of this site.



I tried all your suggestions and my browser still doesn't want to connect to the Netduino. I am running the example code from Chapter 8.



I really appreciate the it! Here is a screenshot of my current network settings in MFDeploy:


I noticed in your MFDeploy screenshot that your default gateway isn't in the same IP pool as the DHCP assigned IP address(192.168.5.XXX vs 192.168.1.XXX). Since you're using 24-bit networking, a lot of things are going to go south here. It also suggests that you might have some sort of configuration issue in the netduino or your router.

--Edit my bad: I saw that was your old static IP address.



#37263 Running out of memory

Posted by Nobby on 16 October 2012 - 04:31 AM in Netduino Plus 2 (and Netduino Plus 1)

Hey Patrick, this may or may not be of any use because it depends on the back-end code for sockets. With the regular .Net framework, socket objects can be disposed but underlying socket resources are maintained by the CLR in the event that in a short space of time, you decide to create a new socket to the same remote host on the same port. This is true even if you call dispose and try to trash the socket as hard as you can. When you use the 'using' clause, it just calls Dispose on the IDisposable object. Your network stream will dispose fine but your socket objects might be doing funny things if the implementation of System.Net.Socket is the same under MicroFramework as it is for regular framework. This is the only thing I can think of that hasn't been explored yet.



#39131 Alternative Purchasing Options for Netduinos

Posted by Nobby on 12 November 2012 - 06:35 AM in General Discussion

Hi Nobby,

Which region do you live in? Also, sorry to hear about your bad experience. Is it a Netduino-reseller? If so, it may be good to know for Secret Labs which reseller.



I'd prefer not to put the particulars of the issue on the forum. Is there an appropriate email contact at Secret Labs I could shoot my email off to?



#39225 Alternative Purchasing Options for Netduinos

Posted by Nobby on 12 November 2012 - 11:39 PM in General Discussion

I have used only Nwazet and Proto-advantage for all my stuff, both give you cheap delivery, and reasonable fast shipping.
I'm always taxed on those purchases though, since Norway have this stupid customlimit, if it cost above 200NOK (about $32) I have to pay 25% on everything including shipping.

When I bought an Arduino now, I tried to buy from the italy shop, kinda, to support buying from correct place, but they did not trust the postal system, so they required me to use an $77 UPS shipping. So, of course I bought it from Adafruit instead, which sold me the unit at proper price, and $9 in shipping :)
Most of my electronic stuff is coming from the two above, pluss ebay, and adafruit.


I feel your pain. My country has horrible software tariffs with the USA. Our currency is stronger than theirs but my MSDN subscription costs me nearly twice as much as a US subscriber. I don't even order DVDs, just download everything.



#39125 Alternative Purchasing Options for Netduinos

Posted by Nobby on 12 November 2012 - 05:27 AM in General Discussion

I understand this might be a difficult ask because of how taxes and tariffs work in various countries but I was looking at being able to purchase Netduinos from overseas. There's only one reseller in my region and they have recently been 'less than helpful' with the loss of and expensive package. I would prefer not to do business with them anymore if possible and I'm a month or two away from a green light to purchase a commercial quantity of Netduinos for a client's project. I've tried using Amazon and a few other resellers and they have international shipment policies in place to prevent purchases for whatever reasons/structures you have in place with your distribution network. This has probably been asked in a few threads but have Netduino Plus 2's been shipped to most international resellers? I would be looking at moving my product's hardware platform from Netduino Plus to Netduino Plus 2 and would like to do an evaluation before buying a bunch.



#36842 .NET MF 4.3 beta

Posted by Nobby on 09 October 2012 - 10:30 AM in General Discussion

Was just about to go to bed and saw this thread. Downloaded the beta framework and installed. Two days ago I downloaded and installed the retail VS2012 Professional. Microframework applications in my solutions now load. I built a 4.2 netduino+ application, deployed and debugged, working fine so far. Will be putting this to a hard test over the next few days and hopefully will be able to do away with 2010.



#38703 High Resolution Quad Encoder Problem

Posted by Nobby on 08 November 2012 - 05:54 AM in General Discussion

Well, I understand the concept and I dont have a problem writing the code for say a 2.4GHz processor x86 with a 4 GBs of ram sampling time of around 1e-6 second easily, the problem I had over here was using this high resolution encoder with a netduino thats all. Just to put things in perspective, if the shaft is rotating at 3 revs/second (180 rpm which is not much )thats 1200*3 = 3600 interrupts/second. I just need help on generating an efficient enough code for the netduino to be able to handle all that along side of some computation thats all. Like I said I am just not used to micro-framework.


There's a couple of ways you can deal with your scenario. If your PID controller is for speed only then the only problem you'll face is convergence speed and possible overshoot depending on your performance specification. Even if the interrupt frequency basically matches the transport delay of the netduino hardware/framework, you just design your PID outer control loop as fast as the device can.

Position control for 3600 interrupts/sec is going to be hard. Depending on how smooth the control needs to be, you would probably have to slow the motor down. If you have to maintain a particular speed range then you'll most likely have jerky position control from lack of controller bandwidth and transport delay.

Although the netduino is capable of 100ns precision timing, most timing functions have 1ms precision. Do you have an option of a lower resolution encoder or do you need to have ridiculously fine position control?



#33832 Insights into DHCP issues

Posted by Nobby on 17 August 2012 - 03:27 PM in Netduino Plus 2 (and Netduino Plus 1)

Hi Nobby,


There appears to be a bugfix in lwIP to correct this type of issue. .NET MF 4.3 is getting an lwIP upgrade, so we're hoping to have a fix for this soon. [lwIP is a big complicated project and 10,000s of boards rely on it working properly...so introducing the update in beta firmware should help it get some good in-field testing.]

Chris


Thanks for the information Chris :)



#33808 Insights into DHCP issues

Posted by Nobby on 17 August 2012 - 04:15 AM in Netduino Plus 2 (and Netduino Plus 1)

I'm also having ethernet issues with the latest firmware. Although, I can't confirm if the issue exists with older versions. I discovered that the ethernet interface never works at all if a network connection doesn't exist on boot. I made a thread here: http://forums.netdui...h__1#entry32165 Nobody has shared any discussion on the matter. I'm using static IP in this case and absense of network connectivity is fine as long as it occurs after boot/powerup.



#38705 Something new is brewing in the Secret Labs

Posted by Nobby on 08 November 2012 - 06:04 AM in General Discussion

Just noticed that the Netduino Plus forum got renamed so I'm putting my money on a second generation Netduino Plus :)




home    hardware    projects    downloads    community    where to buy    contact Copyright © 2016 Wilderness Labs Inc.  |  Legal   |   CC BY-SA
This webpage is licensed under a Creative Commons Attribution-ShareAlike License.