Show Posts
Pages: [1] 2
1  Using Arduino / General Electronics / Re: Potentiometers for a radio control on: August 14, 2014, 05:49:26 am

The circuit you describe may not work exactly as you imagine since the parallel pot will affect linearity of the analog output.  You'll be introducing what's known as “exponential”, which makes servo movement less pronounced when the stick is near center and greater at the extremes of stick deflection.  In fact, I've modeled an expo function after the same type of circuit.  In your case, I expect the expo rate will not be balanced unless the trim pot is centered, which negates the effect you want.  The 5K fixed resistors should reduce the nonlinearity and imbalance, but it may still be noticeable.

Jon
2  Development / Other Hardware Development / Re: Problems with eagle CAD annotation issue on: May 07, 2014, 05:35:53 am

In addition to pico's advice, use ERC to indicate any discrepancies between the two files.  You can often recover if you haven't made major changes.

Jon
3  Products / Arduino Due / Re: analogRead problem with IDE 1.5.5 libraries on: December 16, 2013, 07:50:21 pm

That fixes the read values, although conversion times are back to the same as 1.5.4.

http://www.djerickson.com/arduino/ has some information about speeding up ADC read times.  Using the line
Code:
REG_ADC_MR = (REG_ADC_MR & 0xFFF0FFFF) | 0x00020000;
reduces twenty reads in my sketch from 840uS to 240uS.

Jon
4  Products / Arduino Due / Re: analogRead problem with IDE 1.5.5 libraries on: December 09, 2013, 04:44:48 am

It appears 1.5.5 lost the ability to use analog input numbers and only accepts analog input names.  Take a look at the short sketch below.  I'm going back to 1.5.4 until the bug is fixed.

Code:
void setup() {
  Serial.begin(115200);
  analogReadResolution(12);

  //These read properly
  Serial.println(analogRead(A0));
  Serial.println(analogRead(A1));
  Serial.println(analogRead(A2));
  Serial.println(analogRead(A3));
  Serial.println(analogRead(A4));
  Serial.println(analogRead(A5));
  Serial.println(analogRead(A6));
  Serial.println(analogRead(A7));
  Serial.println(analogRead(A8));
  Serial.println(analogRead(A9));
  Serial.println(analogRead(A10));
  Serial.println(analogRead(A11));
  Serial.println();

  //These read incorrectly
  for(byte n = 0; n <= 11; n++)  {
    Serial.println(analogRead(n));
  }
  Serial.println();

  while(1);  {}  //halt here

}

void loop() {
}


Jon
5  Topics / Product Design / Re: Strange resistor names in Eagle on: July 30, 2013, 05:49:52 am

The $1 designation is usually caused by the device prefix not being set in the component library.  Once that's corrected, perform Update all in the Library menu. 

BTW, the free version of EAGLE does not have a component limit. 

Jon
6  Community / Exhibition / Gallery / Re: Kraftuino (newly "computerized" old RC transmitter) on: March 06, 2013, 08:38:26 pm

Nice job!  It's always good to see a classic transmitter put back into service.  You might look at Gordon Anderson's MicroStar2000 Encoder for more features you could add to your design. 

Jon
7  Using Arduino / Programming Questions / Re: Getting Error:- 'INPUT_PULLUP' was not declared in this scope on: January 11, 2013, 05:32:11 am

tack,

The Mighty1284p core files lack that instruction.  I've had great success using the standard core files with my 1284p boards for several months.  Try the following change in the boards.txt file for your board:

Code:
#bobuino.build.core=arduino:arduino
bobuino.build.core=standard


Jon
8  Using Arduino / Project Guidance / Re: High precision servo control. on: October 20, 2012, 08:58:41 am

Aurora 9 joysticks are available and quite reasonably priced.  The usual difficulty with joysticks like these is they only swing about 1/5 of the total pot travel.  To get a full ADC count, you may need to use an external analog reference. 

Jon
9  Community / Bar Sport / Re: Thermal images of a Mega on: May 20, 2012, 07:27:55 pm

As for the FTDI chip, it's very simple to use and reliable, I like it. I just wish they had a smaller version, after all you only need about 6 pins.


Rob,

Take a look at the new FT230 and FT231 from FTDI.  16 and 20 pins, respectively, and less than half the cost of the FT232.  I think I'm going to like these even better!

Jon
10  Using Arduino / Project Guidance / Re: looking for a shutter button switch on: December 01, 2011, 06:59:07 am

What you're looking for is a "double action" switch. 

Jon
11  Using Arduino / Microcontrollers / Re: Need Help with TQFP-44 version of 1284P bootloader on: November 13, 2011, 07:39:33 am

Constantin,

I also tried the Bahbots bootloader and cores on a 1284.  The bootloader installed correctly and programs would compile, but uploads would halt without an error message.  My best results use a mix of brewtroller's bootloader/cores and Arduino-0022 cores.  The procedure can be found in the last post of this thread.  I've got no idea how this would affect your pin definitions, since my application was for a Sanguino.

Jon
12  Using Arduino / Project Guidance / Re: Solved: Sanguino, servo, LCD, and serial... on: October 27, 2011, 02:58:42 pm
I think I copied another section to add this to avrdude.conf:

Yeah, sometimes it's difficult to remember all the steps you went through to get something working.

Thanks so much.  Your addition at least let me compile for the 1284P, but uploads would lock up without any error message.  A little more playing and here's what finally worked:


Download brewtroller's bootloader & cores.

Keep the pins_arduino.h, pins_arduino.cpp, WInterrupts.c, and wiring_private.h in the 1284P cores directory, delete all other files.

Copy Arduino-0022 core files, except pins_arduino.*, WInterrupts.c, and wiring_private.h to the Sanguino1284P cores directory.

In the Sanguino1284P cores directory, edit pins_arduino.h:

Code:
#define NOT_ON_TIMER 0
#define TIMER0A 1
#define TIMER0B 2
#define TIMER1A 3
#define TIMER1B 4
#define TIMER2  5
#define TIMER2A 6
#define TIMER2B 7
//next nine lines added by jac (stratosfear)
#define TIMER3A 8
#define TIMER3B 9
//#define TIMER3C 10
//#define TIMER4A 11
//#define TIMER4B 12
//#define TIMER4C 13
//#define TIMER5A 14
//#define TIMER5B 15
//#define TIMER5C 16


Finish by making CrossRoads' change to avrdude.conf.

Thanks, again!

Jon



Reason for edit:  If the 1284P WInterrupts.c and wiring_private.h are overwritten, functionality of attachInterrupt(2, , ) is lost.
13  Using Arduino / Project Guidance / Re: Solved: Sanguino, servo, LCD, and serial... on: October 26, 2011, 06:58:17 am

Thanks for the suggestion, Bob.  I had those files, but didn't try them until this morning.  The Duino 644P board gives me about 5 seconds of twitching every 15 seconds, or so.  It's not as bad as the Sanguino cores, but not as good as stock Arduino-0022, either. 

I have a 1284P with the bootloader installed and want to try it in the board.  Any time I try uploading to the chip, I get the error message, 'avrdude: AVR Part "atmega1284p" not found', followed by a list of valid parts.  Did you make changes to avrdude.conf?

Jon
14  Using Arduino / Project Guidance / Re: Sanguino, servo, LCD, and serial... on: October 25, 2011, 09:21:59 am

Okay, Arduino-0018 did no good at all, so I returned to 0022 and started looking through the core files to see if anything looked wrong – not that I’m any good reading someone else’s code.  On a guess, I deleted all the Sanguino core files, except pins_arduino.c and pins_arduino.h.  Then I copied all the other Arduino core files to the Sanguino core directory.  Now, I’ve got a nice, quiet servo! 

Although this procedure solved one problem, it may introduce others as my program expands.  Still, I’m confident enough to proceed with a circuit board. 

Jon
15  Using Arduino / Project Guidance / Re: Help with eagle on: October 24, 2011, 09:52:45 am
I'm glad that worked for you, Texy. 

Jon
Pages: [1] 2