From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

CAN adapter with analog inputs and DIO

Hello,

I'm on the cusp of getting the green light from my boss to start developing a software/hardware package, for both internal use and possibly small external distribution. The current hurdle is identifying feasible hardware.

 

The requirements:

-CANbus node with 11 and 29 bit capability at 250 kbit for J1939 commo. TX 6 or 7 frames between 1 and 100 Hz, RX network traffic load around 30% or less.

-3-4 digital output channels

-3 channels of analog input, with modest sampling rate and input ranges. +/-30V and 1 kHz could cover it nicely. Although...if we had 50 kHz/channel and +/-50 we could add some useful features.

-Around $100 would be great. Yeah, there's the rub. Firmly precludes any NI chassis options, and is very limiting to 3rd party offerings.

 

This is a small company, with a very small engineering department, and this is the first time I've gotten close to approval for something like this. For a one off prototype a USB-6009 and USB-8473 (or similar 3rd party substitutes) might work, and be relatively cost effective. It would eventually have to migrate to a single device even for just internal use though. Field use is likely, so competent enclosure is also necessary.

 

Some options:

-Arduino with CANbus shield. I have a little experience with Arduino Uno,  the price is right, and almost 0 hardware fab required.

-Microchip PIC with onboard CAN. Moderate 8-bit experience, although adding CAN and presumably USB functions would be a stretch. PCB fab seems likely.

-mbed microcontroller Jump up in capability, have heard good things about the IDE. Again, some PCB fab necessary.

-Various sundry evaluation boards. Vary from probably capable (MSP430) to overkill for this project (Beagle Bone Black, etc).

 

Is a wonderful gem of hardware that fits this bill out there and slipped under my radar? Failing that, anyone have thoughts on any of those listed options? I have dabled in PCB design a couple times, and wouldn't mind doing some more. For a competent enclosure I'd have to look around online or talk to some friends with 3d printers, small run might be ideal for that.

 

The software side of this thing is relatively under control, as it's a permutation of several projects I've been plugging away on for awhile.

 

Thanks for any info or thoughts,
Mark

 

 

 

 

 

0 Kudos
Message 1 of 5
(5,764 Views)

 Hey Mark,

 

Yes, there are some low cost NI options that you could use for your project like a USB DAQ (but their input range is ±10 V), and the NI 8473 for your can interfacing. The issue is that none of the mentioned would adjust to your budget.

 

I also would like to recommend you that If you are going to implement this project with another platform (like Arduino or PIC or Beagle bone, etc) it would be good that you refer to their web site or discussion forums in order to get straight good feedback from the users of those 3rd party platforms.

 

>>Daniel 

0 Kudos
Message 2 of 5
(5,741 Views)

I'd recommend the AVT-852 or 853 from Advanced Vehicle Technologies.  These seem to almost fit your requirements.  These have:

 

  • USB (852) or Ethernet (853) connectivity
  • 2 CAN channels
  • 3 Analog Inputs (optional).  0-5V.  Up to 200Hz sample rate.  You'd have to build some input conditioning circuitry.  Precision may be an issue for you (8bit).
  • Doesn't have DIO, but there may be available pins on the micro (HC11 or S12) which they can route to a connector.  AVT has been really great with us in modifying the product software or hardware (although, we do a significant amount of business with them).  
  • Available in a hardened enclosure or bare board (which you can enclose any way you want).
  • Price is greater than $100, but is one of the most cost-effective CAN interfaces with its capabilities on the market we've found.  

Another option is the neoVI Red from Intrepid Control Systems, used unlicensed with their DLL (as opposed to with their VehicleSpy software).  This would blow your budget ($1k per box), but should meet your other requirements.  Again, you'd need some circuitry on your analog inputs.

 

I think to get down to $100 per box (excluding development costs), you're going to have to do something more DIY.  There are a good number of existing projects to interface CAN with existing dev boards (your Arduino example).  I found this interesting board for Raspberry Pi which includes sample code and schematics.  This might be your best route to get down to $100 per board.

0 Kudos
Message 3 of 5
(5,736 Views)

Thanks to both of you for weighing in.

 

Daniel: Yes, the budget thing is a bottleneck right now. The target price is very aggressive, probably less than academic projects or even moderately funded private projects would have. Part of me is willing to just provide prototype hardware myself, get to a functional stage that I can show off, and then once the hook is set then my boss and I can talk about how much additional time and effort vs. up front unit cost is reasonable.

 

JGruenberg: Those are at least the right idea, if not solid gold winners. My voltage resolution is really not super critical for that part, even 8 bits over a 50 or 60 volt range would be tolerable. 200 Hz, even per channel, doesn't quite blow my skirt up. I might not even need the -V capability, since theoretically this thing will always be connected through a standardized Deutsch 12 pin, which will limit opportunities for incorrect connections. The neoVI is probably nice kit, but wildly out of budget as you know.

 

Some more detail, if anyone cares. I work for an engine distributor, and CANbus is required in all our lines now. So far we've been scraping by with occasional outside contract programming, but moving at least some in-house would be great. Am hoping the first time we throttle an engine around via laptop and a VI the boss will get onboard for both LV adoption and increasing our hardware repertoire.

 

A little more research over here is pushing me away from Pi/BeagleBone solutions. I think PCB fab is also going to be necessary eventually, especially since I failed to mention a pair of DO controlled relays are necessary. Even uControllers with built in CAN modules don't usually have transceivers built in, and accomodating my voltage range (with or without -V) requires some real estate. We'd probably be looking at a base and 2 shields/capes, which will get pretty unwieldy. If I had to call the shot right now it would be mbed 1768 in a custom PCB, but I haven't ruled out PIC or Arduino solutions either. Time to get an early VI working while brushing up on EAGLE.

 

 

 

 

0 Kudos
Message 4 of 5
(5,724 Views)

Hello,

If anyone digs up this thread looking for hardware I do have an addition to make:

http://www.cananalyser.co.uk/candoauto.html

 

Sells for £150.00 for 1 down to 120 each for the production unit for 10+. ($190 to $150 US$ currently). It has a CAN to USB adapter, standalone functionality once programmed, and also features 2 analog inputs, from 0-32V. I didn't find info on sampling rate, but the two examples they show are temp and fuel level sensors, which would not normally require high speed sampling. No idea if the SDK they mention would play nicely with LV either.

 

Have fun out there,

Mark

 

 

0 Kudos
Message 5 of 5
(3,215 Views)