PDA

View Full Version : The Ultimate Axon Thread



Droid Works
11-06-2008, 01:44 AM
The ultimate Axon thread. A place to share info on this awesome new controller.

Adrenalynn
11-06-2008, 02:29 AM
Good idea, Droid!

Do you have one (more) yet? I just don't get over to SoR often enough to see all the spiffy updates from John.

I'm kinda contemplating putting it on our SO competition robot - way more than we need, but I could do some nice bling with it. :)

Droid Works
11-06-2008, 12:48 PM
I bought one soon as you gave me the heads up on the axon a few months ago. I love it, I just need some more free time to play with it...lol I can see this becoming the main controller of choice for hexipods and maybe even humanoids.

LinuxGuy
11-26-2008, 09:20 PM
Since the Hammer (http://www.tincantools.com/product.php?productid=16133&cat=0&page=1&featured) is essentially dead in the water and TinCanTools (http://www.tincantools.com) isn't going to make any more CPU based boards, I'm starting to look at controllers like the Axon (http://www.trossenrobotics.com/store/p/5826-Axon-Microcontroller.aspx) now. What I am wondering is how hard it would be to get the Arduino IDE (http://www.arduino.cc) system working for the Axon (http://www.trossenrobotics.com/store/p/5826-Axon-Microcontroller.aspx). The Axon (http://www.trossenrobotics.com/store/p/5826-Axon-Microcontroller.aspx) uses the Atmega644P, and so does the Sanguino (http://www.sanguino.cc), so it seems like it would not take too much to make the IDE and such work for it also. It seems like doing this might also widen the audience for the Axon (http://www.trossenrobotics.com/store/p/5826-Axon-Microcontroller.aspx), increase sales of it, and hopefully help reduce the price.

I'm just now starting to actually tinkering with my Arduino Decimilia (http://www.arduino.cc), and am working with a few others to create a new IDE for it, written in Python instead of JAVA. I'm working on a SoftwarePWM library for the Arduino (http://www.arduino.cc) now. I don't really care for the current IDE though, since it doesn't do some of the simplest things, like use and preserve tabs in source files and allow setting the tab width.

I don't really care for the way some of the libraries are put together, so as I learn more about creating libraries and working with the Arduino, I want to replace some of them completely.

I am way more interested in working with a board such as the Axon (http://www.trossenrobotics.com/store/p/5826-Axon-Microcontroller.aspx), since it already has those spiffy 3 pin headers we robotics folks like. :)

I'm even more interested in working with an Arduino (http://www.arduino.cc/) compatible, robotics friendly, board that uses the Atmega128. The Wiring board uses the Atmega128, so the entire Processing environment, libraries, and language features would be available to an Atmega128 based board.

8-Dale

Rudolph
11-26-2008, 10:36 PM
I'd bet a nickel that making the Arduino IDE work with the Axon would be fairly easy. Possibly as easy as just the arduino source/config tweaks needed for a Sanguino, and burning the arduino bootloader to the axon's chip instead (not sure how "easy" that last part is, as I know little more than the name "Axon", but it sure can't be hard.)

Off to read about the ATMega128. I know even less about it :)

As much as I enjoyed learning and playing with my arduino, I'm probably not buying another one since it's now semi-permanently in my son's halloween costume. Instead I'm just ordering up a small wad of '168s and crystals from mouser, and a USBtinyISP from adafruit (unfortunately I don't get to have them until Dec. 25th... suckage). I learned enough from it to know I need to get on the ball and learn to use AVRs the "right" way. heh.

LinuxGuy
11-27-2008, 12:22 AM
I'd bet a nickel that making the Arduino IDE work with the Axon would be fairly easy. Possibly as easy as just the arduino source/config tweaks needed for a Sanguino, and burning the arduino bootloader to the axon's chip instead (not sure how "easy" that last part is, as I know little more than the name "Axon", but it sure can't be hard.)
This is my guess also. Perhaps there would need to be an "Axon" board type added as well. There are probably some pin definitions that would have to be changed to suit the Axon too. From what I have read, it is pretty easy to add another board type and such to the Arduino IDE.


Off to read about the ATMega128. I know even less about it :)
Mucho more I/O!! :D


As much as I enjoyed learning and playing with my arduino, I'm probably not buying another one since it's now semi-permanently in my son's halloween costume. Instead I'm just ordering up a small wad of '168s and crystals from mouser, and a USBtinyISP from adafruit (unfortunately I don't get to have them until Dec. 25th... suckage). I learned enough from it to know I need to get on the ball and learn to use AVRs the "right" way. heh.
I'm planning to get a Sanguino next month. :) The Arduino Decimilia just does not have the I/O and memory I need for my projects, and is not solderless breadboard friendly like the Sanguino. I really need that second serial port and two extra ADCs.

8-Dale

Adrenalynn
11-27-2008, 01:08 AM
Personally, I'd say it's _more_ breadboard-friendly. Pins are very unbreadboard-friendly whereas being able to run a wire from a socket to a socket (socket on the Arduino to a breadboard connection which is effectively a socket) is the way that breadboarding works.

lnxfergy
11-27-2008, 10:53 AM
Personally, I'd say it's _more_ breadboard-friendly. Pins are very unbreadboard-friendly whereas being able to run a wire from a socket to a socket (socket on the Arduino to a breadboard connection which is effectively a socket) is the way that breadboarding works.

I'm thinking the Sanguino is laid out as a DIP package itself, so you plug the whole thing into a breadboard, rather than running wires to a breadboard...

-Fergs

http://www.coolcircuit.com/gadgets/wp-content/uploads/2008/08/sanguino.thumbnail.jpg

No0bert
11-27-2008, 12:14 PM
I am pretty sure this has been covered, but I have yet to find it, what programming language does the Axon use? As this will be the deciding factor of whether or not I will buy one.

LinuxGuy
11-27-2008, 12:46 PM
I am pretty sure this has been covered, but I have yet to find it, what programming language does the Axon use? As this will be the deciding factor of whether or not I will buy one.
You program the Axon's Atmega644P processor in C, C++, or assembler. If you don't already know C/C++, you are going to eventually have to learn them to use the better microcontroller boards, like the Axon. :) I just wish there was a Linux/UNIX version of AVR Studio, which would make things easier on us Windows as our second (or third) OS folks. :)

