Welcome! Log In Create A New Profile

Advanced

RepRapFirmware 3.0 port for LPC1768/9 based boards

Posted by sdavi 
PCR
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 04:04AM
Quote
jay_s
All,

The wiki has been updated.
The SKR instructions have been split into wifi and SBC. The stepper.numSmartDrivers in board.txt will be available when the next build is released. The code is already present if you want to create your own build
MKS Sbase instructions have been uploaded. Wifi instructions have been included which detail the hardware mod. The firmware to support this will be available when the next build is released. The code is already present if you want to create your own build

Thank you for the hard work! My first Prototype PCB for the SKR is coming this week! The next Revision is also ready. But it is really hard to finde some female idc connectors for soldering!
What´s better? 2 Cables or a thing which directly plugs into the SKR Board.

I tested the TFT35V2 and TFT35V3 Displays from Bigtreetech with the Custom Firmware from a user here in the Forum! Works perfect. A PanelDue i will try this week. If you want i can write a little wiki!


Best
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 04:14AM
@DrDitto

Are you sure you have the latest versions of all the repo's?


Based in Darlington, North East
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 04:18AM
Quote
PCR

Thank you for the hard work! My first Prototype PCB for the SKR is coming this week! The next Revision is also ready. But it is really hard to finde some female idc connectors for soldering!
What´s better? 2 Cables or a thing which directly plugs into the SKR Board.

I tested the TFT35V2 and TFT35V3 Displays from Bigtreetech with the Custom Firmware from a user here in the Forum! Works perfect. A PanelDue i will try this week. If you want i can write a little wiki!


Best

It's gloomyandy that does all the hard work. I just test things and keep the wiki updated.
Any information you have for connecting a paneldue or the TFT displays would be greatly recieved.
I have a paneldue but haven't tried to use it on my SKR build.
I plan to order one of the little screens to try at some point.
Just PM any info you have and I'll get it put on the wiki

Edited 1 time(s). Last edit at 05/11/2020 04:23AM by jay_s.


Based in Darlington, North East
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 04:57AM
Thanks my fault
I Redownload this ones
CoreLPC4RRF-3-dev
DuetWiFiSocketServer-newsdk-lpc
RepRapFirmware-3.01-dev-lpc
RRFLibraries-dev-lpc
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 05:05AM
@DrDitto

Great stuff. I take it you've been able to build the firmware without issue?


Based in Darlington, North East
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 06:09AM
@BT99 Stall detection is not currently supported in the LPC port. Unfortunately it is not just a simple case of enabling the capability. I've taken a quick look at what will be needed...

There are a number of problems that would need to be solved to get it working fully. The code from DC42 is useful, but there are a number of issues that are unique to the LPC port, mainly to do with timing. For simple stall detection the timing of how soon the stall is detected is probably not too important, however for endstop use it is as it will impact the accuracy/repeatability of position information returned. On the current main board drivers that support stall detection the stall state is obtained by reading registers on the device, these devices currently use hardware SPI and based on comments in the source all drivers on the board are polled within a period of 170uS so I guess we can assume that is fast enough to give good results. On the LPC with TMC2209 drivers we have a different situation. The drivers use UART communications, but unfortunately we do not have a hardware UART to talk with them and we use a much slower solution that means we only poll each driver every 62mS. The good news is that we have a pin (the diag pin) that tells us when a stall (or other event) happens and on typical LPC based boards this pin is connected to the mcu. But we will still need to check this pin and the current RRF isn't setup to do that.

So basically to get this working we will need to port the additional code from the expansion board to the LPC (and sort out diag pin configuration) and this would probably give us basic stall detection. To add end stop support we will also need to work out the best way to poll the diag pin during move operations (probably not that hard as we are already doing something similar for the existing end stops).

At the moment I don't have any TMC2209 drivers so have not really looked into this. I may get a couple and take a look at adding stall detection when I get chance.

