The board is an Arduino Due which is a 3.3V System.
I can try an Uno with a 5V level shifter.
The board is an Arduino Due which is a 3.3V System.
I can try an Uno with a 5V level shifter.
I am trying to send a byte value to an Arduino in order for it to activate a feature i am working on. Sending "M260 A2 B49" which should send the byte "1" to the Arduino at address 2. Sending it gives an "Error: M260: I2C transmission error"
My arduino is started with "Wire.begin(2);" which adds the Arduino to the I2C bus on address 2.
Not sure what the issue is or how to fix it.
Here is my Arduino code if this helps:
#include <Wire.h> //starts the library
#define LED_1 13
int x = 0; // give a value to the varable to be change with I/Os
void setup() {
Serial.begin(9600); // used to debug
Wire.begin(2); // Start I2C Bus as a Slave (Device Number 9)
Wire.onReceive(receiveEvent); // register event
pinMode(LED_1, OUTPUT);
for (int i = 0; i < 2; i++)
{
digitalWrite(LED_1, HIGH);
delay(200);
digitalWrite(LED_1, LOW);
delay(200);
}
}
void loop ()
{
Serial.println(x);
if (x == 1) {
digitalWrite(LED_1, HIGH);
delay(200);
digitalWrite(LED_1, LOW);
delay(200);
}
}
void receiveEvent()
{
x = Wire.read(); // receive byte as an integer
}
This has been solved. The Right-most LED had broken its solder joint so i had to scrape off some of the solder mask to expose some copper to get better contact and after adding more solder to the pin it has resumed working.
The solder joints on those LED's seem to have very little solder connecting them.
I have a V1.2 IR Height sensor that for some reason seems to have stopped detecting things. When powered on it flashes four times, indicating that the board has started in analog output mode. However the board does not light when it approaches an object. the board will light 2 times when connected to a 5V supply with the output pin pulled high so the board seems to recognize the differences between the two setups.
Edit: I have lokeda t it through my phone camera and only the IR LED closest to the Capacitor is lit, i will try to re-flow the solder joint as it could have been bumped and broken.
For some reason my printer has been randomly stalling and buffering mid print (ie: 5-10 second pauses between moves mid print). Once this starts there is no way for the printer to return to normal operation without a hard reset. This is occurring the same time that there have been some "M25 resume-after-power-failed state saved" showing up in the web interface even though the printer power supply isn't dipping voltages.
Above is a link that shows the stuttering i am talking about.
I've been setting up a third extruder tool, and have been having trouble setting up the last drive for the extruder motor. The first two tools have been configured and set up and tested with and can print fine, but adding the third tool, the motor drive selected for it never runs a motor.
I am using the Duex5 to drive some of my axis, and want to use drives on this board to drive this final extruder.
The extruder heats, holds a temperature, but will not run a drive motor. I am using a higher drive number because my X, Y and Z axis are already connected to other drive numbers. (see below)
The commands that I'm using to set everything up are as follows:
M569 P0 S1 ; Drive 0 goes forwards (change to S0 to reverse it)
M569 P1 S1 ; Drive 1 goes forwards
M569 P2 S1 ; Drive 2 goes forwards
M569 P3 S1 ; Drive 3 goes forwards
M569 P4 S0 ; Drive 4 goes backwards
M569 P9 S1 ; Drive 9 goes forwards
M584 X6 Y5 Z1:2 E3:4:9 ; Drive remapping
…
M906 X2000 Y2000 Z1600 E2000 ; Set motor currents (mA)
...
M350 X16 Y16 E1 I1 ; Set 16x microstepping with interpolation
M92 X78.74 Y106.77 Z3316 ; Set axis steps/mm
M92 E80.25:80.25:80.25 ; EXTRUDER STEPS/MM
...
M563 P0 D0 H1 F1
M563 P1 D1 H6 F2
M563 P2 D2 H7 F2
No matter what I do, I can't get a motor drive to spin once the extruder comes up to temperature. Any help would be appreciated.
Nevermind, I have found a way around it, the PCBs had a few components that made it function that way. I removed them and now they will work with the heater outputs as they are.
Is there a way to invert the output of the heaters? I bought some cheap relay boards that trigger on a voltage greater than 3V, which means that the current sinking mosfet output inverts their behavior. I'm fine with either a hardware or a software solution at this point.
I don't see any indicator that there is a Duex5 connected in the web interface, I tested with another Duex5 to see what the problem is, and the other Duex5 worked fine - as in it shows up in the web interface.
What's weird is that I'm using heaters, the PT100 breakout board, a stepper motor driver on the Duex5, but these things all have dedicated pins on the Duet Wifi expansion header. The only things that seem to not work are the external triggers (off the endstop inputs), the fans and the GPIO pins.
How is that detection handled? It seems to be a hardware failure somewhere since the firmware is still capable of detecting the expansion boards (just not the one I'm working with right now). What limitations does this impose if the firmware does not detect the expansion boards?
I am using the Duet Wifi with the Duex5, I don't see anything in the web interface that indicates there is a Duex5 connected, should there be?
I have been using motor controllers and heaters off of the Duex5 for some time now, and haven't had any issues with it, I don't recall there being any indicator that it was connected.
I have been working with the GPIO pins trying to set a few pins high/low to trigger external processes. I had them connected to an Arduino mini, and they worked briefly, but no longer respond to the M42 command. I have tried switching to the fan outputs, thinking I may have burned out the GPIO pins, but even these are not switching. (They will not even turn on a fan with either the M106 or M42 after disabling the fan behavior, I understand that they are low side switching outputs).
Am I doing something wrong, or is there a bug that I am not aware of with the GPIO pins, and fan outputs?
Resume with M25 or M24?
I'm looking to mace a macro on my printer pause the current print, run a set of gcode commands that pulse a pin and delay, and then return to the print as if nothing has happened. The machine is a DuetWifi and DueX5
I have created "Trigger2.g" in the "sys" folder and have added "M581 T2 S1 E2 C0" in config.g that will invoke trigger 2 on rising edge on E2 endstop regardless of print status. I have attached a switch to the E2 endstop connector on the dueX5 and when i have the "Trigger2.g" contain just
M42 P100 S255
G4 P10
M42 P100 S0
```the pin is pulsed, however after adding more commands to the file the commands seem to be interlaced with the print commands and the print doesnt stop.
[[language]]
;Switch to relative, lift Z 10 mm and return to absolute.
G90
G1 Z10
G91
G1 X100 Y300 F4800; Move to purge location
;Pulse to open the valve
M42 P100 S255
G4 P10
M42 P100 S0
G4 S60; Delay for 60 seconds
;Pulse to close the valve
M42 P100 S255
G4 P10
M42 P100 S0
G4 S5; Delay for pressure build up
I'm stuck on how to proceed with pausing the print, running commands and then resuming the print properly.
I'm looking to use the GPIO pins with the M42 commands. With nothing connected and after issuing an M42 P100 S255 I measure 4.92V on the GPIO1 pin. With a multimeter connected i verified that i can toggle the pin between 0 and 5v with S0 and S255 as well as testing the in-between values. However, when i attach the GPIO1 pin to the signal and the GND of the GPIO&I2C to the ground of a mosfet board the mosfet will not activate. moving the signal wire from the GPIO1 to the 5V on the same header activates the mosfet and the light comes on. When plugged into the mosfet board the GPIO pin reads 0.7 Volts and not triggering the mosfet indicator LED.
It seems to work fine but the problem is that you can only have an active tool and making one active makes every other tool into "Standby"
Id just love the ability to add JUST a heater. Tell it what heater channel to use, what thermistor/PT100 input and just have a plain heater.
I am using a Duet Wifi running RepRapFirmware so control a prototype machine that i am developing. The material processing side of the machine requires external heaters and temperature probes. They are JUST a heater and temperature sensor that i want to control. The only way that i can see to do this right now is to assign the heater and probe to a tool and just not define a drive so it acts just a like a standard heater. Is there a way that i am missing to have control over a heater without having to define each as a tool?