8-Dale

Adrenalynn
11-27-2008, 12:48 PM
Straight-up, beautiful, open-source, un-stepped-upon C.

Actually - the Axon itself wouldn't really care. Assembler, C, even BASIC with the over-priced compilers - but it's intended to be used with the gcc port & toolchain.

Adrenalynn
11-27-2008, 12:50 PM
I just don't use avr studio. I cross compile, like gawd intended us microcontroller programmers to do in the first place. ;)

lnxfergy
11-27-2008, 01:21 PM
I just don't use avr studio. I cross compile, like gawd intended us microcontroller programmers to do in the first place. ;)

Yep, Linux + AVR-GCC + Avrdude = happiness....

-Fergs

No0bert
11-27-2008, 01:36 PM
So if I had to learn a single programming language, what would it be, if I wanted to use the Axon

Rudolph
11-27-2008, 02:09 PM
"Straight-up, beautiful, open-source, un-stepped-upon C.", as Adrenalynn so eloquently put it :)

Adrenalynn
11-27-2008, 02:22 PM
I concur with both of the above [and myself, duh...] ;) ;) ;)

LinuxGuy
11-29-2008, 12:06 AM
I already have avr-gcc installed for Linux, to use for Arduino stuff, so I am already setup for AVR programming, including the Axon and well as other AVR based microcontrollers. :) I'm leaning away from using the Arduino IDE though, and am going to get back to working on the build system for the new Arduino IDE, I and others are working on. :)

8-Dale

societyofrobots
12-08-2008, 09:53 PM
The Axon (http://www.trossenrobotics.com/store/p/5826-Axon-Microcontroller.aspx) uses the Atmega644P
ATmega640, actually =P


As for modding the Arduino IDE, I don't really see it offering any advantages over the AVR Studio method. In the 4-5 months I've been selling the Axon I've not gotten a single question on how to use the IDE. So I'll assume its really easy to use =P

DresnerRobotics
12-08-2008, 10:44 PM
Can't wait till we get more of these in stock! They sold out before I could snag one for myself :p (like I need more toys)

LinuxGuy
12-10-2008, 01:53 AM
As for modding the Arduino IDE, I don't really see it offering any advantages over the AVR Studio method. In the 4-5 months I've been selling the Axon I've not gotten a single question on how to use the IDE. So I'll assume its really easy to use =P
I have not really looked too closely at the axon, since I don't want to spend that much money on an AVR based board when I can get more processing power and I/O for just a bit more money. For instance, a board like the SSC-32 can be programmed by end users if they wish to, and it's available for less. I'm also waiting to see what happens with Lynxmotion's new controller, which will be based on one of the mightier AVR chips.

It would be really difficult to get me to spend more than about $60.00 on a controller such as this. I'll take a closer look at the software side as this is often the deal maker/breaker for hardware. :)

That's just me though. I still have to take a much closer look at the Axon to see what the software side of things looks like. It is great that so many libraries are or are going to be available for it. For instance, until recently, I didn't even want to consider writing my own PWM code for servos and such, but now after working with the Arduino code I understand what goes on much better.

In a lot of ways, I am still very much a newbie to this stuff, but I am learning. :D I've certainly taken my share of wrong turns, but have eventually gotten back on the right road. As for the IDE, I don't like the fact the Arduino IDE does not properly format (as in indent) using tabs and does not allow a user to define how many spaces they want for a tab. That's really my only peeve with respect to the Arduino IDE.

8-Dale

Adrenalynn
12-10-2008, 02:25 AM
>> a board like the SSC-32 can be programmed by end users if they wish to

How many 10bit A->D ya gonna get on that?
How many DIO?
How many UARTS?
How much RAM?
What speed?

I'd say there's a bit of a difference there. . .

DresnerRobotics
12-10-2008, 09:50 AM
Time is money. The Axon packs a ton of features and if you were to try and build a board with the same chip and get the same amount of features it would take a good amount of time (money) as well as parts. With the Axon you get a very compact, well built, and well supported microcontroller with a continually updated library backing it. Given that most Basic Stamp/interface board combos are around $100 and don't have half the features of an Axon, I'd say it's price is totally worth it.

I recently built a prototype board for controlling AX-12s using an Atmega168 and went over $100 easily, and this was something I had to build and design myself, which took hours.

I'd gladly pay the small amount more for the convenience, support, and software.

Robotics isn't exactly a cheap hobby, any way you look at it. You usually get what you pay for and the Axon is money well spent.

Adrenalynn
12-10-2008, 02:59 PM
The thing I can't get onboard with [pun intended] is that it's an apples/oranges comparison. Are you saying that the 168 microcontroller is less expensive than the 640? Well, yeah, duh. And the ATTiny12 is less expensive than the 168 - but you're not going to try to run five dozen I/O on it either. Nor are you going to try to run five dozen IO on the 168 - or at least not successfully. If you want to compare the SSC32 to anything you need to compare it to the Arduino - 'cause that's what it is. And then the price on the SSC32 is outstanding!

robot maker
12-10-2008, 11:55 PM
while back before Adrenalynn told be about the AXON board i was looking at the atmel chips and saw a few 100 pin processors like atmega640
i think that one i was looking at for my arm design ,but gave up on it because couldnt find a protoboard for it or 100pins or more ,just double check my links and it was the ATMEGA640 that i picked
thanks Adrenalnn for a great idea again

LinuxGuy
12-11-2008, 11:30 AM
Time is money. The Axon packs a ton of features and if you were to try and build a board with the same chip and get the same amount of features it would take a good amount of time (money) as well as parts. With the Axon you get a very compact, well built, and well supported microcontroller with a continually updated library backing it. Given that most Basic Stamp/interface board combos are around $100 and don't have half the features of an Axon, I'd say it's price is totally worth it.
You do have an excellent point there. I had not factored in the cost of microcontroller module and carrier board with respect to the other combos available, such as the Lynxmotion Bot Board II ($24.95) and Basic Atom microcontroller ($59.95). Also, software development does take time and has a cost attached to it. That definitely makes the Axon much more reasonable, even for me. :happy: The real nice thing about AVRs is good software development environments are easy to get for both Windows and Linux.


Robotics isn't exactly a cheap hobby, any way you look at it. You usually get what you pay for and the Axon is money well spent.
It's definitely not cheap (one shouldn't buy based on price alone) or inexpensive to buy good quality components. I'm looking more seriously at the Axon for some projects now. I the sources for everything are available, that will likely tip me into getting an Axon.

8-Dale

DresnerRobotics
12-11-2008, 11:53 AM
I do believe everything is open source :)

LinuxGuy
12-11-2008, 04:45 PM
Hmmmm, facinating. I already found a couple of examples of code for the exact type of robot W.A.L.T.E.R. is as well as how to use a PS/2 style game controller. Now I am starting to dig deeper into the software, because the Axon has captured more of my interest..

Considering how much I've already spent on microcontrollers I am no longer using, the Axon seems like a pretty good deal now.

8-Dale

robot maker
12-11-2008, 11:31 PM
i see trossen has a great price on it $124.75,hopping soon to buy it when in stock

LinuxGuy
12-12-2008, 01:15 PM
I've been doing some more research into the software side of the Axon, and am a bit bothered by the way it seems to be structured for code. I'm referring to the *.c files that are included into code to get functionality for the Axon. It seems like this stuff should be in libraries that are compiled only when they change in some way, rather than having the source files included in user code each time.

I have found code I can potentially apply to W.A.L.T.E.R., with some changes, so that is definitely good.

Am I missing something here? I'll dig deeper into this, when I can.

8-Dale

Adrenalynn
12-12-2008, 03:43 PM
So compile them into libraries, include/exclude as you see fit. You have source, knock yourself out.

LinuxGuy
12-12-2008, 05:11 PM
So compile them into libraries, include/exclude as you see fit. You have source, knock yourself out.
I was already considering that when I made the suggestion and asked the question. However, I won't bother until I decide whether to buy an Axon or not. I am not planning to develop under Windows.

8-Dale

Adrenalynn
12-12-2008, 05:25 PM
>> I am not planning to develop under Windows.

Uh-huh. We get that. I'm not sure what that has to do with anything, since you'd likely be developing under a cross-compiler, right? I don't have Windows running on any of my AVR's...

LinuxGuy
12-12-2008, 10:44 PM
Uh-huh. We get that. I'm not sure what that has to do with anything, since you'd likely be developing under a cross-compiler, right?
Yes, of course I'll be using a cross compiler. I already have avr-gcc and such installed for the Arduino, so should be able to use the same tools for any AVR based board.


