Close



Page 22 of 48 FirstFirst ... 12202122232432 ... LastLast
Results 211 to 220 of 476
  1. #211
    Care to share that toggle code? I am not sure where to start with writing that, but it strikes me that it would be incredibly useful!

  2. #212
    Student
    Join Date
    Nov 2014
    Location
    FL
    Posts
    9
    Thanks Roxy. Also, when powering the servo from the AUX-2 pins, do I need the signal wire on D40 and the pos/neg wires plugged in on the two top pins? The AUX-2 schematics look a bit more convoluted when determining pins than the rest of the board.

  3. #213
    Super Moderator Roxy's Avatar
    Join Date
    Apr 2014
    Location
    Lone Star State
    Posts
    2,183
    Quote Originally Posted by kfahn View Post
    Care to share that toggle code? I am not sure where to start with writing that, but it strikes me that it would be incredibly useful!
    Its hardly any code. I'll look at my older code base archives and see if I can hunt it down. It also was a little bit smart. There are certain pins that are deemed to be 'Sensitive'. It did not mess with any of those. And in fact, there was no reason to mess with them because those have important stuff connected up to them. You aren't going to be connecting new stuff to them.

    Update: Here it is. I don't remember exactly what was going on. The posted code includes the original M42 command and then 3 more versions done by me to scan. You probably want to start with the M43 to get a rough idea where your pin is located (numbered). And then maybe edit the M44 and M45 to limit the search across less pins.

    If you connect up your volt meter to a pin and let this run, it should tell you where it is and when you see something happen on the volt meter you can reset the board and start over using the M42 command to verify things. You would use the pin numbers you learned from the scan to limit your search and locate the pin.
    Code:
        case 42: //M42 -Change pin status via gcode
          if (code_seen('S'))
          {
            int pin_status = code_value();
            int pin_number = LED_PIN;
            if (code_seen('P') && pin_status >= 0 && pin_status <= 255)
              pin_number = code_value();
            for(int8_t i = 0; i < (int8_t)sizeof(sensitive_pins); i++)
            {
              if (sensitive_pins[i] == pin_number)
              {
                pin_number = -1;
                break;
              }
            }
          #if defined(FAN_PIN) && FAN_PIN > -1
            if (pin_number == FAN_PIN)
              fanSpeed = pin_status;
          #endif
            if (pin_number > -1)
            {
              pinMode(pin_number, OUTPUT);
              digitalWrite(pin_number, pin_status);
              analogWrite(pin_number, pin_status);
            }
          }
         break;
         
      case 43: //M43 - Roxy hack to look for GPIO pins
            int pin_number;
            int i;
         
            SERIAL_PROTOCOLPGM("M43 - Roxy GPIO Hackery:\n");
            SERIAL_PROTOCOLPGM("HIGH/LOW: ");
            SERIAL_PROTOCOL(HIGH);
            SERIAL_PROTOCOLPGM("/ ");
            SERIAL_PROTOCOL(LOW);
            SERIAL_PROTOCOLPGM("\n");
            for( pin_number=0; pin_number<55; pin_number++)  {
              SERIAL_PROTOCOLPGM("Pin  ");
              SERIAL_PROTOCOL(pin_number);
              for(i = 0; i < sizeof(sensitive_pins); i++)    {
                if (sensitive_pins[i] == pin_number)     {
                  SERIAL_PROTOCOLPGM(" Sensitive!\n");
                  goto NEXT_GPIO;          
                }
              }
    
              pinMode(pin_number, OUTPUT);
              delay(50);
              digitalWrite(pin_number, LOW);
              delay(500);
              digitalWrite(pin_number, HIGH);
              delay(1000);
              digitalWrite(pin_number, LOW);  
              delay(500);        
    //          analogWrite(pin_number, HIGH);
              pinMode(pin_number, INPUT);
              delay(50);
              SERIAL_PROTOCOLPGM("\n");
    NEXT_GPIO: ;
            }
            SERIAL_PROTOCOLPGM("Done...\n\n");
        break; 
        
     case 44: //M44 - Roxy hack to look at GPIO pin values for input value change
            int pin_being_examined;
            int ii, iii, jj;
            
            pin_being_examined=11;
            iii=-1;
            SERIAL_PROTOCOLPGM("M44 - Roxy GPIO Hackery:\n");
            
            pinMode(pin_being_examined, INPUT_PULLUP);
            delay(50);
            
            for( jj=0; jj<10; jj++) {
              do {
                ii = digitalRead(pin_being_examined);
              } while(ii==iii) ;
              iii = ii;
              SERIAL_PROTOCOLPGM("Pin  ");
              SERIAL_PROTOCOL(pin_being_examined); 
              SERIAL_PROTOCOLPGM(" : ");
              SERIAL_PROTOCOL(ii); 
              SERIAL_PROTOCOLPGM("\n");
            }
            SERIAL_PROTOCOLPGM("Done...\n\n");
        break; 
        
        case 45: //M45 - Roxy hack to look for GPIO pins
            
            SERIAL_PROTOCOLPGM("M45 - Roxy GPIO Hackery:\n");
            SERIAL_PROTOCOLPGM("HIGH/LOW: ");
            SERIAL_PROTOCOL(HIGH);
            SERIAL_PROTOCOLPGM("/ ");
            SERIAL_PROTOCOL(LOW);
            SERIAL_PROTOCOLPGM("\n");
            for( pin_number=28; pin_number<=31; pin_number++)  {
              SERIAL_PROTOCOLPGM("Pin  ");
              SERIAL_PROTOCOL(pin_number);
              for(i = 0; i < sizeof(sensitive_pins); i++)    {
                if (sensitive_pins[i] == pin_number)     {
                  SERIAL_PROTOCOLPGM(" Sensitive!\n");
                  goto NEXT_GPIOx;          
                }
              }
    
              pinMode(pin_number, OUTPUT);
              delay(50);
              digitalWrite(pin_number, LOW);
              delay(500);
              digitalWrite(pin_number, HIGH);
              delay(1000);
              digitalWrite(pin_number, LOW);  
              delay(500);        
    //          analogWrite(pin_number, HIGH);
              pinMode(pin_number, INPUT);
              delay(50);
              SERIAL_PROTOCOLPGM("\n");
    NEXT_GPIOx: ;
            }
            SERIAL_PROTOCOLPGM("Done...\n\n");
        break;
    Last edited by Roxy; 01-19-2015 at 11:42 AM.

  4. #214
    Engineer clough42's Avatar
    Join Date
    May 2014
    Location
    Meridian, ID
    Posts
    418
    Quote Originally Posted by kfahn View Post
    Has anyone had issues with their hexagon hot ends being different lengths? I ordered two new ones from Makerfarm, and they are ~0.5mm diffferent in length from end to end. There also seems to be a slightly updated design from before. (see this other thread on the topic: http://3dprintboard.com/showthread.p...4357#post44357 )

    This difference in lengths could pose a problem for us since there isn't any way to level the hexagons. Clough42, did you see anything like this when you were getting yours set up?
    I didn't have any trouble. I bought two hot ends directly from RepRapDiscount, and they were exactly the same length once I disassembled them, cleaned them out, heated and tightened them.

    I would disassemble the blocks and nozzles and look for any flashing or other imperfections in the metal that might be preventing them from seating properly. Then heat up the block to your printing temperature, tighten the nozzle first and then tighten the barrel into the block with the wrench.

    Note that you can adjust the heights a little bit by racking the whole X carriage left and right. Just turn the Z screws by hand to tip the axis and level the nozzles. As long as you're using auto-bed-leveling, this will work fine.

    I am in the process of getting a web site set up with detailed assembly and calibration instructions. I developed a couple of calibration objects to make it easier. More on that soon...

  5. #215
    Super Moderator RobH2's Avatar
    Join Date
    Nov 2013
    Location
    Baltimore, MD
    Posts
    899
    Add RobH2 on Thingiverse
    I developed a system for my "rod" version Makerfarm 8" that allows me to perfectly level the two Hexagon heads. I've posted some photos. There are 4 views per page showing different angles. The top image shows it twisted to the left, the center 4 show it roughly centered and the bottom 4 images show it twisted to the right. It's a printed back plate that replaces the back plate from the IttyBitty. It attaches directly to the existing wood on the rods. I had to drill a couple of holes and just put bolts through.

    Maybe you could do the same kind of thing. It's super easy to use and works perfectly for me.

    Attached Images Attached Images
    Bambu P1S/AMS
    NVision4D http://nvision4d.com

  6. #216
    Engineer-in-Training beerdart's Avatar
    Join Date
    Feb 2014
    Location
    CT
    Posts
    345
    Rob thats a great solution I also have a removable back plate screwed to a printed sled I never thought about slotting for adjustment. My adjustment is on the hot end head sink with threaded rod and a jamb nut. Yours seams more friendly.

  7. #217
    Engineer clough42's Avatar
    Join Date
    May 2014
    Location
    Meridian, ID
    Posts
    418
    The Itty Bitty Double Extruder now has a new home on the web:
    Detailed assembly and calibration instructions are also now available. The calibration system uses a new set of calibration objects and an on-line calculator to hopefully make the process a little easier:
    Le me know if you have any questions. This is a brand new site, and things might be a little rough around the edges.

  8. #218
    Engineer clough42's Avatar
    Join Date
    May 2014
    Location
    Meridian, ID
    Posts
    418
    Quote Originally Posted by Poindexter View Post
    Hey everyone,
    I'm having some trouble with getting the servo to respond. My setup is as follows: RRD fan extender from makerfarm (D4 and 5 pins?). D5 is set to auto cool when hotends are above 35, which works. M106 command successfully controls the print cool fan, though I'm unable to determine which pin it is defined to (its plugged into lower right corner of fan extender). This leaves me with the option to power my servo from D40. I have found others who did it but altering my pins.h file as they did didn't have any effect. Im running the Marlin firmware with the config.h and configadv.h files from this thread. Anyone have some insight? I'm so close! Thank you
    The fan extender board only uses D4 and D5, even though it also covers D6 and D11, where the servo would normally be connected. If you solder a 3-pin header to the back of the fan extender board, to the top of the D11 pins, you can still connect the servo there, and you don't have to do anything special in firmware.

    The connections you show for the cooling fans are correct. The print fan is on D4 and the hotend fan is on D5.

  9. #219
    Nice site ... I have ordered all the parts, motors, hot ends, etc. to build this, should have everything in a week or two. Thanks for your efforts in putting all this together, including the hardware kit on eBay.

  10. #220
    Engineer clough42's Avatar
    Join Date
    May 2014
    Location
    Meridian, ID
    Posts
    418
    Quote Originally Posted by Forrest View Post
    Nice site ... I have ordered all the parts, motors, hot ends, etc. to build this, should have everything in a week or two. Thanks for your efforts in putting all this together, including the hardware kit on eBay.
    Thank you. You're welcome.

Page 22 of 48 FirstFirst ... 12202122232432 ... LastLast

Posting Permissions

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