Arduino as auxilliary device for Roboteq motor controller in wheelchair project

Dear Friends,

This project is in the "thinking" stage and I am nowhere near to detailing software or hardware. I throw it out here in order to call upon your collective imagination.

The intent is to come up with a "next generation" control system for my daughter's wheelchair. Her current system includes five Dynamic DX modules connected on a CAN bus (power module DX-PM, user interface module DX-SCR, lighting and actuator module DX-CLAM, switch interface DX-4SW, and attendant joystick module DX-ACU). In addition, an Arduino Uno + MMA7361L accelerometer on a homemade shield provides stability augmentation, and other homemade mechanical and electronic elements form her head-operated swtich array and multiplex outputs to the chair and her tablet-PC (has multiple functions, the most fundamental of which is speech output as Rachele is non-verbal). This is a workable system, but for her next chair I would like to implement a controller that doesn't rely on the proprietary, and extraordinarily expensive, Dynamic DX modules.

A Roboteq HDC2450 motor controller by itself can provide almost all of the functionality of the multiple DX modules, but not quite all. Some external components are needed to ensure fail-safe/safe-fail operation, it has little means of displaying information (just a few LEDs and PC logging), and a few extra digital output pins might be needed for auxilliary, non safety-critical, functions such as lights. My thought is to use an Arduino to provide those display and auxilliary output functions.

In order to keep the chair's wiring loom manageable, I'd like interconnections to be CAN. The Roboteq already has a CANOpen compatible controller/transceiver and software, APEM (CH products) makes a joystick with an integral J1939 compliant CANbus connection, and plenty of information and the needed libraries are available for SPI to CANbus conversion by pairing an Arduino with a MCP2510/2515 controller/transceiver pair.

With all that as a preamble, I now come to my first unresolved question. With all that at least conceptually settled, what can I use for visual display? My first though was to use an Adafruit 2.2" TFT screen or similar. However, it too would be fed from the Arduino via SPI and I absolutely do not know whether it is possible to connect two different SPI controllers to one Arduino. I imagine that it is NOT possible to connect both to the physical SPI pins. Fast screen refresh is not needed, the output will mostly be text and fairly static, but I do not know if it would be possible to connect the CAN controller as physical SPI and the TFT as software SPI.

Hence, I'd like your thoughts on two questions: (1) Is there a way to connect both a CAN controller and TFT controller via SPI? and (2) If not, can you suggest how I could add a graphical screen to a UNO (or UNO equivalent) that already has SPI used for CANbus communication (and still leave a few IO pins available for other purposes)?

Ciao, Lenny Robbins Siena, Italia

However, it too would be fed from the Arduino via SPI and I absolutely do not know whether it is possible to connect two different SPI controllers to one Arduino.

You mean like an Ethernet card with an SD card on it? Both are SPI devices. Each uses a different slave select pin.

So, yes, it is quite easy to connect two SPI devices to one Arduino.

I imagine that it is NOT possible to connect both to the physical SPI pins.

Why not? As mentioned, you need different slave select pins, but the same SPI pins are used.

Unless the LCD is to be used for input, too, a Serial LCD would be a better choice, in my opinion.

Thanks PaulS, You're quite correct. Just after I'd logged off it dawned on me that both the LCD controller and the CAN controller have CS pins and that they just have to be connected to different digital pins to select the one that I want to communicate with. The use of a straight serial screen is indeed another possibility if one I like is available when I get around to detailed design. (I assume that you mean serial off the Arduino, not directly off the Roboteq; for several reasons that's not workable.) That's a ways away; just now I'm working on scripting the Roboteq for a friend in the U.K. for a much simpler wheelchair system, and just thinking about what would be needed for my daughter. BTW, the Arduino IDE (despite my not being a great fan of C++ syntax) is a lot easier to work with than Roboteq's (and integer-only MicroBasic is pretty clunky and unesthetic). Ciao, Lenny

I did a project with Arduino -OTG- Android

Arduino : Sensing ,Control

Android : Touch,Color display,GPS,Network ,Voice

Arduino + Android It is easy ! For example :

I have a small problem How to Buy Arduino in SIENA? This seems a problem

Any electronics supplies in Siena is a problem. Telecom (on Via Massetana Romana) has basic through-hole stuff, but, for example, no SMD components. However, RS (Milano) carries Arduino and you can order from them. For "clones", you can order via e-bay, or, for example, from Hobby-King (who have an Italian-language web site if English is not your thing). Ciao, Lenny

Ciao Thank you very much

Siena This is less about electronic

. . . .

Your project Problem solved?