Forum Rule: Always post complete source code & details to reproduce any issue!
Page 3 of 3 FirstFirst 1 2 3
Results 51 to 65 of 65

Thread: W.A.L.T.E.R. 2.0 and the Teensy 3.1

  1. #51
    Member geekguy's Avatar
    Join Date
    Feb 2014
    Location
    Beaverton, OR
    Posts
    66
    This is why I get frustrated when I am trying to test the Teensy 3.1 on W.A.L.T.E.R. - it's a true wiring nightmare, and a very fragile setup.

    Click image for larger version. 

Name:	walter_wiring_nightmare.jpg 
Views:	175 
Size:	146.2 KB 
ID:	1454

    8-Dale

  2. #52
    Member geekguy's Avatar
    Join Date
    Feb 2014
    Location
    Beaverton, OR
    Posts
    66
    More pictures of W.A.L.T.E.R. 2.0:

    The Arduino Mega ADK with the DFRobo Sensor Shield. This is a very nice shield for the Arduino Mega! I have drilled mounting holes for the Mega board and shield, but I don't have the right standoffs to mount them.
    Click image for larger version. 

Name:	walter_arduino_mega_adk.jpg 
Views:	201 
Size:	191.5 KB 
ID:	1455

    The display and sensor breadboard. The IMU is above and to the right of the matrix display, the DS1307 RTC is below that, and the TCS34725 RGB Color and TMP006 Heat sensors are to the right of that. I got everything on the breadboard, including the breadboard, from Adafruit.
    Click image for larger version. 

Name:	walter_display_sensor_breadboard.jpg 
Views:	192 
Size:	179.1 KB 
ID:	1456

    Front view of W.A.L.T.E.R. coming right at you. The front pan/tilt has a Parallax PING ultrasonic sensor (top) and a Sharp GP2Y0A21YK0F IR sensor (bottom).
    Click image for larger version. 

Name:	walter_front.jpg 
Views:	197 
Size:	175.1 KB 
ID:	1457

    The SSC-32 Servo Controller is on the left, with the BotBoarduino on the right. These are Lynxmotion products.
    Click image for larger version. 

Name:	walter_ssc32_botboarduino.jpg 
Views:	292 
Size:	175.5 KB 
ID:	1458

    I just added a Teensy3.1 next to the display and sensor board. You can also see the BotBoarduino, SSC-32, and Arduino Mega ADK boards, top to bottom, on the right.
    Click image for larger version. 

Name:	walter_teensy31.jpg 
Views:	124 
Size:	161.7 KB 
ID:	1459

    Here's a shot of the top of W.A.L.T.E.R. from the back.
    Click image for larger version. 

Name:	walter_top.jpg 
Views:	126 
Size:	167.4 KB 
ID:	1460

    8-Dale
    Last edited by geekguy; 02-14-2014 at 01:19 PM. Reason: Added info about standoffs

  3. #53
    Member geekguy's Avatar
    Join Date
    Feb 2014
    Location
    Beaverton, OR
    Posts
    66
    I think I am on the track of a hardware related issue.

    I've moved everything back over to the Arduino Mega ADK board, and have been playing with it a bit tonight. I have everything working now, except the RoboClaw. When I turn the RoboClaw on, I hear this weird noise from W.A.L.T.E.R.'s underside. The RoboClaw is mounted on the underside of the bottom deck with the motors.

    I turned W.A.L.T.E.R. over, and saw the RoboClaw blinking an error condition. This is with it connected to Serial2 (17, 16) of the Mega. I moved it to Serial3 (15, 14), and the noise and blinking error went away. I still have to figure out what the error code is to be sure what is/was wrong with it on Serial2. I need to go through the configuration procedure for the RoboClaw from the start again, to be sure I have it in the configuration I want it in (Advanced Packet Serial).

    Going back to a known configuration helps me spot errors easier and quicker. Once I have the RoboClaw sending me back good information again, I can proceed working on some simple code that actually makes the motors do something. It's also possible I may have the motor encoders connected wrong - I'm not completely clear how this is supposed to work.

    8-Dale

  4. #54
    Member geekguy's Avatar
    Join Date
    Feb 2014
    Location
    Beaverton, OR
    Posts
    66
    I'm back to working on W.A.L.T.E.R. now! I ran out of dynamic memory on the processor (BotBoarduino) on my new SES Rover, so am switching things around a bit.

    The SES Rover: I call it this because it doesn't have a better name yet, and because I built it entirely out of Servo Erector Set parts from Lynxmotion. I designed and built this robot over a night I didn't sleep at all. I added the pan/tilt and sensors the next day. I slept that night.
    Click image for larger version. 