I don't have Windows running on any of my AVR's...
Of course not! Where did this even come from?

I think I'll just go silent here.

8-Dale

Adrenalynn
12-12-2008, 11:29 PM
Where it comes from is the contention that you "don't plan to develop under windows" - I'm trying to figure out why that even needed to be said there. The Axon has no Windows requirement that I'm aware of.

LinuxGuy
12-18-2008, 03:24 AM
After doing some more thinking about the Axon, it does look to be a very good value. I will very probably end up getting one after I get a workable ham station setup and can hit the repeaters I want to get to. Bringing the Axon into the Arduino development world is attractive for me, and I am starting to do some research into just what it would take to do that.

Right now, I am waiting for the current Arduino development system to stablize to where it doesn't generate errors that shouldn't be there when I can just build outside of the IDE and get no problems. Working on a library for the Arduino has given me a better understanding of exactly what the build system does, which is a good thing.

I like the idea of going back to "bare metal" programming with a board that has lots of I/O and plently of program memory. :) The Axon fits that bill quite nicely! Maybe if I get the current software built into usabe libraries, that can benefit everyone.

Now, if I could just keep a working build environment for ARM under Linux I would be very happy.

8-Dale

Ro-Bot-X
12-21-2008, 04:54 PM
Hello guys, newbee here. You may have seen me on SoR or Arduino forums. I have an Axon board and I would really like it to be programmable under Arduino environment. Why? Perhaps because I am not a programming guru and I hate that "bare bones" programming. Perhaps because I have a job and family and not have the time I use to have for robotics, my only and biggest passion. I am learning more and more every day, bits of different things related to robotics. In a year or so, I may laugh at myself by being so noobish... But anyway, I am here to talk about the Axon. I so much wanted to get one, and when I got it I was like: what now? Well, get servos! Until I'll get more funds available, work on porting Axon to Arduino. I got the files for Sanguino and looked at them, made a copy and modified them for Axon. But now I need the bootloader to be adapted and I got stuck because I don't know enough to do it myself. So, any ideas on how to mod the bootloader? Once that is done and the IDE can load the files to Axon, there are more tests to be done to adjust the libraries...

robot maker
12-21-2008, 05:33 PM
have you asked SOR about the AXON on how to change the bootloader
from what i think is just make a code in arduino/wiring and upload to AXON BOARD and overwrite the bootloader,but maybe more to that
best person on arduiro/wiring environment is Adrenalynn
axon board is atmega640p with bootloader
and sanguino is for atmega644p
for software for axon atmega640p will need avr software like avrstudio and many more if the support the atmega640p ,then need a isp programming cable to load and overwrite the bootloader code
if you do overwrite the code and decided to place it back you can



Hello guys, newbee here. You may have seen me on SoR or Arduino forums. I have an Axon board and I would really like it to be programmable under Arduino environment. Why? Perhaps because I am not a programming guru and I hate that "bare bones" programming. Perhaps because I have a job and family and not have the time I use to have for robotics, my only and biggest passion. I am learning more and more every day, bits of different things related to robotics. In a year or so, I may laugh at myself by being so noobish... But anyway, I am here to talk about the Axon. I so much wanted to get one, and when I got it I was like: what now? Well, get servos! Until I'll get more funds available, work on porting Axon to Arduino. I got the files for Sanguino and looked at them, made a copy and modified them for Axon. But now I need the bootloader to be adapted and I got stuck because I don't know enough to do it myself. So, any ideas on how to mod the bootloader? Once that is done and the IDE can load the files to Axon, there are more tests to be done to adjust the libraries...

societyofrobots
01-12-2009, 09:41 PM
have you asked SOR about the AXON on how to change the bootloader
from what i think is just make a code in arduino/wiring and upload to AXON BOARD and overwrite the bootloader,but maybe more to that
Another option would be to code/compile using your modified Arduino IDE, but still upload the .hex using the Axon bootloader.

LinuxGuy
09-06-2009, 03:36 PM
I finally ordered an AXON, but now I am bothered about a couple things regarding it. It's unfortunate that the GPIOs and ADCs are all intended to be on the same port. All other I/Os get unregulated power. :( I'd prefer the 5V GPIOs not be shared with the ADCs at all because ADCs (like UARTs) are usually in short supply.

I could easily use up all 16 ADCs on my robot, but would then not have any place to plug in 5V digital sensors like the PING sensors I'll be using. I won't be connecting any servos to the AXON, so am wondering how to make good use of the rest of its I/Os. I'm going to look at the schematics and see if there is a reasonable way to convert the unregulated I/Os to 5V only. It's too bad this was not made jumper selectable for each bank of unregulated power I/Os - IMO, this would have made the AXON much more of a general purpose controller for all uses.

Am I missing something here regarding digital I/Os on the AXON? I've been looking at all the docs and tutorials I can find, but so far have not found anything to tell me my thinking is wrong here. I'm open to being corrected though. :D Other than this, I really like the AXON and am looking forward to getting mine, even if it does not end up on my robot. I can always use the AXON for general tinkering and other projects, so I still think it's a good purchase. :)

8-Dale

Ro-Bot-X
09-07-2009, 07:05 AM
Axon was thought to be mainly a servo controller like on a biped or hexapod. I am missing the power selector jumpers too, but Axon is not the only one that is needs that. I also have a Roboduino board and this one has unregulated power only to the PWM pins. Of course I use more servos, so I have to power them from the regulated 5V. On the Axon, if you don't really need all of the pins with unregulated power for servos, you may cut the power trace and use a wire to select what ever voltage you need. Here is the mod I want to do on mine: At the end of the analog pins there are 3 digital pins, A0-A2. I want to cut the trace (on the Top face of the board) close to the A2 pin and connect the power trace to the analog pins power trace by soldering a small wire on the Bottom face. This way, I still have 25 pins for servos - I intend to build a biped after I finish the robot I'm working on. If you need more pins, you can cut the trace for instance at the A7 pin and connect it to the 5V as I suggested. One note, if your Axon does not have a capacitor on the analog power line, add a 10uF tantalum capacitor directly on the Bottom face of the board (I read a thread about this on the SoR forum).

Axon is now fully Arduino compatible, since they released the Mega board, which uses a big brother of Axon's microcontroler. There is a guy on the SoR forum that made all the file mods for it (he built a home made Axon board). Also there is a library that makes all programming in AVR Studio as simple as Arduino, check out Webbot's lib, it's almost complete. Admin has made a SoR biped engine with smooth movements, just in case you decide to use your Axon on a biped.

Good luck and let us know how it came out!

LinuxGuy
09-07-2009, 09:45 AM
Axon was thought to be mainly a servo controller like on a biped or hexapod. I am missing the power selector jumpers too, but Axon is not the only one that is needs that. I also have a Roboduino board and this one has unregulated power only to the PWM pins.
I don't think the AXON was intended to be taken just as a servo controller, although having unregulated power only to most of the pins means it's hard to use them for other things. I still need to dig deeper into the specifications on the Atmega640 to see what the possible pin functions for each pin are. At least the RoboDuino only has unregulated power going to just the PWM capable pins - that's fine for my uses, but wouldn't be good for one needing to control more servos. I don't think it would be difficult to design in power selection jumpers for groups of pins, which would make AXON, RoboDuino, and other controllers more flexible.

This doesn't even consider the increasing number of 3.3V sensors and devices we might want to connect to a controller. Even I2C can have both 3.3V and 5V devices.


Of course I use more servos, so I have to power them from the regulated 5V. On the Axon, if you don't really need all of the pins with unregulated power for servos, you may cut the power trace and use a wire to select what ever voltage you need.
This is what I want to do in order to get regulated 5V to more of the AXON's pins. However, with my new idea, I may not pursue this for awhile. There is much I have to learn about the AXON before I go modifiying the hardware. :)


Axon is now fully Arduino compatible, since they released the Mega board, which uses a big brother of Axon's microcontroler. There is a guy on the SoR forum that made all the file mods for it (he built a home made Axon board). Also there is a library that makes all programming in AVR Studio as simple as Arduino, check out Webbot's lib, it's almost complete. Admin has made a SoR biped engine with smooth movements, just in case you decide to use your Axon on a biped.
I'll do some searching to find this information. Do you have a link by chance? The only thing that concerns me about the Arduino environment is what effect the libraries will have on timing. For now, I will stick with AVR Studio for programming the AXON.

8-Dale

societyofrobots
09-07-2009, 10:04 AM
When I designed the Axon, it was made to support what people needed at the time (more servo connections, more ADC, and more UART). I avoided jumpers to reduce confusion and allow high amperage. Of course, times have changed in the last 2 years (the first Axon prototype was built 2 years ago). I'm designing the Axon II right now, and when its done, it will have addressed all your concerns (and many others). It'll add more PWM, more output power options, and more . . . awesome-ness =P

WebbotLib can be found here. I still consider it a beta, so keep your eye out for bugs/upgrades. I'm using it for my robot fish now, so I'm helping Webbot root out all the bugs.
http://sourceforge.net/projects/webbotavrclib

The SoR Biped Engine source code can be found here:
http://www.societyofrobots.com/sor_biped_engine.shtml

If you need any help modding your Axon, like cutting traces, let me know and I can help. Be aware that the power traces for the headers are on both the top *and* bottom of the board. I did this to double current allowance. It might be easier to just jumper the 5V to another external bus. When I designed the original Axon, I assumed no one will end up using all 16 ADC, and hence have enough regulated 5V to do whatever.

LinuxGuy
09-07-2009, 10:32 AM
When I designed the Axon, is was made to support what people needed at the time (more servo connections, more ADC, and more UART). I avoided jumpers to reduce confusion and allow high amperage. Of course, times have changed in the last 2 years (the first Axon prototype was built 2 years ago).
The thing you can be assured of with robotics is that things will always change and needs will be different in the future. :) I should have my AXON this week sometime, which I am looking forward to. I'm already starting to work on ways an AXON might communicate with a RoboDuino. I have an Arduino and a Sanguino here to tinker with now.


