Posts by mandem
-
-
KR-8 / KRC4 Compact with EasyCAT module set up to receive analog and digital signals from the krl.src program. Code example below.
Code$ADVANCE = 5 LIN {X -81.071,Y 247.020,Z 1049.720,A -176.411,B 82.473,C -170.883} C_DIS $ANOUT[2]=9.210 $ANOUT[3]=0.790 LIN {X -79.566,Y 229.460,Z 1052.110,A -176.194,B 82.407,C -171.104} C_DIS $ANOUT[2]=7.018 $ANOUT[3]=2.982 LIN {X -78.228,Y 212.954,Z 1058.600,A -176.041,B 82.239,C -171.366} C_DIS
Currently the robot is jolting between the linear targets, Is there anyway to send the I/O signals while keeping the motion smooth?
-
And if the Kuka can communicate with the Ethercat shield, of course this can work.
Thanks!
Yeah it was just the addition of the DMX shield - seems like linking a lot of pieces of hardware together. -
It seems the EL6851 is not compatible with Kuka
As an alternative does Ek1100 -> EasyCat shield -> Arduino -> Dmx shield -> Dmx light source sound like a workable alternative?
-
Thanks for the clarification,
The Light source also has a 3 pin XLR. So provided the EL6851 module is supported I think I am going to use that - it now seems like the simpler option
-
I'm not sure if the module is supported do you know anywhere I could check online - my search results are returning nothing of use.
Assuming the EL6851 is compatible, are you saying I should unmount the El1xxx and El2xxx and mount the El6815 directly next to the EK1100?
-
I have a KRC4 compact controller fitted with an EK1100 and EL1809/2809 EtherCat modules, and I have bought an EL6851 DMX master, and a DMX light source which is fitted with an RJ45 connection port. The goal is to RGBW signals from the controller to the light source.
I'm looking for some help putting it all together. I understand I'll need to connect the X65 on the controller to the input on the light source with an ethernet cable.
The EL6851 is now connected to the EtherCat Bus next to the other ELxxxx modules. Do I need to connect any of the ports on the face of the EL6851 back to the EK1100 (or anywhere else)?
Thanks for any help
-
Im on the cusp of buying the hardware for this project.. Just wondering if I am right in thinking the easycat linked below will allow more outputs than the esmacat?
Are there any other differences, namely speed of signal?
-
Thanks all very interesting. I gather we could work out the delay and have the robot start the outputs before the robot reaches the location at which the color needs to be active.
I've had a reply from Esmacat about setup. They recommend Ethercat -> 24 V PoE injector -> Esmacat(EASE) -> Arduino -> LED. It sounds to me like optocouplers and PoE have a similar function in the setup as the PoE injector, but they mention that the injector is because EASE is powered through 24 V Poe and Beckhoff devices may not be. I thought the reason for an optocoupler was to reduce the voltage from 24 V coming out of the KRC4 compact to 5 V for the Arduino.
QuoteThe hardware setup I recommend for now at least is to insert a 24 V PoE Injector after the Beckhoff devices by connecting an ethernet cable to the LAN port of the injector, connecting another ethernet cable from the PoE port of the injector to EASE’s IN port, and connecting the 24 V power adapter to the injector. The reason for this is because EASE is powered through 24 V PoE and I am currently unsure if the Beckhoff devices run on that as well.
-
You could also trade off some time resolution for color resolution, some bonus fun time to figure out the protocol to use
I think response time will be more important. But would you mind explaining how this would work?
-
not bad... that would eliminate need for EtherCat shield but would still need interface from X12 to Arduino.
if isolation is needed, bunch of optocouplers would be needed (and resistors).
You mean considering only one LED is needed? Im happy to integrate the etherCAT shield if it simplifies things and allows use of more LEDs if need in the future
-
So, you have a KRC4 Compact with the X12 option, then?
16 outputs -- how many GPIOs does your Arduino have? They come in different flavors.
With 16 bits, you could encode 65535 different states. IIRC, the Arduino library for those LED strips uses 3 8bit values -- one each for the intensity of Red, Green, and Blue. So you'll have to lose some resolution, but that shouldn't be a big issue.
Yes, it came with a plug by pack kit for the X12
I haven't bought the Arduino yet, do you have any recommendations?
65535 should be plenty!QuoteYour Arduino program could, for example, monitor GPIO 1-5, and convert that into an 8bit Red value. Ditto for GPIO 6-10 for the Green, and GPIO 11-15 for the Blue. The math would be Color Intensity = GPIO Value / 31 * 255.
Thanks for this!
-
it all depends on what you really want to accomplish...
there are LED strips for different voltages and using various type of LEDs.
some LED strips are using communication to get individual LEDs programmed to particular color. in this case you will need something like an Arduino that can talk to them. driving them directly from KRC I/O is not going to work.
but most of the RGB strips (cheaper ones) are bussed. this means that all LED segments of same color are grouped together. no individual LED control is possible, you control entire channel together and controller output need to be able to handle the current (the longer the strip, the more LEDS.... the more LEDs the more current). also they are designed for NPN, meaning that channel is lit when pulled low. note that KRC outputs are usually PNP style. this can be sorted out by using relay or suitably biased transistor per channel. optocouplers cannot handle much current, so it would need to their biffed up cousin SSR (solid state relay). or even regular electromechanical relay if you don't mind noise and slower switching speed. if using SSRs, read the specs and check voltage drop for example. if using electromechanical relays, also read specs and check switching time and wiping current.
if you use this and simply wish to to turn on/off one of channels, this can be done directly from KRC, just need proper signal matching. using relay per channel will do just fine, so for RGB you would need three relays. for RGBW you would need 4 relays. nice thing about this is that relay contacts are isolated from KRC outputs so LED strip can be operating at any voltage, you just need separate power supply for it. you can turn more than one channel at once to get certain (fixed) color mix but... you cannot dial in arbitrary color. that would require PWM and robot outputs are not fast enough for making this flicker free.
if you need to control the colors (get particular orange for example) or do animation (colors gradually change from one to another) you have no choice but using something that can ensure proper (sufficiently fast) timing. then the option of adding EtherCat shield to an Arduino is the way to go. KRC can specify whatever it wants and Arduino would receive signals and turn them into something that LED strips need - be it PWM, communication or just turning on/off.
EDIT,
just saw your response. to get color and brightness change you will need to use Arduino and EtherCat shield to interface this to a robot.
Thanks, this is useful though might take another read to fully get my head around.
I actually emailed a couple of etherCAT shield manufacturers an hour ago for their advice on 1) wether it would work and 2) setup recommendations.
For the moment I only need to use one LED so in this case would I get any benefit from using a SSR over an optocoupler?
-
and what is the type of LED strip you are working with? what are electrical specs?
I'm looking at this LED but open to other options, as long as it is bright (variable brightness preferred), and can change colour - https://www.adafruit.com/product/1260
Specs are:- 0.5" (12.5mm) diameter circle PCB, 0.1" (2.5mm) total thickness
- 800 KHz speed protocol
- Chainable design
- 5-9VDC power (can run at 3.5V but color will be dimmed), constant current 18.5mA per LED (~55mA max total per pixel)
How many unused outputs do you have on those BL modules? How many different commands do you need to send from the KRC to the Arduino?
As far as I can tell all of them are available - it looks like they lead to an X12 port on the exterior of the KRC4 Compact. Pic here - https://ibb.co/xg5dHzx
I'd like to send as many commands as possible but happy to work with 16 if that's all the IO will allow.
I gather I would have to set variables ahead of time in Arduino ahead of time for the colours I'd like to use, rather than send a signal that sets the LED to any of the 256*256*256 RGB colours spontaneously. -
For Arduino there are also EtherCAT modules available
For instance
Would this make it easier to send data from the pre installed modules to the Arduino?
-
Well, first, you have to determine what I/O your KRC has (and, in fact, what model KRC you have). KRC4s, for example, have no I/O by default -- it's entirely optional. KRC2s came with DeviceNet by default, but that still required adding DeviceNet slave nodes to the robot in order to break out the DN I/O into individual hardware signals.
I have the KRC4 Compact RAL 7016
IOs are Beckhoff EK1100, EL1809, and EL2809Maybe you can use EK1100 EtherCat Coupler and EL6001 RS232 terminal from Beckhoff if you want the serial communcation from KRC4...
I'm using just right now the EL6021 RS485 and sending and receiving data from and to PC(USB to Serial adapter)...
Thanks, I'll look into this
-
The krc is normally working with 24DC while the Arduino works with 5 VDC.
Thanks for confirming - I think this is what the octocoupler is for that I mentioned in op. This github reop recommends it but I think the readme is incomplete - https://github.com/fablabbcn/KUKAIO
I am more confused about how to send an output signal from the KRC4 that specifies a colour for the Arduino to send to the LED
-
Hi, I have a KRC4 Compact and want to send 'on / off' and 'change colour' instructions to a programmable LED.
Hoping for some advice as I am pretty lost with it all.
Arduino hardware seems pretty widely used in the use of programmable LEDs. I've read elsewhere on this forum that in order to send a signal from the KRC4 to Arduino I'd need an octocoupler to isolate the circuits. Can anyone verify this and / or recommend a suitable hardware setup?
I think the bigger issue is the colour changing aspect. can anyone simplify in programming terms how to send an output signal from the KRC4 that will turn the LED on and change it to a specific colour?
-
As mentioned earlier...
Found the KOP file I was afterThis thread led me to look in the right place: https://www.robot-forum.com/robotforum/kuk…s-without-kops/
So no need for more action right now.
I read the thread linked above and saw that KOP files are in the D:\ drive on the KRC4, I then transferred the file to WoV on my laptop by USB
Had I been using the right version of the manual I would have read section '6.30.6 Loading an option package from a robot controller' and integrated KOP files to WoV over ethernet rather than USB.
-
Same info is also in manual for WoV 4.0, page 54....No section titled: Loading an option package from a robot controller
The WorkVisual download package includes a full set of PDF manuals, in the DOC subdirectory.I knew it would be but a google search is a more pleasant experience than digging through windows