View Full Version : How to program NMIN-0803-H6 ?
quiconan
09-17-02, 12:20 PM
Hi, I'm a student of mechanichal engineering in Mexico, that need to know how to program the NMIN-0803-H6 for my thesis which is a robot.
I know I need to buy NMIN-0803-H6, and the J-Tag cable to program it with C++. I have C++ in my university, but I need to know if I have to buy additional software, or if I only need C++, the J-Tag and NMIN-0803-H6. If so please tell me which program I have to buy and if you could sell it to me.
Also I need to know if I can program it in an assembler, or what is the cheapest way to program it.
Thanks
Please reply
RMDumse
09-17-02, 03:53 PM
C++ compilers your university has would probably not be helpful to you. They would have specific CPU's they target. We don't know of any C compilers available that target the DSP56F803, other than the professionally priced Code Warrior from MetroWerks, which is a Motorola owned software company. Certainly you could contact Motorola about purchasing such a package, and they may have special student discounts. However last we heard, this package costs over a thousand dollars.
You could use an assembler and program the board in assembly language. Same problem. Only assembler we know if is the one in the Code Warrior package.
We are developing a Small C compiler. It is working, but we don't have an assembler for it yet. So this is not yet a workable solution.
We do have a working Forth for the DSP56F80x, but I don't think we've shipped any with Forth in them. We also have IsoMax(TM) for the IsoPod(TM) which could be reconfigured to run on this board, and is an ideal language for robotics.
Ordering with IsoMax(TM) would be your cheapest way to go, I think, but it isn't C, or really anything like C.
quiconan
09-17-02, 05:53 PM
I have some doubts about Isopod and Isomax. Do I have to buy another development kit, or exactly what do I need to use this language on the NMIN-0803-H6.
Also how does the Isomax language works. I have seen it works like a ASM, going from state to state, but I also so some conditionals similar to C++ like else, then, etc.
So how does it work? I have some experience with Siemens PLC, is it more like it. Is it like using relays?
Thanks, please reply
RMDumse
09-17-02, 08:58 PM
I think we could install the same language we install on the IsoPod(TM) on the H3 mini. We should test that. If it works, you would not have to buy another kit for development. The language is interactive. You develop by using a PC as a terminal, and downloading source directly to the board.
IsoMax(TM) is a real time language built on a state machine paradigm. Under IsoMax(TM) is the complete language Forth. Both are much higher level than ASM (assembly language). However, routines are installed that allow one to use assembler routines in IsoMax(TM) seamlessly.
IsoMax(TM) borrows a concept from the PLC's in that is has an Scan Loop, and processes all real time operations once each time through the scan loop, like the PLC's run all the rungs of their Relay Ladder Logic programs each time the scan loop executes.
IsoMax(TM) also has some of the Object Oriented concepts of C++. You can refer to objects with overloaded operators (in V0.3). For instance, RELLED ON turns on the Red Led on the board. PWMA0 ON turns on the PWM A module line 0, and PA4 ON turns on the output pin for Port A line 4.
We have written a number of robotic interfaces already in IsoMax(TM), including ADXL202 accelerometers, Devantech sonar rangers, GP2D12 rangers, 40 KHz IR distance sensors, DC IR line sensors, quadrature inputs, LCD interfaces, RC servo outputs, PWM outputs and even PID routines.
Perhaps looking at the discussions about IsoMax(TM) and IsoPod(TM) elsewhere on this discussion list would be interesting. Also see the IsoMax(TM) and IsoPod(TM) documentation.
At the moment the options for our H3 Mini are:
1) C in Code Warrior
2) Assembler in Code Warrior
3) IsoMax(TM) or Forth to be ported
4) Wait for our Small C Assembler to be finished
quiconan
09-18-02, 11:36 AM
I have a time problem, I have to finish the robot in two months and a half, so I can't wait for your Small C assembler to be finished.
I think that Isomax is the way to go, but can I run it in H6 without another development kit??How much does it costs (Isomax)??
I'm planning to buy H6, the J-Tag and Isomax
Please reply soon, I don't have much time
RMDumse
09-18-02, 10:31 PM
If you are on a tight time frame, I suggest using the IsoPod(TM) instead of the H6. It is much better documented, comes with IsoMax(TM) built in, and has all the features of the H6 except for the Hbridges themselves, and twice the PWM outputs. To compensate, buy three of the 754410 dual Hbridge boards we have, (and others we are prototyping now). This combinations has all the advantages of the H6, more flexibility, at about the same total cost.
Still we are very concerned about suggesting you learn a new language and build a robot in such a limited time frame.
We like to see our customers be successful, and wouldn't want to get you into difficulties. However, we doubt even experienced C programmers could complete the program for new hardware in only a couple months.
Rapid development is possible with IsoMax(TM). The IsoPod(TM) was only released three months ago, and there are already half a dozen different robots we know of completed, or nearing completion. So this is possible, but those robots were in the hands of people previously experienced with our boards, robot programming, and the Forth language. I'm afraid you might need a great deal of support to finish in this limited time frame.
Perhaps you can tell us a little bit about your intended robot. Is it fixed or mobile? what motors? what encoders? what degrees of freedom? and perhaps we can make better recommendations.
Also, I would suggest calling our office by phone tomorrow or Friday. If you are not fluent in English, Olga in our office is fluent in Spanish, and can help translate. Tom, LC and I have discussed your inquiry, and have suggestions. (I will be out tomorrow and back Friday.) Perhaps you can email us and we can communicate that way as well.
quiconan
09-23-02, 12:01 PM
First, thanks for your concern RMDumse.
The robot I'm talking about its an hexapod walking robot. It will be operated by six high torque motors with only one degree of freedom in each leg.
It will use 6 shaft encoders not coupled with the motors, but coupled to the legs.
I'm intending to use your microcontrollers to make it walk. For the moment I only need it to walk, but later it will do more stuff.
Thanks for all your suggestions and help
RMDumse
09-23-02, 01:41 PM
Great! For a hexapod walker, I highly recommend the IsoPod(TM) with the external Hbridge boards.
The walker on our home page is controlled by a IsoPod(TM) and I can share the code with you, if I have an address to send it. The walker on the home page is the Lynxmotion Hexapod III, and it has 3 degrees of freedom in each leg; a shoulder with foward and back movement and up and down, and an elbow with up and down movement.
The walk I implemented is a simple tripod gate. Three motors move at once. The two corners and middle opposite side move together, then the opposing 3 move.
There are a couple other gates which are useful, but I haven't implemented yet.
I have difficulty imaginine how a leg with only one degree of movement would work, but I'll assume you've already thought that part through. The legs need to be able to pick themselves up and move forward, which can be done with one motor, but is tricky.
Perhaps better than a shaft encoder, a pot (reostat or variable resistor) might be a good feedback mechanism for tracking leg position. A quadrature encoder would need at least two lines per joint. The board has only 5 channels available for quadrature. Oh. Come to think of it we brought four more timer lines, on V2 of the Pod, so you'd have enough. Any way, a pot could be read with a single wire on the A/D. So the 8 channels of A/D, or the timer channels on the IsoPod(TM) V2 could read your shaft encoders.
The Hbridges are rated at 1A each channel. If you have very high torque motors, you could easily get above an amp current. We are about to release a 5A Hbridge, which could be the right thing.
Well, again, I think the IsoPod(TM) V2 with external Hbridges is the perfect thing for you, and we already have experience with walkers, so we can probably help you with your project. It is certainly doable.
RMDumse
09-24-02, 08:18 AM
There's nothing too fancy about my walker code. Here is the core of it. Not shown is my RC word which basically sets the RC servo to the value given.
Definitions are given to move all the shoulders, legs, and leg tips, in one group or the other (left or right), then a sequencing state machine takes the walker through the various steps with a counted delay (DL) to give the servos time to respone.
( 13 TILT DN TO UP
( 12 PAN RIGHT TO LEFT
( 2,1,0 9,10,11
( 5,4,3 6,7,8
( 17,18,19 14,15,16
( 900 CONSTANT 900
( 100 CONSTANT 100
600 CONSTANT UP EEWORD
400 CONSTANT DN EEWORD
: SL ( SHOULDERS LEFT TRIPOD
DUP 9 RC
DUP 3 RC
16 RC
; EEWORD
: SR ( SHOULDERS RIGHT TRIPOD
DUP 6 RC
DUP 19 RC
0 RC
; EEWORD
: KL ( KNEES LEFT TRIPOD
DUP 10 RC
DUP 15 RC
4 RC
; EEWORD
: KR ( KNEES RIGHT TRIPOD
DUP 7 RC
DUP 18 RC
1 RC
; EEWORD
: LL ( LEGTIPS LEFT TRIPOD
DUP 11 RC
DUP 14 RC
5 RC
; EEWORD
: LR ( LEGTIPS RIGHT TRIPOD
DUP 2 RC
DUP 8 RC
17 RC
; EEWORD
DECIMAL
40 -LOOPVAR DL EEWORD
MACHINE W EEWORD
ON-MACHINE W
APPEND-STATE W0 EEWORD
APPEND-STATE W1 EEWORD
APPEND-STATE W2 EEWORD
APPEND-STATE W3 EEWORD
APPEND-STATE W4 EEWORD
APPEND-STATE W5 EEWORD
APPEND-STATE W6 EEWORD
IN-STATE
W0
CONDITION
PB7 OFF?
CAUSES
RCINIT
THEN-STATE
W1
TO-HAPPEN IN-EE
IN-STATE
W1
CONDITION
DL
CAUSES
UP SL DN SR UP 12 RC
THEN-STATE
W2
TO-HAPPEN IN-EE
IN-STATE
W2
CONDITION
DL
CAUSES
DN KL
THEN-STATE
W3
TO-HAPPEN IN-EE
IN-STATE
W3
CONDITION
DL
CAUSES
UP KR
THEN-STATE
W4
TO-HAPPEN IN-EE
IN-STATE
W4
CONDITION
DL
CAUSES
DN SL UP SR DN 12 RC ( S4
THEN-STATE
W5
TO-HAPPEN IN-EE
IN-STATE
W5
CONDITION
DL
CAUSES
DN KR ( S1
THEN-STATE
W6
TO-HAPPEN IN-EE
IN-STATE
W6
CONDITION
DL
CAUSES
UP KL ( S1
THEN-STATE
W1
TO-HAPPEN IN-EE
W0 SET-STATE ( INSTALL
DECIMAL
EVERY 10000 CYCLES SCHEDULE-RUNS W
quiconan
09-24-02, 09:08 PM
Thanks for all your support. I'm convinced that I will use Isopod for controlling the hexapod walker, but I need to know what else I have to buy. (By the way I checked my motors and they demand less than 1 A to move the load I need, so I will also want the H-Bridges)
I know I have to program the Isopod in Isomax, but is Isomax a separate product, or do you sell both as a package, and how much do they cost???
Do I need a J-Tag cable????
I need six H-bridges, but your brigdes say that their quadruple half H-bridges, what do you mean by that????
Do I have to buy anything else???
Also I need more information about the mnemonics in the program you shared with me, my e-mail is
quiconan@yahoo.com.mx
I will also need help with the enconders. The reason I'm using encoders instead of pots, its because my thesis counciler won't let me use them, because he says is last century way of doing things, so I have to do it that way to get his approval signature.
I will make the robot walk with 3 motors at one time, and the other 3 the next time, just like yours.
Thanks again and sorry for the inconvinience
RMDumse
09-24-02, 10:38 PM
The IsoPod(TM) is $99, and comes with IsoMax(TM) installed. You won't need a JTAG cable unless you do something very wrong and blow away the IsoMax(TM) which is installed in Flash. It's possible to do, but not likely. If you want, we can recover a blown Flash for you, but it requires the board make a round trip back here.
The Hbridges are really 2ch per board. So you will need 3 boards.
The encoders are extremely easy to use. They are done in hardware. Two channels are just hookup and read. The other channels will have to be done with timers. These require setting of the timer registers, afterwhich they are again, so easy you just read them when you want the results.
The language can be read about by following links to the IsoPod(TM) Manual and IsoMax(TM) language manual. These links appear in the IsoPod section of this forum. (See IsoPod(TM) & IsoMax(TM) New releases & Documents link ) Start there, and ask about anything you don't understand.
quiconan
09-25-02, 11:24 AM
I know I have to use Isomax to program Isopod, but my question is: How do I use Isomax? Is there a program that's an interface between the PC and Isomax? Does Isomax run in PC?If so, what are their minimium requirements? Do I need a serial cable to pass the program from PC to Isopod????
Thanks, again
RMDumse
09-25-02, 12:05 PM
Oh, I understand. You want to know how to develop. You use a PC as a terminal through a serial cable to the IsoPod(TM). We provide a DOS and a Windows based terminal emulator program which runs on the PC and enables that development.
You edit your program on the PC using any text editor (like note pad, etc.) and download the programs through the terminal emulator. The IsoMax(TM) is resident on the IsoPod(TM) itself. The IsoPod(TM) compiles its own programs onboard.
You can order the IsoPod(TM) with a modified serial cable ($114) and talk to it interactively, or through the Prototype Develpment kit ($149 including IsoPod(TM) etc. and cable) with a regular DB9 male to DB9 female.
quiconan
10-15-02, 09:08 PM
At last, yesterday I received the Isopod, but now I can't get it to work.
I follow the instructions one by one, I'm in the step where the leds are supposed to flash, and they do, but no message appears in MaxTerm, so I checked the serial conections and everything is perfect, but the message doesn't appear.
Then I tried loading the characters "WORDS", like you said, and nothing happens, just a beep in the computer.
Do you know, what's the problem???
Help
RMDumse
10-15-02, 11:22 PM
This seems very strange. So if you type in REDLED OFF the Red Led goes off? But you don't see what you type on the screen? Am I understanding this correctly? And then if you type REDLED ON would it come back on?
If so it must surely be one of two things. Either the serial cable or port to the PC is broken on the recieve side, or the PC is blocked from getting communications from the IsoPod(TM). Try Alt-R to toggle the RTS line. Perhaps some combination of these handshake lines is in the wrong state.
Also try Alt-T (both keys at once) to toggle the DTR line. The DTR line also controls the ATN line, which can hold the IsoPod(TM) in reset. That's why it is interesting if you can type to the Pod and it responds with turning LED's on and off or not.
quiconan
10-16-02, 11:13 AM
What I said is that when you connect to Vcc the Isopod, the leds turn on, but I can't do any other operation.
I tried using the hyperterminal, but some times some data arrives, but the information has nothing to do with the one I send.
Yesterday I checked continuity in the serial cable, and it appears that the ATN is disconnected, also it has something that appears like a capacitor before the connector, is this normal????
Is there's an option to disconnect the ATN in the Hyperterminal with software, so I can fix the continuity problem and use the Hyperterminal without having to disconnect it physically???
Thanks
nmitech
10-16-02, 12:03 PM
The Cap added to the ATN line is allowed you to use the Hyperterminal Program without have to remove the Yellow (or ATN) wire off the pin holder.
You can also download the NMITerm (NMI's Terminal Window program) here,
http://www.newmicros.com/download/NMITerm.zip
Sound to me you have the comport setup or serial cable problem if you can not get the IsoMax prompt displays.
try this, Unplug the IsoPod and check out the serial cable by use a wire and shorted out SIN and SOUT pin on the custom made cable that provided with the Quick_Kit. Now Open the Terminal Program ( Maxterm, or Hyperterm, Or NMITerm) and enter any character key (A-Z) on the keyboard and make sure it echoes back. If It does not, unplug the custom made cable and check it direct on your PC serial DB9 connection Rxd (pin 2) and Txd(pin 3), short these 2 pin together and check for echo as above procedure. If it echoes back then the custom made cable is defected. If it's not then change other comport setup or your PC serial is not working.
Please let us know what you find out.
quiconan
10-17-02, 03:00 PM
Is there some way to disconnect ATN with software and not physically?????
Do I have to disconnect ATN if I'm using MaxTerm???
Do you have any ideas of what's going on?????
Is there a way to check if Isomax is really installed???
Is it normal that the transistors below the Isomax get really hot???
Thanks
nmitech
10-18-02, 12:09 PM
Is there some way to disconnect ATN with software and not physically?????
Yes, The ATN signal is connecting to the DTR signal of the PC serial port. So you can control the ATN signal by toggling the DTR. In the Terminal Mode of MAXTERM, Press ALT+T to toggle the DTR signal. If you use NMITerm just go to the OPTIONS scroll down menu and select SETTINGS to enable/disable DTR. The HYPERTERM does not have this option. But The system you have should work with MAXTERM, Hyterterm, and NMITerm no matter what state of the DTR is setting, and you don't have to disconnect or remove the DTR/ ATN signal since the latest hardware (custom made serial cable of the QUICK Kit or Controller interface board of the Development Kit) are already modified for this purpose.
Do I have to disconnect ATN if I'm using MaxTerm???
No you don't have to.
Do you have any ideas of what's going on?????
To find out if the IsoPod is defectived, we need to make sure the following devices and test are working properly,
1. Terminal program must setup correctly. Check the available Comport and set for 8 data bit, 1 Stop bit , none parity.
2. If you have the Quick Kit, check the custom made serial cable make sure wires are not loose or broken up.
3. Need to have some other kind of devices such as Digital camera, Palm, or other PC, etc... that you can check your PC serial port make sure it is working.
If you can verify the IsoPod with other PC serial and it is not working, please email to nmiproduction@newmicros.com with your invoice # we can send you the replacement.
Is there a way to check if Isomax is really installed???
yes, If IsoMax is not install, set the Hyperterm or NMITerm to 115.2K baud you will see the Motorola Bootloader prompt displays on screen each time you reset the isoPod.
Is it normal that the transistors below the Isomax get really hot???
Yes, the regulators are hot at 200mA load.
quiconan
10-18-02, 07:42 PM
I've tried every single thing you ask me to do, thanks to that I found a problem with the serial cable and fixed it.
After fixing the cable I checked the echo with SIN and SOUT, and it worked, but I can't communicate with Isopod, even if I reset it, nothing appears, I guess it's the Isopod who's deffective, so please tell me what to do to get a replacement.
My invoice number is 28065
Date 10/3/2002
But I need it shipped to my home:
Enrico Cicero
1a cerrada de corceles # 12
Col. Colina del Sur
Del. Álvaro Obregón
C.P. 01430
Mexico City, MEXICO
Thanks again and sorry for the inonvinience
RMDumse
10-31-02, 07:20 PM
I am following up, since I haven't heard any more, and have been out of the office quite a bit recently. Is your Pod working? Did the office take care of you? What additional help might you need?
I will be working on the code for my walker again tomorrow, along with Dr. Brian Huff who has made a similar walker. If you are interested I will post improvements should we come up with any.
quiconan
10-31-02, 08:15 PM
My Isopod was deffective but Craig Jansen send a replacement, but is Isopod V2, it hasn't arrived yet, but I hope this time everything's all right
Thanks again
RMDumse
01-13-03, 04:14 PM
I am following up again. Last time I was in the office I asked about your project, and we were all curious, but no one I asked had heard anything since. I hope you have been successful. If so, we'd like to have a picture or some comments, as many others would like to do walkers as well. If not, is there anything we can do? Either way we'd like to hear.
quiconan
01-13-03, 08:54 PM
Because of many problems, including the defective Isopod, I couldn't finish the robot by the end of semester, but at least I finished all my subjects, so the only thing I need to do is finish the walker as quickly as I can so I can receive my diploma.
The project stopped during holidays but I will return to work in this week or the next at most.
Soon you can count on receiving more doubts from me, as the project advances, meanwhile thanks for all your concern and support
vBulletin v3.0.7, Copyright ©2000-2012, Jelsoft Enterprises Ltd.