Name:	ses_robot_new_pantilt_front.jpg 
Views:	161 
Size:	166.6 KB 
ID:	1493

    Click image for larger version. 

Name:	ses_robot_new_pantilt_right.jpg 
Views:	133 
Size:	172.0 KB 
ID:	1494

    Click image for larger version. 

Name:	ses_robot_new_panttilt_left.jpg 
Views:	128 
Size:	176.7 KB 
ID:	1495

    W.A.L.T.E.R. 2.0
    Click image for larger version. 

Name:	walter_front.jpg 
Views:	126 
Size:	175.1 KB 
ID:	1496

    Since the SES Rover needs a higher capacity processor anyway, I'm going to move the Arduino Mega ADK from W.A.L.T.E.R. over to it, and make the Teensy 3.1 I already have mounted on W.A.L.T.E.R. his main processor. This will solve the dynamic memory problem on the SES Rover, keeping it operational, and give W.A.L.T.E.R. 2.0 an even more powerful processor to develop with. It also will keep both robots operational!

    I really want to tinker with the Teensy 3.1 more anyway!

    8-Dale
    Last edited by geekguy; 02-22-2014 at 07:34 PM.

  5. #55
    Member geekguy's Avatar
    Join Date
    Feb 2014
    Location
    Beaverton, OR
    Posts
    66
    OK, here is my plan to switch processors around on my two robots..

    I'm going to create my display and sensor circuit on a Perma-Proto board from Adafruit.This will allow me to use all the parts I need, not have to worry about wires coming loose, and I can put all the inbound connections to the circuit in one place. I'll also still be able to reuse parts elsewhere if that is ever needed, or replace parts easily. This will also give me a much higher reliability than I have had in the past.

    I've already tested the current breadboarded circuit with the Arduino Mega ADK board, so I know the wiring is correct. Now, I just have to draw a schematic of the circuit, and get the Perma-Proto board to wire the circuit on.

    Then, I can swap processors around and the Teensy 3.1 will become the main processor for locomotion on W.A.L.T.E.R., and I can really get into working on fixing anything in the libraries that needs fixing. I already know there are some issues with the LSM303 accelerometer/magnetometer and G3D20 gyro.

    W.A.L.T.E.R. will become my robot development platform for the Teensy 3.1!

    8-Dale

  6. #56
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    6,884
    Sounds good. As I mentioned in a different forum, a couple of days ago, I received my 2nd version of the teensy carrier boards from OSHPark. Yesterday I assembled one of them. Here is a picture showing the new one along with the first one.
    Click image for larger version. 

Name:	Teensy-3.1-breakout-brd-v.0.jpg 
Views:	241 
Size:	92.7 KB 
ID:	1541

    I have not fully tested this one yet, but does load blink and I had it load my Teensy version of the Phantom Phoenix code base and it appears to be responding to the XBee.... Test batch of this version from Seeedstudio should arrive any day now as it has been transferred to USPS. Will let you know how those look and if they look done well enough may submit an order for the version with Arduino shield on it. Still playing with it, by trying to substitute in as many of the Seeedstudio OPL (Open Parts List) and see how expensive it would be to have them actually install most of the parts on a small batch.

    Kurt

  7. #57
    Member geekguy's Avatar
    Join Date
    Feb 2014
    Location
    Beaverton, OR
    Posts
    66
    Quote Originally Posted by KurtE View Post
    Sounds good. As I mentioned in a different forum, a couple of days ago, I received my 2nd version of the teensy carrier boards from OSHPark. Yesterday I assembled one of them. Here is a picture showing the new one along with the first one.
    Click image for larger version. 