I'm designing the Axon II right now, and when its done, it will have addressed all your concerns (and many others). It'll add more PWM, more output power options, and more . . . awesome-ness =P
This is indeed more awesome! :D One can never have too many I/Os on a robot. :)


If you need any help modding your Axon, like cutting traces, let me know and I can help. Be aware that the power traces for the headers are on both the top *and* bottom of the board. I did this to double current allowance. It might be easier to just jumper the 5V to another external bus. When I designed the original Axon, I assumed no one will end up using all 16 ADC, and hence have enough regulated 5V to do whatever.
Ahhh, OK. If/when I actually decide if I want to modify the AXON's power distribution, I'll tag you. :)

8-Dale

LinuxGuy
09-17-2009, 04:25 PM
Power problem solved! I just can't use the AXON power switch for my setup, which is actually OK since I have a power switch harness for the SSC-32. I just used a standard servo extender cable to jumper from a servo I/O on the SSC-32 to the AXON battery terminals and everything looks good now. :)

8-Dale

LinuxGuy
09-21-2009, 11:31 AM
OK, I am in tinkering mode today. :) I have my AXON powered from my SSC-32 as mentioned in another post. This is the only way I can get power to my AXON at present because its power connector is not compatible with the Tamaiya connectors on my battery packs.

I have all the drivers installed for USB and Windows Vista recognizes the AXON port as COM5. Here is where I run into problems. FBOOT.EXE does not seem to understand com ports above 4. When I try the command "FBOOT17.EXE -b115200 -c5 -pAxon.hex -vAxon.hex" it defaults down to COM1. FBOOT.EXE seems to only recognize COM1 - COM4.

Can this be fixed?

EDIT: Tera Term Pro 3.13 shows the AXON is communicating fine on COM5 at 115200, so that part is working as it should.

8-Dale

Adrenalynn
09-21-2009, 12:09 PM
Go into device manager, right click the com5, click properties, click the Port Settings tab, click Advanced, change the COM Port Number down at the bottom. Boom. Bob's your uncle.

LinuxGuy
09-21-2009, 12:19 PM
Go into device manager, right click the com5, click properties, click the Port Settings tab, click Advanced, change the COM Port Number down at the bottom. Boom. Bob's your uncle.
This won't work in my setup. :( Vista shows COM1 and COM2 active, but no COM3, so I tried changing the AXON port to COM3. Vista won't let me do that because it says it is already in use. COM3 does not show up in Device Manager though. I do see one Unknown Device, but have no idea what that might be - it could be the mysterious COM3. I tried uninstalling and disabling the Unknown Device, but COM3 is still somehow in use. COM4 is my SSC-32.

My AXON is stuck on COM5. This apparently isn't going to be as simple to fix as I hoped.

8-Dale

Adrenalynn
09-21-2009, 12:24 PM
So move whatever's on com1, com2, com3, com4 up to some higher port, then move the axon down.

Or go for option number 2.

LinuxGuy
09-21-2009, 12:37 PM
So move whatever's on com1, com2, com3, com4 up to some higher port, then move the axon down.

Or go for option number 2.
Option 2 not required. Moving COM2 up to COM6 and COM5 down to COM2 worked.

Mission accomplished and programming my AXON is now possible! :D This is one of those "Now, why didn't *I* think of that?" moments.

8-Dale

societyofrobots
09-21-2009, 03:52 PM
Back in Jan 2008 on avrfreaks I asked danni about his bootloader using more than just com 1-4, and he replied:



fboot17 support only COM1..4, which was sufficient, if no more than 4 COMs needed at the same time.


And another guy named bingo replied:


I did port Peter's program fboot17a to Win32 , supporting up to com6 (seems that max baudrate is 57.600 in my port) , but source is included.

http://www.mikrocontroller.net/topic/73196#698193


Anyone read German? =P
(just in case com1-4 wasn't good enough for ya)

Adrenalynn
09-21-2009, 04:24 PM
Common issue. I reassign com ports so frequently that I had to take the long way to document it. I have the setup macro'd. (I have a 16 port 16C950 card in this machine, and an 8port in the machine next to it. A four port 16950 PCMCIA in the laptop, and a two port Signal 16C550 in my handheld. The vast majority of software flips out when you ask it to hit the bluetooth comport on com24, ya know? ;)

LinuxGuy
09-22-2009, 02:40 PM
.....

Adrenalynn
09-22-2009, 03:38 PM
Not to be confused with the Penultimate Axon Thread? :)


Generally, "Ultimate" is "Ultimate" around these parts. Covers hardware, programming, interfacing, and launching the device from a catapult... I went ahead and merged these threads. Makes it easier to find it all in one place. If the programming part gets overpowering, we can always break it back out.

[doh! Also moved back to IO Boards]

