Recent Posts

Pages: [1] 2 3 ... 10
1
Questions / Re: Motor
« Last post by Lauszus on October 20, 2017, 09:42:35 AM »
You can buy similar motors to the ones used for the Balanduino at Pololu: https://www.pololu.com/product/2823.

Regards
Kristian Sloth Lauszus
2
Questions / Motor
« Last post by Ann on October 17, 2017, 10:50:50 PM »
Please could u send me any link where I can buy the motor  u r using? Thanks.
3
Questions / Re: encoders and schematics for balanduino board
« Last post by Lauszus on May 29, 2017, 03:10:10 PM »
The schematic in pdf format is located in the Github repository at the following link: https://github.com/TKJElectronics/Balanduino/tree/master/PCB.

Regards
Kristian Sloth Lauszus
4
Questions / encoders and schematics for balanduino board
« Last post by imwoody36 on March 25, 2017, 12:35:14 AM »
I am finding it difficult to locate schematics, I have only purchased the balanduino board, and not the entire kit
my question is what kind of encoder signal and where does it connect to the board?
I found the PDF file with the board, and I found eagle software but dont understand how to view schematics in eagle
 

5
Software development / Re: Programing Balanduino code
« Last post by Lauszus on March 06, 2017, 11:31:30 PM »
Hi Sten,

1. targetOffset is used in order to control the Balanduino forward and backward. This will set an offset angle, which is then used as the input to the PID controller. Please see: https://github.com/TKJElectronics/Balanduino/blob/0a7c3d0dcb45b54746e9ff507bba430c2bd7e807/Firmware/Balanduino/Motor.ino#L44-L46.

2. Yes you control the Balanduino forward and backward by setting the targetOffset. Please see the following file: https://github.com/TKJElectronics/Balanduino/blob/0a7c3d0dcb45b54746e9ff507bba430c2bd7e807/Firmware/Balanduino/Bluetooth.ino.

3. The scale function simply maps the input value "a" with the range between "b" and "c" linearly to an output value between "d" and cfg.controlAngleLimit. For instance this line: https://github.com/TKJElectronics/Balanduino/blob/0a7c3d0dcb45b54746e9ff507bba430c2bd7e807/Firmware/Balanduino/Bluetooth.ino#L351 converts the input value with the range 0-1 to 0-cfg.controlAngleLimit.

Note that cfg.controlAngleLimit can be set via any of the provided apps or just the serial monitor. By default it is set to 7 degrees: https://github.com/TKJElectronics/Balanduino/blob/0a7c3d0dcb45b54746e9ff507bba430c2bd7e807/Firmware/Balanduino/EEPROM.ino#L56.

Regards
Kristian Sloth Lauszus
6
Software development / Re: Programing Balanduino code
« Last post by Sten on March 06, 2017, 03:47:21 PM »
Hi,

Ok, so to be more specific I wonder how the targetOffset works and and what the different values means when you set:  targetOffset = scale(data a, data b, data c, data d, cfg.controlAngleLimit); 
1. What is  targetOffset?
2. How do you get different speeds? I assume by changing data a above?
3. What value should data b, data c, data d and cfg.controlAngleLimit have and why?

/Sten
7
Software development / Re: Programing Balanduino code
« Last post by Lauszus on February 20, 2017, 04:45:44 PM »
Hi Sten,

You need to be more specific. What exactly do you want to do? Do you want to move the Balanduino from your own application?

Regards
Kristian Sloth Lauszus
8
Software development / Programing Balanduino code
« Last post by Sten on February 16, 2017, 11:18:36 AM »
Hi!

I am trying to program the Balanduino code so that the Balanduino can move forward a certain distance and then stop. I have some problem to understand the Balanduino code, mainly because I am used to program in java and not in c. Could someone please explain how the code should look like and which methods I should call in the different classes and what theses methods do? Thanks for any help  :)

Regards

Sten
9
Hardware mods / Re: MEGA2560
« Last post by ulmtn on February 04, 2017, 10:09:12 AM »
Thank you for the reply. The priority  is highest in PortB. I am happy, that there is a solution using four external interrupts of the Mega2560 to count encoder :
 #define leftEncoder1Pin   2  // Used for attachInterrupt
 #define leftEncoder2Pin  19 // Used for attachInterrupt
 #define rightEncoder1Pin 3  // Used for attachInterrupt 
 #define rightEncoder2Pin 18 // Used for attachInterrupt

  attachInterrupt(digitalPinToInterrupt(leftEncoder1Pin), leftEncoder, CHANGE);
  attachInterrupt(digitalPinToInterrupt(rightEncoder1Pin), rightEncoder, CHANGE);
  attachInterrupt(digitalPinToInterrupt(leftEncoder2Pin), leftEncoder, CHANGE);
  attachInterrupt(digitalPinToInterrupt(rightEncoder2Pin), rightEncoder, CHANGE);

This gives the same performance as Revision 1.2 with separate encoder functions. Not sure if it really better than Rev 1.2.
The defines for PIN_CHANGE_INTERRUPT_VECTOR can be deleted, but all the #if defined statements must be deleted, too
10
Hardware mods / Re: MEGA2560
« Last post by Lauszus on February 03, 2017, 10:52:29 AM »
Hmm I don't really know. Maybe those interrupts has a lower priority? Unfortunately I don't know anyway to solve your problem. Please keep me posted if you find a solution.

Regards
Kristian Sloth Lauszus
Pages: [1] 2 3 ... 10