Name:	Teensy-3.1-breakout-brd-v.0.jpg 
Views:	241 
Size:	92.7 KB 
ID:	1541
    This looks great!

    Quote Originally Posted by KurtE View Post
    Will let you know how those look and if they look done well enough may submit an order for the version with Arduino shield on it. Still playing with it, by trying to substitute in as many of the Seeedstudio OPL (Open Parts List) and see how expensive it would be to have them actually install most of the parts on a small batch.
    Oh, wow, awesome! If you decide the version with Arduino headers is good enough, I'd be happy to submit them for fabrication if you get me all the data I ened to do that. I've never submitted boards for production before, so you may have to walk me through the procedure the first time. I'm happy to help with getting the Arduino header version made. This version would make my work on W.A.L.T.E.R. so much more pleasant!

    8-Dale

  8. #58
    Senior Member+ KurtE's Avatar
    Join Date
    Jan 2014
    Posts
    6,884
    I am waiting to say which version to submit, until I actually see what I get from Seeedstudio. While waiting I am hacking on a version that uses mostly parts in their standard library. Then see how expensive it would be to have them install them on a couple of boards. As I understand it they will install other parts for run that are at least 100 boards, but will do a couple prototype boards with parts from their standard parts list.

    Things that I am trying to figure out include:
    Voltage Regulators - The main one I use is the same one on the Botbordino, is a VLDO regulator, that if I remember correctly only needs Vin be .5v > Vout, so works with 6v NIMH as well as 6.6 LiFePo batteries. But most of their standard ones appear to want a minimum of 7v, which is fine for Lipo, but for the others not so sure.

    Then there are connectors: For main ones coming into board, my one for Arduino Headers is a 4 pole connector. But that is not in their OPL list. They do have the 2, so I can use 2 of them or they have a 3 one and I could do like several Orion Robotics boards do and use a 3, with a common ground...

    Then there are all of the other 3 pin headers. They have the male pin headers, but only with certain number of pins, so will see how that works out.

  9. #59
    Member geekguy's Avatar
    Join Date
    Feb 2014
    Location
    Beaverton, OR
    Posts
    66
    I've ordered all the things I need to make the changes I've talked about in previous posts. I should have everything by the end of this week. I still have to figure out some sort of adapter, so I can mount the Arduino Mega ADK and shield on the SES Rover.

    I am excited that I will be able to work with the Perma-Proto boards for making my display and sensor board more permanent.

    8-Dale
    Last edited by geekguy; 03-03-2014 at 08:31 PM. Reason: Corrected spelling and punctuation, added link

  10. #60
    Member geekguy's Avatar
    Join Date
    Feb 2014
    Location
    Beaverton, OR
    Posts
    66
    I have been working on the pan/tilt scanner code this week. I finally got it all working yesterday! Now, W.A.L.T.E.R. can scan up to a full 180 arc (specified as -90 to +90 or 0 to 180 degrees), and take sensor readings every so many degrees, specified by an increment value. I can specify the arc range also, such as -45 to +45 degrees with an increment of 10 degrees. This would be done by using scanArea(&pan, -45, 45, 10). Servo data is defined in a data structure for each servo. The sensor readings are also stored in a structure that contains data for each sensor that is read. The scan readings are stored in an array, of up to 36 readings. This is enough storage for readings every 5 degrees of a 180 degree arc.

    You can see the scanner in action on YouTube.

    I'm going to be putting all of my SSC-32 routines into a library, so anyone who wants to use a BotBoarduino (Arduino) for robotics or other projects will be able to use them. I don't know exactly when this will happen, because I am still adding to and testing my set of SSC-32 routines.

    I got my Perma-Proto boards from Adafruit today! Now, I will be able to transfer the display and sensor circuit on W.A.L.T.E.R. now (on a regular breadboard) to a more permanent form. I won't have to worry about jumper wires being pulled out anymore! I'm very excited to be able to finally start using these!

    As soon as W.A.L.T.E.R.'s motor battery is charged up, I will start working on the motion routines that will allow him to move around on his own. I'll be getting back to working with the RoboClaw 2x5 motor controller. I'll disconnect the encoders for the first tests with it. Once these routines are working, I will connect the encoders up again and go from there.

    Once I have all this working, and W.A.L.T.E.R. is able to move around on his own, I will switch over to using a Teensy 3.1 as the processor for his navigation subsystem. I already have a Teensy 3.1 mounted on a small breadboard, next to the large breadboard on W.A.L.T.E.R. The reason I want to switch to the Teensy 3.1 is it's very small, faster, and has more dynamic memory than the Arduino Mega ADK board. I also just want to develop with the Teensy 3.1. I know there is going to be some work to make everything I have work with the Teensy 3.1 because some of the Adafruit libraries (Gyro, Accelerometer, and Magnetometer) don't give the same results as when running on a true blue Arduino board. I want to find out why, and make it work.

    8-Dale

  11. #61
    Member geekguy's Avatar
    Join Date
    Feb 2014
    Location
    Beaverton, OR
    Posts
    66

    Lightbulb

    Quick update: I discovered that both motors I have on W.A.L.T.E.R. are apparently bad.

    Luckily, I have two more of these motors, which tested good without encoders, and two brand new quadrature encoders. I've installed the new encoders on both motors, and am just waiting for the motor battery to charge so I can test the new motors and encoders together. If the motor/encoder combinations test good, I will replace the existing ones on W.A.L.T.E.R., and go from there.

    Assuming, for now, that everything goes well, this is the next to last phase before W.A.L.T.E.R. is fully mobile.

    The next phase, is integrating the distance sensors with motion. I already have the area scanner working, which can scan a specified arc between -90 and +90 (or 0 and 180) degrees, with an increment. W.A.L.T.E.R. can store up to 36 readings, which is enough storage for readings every 5 degrees. There is a video of the scanner in operation on my YouTube channel.

    I also have routines that find the closest and farthest objects of a scan, but I still need to test these.

    8-Dale

  12. #62
    Junior Member
    Join Date
    Apr 2015
    Posts
    5

    Roboclaw and Teensy 3.2

    Quote Originally Posted by PaulStoffregen View Post
    Could you post links for those libraries? I'll take a look...
    Edit: if you find any Adafruit library that does not "just work" on Teensy 3.1, please let me know the details? I'll fix it.[/QUOTE]


    Hello Paul, i have been reading this thread because i'm trying to use the official library of the Roboclaw for Arduino with Teensy 3.2, but i'm not able to make it work, could you please check the official library and see if is possible to modify it and make t work with Teensy 3.2 and Arduino?, it seems that it has change since 2014 when you and the other people in this forum checked the library. thanks in advance.

    This is the link of the official library of Roboclaw for Arduino:
    http://downloads.ionmc.com/code/arduino.zip


    George.

  13. #63
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    22,067
    Quote Originally Posted by turok_gt View Post
    could you please check the official library and see if is possible to modify it and make t work with Teensy 3.2 and Arduino?
    Looks like it should work if you don't use SoftwareSerial. But the examples all have SoftwareSerial.

    Change this:

    Code:
    //See limitations of Arduino SoftwareSerial
    SoftwareSerial serial(10,11);
    RoboClaw roboclaw(&serial,10000);
    to this:

    Code:
    RoboClaw roboclaw(&Serial1, 10000);
    One important point, use "Serial1" not "Serial". The "1" is important, because on Teensy "Serial" is the USB virtual serial. You need to use Serial1 to communicate with the actual hardware serial port (pins 0 and 1).

  14. #64
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    22,067
    You'll also notice several warnings about "unused variable 'crc' and "control reaches end of non-void function".

    Those are not Teensy's fault. This library has some sloppy programming. If you end up communicating with the author(s) of this library, please ask them to turn on warnings in File > Preferences.

    These warning messages can probably be ignored, if you use this library in the ordinary ways.

  15. #65
    Junior Member
    Join Date
    Apr 2015
    Posts
    5
    Awesome!! thank you very much Paul, Roboclaw works now with my Teensy 3.2!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •