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.

Falstaff's Content

There have been 8 items by Falstaff (Search limited from 20-April 23)


By content type

See this member's

Sort by                Order  

#10067 AX-12 servo interface

Posted by Falstaff on 24 February 2011 - 05:04 AM in Netduino 2 (and Netduino 1)

I've begun trying to implement this half-duplex USART interface and have encountered a problem. The DIRECTION_PORT line, which determines whether we're transmitting or receiving (see the diagram above), needs to be high only while bits are being pumped out on the TX pin and then set low quickly to receive on the RX pin. Serial output is asynchronous, so I either need to respond to an interrupt, such as TXEMPTY, signaling output is complete OR wait until all bits are transmitted. Unfortunately neither function seems to be available within .NET MF. The SerialPort class contains no TX events. The Flush method helps only a little. It waits for the buffer to clear but returns before the Transmit Shift Register has cleared. So the last byte is still trickling out when Flush returns. Any advice on solving this problem? Perhaps I need to educate myself on native coding and implementing drivers to address this issue?



#9748 Quad.Net Quadrocopter for .NETMF

Posted by Falstaff on 18 February 2011 - 06:01 AM in Project Showcase

Just stepping in here as a new Netduino user to say "Hi guys!" I love the idea of a Netduino quadcopter controller! I have a Draganflyer IV, but was never impressed with its stability. I always thought that with just throttle control it should maintain stable, level flight; but it doesn't come close. (I think newer versions are far more stable.) So I've long carried the thought in the back of my mind to take on the project of developing my own controller for it. Has anyone here ever considered gutting a Draganflyer as a platform for the Quad.Net Quadcopter controller? I may eventually endeavor to help this project where I can, once I decide where I really want to devote my time. I had been looking to resume developing a land-based Robomagellan-type rover, but your project piques my interest. I have a LOT of experience with .NET/C# (Windows PC) development and a fair amount with AVR- and XBee-based electronics control. So the Netduino seems to meld these interests quite nicely.



#9744 Compatible Shields and Accessories

Posted by Falstaff on 18 February 2011 - 05:21 AM in Netduino 2 (and Netduino 1)

Sparkfun XBee Shield:

This shield may not be directly compatible with the Netduino as it uses a diode on the XBee DIN line to interface with the Arduino 5V logic levels. This is not required when interfacing to the 3.3V logic levels of the Netduino, so I shorted it with a small piece of wrirewrap wire. I don't know if it would have worked without modification with the Netduino Plus as I did not try it.

Details and photos can be found at my website.



#9743 Compatible Shields and Accessories

Posted by Falstaff on 18 February 2011 - 05:17 AM in Netduino 2 (and Netduino 1)

Sparkfun Ardumoto Motor Driver Shield:

This shield is not directly compatible with the Netduino. It expects PWM interface on data pins 3 and 11. The Netduino does not support PWM on those pins. So I bent those pins over on the underside of the board to prevent that connection and jumpered those connections to data pins 9 and 10 where the Netduino can provide PWM.

There is also a solder jumper "V-Logic" which must be changed from it's delivered setting of 5V to instead use 3.3V logic levels compatible with the Netduino.

Other than that, usage was straight-forward.

Details and photos can be found at my website.



#9742 Netduino Bot

Posted by Falstaff on 18 February 2011 - 05:08 AM in Netduino 2 (and Netduino 1)

I just completed my first simple Netduino project, a radio-controlled mini-bot platform. It leverages much of the technology I developed earlier for combat robots, such as the XBee PS2 controller, which kept the Netduino portion of the project simple.

Highlights:
* Netduino Plus (though no +plus+ features used)
* Sparkfun XBee Shield
* Sparkfun Ardumoto Motor Driver Shield
* PS2 XBee radio controller

Both Sparkfun shields required some minor modification to make them usable with the Netduino. Those details are on my website but I'll also post them to the "Compatible Shields" thread.

Details, photos and videos can be found at my website.

I have no particular plans for this project. The experience gained will be useful as I move on to my next project of controlling AX-12 Dynamixel servos (and eventually an AX-12 robotic arm) with the Netduino and the PS2 radio controller.



#9313 Integrated Help files and documents?

Posted by Falstaff on 11 February 2011 - 06:28 AM in Visual Studio

