Show Posts
Pages: 1 [2] 3 4
16  Using Arduino / Motors, Mechanics, and Power / Voltage Drop across H-Bridge on: January 05, 2012, 02:20:22 pm
I am using the flowing shield: http://mcukits.com/2009/03/12/assembling-the-freeduino-arduino-motor-shield/
Which uses the following H-Bridge: http://www.makingthings.com/resources/datasheets/SN754410NE_slrs007b.pdf

I have a few questions before I put the kit together as I might need to invert the Vin header to supply a different Vin for the board then the Arduino.

1) what is the maximum current that I can safely pull from vin header when the Arduino is supplied by the barrel jack (want to make sure I don't burn traces on the board)?

2) From the data sheet, it looks like the motor voltage is likely to be around ~2 volts less then the drive supply voltage (page 4, High-level output voltage & Low-level output voltage).  However it is rated at 1A continuous and max dissipation of 2075 mW, which would only allow 0.5 A continues per channel at a 2 volt per channel drop.  Am I miss reading one of the specifications?
17  Using Arduino / Sensors / Re: Softpot membrane potentiometer on: January 04, 2012, 02:57:07 pm
http://arduino.cc/en/Tutorial/AnalogInOutSerial

as the code sends the analog information to the serial port (viewable via the serial monitor), you don't need to connect the LED
18  Topics / Robotics / Re: Traxxas E-revo robot projekt (remove failsafe?) on: December 30, 2011, 05:02:07 pm
is this what is happening: http://traxxas.com/support/Traxxas-Speed-Controls-and-Low-Voltage-Detection-LVD
19  Topics / Robotics / Re: Traxxas E-revo robot projekt (remove failsafe?) on: December 30, 2011, 02:34:36 pm
You probably don't want to remove the failsafe as it is a failsafe, instead you should figure out what is triggering it.

lets start with some questions to see if we can gather the needed information to assist:

1) what is the code you are running on the arduino?

2) Please supply a link to a specification sheet for the Electronic Speed Controller you are using so we can compare your code to the specs.
20  Using Arduino / Networking, Protocols, and Devices / Re: Wireless Range and bps on: December 30, 2011, 11:11:02 am
look into signal modulation if you want to understand the hows and whys.
21  Using Arduino / Project Guidance / Re: Detecting audio frequency (notes) on: December 29, 2011, 11:05:44 pm
look into Fast Fourier Transform - it might help with what you are looking for.
22  Using Arduino / Storage / Re: Are there examples of EEPROM wear-leveling algorithms for storing a queue? on: December 29, 2011, 10:56:02 pm
[quoteActually since all entries are time/date stamped the API on the web server ignores duplicates so resending the anchor entry when the queue is empty is not a bad thing.  This version also more effectively spreads the wear.][/quote]

are you storing the date/time with each sample? if so you could just scan the eeprom for the newest date and then just over write then next, you could then loop through the eeprom and only have one erase/write per data save.
23  Using Arduino / Networking, Protocols, and Devices / Re: Wireless Range and bps on: December 29, 2011, 10:10:21 pm
As you put more data into the modulation your Signal to Noise margin needs to be higher to pull the data back out with out errors.
24  Using Arduino / Motors, Mechanics, and Power / Re: l293d problem on: December 29, 2011, 08:32:18 pm
the official rev 3 board does that (different chip)
http://mcukits.com/2009/03/12/assembling-the-freeduino-arduino-motor-shield/ does also