LinuxGuy
09-22-2009, 04:46 PM
I went ahead and merged these threads. Makes it easier to find it all in one place. If the programming part gets overpowering, we can always break it back out.

[doh! Also moved back to IO Boards]
I strongly disagree with the merging of the two topics. My goal is to separate the hardware questions and discussions from the software and coding parts. I do not feel that belongs with specific discussions of the AXON hardware here.

I really think you go over board on merging and moving stuff around sometimes, and this is one of those times. Just because you think something should be in a certain place, doesn't necessarily mean that's correct.

Dale

Adrenalynn
09-22-2009, 06:26 PM
Moderator decisions are open for public discussion. Take it to PM - Alex has the final say, so feel free to PM him. Thanks!

LinuxGuy
09-25-2009, 06:01 PM
I've been tinkering with a PING sensor and my AXON. I want to measure the length of the pulse that comes back from the PING in uS. Is there some relation between the ending count of timer1 and the length of the pulse in uS?

I'm basing my function on the SoR sonar_Ping() function in sensors.c and have just been tinkering with this. So far, I haven't come up with anything that even gets me close to what I am looking for.

My current routine is:


#define PING_MAX 1 // Maximum number of PING sensors
#define PING_DDR DDRF
#define PING_PORT PORTF
#define PING_PINS PINF

long read_sonar_ping(unsigned char sensor) {
long pulse, ticks;

PORT_ON(PING_DDR, sensor); // Switch PingPin to OUPUT
// ------Trigger Pulse--------------
PORT_OFF(PING_PORT, sensor); // Bring PingPin low before starting trigger pulse
delay_us(2); // Wait for 2 microseconds
PORT_ON(PING_PORT, sensor); // Bring PingPin High for 5us according to spec sheet.
delay_us(5); // Wait for 5 microseconds
PORT_OFF(PING_PORT, sensor); // Bring PingPin Low and standby
//--------End Trigger Pulse---------------------
FLIP_PORT(PING_DDR, sensor); // Switch PingPin to INPUT
loop_until_bit_is_set(PING_PINS, sensor); // Loop until the the PingPin goes high (macro found in sfr_def.h)
//clears timer, reset overflow counter
reset_timer1(); //reset timer 0
loop_until_bit_is_clear(PING_PINS, sensor); // Loop until the the PingPin goes low (macro found in sfr_def.h)
//read timer1's overflow counter
// 655355 is the count before overflow, dependent on clock

ticks = get_timer1_overflow() * 65535 + TCNT1;

pulse = ticks / CYCLES_PER_US;

rprintf("Cycles = %d, Ticks = %d, Pulse = %d uS\n", CYCLES_PER_US, ticks, pulse);

return (pulse); // Elapsed time x conversion
}I'm using timer1 instead of timer0 because 8 bits just isn't enough to get a good reading. Obviously what I am doing is not working, so I could use some feedback on this. I'm trying to make this routine conform to the specs for the PING - measuring the final pulse from the sensor.

8-Dale

Ro-Bot-X
09-26-2009, 09:23 AM
Try the Webbot library for the Axon (and other MCUs). It has most of the popular sensors and actuators. Link here: http://sourceforge.net/projects/webbotavrclib/

LinuxGuy
09-26-2009, 11:20 AM
Try the Webbot library for the Axon (and other MCUs). It has most of the popular sensors and actuators. Link here: http://sourceforge.net/projects/webbotavrclib/
I will look at this. Thanks for the pointer.

8-Dale

LinuxGuy
09-26-2009, 08:55 PM
[I moved my reply here from my W.A.L.T.E.R. thread]


[edit to add: For those considering the Axon: There is absolutely nothing inherently wrong with the Axon for any application where a medium-large AVR is a design consideration.
I never said there was anything wrong with the Axon for any application, other than my own. While it's true that I do have certain issues with its design, such as the way unregulated power is distributed to pins not capable of PWM, that's just me. I don't think there is a controller board that would be perfect for every application.


Other than that, the Axon is an ideal choice as an experimenters board for the larger AVRs. John's done a great job bringing a hard to solder SMT part to the robotics hobbyist market. And his code is a must-read for learning to interface with a variety of sensors on the AVR platform.
Agreed.

The Axon is a great board for general experimentation with AVRs. It has lots of I/Os, 16 ADCs, lots of program memory (64K), headers for all UARTs, header for I2C, etc. I don't think there is anything comparable available elsewhere. I've already been learning from John's code, and it's great that he puts it all out there for us to look at. I definitely would not have access to the power of the Atmega640 were it not for the Axon, and I am looking forward to finding out more about what John has planned for the Axon II.

I've wanted a good AVR board to experiment with for a long time, and waited quite awhile even before I bought my Axon. It's playing an important part of my learning about the AVRs and how to use them, and that won't change even if I don't use it on a robot.

8-Dale

lnxfergy
09-26-2009, 09:22 PM
While it's true that I do have certain issues with its design, such as the way unregulated power is distributed to pins not capable of PWM, that's just me.
On the AVR, any pin is capable of PWM, maybe not hardware PWM, but yes, you could do software PWM, thus any pin can control a servo (and a well written engine could control dozens of them).

-Fergs

LinuxGuy
09-26-2009, 09:26 PM
On the AVR, any pin is capable of PWM, maybe not hardware PWM, but yes, you could do software PWM, thus any pin can control a servo (and a well written engine could control dozens of them).
Very true, just as every pin can be used for digital I/O. :happy: One only has to look at the SSC-32 to see what an AVR is capable of for servo control.

8-Dale

LinuxGuy
10-01-2009, 12:15 PM
I am having difficulty getting some code to compile for the AXON. I am getting a "TIMSK undefined" error, but can't seem to find the correct header to include to get this defined. I include "avr/io.h" but that still does not get TIMSK defined. This is not code connected with SoR - it's code I pulled from another source.

Where is this defined?

8-Dale

societyofrobots
10-03-2009, 11:03 PM
I am having difficulty getting some code to compile for the AXON. I am getting a "TIMSK undefined" error, but can't seem to find the correct header to include to get this defined. I include "avr/io.h" but that still does not get TIMSK defined. This is not code connected with SoR - it's code I pulled from another source.

Where is this defined?

Add a number after it, like TIMSK0 for timer 0 or TIMSK1 for timer 1.

rebel
10-20-2009, 12:16 PM
Is there a program like the one for lynxmotion servo controller? Where you can move servo arround and program movements that way? Thanks :p

societyofrobots
10-20-2009, 09:03 PM
Is there a program like the one for lynxmotion servo controller? Where you can move servo arround and program movements that way? Thanks :p

RoboRealm can act as a GUI-based servo controller for the Axon.

http://www.roborealm.com/help/SOR_Axon.php
http://www.roborealm.com/forum/index.php?thread_id=3430

http://www.roborealm.com/help/SOR_Axon.gif

Adrenalynn
10-21-2009, 01:16 AM
That's doing pose-and-capture with pwm servos?

DresnerRobotics
10-21-2009, 04:30 PM
Is there a program like the one for lynxmotion servo controller? Where you can move servo arround and program movements that way? Thanks :p

If I'm reading this right, you're asking if there's a program available that allows you to physically pose hobby servos and read positions from them to create sequences?

If so, nope. That's a limitation of hobby servo hardware, only fully digital robot servos (such as the Robonova Servos, Dynamixels, Robobuilder Wcks, or newer Kondo servos) possess that capability.

lnxfergy
10-21-2009, 04:44 PM
I thought he was asking if there was a version of the Lynx Sequencer, but for pass through with the Axon?

In which case, looks like the only supported interface is roboRealm...

-Fergs

societyofrobots
10-21-2009, 09:34 PM
You mean this?
http://www.lynxmotion.com/Product.aspx?productID=443&CategoryID=15

I don't have a 'pose and capture sequencer' yet, but I'm in the process of writing one for the Axon. I'm not sure if it'll be released before January, but I can promise you it'll be free and open-source. RoboRealm has an API that will allow you to get the GUI to do whatever you want with the Axon.

Adrenalynn
10-21-2009, 10:24 PM
What do you send to a standard pwm servo to get it to report back its position? That's magic I wanna learn - teach me?

societyofrobots
10-21-2009, 10:42 PM
What do you send to a standard pwm servo to get it to report back its position? That's magic I wanna learn - teach me?
I think you misunderstood the conversation?

You pose the servos, not by physical manipulation with angle sensor feedback, but by scroll bars in a GUI that update servo positions in real-time. Then save the angles once your happy with them as a pose. Its much faster than the tweak, compile, upload, test cycle that takes forever.



What do you send to a standard pwm servo to get it to report back its position? That's magic I wanna learn - teach me?
And to actually answer your question, you solder a single wire to the potentiometer output pin of the servo and connect it to your mcu ADC. From there you just map the voltage to the angle using basic interpolation. The Axon has 16 ADC, so not difficult to do for a biped using $20 servos.

rebel
10-21-2009, 10:48 PM
Yes, that was the program I was talking about from lynxmotion. I ask because that is what I used before, when I had the bot board and the ssc-32. And I am not good with the programing part of robotics. Need more practic. :p

Adrenalynn
10-21-2009, 10:57 PM
Ah, my mistake. I think the definition of "pose and capture" got re-posed in the marketing department. [Not yours, John...]

jes1510
10-21-2009, 11:21 PM
...
And to actually answer your question, you solder a single wire to the potentiometer output pin of the servo and connect it to your mcu ADC. From there you just map the voltage to the angle using basic interpolation. The Axon has 16 ADC, so not difficult to do for a biped using $20 servos.


I have a tutorial and sample code for the Arduino and python in the tutorials section that shows exactly how to do that. The pot is a bit noisy when it's moving so some basic filtering is needed but other than that, it's pretty simple.

http://forums.trossenrobotics.com/tutorials/how-to-diy-128/get-position-feedback-from-a-standard-hobby-servo-3279/