Voting resources, early voting, and poll worker information - VOTE. ... Adafruit is open and shipping.
0

Comprimised Arduino UNO
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Comprimised Arduino UNO

by Bpierce on Fri Oct 07, 2011 11:11 am

I work at a pediatric orthopedics hospital in a research department. I recently funded a senior design project for a group of engineering seniors at a local university. They completed the project and have graduated.

The project was to create a muscle strength measurement system for children who have had a type of hand surgery and it is based on two strain gauge transducers input to an Arduino Unu board. They wrote some code that shows an airplane that flies higher when more force is applied to the transducers based on calibration coeficients (Y=mx+b). The software runs this game for transducer A for 20 seconds and displays the maximum force achieved. The process repeats 3 times and averages the three values, displays and stores this number. The software then repeats this process for Transducer B. I have decided to use a pressure transducer instead of the strain gauge Transducer A. I hooked up a pressure transducer to the Arduino board (using the same channel as Transducer A and applied a known pressures to my pressure transducer in order to obtain a calibration curve. I recorded the output Bytes using a calibration sketch that the students had written to display the output of both channels of the Arduino board. My data looked reasonable, so I opened the game software and entered the coefficients in the fields for new calibration coefficients. I then run the game and with no pressure applied to the transducer I get maximum values @ 29,271Lbs (Im expecting something close to zero and the maximum would be @300 (mmHg if pressures was applied).

I tried the game with Transducer B and got a value of 7,392 (am expecting 0). Also no change in value when I apply a load to the Transducer B.

I go back to the calibration sketch and notice that the channel for Transducer A output is static @ 30 Bytes no matter how much load I apply. The output for Transducer B is reasonable and varies when I apply loads to TransducerB when running the calibration sketch.


I replaced the (non-Arduino) input preamplifier associated with the input channel for TransucerA. No change.

Question 1) Given that I had made no changes to the software code, is it possible that somehow the microprocessor on the Arduino Uno is compromised.

Question 2) If the Arduino Uno is compromised, can't I just replace the Arduino Uno?

Question 3) Any other possibilities?


Thanks!
,Bill
Bpierce
 
Posts: 1
Joined: Fri Oct 07, 2011 11:02 am

Re: Comprimised Arduino UNO

by adafruit_support_bill on Fri Oct 07, 2011 11:26 am

It's hard to say without knowing anything about the transducers or amplifiers, but it is possible you may have overloaded something with the new pressure transducer and damaged the board. You might be able to reconfigure things to use one of the other analog inputs. But don't re-connect the new transducer until you verify that it is operating in a safe range.

adafruit_support_bill
 
Posts: 79031
Joined: Sat Feb 07, 2009 10:11 am

Re: Comprimised Arduino UNO

by zener on Fri Oct 07, 2011 1:10 pm

It sounds like as combination of hardware and software issues. You need to understand and verify the signals that the sensore are putting out. If you cannot do this then stop right there and find an electronics person who can help you. Only after you have verified that the sensors are putting out the correct signal to the hardware and it is getting to the CPU in the correct form and range, then you can fix the software, which sounds like it has some issues of range checking, overflow, etc. Good luck.

zener
 
Posts: 4567
Joined: Sat Feb 21, 2009 2:38 am

Re: Comprimised Arduino UNO

by Rukbat on Fri Nov 11, 2011 1:09 pm

Connect the transducer amplifier output to a meter or oscilloscope and verify that varying the pressure on the transducer varies the output.

Alternatively, hang a variable resistor between VCC (5 volts on the Arduino) and ground and verify that running the control up and down gives you various values.

The first is "signal tracing", the second is "signal injection". Either one will isolate the problem. Doing both will help if both the transducer system (transducer plus amplifier) and the Arduino were damaged.
Rukbat
 
Posts: 20
Joined: Mon Nov 07, 2011 12:15 pm

Please be positive and constructive with your questions and comments.