I looked at the spec sheet and it looks like an acceptable thing to do
25  Using Arduino / Sensors / Re: Interfacing TMP006 with Arduino Uno on: December 29, 2011, 06:50:47 pm
sorry, after looking at the spec sheet closer it uses I²C (arduino library: http://www.arduino.cc/en/Reference/Wire) not SPI

Datasheet
Quote from: page 13
SERIAL INTERFACE
The TMP006 operates only as a slave device on either the two-wire bus or the SMBus interface. Connections to either bus are made via the open-drain I/O lines, SDA, and SCL. The SDA and SCL pins feature integrated spike-suppression filters and Schmitt triggers to minimize the effects of input spikes and bus noise. The TMP006 supports the transmission protocol for fast (1 kHz to 400 kHz) and high-speed (1 kHz to 3.4 MHz) modes. All data bytes are transmitted MSB first
26  Using Arduino / Sensors / Re: Interfacing TMP006 with Arduino Uno on: December 29, 2011, 05:27:25 pm
it looks like this library would handle the communication with the sensor: http://arduino.cc/en/Reference/SPI
You would need to verify on the data sheet the fine details.
27  Using Arduino / Networking, Protocols, and Devices / Re: xbee controlling LEDs on: December 29, 2011, 12:18:33 pm
you need to mix your "turn on" and "turn off" code into one serial read statement, otherwise they will prevent each other from getting valid data from the serial interface.
28  Using Arduino / Networking, Protocols, and Devices / Re: Ethernet Client Issue with 1and1.co.uk on: December 28, 2011, 10:36:55 pm
looks like the server has it as Index.html not index.html - the part of the URL after the hostname/ is case sensitive.  The response from the server is giving you the URL to request to get the page..
29  Using Arduino / Installation & Troubleshooting / Re: Cannot upload sketch to arduino from Windows7 on: December 28, 2011, 10:18:10 pm
check what com port you have selected, the arduino most likely didn't enumerate at com1 that your error message shows the IDE trying to use.
30  Using Arduino / Networking, Protocols, and Devices / Re: xbee controlling LEDs on: December 28, 2011, 08:05:42 pm
I had a moment and came up with this
I haven't worked with the xbee so am assuming that it works like normal serial interface as you seem to be enabling it as such, but if there is something special on how to use it, you may need to adjust this code.

If someone else could look at my logic to make sure this works, it compiles, but I haven't tested the code on a board.

Code:
// array to hold LED pin numbers
int myLED[] = {11, 12, 13};  
//array to hold codes for signaling
int myLEDCode[] = {'A', 'B', 'C'};
// int to record number of LEDs
int numLED = 3;
// track when LED was last enabled
unsigned long previousLEDOnMillis[] = {0, 0, 0};

//track when last LED update was sent to other board
unsigned long previousUpdateMillis[] = {0, 0, 0};

// array to hold switch pin numbers
int mySwitch[] = {5, 6, 7};
//assuming number of switches matches number of LEDs so reusing that variable

//variable to track current millis value for current loop
unsigned long currentMillis;

// update send interval
unsigned int updateInterval = 10;

// LED on time interval
unsigned int ledInterval = 15;

void setup () {
  // Set LED pins to output
  for( int i = 0; i < numLED; i++) {
    pinMode(myLED[i], OUTPUT);
  }
  // Set switch pins to inputs
  for( int i = 0; i < numLED; i++) {
    pinMode(mySwitch[i], INPUT);
  }
  // start up serial
  Serial.begin(9600);      
}

void loop(){
  // set current millis for loop
  currentMillis = millis();
  
  while (Serial.available() > 0) {
    // load character in to temp variable
    int inByte = Serial.read();
    
    // loop to set previousLEDOnTime for coresponding LED
    for( int i = 0; i < numLED; i++){
      if( inByte == myLEDCode[i]){
        //set previousLEDOnTime so we know when to turn LED on, and turn LED on
        previousLEDOnMillis[i] = currentMillis;
        digitalWrite(myLED[i], HIGH);
      }
    }
  }

  //loop to check for button presses
  for( int i = 0; i < numLED; i++){
    if (digitalRead(mySwitch[i]) == HIGH){
      // update other board, set last update time if we haven't in last 10 ms
      if (currentMillis - previousUpdateMillis[i] >= updateInterval){
        Serial.print(myLEDCode[i]);
        previousUpdateMillis[i] = currentMillis;
      }
      // set LED off time and enable port
      previousLEDOnMillis[i] = currentMillis;
      digitalWrite(myLED[i], HIGH);
    }
  }
  
  //loop to check if an LED pin needs to be turned off
   for( int i = 0; i < numLED; i++){
     if (currentMillis - previousLEDOnMillis[i] >= ledInterval){
       // it has been more then ledInterval since pin was last signaled to be on
       digitalWrite(myLED[i], LOW);
     }
   }

}
Pages: 1 [2] 3 4