Hi Falstaff,

With Visual Studio 2010, Microsoft moved most of the help online (including the .NET Micro Framework SDK documentation).

For the AnalogInput and PWM Netduino classes, there are a bunch of samples on the forums (just search for either one). If you run into any troubles, we'll be happy to walk you through it. [We're also working on a Sandcastle-style online help system for Netduino classes.]

Chris

I did switch to online help to pick this up, though I prefer local help. Full Sandcastle help files would be nice. But even just having the self-documenting tags for intellisense and parameter help, etc. goes a long way. Fortunately the same work gets you both quite easily! Odd that the MS .NET MF has online help, but no intellisense documentation.



#9148 Integrated Help files and documents?

Posted by Falstaff on 08 February 2011 - 06:06 AM in Visual Studio

I just got my Netduino Plus, and did the blinking LED thing. Very nice! So now I'm wanting to explore all the classes available in the .NET MF and the Netduino SDK and get a grasp on the APIs and general architecture of the environment. There seems to be no integrated help in the editor (in Visual Studio 2010 Pro) as pressing F1 on the class name 'OutputPort', for example, comes up blank. Am I missing something, or is this just not there? I see the '.NET Micro Framework Platform SDK' and API reference online, but it's not integrated. I see nothing at all in the way of documentation for the Netduino-specific classes. I can see classes in the Object Browser, but there's none of the embedded (e.g. intellisense) documentation I'm used to in the full .NET libraries. So just how are Netduino developers exploring this environment and learning how to use it?



#9026 AX-12 servo interface

Posted by Falstaff on 05 February 2011 - 08:10 AM in Netduino 2 (and Netduino 1)

Hello all! I've not yet received my Netduino Plus, but I'm already looking forward to my first real project after I get some experience with the basics. I have considerable experience with AVR ATmega designs and PC-based .NET/C# development. So the Netduino seems like the answer to a lot of prayers for a great micro platform!! But I'm more of a software and digital electronics type, so for some of the more troublesome linear electronics issues I seek the advice of those with greater knowledge and experience.

First let me briefly describe my project: I already have developed a PC-based .NET/C# solution for driving AX-12+ "Dynamixel" servos using a USB2Dynamixel interface. My library is featured on the CrustCrawler site where the servos are available. I also offer a sample program to operate an AX-12 Robotic Arm using a PC joystick. Since I already have an XBee module embedded in a PS2 controller from a previous combat robot project, I'm hoping that using something like the Sparkfun XBee shield should get me up and running fairly quickly with a nice wireless joystick. But there are a few interface issues that I need to resolve to drive the AX-12 servos: (these are perhaps tightly-coupled issues)

(1) interface voltage: The AX-12 is 5v while the Netduino is 3.3v. I did find a nifty little level converter at Sparkfun that just might help. The TX side of this can apparently be used in a bidirectional way.

(2) interface logic: The AX-12 uses a single-wire half-duplex serial interface, with the following suggested driver circuit:
Posted Image
I've seen 3.3v device designs (using the Propeller) that drive the one line thru a level shifter. The Propeller can apparently use the one IO pin for both transmit and receive while still achieving the necessary high baud rate.
I've seen 5v designs (using ATmega's) that tie a TX and RX pin together directly to the AX-12 and rely on careful enabling in the software so that only one is active at a time. But the need to interface a 5v device complicates just a bit.

3) interface speed: The AX-12, by default, operates at 1M bps. It looks to me like the Netduino processor at 48MHz should handle that OK with a UART function. I'm not sure if the drivers and libraries might need some tweaking for the receive buffers to keep up at that speed. But I suspect it can be done. The incoming data arrives in short and sparse packets. I do have some concerns for the level shifter operating at that frequency. The AX-12 can be configured for lower speeds, but it's not recommended.

4) interface current draw: I don't see any specs for current draw on the AX-12 signal line, but they daisy chain indefinitely and I don't know if they boost the signal from one to the next. So I'm thinking I may need some kind of beefier driver/buffer. Perhaps I should just build the circuit as above and level-shift that final IO line. Perhaps there's a device that can do it all? I've not started looking into that yet.

So that's where I'm at. I don't think any of these issues are too terribly difficult. But any advice is appreciated. I hope to make a contribution to the community and have some fun!




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.