However it does raise the question of what do you need/want this feature for? Are you planning on using it for simple stall detection or do you intend to use it as a replacement for an endstop? It seems that stall detection and in particular using it as an endstop replacement is popular (something I've never really understood as a normal endstop switch is cheap, pretty reliable and probably more accurate), but I've never particularly had a need for it.
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 06:26AM
@pcr could you provide a little more information about the board you are designing? I've built a couple of adaptor boards (one for WiFi one for SBC) that just use prototype boards (and are not pretty!). Both of these simply plug into the connectors on the SKR boards for the display. In the case of the SBC adaptor I just have a set of header pins that I plug a normal female to female IDC cable into.

Not very good photos of my two test boards here: [photos.app.goo.gl]
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 06:30AM
Thanks for your help!!!
It is done!!!!
I have the firmware compiled!!!!
PCR
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 06:37AM
@gloomyandy

The one which is coming this week looks like that


It uses the Nodemcu 8266 V3. You can plug the Nodemcu easily in.

Another one is this


This uses the ESP12F Modul. This could be modified that it plugs directly into the SKR board without the ribbon cables!

Edited 1 time(s). Last edit at 05/11/2020 06:39AM by PCR.
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 06:39AM
@PCR

Looking smart!
Are you planning to sell them?


Based in Darlington, North East
PCR
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 06:45AM
Not selling them offical. If everything works i will upload the files to github. winking smiley If someone is then intrested i can make a small production run winking smiley But the will be cheap i think.
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 06:47AM
@PCR

Add me on the list for a couple of the first one.
Where are you based?


Based in Darlington, North East
PCR
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 06:50AM
Berlin - Germany! Send me your adress via PM. When they come this week and they work i will send you one!


Best
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 07:09AM
Dirmware compiled, sd prepared but see nothing at screen
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 07:12AM
Quote
DrDitto
Dirmware compiled, sd prepared but see nothing at screen

What do you mean by nothing at screen?

What board are you using? What screen are you referring to?


Based in Darlington, North East
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 04:25PM
tHANKS

SKR V1.3
12864 BIG ONE
aND JUST SEE BLACK SCREEN
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 04:27PM
Quote
DrDitto
tHANKS

SKR V1.3
12864 BIG ONE
aND JUST SEE BLACK SCREEN

I take it you're not using WiFi and I just the screen?
Have you loaded menu files on to the SD card?
RRF doesn't have any as default
See here [forum.duet3d.com]

Edited 1 time(s). Last edit at 05/11/2020 04:29PM by jay_s.


Based in Darlington, North East
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 05:21PM
@gloomyandy

What I am working on is unrelated to 3-D printing.
My project is a pick-and-place machine for small parts, controlled using G-code.
The X/Y/Z drivers will control the machine motion, and the E0,E1,... and servo drivers will control the gripper(s) and part presentation mechanism(s).


The part presenter is a tube with a stack of parts (coins for demonstration purposes) where a servo kicks out the bottom coin to present to the gripper.
The gripper is a linear actuator driven by a stepper motor, in this case driven by TMC2209 on the X channel.
Using Marlin and TMC sensorless homing enabled, I was able to do "G28 X" homing move which drives until it contacts the part.
However Marlin is a bit of a pain to configure, and does not have the detect endstop feature on G0/G1 moves which is available on RepRapFirmware.
(I also put a post in the Marlin forum to request enabling this feature for TMC2209...)

Yes, stall detection is certainly overkill for this demonstration - I could easily just drive into the part with no feedback, or just use a servo for the gripper.
The point of this little TMC2209 project is to try to come up with a SMART gripper that can detect part contact and control force/torque.
There are "closed loop" drive systems which use an encoder to accomplish this, such as "Mechaduino" and "uStepper", which is a fallback option...

Cheers - BillT

Edited 1 time(s). Last edit at 05/11/2020 05:24PM by BT99.
Attachments:
open | download - gripper.PNG (916 KB)
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 09:54PM
Thanks for the support
I Use no WIFI just LCD
I am using this menu repo
and actually is at sd
UltimateDuetMenuSystem-master
But I see just a bllank screen
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 11, 2020 11:05PM
There is anybody with a a sd image with with the 12864 menu for a skr 1.3?
PCR
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 12, 2020 03:29AM
@DrDitto

have you put this in your config file: M918 P1 E-4 F2000000
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 12, 2020 03:41AM
@BT99 That's an interesting project! Have you tried the servo code on an LPC based board? It is not something I've ever used so no idea how well it works.

I've been looking at the TMC2209 support, merging the code from the add on driver repo is going to be fairly complex as there are a lot of differences (most of them are pretty minor, but it makes it harder to identify what actually needs to change), so it may take a while!
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 12, 2020 03:42AM
@DrDitto what build options are you using in the Makefile? Have you made any changes to it? Have you made any other changes to the source?
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 12, 2020 03:43AM
@BT99 & gloomyandy

I've used an SKR 1.4 to move a servo (only one of those little blue hobby ones) but I can confirm it works as expected.


Based in Darlington, North East
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 12, 2020 03:47AM
@DrDitto, can you connect to the SKR board using a terminal via USB? If you can send M122 and post the output here.
PCR
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 12, 2020 06:40AM
So i am trying to get my BLTouch working on the SKR 1.3. I connected it via this schematic


And then put in this commands

M558 P9 C"zstop" H5 F100 T2000
M950 S0 C"servo"

and the tested it with this
M280 P0 S10
M280 P0 S90

and the Probe delpoys and retract


Then i wanted to use the LPC config tool for this but i cannot choose "servo0" from the PMW Control Channel




Best
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 12, 2020 11:31AM
No I am using the original last version
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 12, 2020 11:31AM
#Enable when debugging on MBED to swap serial and USB
#and select direct ld script
#MBED = true



BUILD_DIR ?= ./build
FREERTOS_DIR ?= ./FreeRTOS
REPRAPFIRMWARE_DIR ?= ./RepRapFirmware
RRFLIBRARIES_DIR ?= ./RRFLibraries
CORELPC_DIR ?= ./CoreLPC2

#BUILD ?= Debug
BUILD ?= Release

#Enable only one
#NETWORKING ?= true
#ESP8266WIFI ?= true
#SBC ?= true

TMC22XX ?= true
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 12, 2020 11:52AM
This is my config
; Configuration file for SKR v1.3 (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v2.1.4 on Mon May 11 2020 04:54:50 GMT-0600 (hora estándar central)

; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"TevoFlash+" ; set printer name
M918 P1 E-4 F2000000

; Network
M552 S0 ; disable network

; Drives
M569 P0 S1 T0.1:0.1:0.02:0.02 ; physical drive 0 goes forwards using TMC220x driver timings
M569 P1 S1 T0.1:0.1:0.02:0.02 ; physical drive 1 goes forwards using TMC220x driver timings
M569 P2 S1 T0.1:0.1:0.02:0.02 ; physical drive 2 goes forwards using TMC220x driver timings
M569 P3 S1 T0.1:0.1:0.02:0.02 ; physical drive 3 goes forwards using TMC220x driver timings
M569 P4 S1 T0.1:0.1:0.02:0.02 ; physical drive 4 goes forwards using TMC220x driver timings
M584 X0 Y1 Z2 E3:4 ; set drive mapping
M92 X80.00 Y80.00 Z4000.00 E418.00:418.00 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00:120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X6000.00 Y6000.00 Z180.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
M201 X500.00 Y500.00 Z20.00 E250.00:250.00 ; set accelerations (mm/s^2)
M906 X800 Y800 Z800 E800:800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout

; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X235 Y235 Z250 S0 ; set axis maxima

; Endstops
M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y1 S1 P"ystop" ; configure active-high endstop for low end on Y via pin ystop
M574 Z1 S1 P"zstop" ; configure active-high endstop for low end on Z via pin zstop

; Z-Probe
M558 P0 H5 F120 T6000 ; disable Z probe but set dive height, probe speed and travel speed
M557 X15:215 Y15:195 S20 ; define mesh grid

; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
M950 H0 C"bed" T0 ; create bed heater output on bed and map it to sensor 0
M143 H0 S120 ; set temperature limit for heater 0 to 120C
M307 H0 B0 S1.00 ; disable bang-bang mode for the nozzle heater and set PWM limit
M308 S1 P"e0temp" Y"thermistor" T100000 B4138 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M143 H1 S320 ; set temperature limit for heater 1 to 320C
M307 H1 B0 S1.00 ; disable bang-bang mode for the nozzle heater and set PWM limit
M308 S2 P"e1temp" Y"thermistor" T100000 B4138 ; configure sensor 2 as thermistor on pin e1temp
M950 H2 C"e1heat" T2 ; create nozzle heater output on e1heat and map it to sensor 2
M143 H2 S320 ; set temperature limit for heater 2 to 320C
M307 H2 B0 S1.00 ; disable bang-bang mode for the nozzle heater and set PWM limit

; Fans
M950 F0 C"fan0" Q500 ; create fan 0 on pin fan0 and set its frequency
M106 P0 S0 H-1 ; set fan 0 value. Thermostatic control is turned off

; Tools
M563 P0 S"E0" D0 H1 F0 ; define tool 0
G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C
M563 P1 S"E1" D1 H2 F0 ; define tool 1
G10 P1 X0 Y0 Z0 ; set tool 1 axis offsets
G10 P1 R0 S0 ; set initial tool 1 active and standby temperatures to 0C

; Custom settings are not defined
PCR
Re: RepRapFirmware 3.0 port for LPC1768/9 based boards
May 12, 2020 11:58AM
ok what does you board.txt say?
Sorry, only registered users may post in this forum.

Click here to login