To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 16045
16044  |  16046
Subject: 
Re: RCX drives Manas motors!
Newsgroups: 
lugnet.robotics
Date: 
Mon, 27 Aug 2001 22:20:48 GMT
Viewed: 
1293 times
  
In the included message below, I have edited the code from the previous
message to remove some stray characters and to add code for a third
Manas dual-motor unit. I haven't tried to find the address for "all" Manas
units.

In experimenting with control codes, I found that EM_OFF, as defined in
this code as zero, is really a float command and that 8 appears to be
immediate off. I propose that these names and values be used in a way
that parallels the RCX commands. So:

#define EM_FLOAT 0
#define EM_OFF 8

Has anyone else determined what other bit patterns do? Once they are
completely understood, someone should put together a manas.nqh file with
#defines and appropriate function definitions.

It is now possible for an RCX to directly and independently control up
to nine motors! And by slaving Scouts and Micro Scouts...

Dennis Williamson


In lugnet.robotics, "Pink Tail" <pinkmice@borg.com> writes:
Having decoded the manas remote controllers protocol, with a
couple of hints from RCX2 users, Zhengrong Zang amongst them,
I realised the 76kHz, 25% duty cycle, 4800 baud settings were
exactly those of the Manas.

As a result, I present for your appraisal, a tested nqc program which
controls all four Manas motors. This could easily be expanded to
include six, if you have two sets, ie; three receivers.


   #define MANAS_1 5
   #define MANAS_2 6
   #define MANAS_3 7
   #define EM_OFF 0
   #define EM_FWD 7
   #define EM_REV 15

   int em1,em2,em3,em4,em5,em6;  //Global motor control locations

   task main()
     {

   // This demo starts the manas comms task, then loops forever.
   // In the loop, it steps through three control phases setting
   // the motors to off, and then paired forward and reverse.

     start manas;

     while (true)
       {
       em1=EM_OFF;
       em2=EM_OFF;
       em3=EM_OFF;
       em4=EM_OFF;
       em5=EM_OFF;
       em6=EM_OFF;
       Wait(100);
       em1=EM_FWD;
       em2=EM_REV;
       em3=EM_FWD;
       em4=EM_REV;
       em5=EM_FWD;
       em6=EM_REV;
       Wait(100);
       em1=EM_REV;
       em2=EM_FWD;
       em3=EM_REV;
       em4=EM_FWD;
       em5=EM_REV;
       em6=EM_FWD;
       Wait(100);
       }
     }

   // The manas task continuously resends the motor settings.
   // When the RCX is halted, this task stops and the manas
   // motors automatically shut off

   task manas()
     {
     while (true)
       {

   // First ensure serial settings are still ok



SetSerialComm(SERIAL_COMM_4800|SERIAL_COMM_DUTY25|SERIAL_COMM_76KHZ);
       SetSerialPacket(SERIAL_PACKET_DEFAULT);

   // Set to low power so we don't run the battery down too quick

       SetTxPower(TX_POWER_HI);

   // Set the first unit two message bytes and send them

       SetSerialData(0,MANAS_1*0x10+em1);
       SetSerialData(1,em2*0x10+0x10-((MANAS_1+em1+em2)&0xf));
       SendSerial(0,2);

   // Set the second unit two message bytes and send them

       SetSerialData(0,MANAS_2*0x10+em3);
       SetSerialData(1,em4*0x10+0x10-((MANAS_2+em3+em4)&0xf));
       SendSerial(0,2);

   // Set the third unit two message bytes and send them

       SetSerialData(0,MANAS_3*0x10+em5);
       SetSerialData(1,em6*0x10+0x10-((MANAS_3+em5+em6)&0xf));
       SendSerial(0,2);

   // Delay for a while so we can resend them regularly

       Wait(10);
       }
     }



I hope this is encouraging to you as it is to me, it expands the RCX
output capability greatly.

John Barnes



Message has 2 Replies:
  Re: RCX drives Manas motors!
 
Someone pointed out to me that I made a typo in the program lines shown below. The original program reads: SetTxPower(TX_POWER_LO); I had changed it during testing since I was talking to three Manas motor units and I didn't want to have to be (...) (23 years ago, 30-Aug-01, to lugnet.robotics)
  Re: RCX drives Manas motors!
 
I just wanted to say "thanks" to everyone who contributed to this thread! After installing NQC and BricxCC last night, and pasting the code you wrote into a program, my sons (home on Christmas break) are happily making their RCX drive their manas (...) (23 years ago, 3-Jan-02, to lugnet.robotics)

Message is in Reply To:
  RCX drives Manas motors!
 
Having decoded the manas remote controllers protocol, with a couple of hints from RCX2 users, Zhengrong Zang amongst them, I realised the 76kHz, 25% duty cycle, 4800 baud settings were exactly those of the Manas. As a result, I present for your (...) (23 years ago, 29-Jul-01, to lugnet.robotics)  

7 Messages in This Thread:




Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact

This Message and its Replies on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR