@Garth_42
Let me know if I can provide additional data to assist in troubleshooting this.
Posts made by Garth_42
-
RE: 1HCL closed loop mode motor not turning
-
1HCL closed loop mode motor not turning
Hi all,
I am attempting to set up closed loop motor control with the 1HCL on the Duet3 MB6HC and have commissioned the motor in open-loop mode successfully. After this, I try to switch it to closed-loop mode and the motor doesn't turn at all. When I send configuration commands I am not getting any errors from the console. When I attempt closed loop tuning, I get an error that the measured motion was less than expected (which makes sense). I am using an off-the-shelf stepperonline closed-loop motor (17E1K-07) with 4000CPR and 1.8deg/step. All the firmware on the mainboard, DWC, and expansion is on 3.5.3.
I have been following the docs to setup the 1HCL and here are the G-Codes that I am using for configuration.
Open-loop (working):
M569.1 P123.0 T2 C4000 S200 R100 I0 D0 E4:6 ; Configure the 1HCL board at CAN address 123 with a quadrature encoder on the motor shaft that has 4000 PPR with a motor with 200 full steps per revolution (1.8degrees). M569 P123.0 D2 S1 ; spreadcycle mode (open loop) M584 X123.0 ; set X driver M906 X1000 ; set the max current to use for X M917 X0 ; Set the closed loop axes to have a holding current of zero M92 X80 ; steps/mm G92 X0
Closed loop (motor not turning at all):
M569.1 P123.0 T2 C4000 S200 R100 I0 D0 E4:6 ; Configure the 1HCL board at CAN address 123 with a quadrature encoder on the motor shaft that has 4000 PPR with a motor with 200 full steps per revolution (1.8degrees). M569 P123.0 D4 S1 ; Configure the motor on the 1HCL at can address 123 as being in closed-loop drive mode (D4) and not reversed (S1) M584 X123.0 ; set X driver M906 X1000 ; set the max current to use for X M917 X0 ; Set the closed loop axes to have a holding current of zero M92 X80 ; steps/mm G92 X0
Please let me know if you have any input on how to debug further.
Best,
Garth -
RE: Configuring mixing hot end on a tool changer
Hi Sam,
Some thoughts I have on one method:
Have all tpre files that are defining the mixing extruder tool #s reference a master file that would perform pickup / dropoff. Have a conditional in the GC such that if the current tool is one of the ones that perform mixing, don't perform the above procedure....otherwise, just define as one mixing tool and then you don't need to worry about it. Then you would just need to send a mix ratio M567 command to change it as needed instead of a tool change.
-
RE: Pause confusion...
@Chriss I know that using "R1" in an M98 call can change the behavior of a macro such that it can be interrupted. The behavior still isn't what you might expect though, reference the G-code dictionary. I haven't tested calling g-code files within another g-code file using M98 and seeing if those can be paused.
-
RE: MultiAxis Printing
@T3P3Tony thanks for setting a space up for these discussions! This is great. Excited to see what the community comes up with.
-
RE: Automated Backup Script for SBC-Mode Printers
@o_lampe thanks for the thoughts. Why would cancelling during a PID tune affect the database? Does it create a temp file?
Yes, the user would need to make sure that they are using the correct FW version with a config if they use an older one.
I think that the major use cases are to make sure that if you make too many changes, or aren't sure why you are getting a specific behavior from the config after a change, you have backups and can find one that is working, as well as backup the most recent version of the config such that if you loose that data from a bad SD card/etc. it isn't gone forever.
It makes sense to reduce the backup check frequency as if a user is testing changes, then it doesn't sync many copies of those files.
-
Automated Backup Script for SBC-Mode Printers
Hi all,
I created a little program that will do automated backups to a cloud service (or a local PC on LAN) through rclone and a cronjob on the connected RPI. It is on github, here. It is my first repo of anything halfway interesting so let me know what you think, and if it has helped you out!
Best,
Garth -
RE: rfm - RepRapFirmware FileManager [duetbackup successor]
@wilriker haha, thanks for the reply. This is good to know, I was creating an rclone script to do backup on the SBC. I saw this and my interest was piqued.
-
RE: rfm - RepRapFirmware FileManager [duetbackup successor]
@wilriker I am getting the following error when I run the RFM tool. I have attempted on mac and PC, and have tried multiple variants of the command, too. My duet is a Duet3MB6HC in SBC mode running RRF 3.4.5.
Here is a screenshot of the output from terminal:
Best,
Garth -
RE: FTP Connection Issues in SBC-mode
@chrishamm ahh... I see. This makes sense. I assumed the FTP server in standalone was extant in SBC mode, too, and now I see my error there. I tested this as well and it is working on my board.
Thanks for the info on best practices. I haven't seen that information on the wiki.
Best,
Garth -
RE: FTP Connection Issues in SBC-mode
@Falcounet I tried using SFTP, using the pi admin account, and it worked. I am not sure why I am not able to access via FTP but at least I can access via the SBC.
For other people's reference as an alternate to FTP to access the board's files, the file directory structure to access the Duets "sd" folder contents from the Raspberry Pi is: /opt/dsf/sd/
-
FTP Connection Issues in SBC-mode
Hi forum,
Happy new year!
I have been having issues connecting to my Duet3 MB6HC via FTP in SBC mode.
I have been using FTP with these boards in standalone mode for a while and haven't been having issues. I have one machine using SBC mode and that is where I am running into issues.
Info:
- RRF 3.4.5
- DuetPi image on RPI
- Ran updates on the board a couple days ago
- SBC mode
- Networking section of the config and the error message from FileZilla below
What I am using/trying:
- FileZilla (on Mac, tried using a FileZilla Windows client as well)
- Tried using the direct IP address, and duet3.local as the host
- Using the anonymous login
- Also tried using ftp, anonymous as the user name and set a defined password using M551 in the config
- Limit number of simultaneous connections set to 1
I can't log into the server at all. I am getting these error messages:
Here are the FileZilla Settings:
Here is the networking section of my config file:
Let me know if I can add any more detail.
Much Thanks,
GarthPostscript: My apologies, I realized that I put this into the wrong category after posting. Would a mod be able to move this to General Discussion please?
-
RE: ExecOnMcode
@Falcounet thanks for this. I am not sure either, as I haven't done anything at the command line on the RPI that would have modified my pip installation. It installed and is working now! Thank you very much.
-
RE: ExecOnMcode
@Falcounet thanks for getting back to me. I am using the DuetPi image.
Here is the result when I SSH into the RPI as the root account.
-
RE: ExecOnMcode
I am having trouble installing the newest version on my Duet3. I am getting the following error:
dsf-python is installed on the RPI. Pip3 is recognized in the terminal when I enter "pip3".
Here is an output of M122:
M122
=== Diagnostics ===
RepRapFirmware for Duet 3 MB6HC version 3.4.5 (2022-11-30 19:35:23) running on Duet 3 MB6HC v1.01 (SBC mode)
Board ID: 08DJM-956BA-NA3TJ-6JTDA-3S06M-9U8GS
Used output buffers: 1 of 40 (13 max)
=== RTOS ===
Static ram: 152760
Dynamic ram: 67548 of which 204 recycled
Never used RAM 130160, free system stack 200 words
Tasks: SBC(ready,0.5%,446) HEAT(notifyWait,0.0%,322) Move(notifyWait,0.0%,351) CanReceiv(notifyWait,0.0%,774) CanSender(notifyWait,0.0%,336) CanClock(delaying,0.0%,339) TMC(notifyWait,7.6%,91) MAIN(running,91.8%,923) IDLE(ready,0.0%,30), total 100.0%
Owned mutexes: HTTP(MAIN)
=== Platform ===
Last reset 01:16:51 ago, cause: software
Last software reset at 2022-05-29 08:42, reason: User, GCodes spinning, available RAM 132740, slot 1
Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x00400000 BFAR 0x00000000 SP 0x00000000 Task SBC Freestk 0 n/a
Error status: 0x00
Step timer max interval 134
MCU temperature: min 25.1, current 27.1, max 27.2
Supply voltage: min 24.0, current 24.0, max 24.1, under voltage events: 0, over voltage events: 0, power good: yes
12V rail voltage: min 12.1, current 12.2, max 12.2, under voltage events: 0
Heap OK, handles allocated/used 0/0, heap memory allocated/used/recyclable 0/0/0, gc cycles 0
Events: 0 queued, 0 completed
Driver 0: standstill, SG min 0, mspos 8, reads 15144, writes 15 timeouts 0
Driver 1: standstill, SG min 0, mspos 8, reads 15145, writes 15 timeouts 0
Driver 2: standstill, SG min 0, mspos 8, reads 15144, writes 16 timeouts 0
Driver 3: standstill, SG min 0, mspos 8, reads 15145, writes 15 timeouts 0
Driver 4: standstill, SG min 0, mspos 8, reads 15145, writes 15 timeouts 0
Driver 5: standstill, SG min 0, mspos 8, reads 15145, writes 15 timeouts 0
Date/time: 2022-12-28 21:41:46
Slowest loop: 1.48ms; fastest: 0.04ms
=== Storage ===
Free file entries: 10
SD card 0 not detected, interface speed: 37.5MBytes/sec
SD card longest read time 0.0ms, write time 0.0ms, max retries 0
=== Move ===
DMs created 125, segments created 0, maxWait 0ms, bed compensation in use: none, comp offset 0.000
=== MainDDARing ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== AuxDDARing ===
Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
=== Heat ===
Bed heaters 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
=== GCodes ===
Segments left: 0
Movement lock held by null
HTTP* is doing "M122" in state(s) 0
Telnet is idle in state(s) 0
File is idle in state(s) 0
USB is idle in state(s) 0
Aux is idle in state(s) 0
Trigger* is idle in state(s) 0
Queue is idle in state(s) 0
LCD is idle in state(s) 0
SBC* is idle in state(s) 0
Daemon is idle in state(s) 0
Aux2 is idle in state(s) 0
Autopause is idle in state(s) 0
Code queue is empty
=== CAN ===
Messages queued 41489, received 36956, lost 0, boc 0
Longest wait 1ms for reply type 6042, peak Tx sync delay 386, free buffers 50 (min 49), ts 23058/23057/0
Tx timeouts 0,0,0,0,0,0
=== SBC interface ===
Transfer state: 5, failed transfers: 0, checksum errors: 0
RX/TX seq numbers: 23547/23547
SPI underruns 0, overruns 0
State: 5, disconnects: 5, timeouts: 5 total, 5 by SBC, IAP RAM available 0x2ad20
Buffer RX/TX: 0/0-0, open files: 0
=== Duet Control Server ===
Duet Control Server v3.4.5
Code buffer space: 4096
Configured SPI speed: 8000000Hz, TfrRdy pin glitches: 0
Full transfers per second: 38.22, max time between full transfers: 66.3ms, max pin wait times: 60.9ms/3.9ms
Codes per second: 0.00
Maximum length of RX/TX data transfers: 3195/64Let me know if I can help with resolving this issue with any more information.
-
RE: Setting up a pressure sensor with Duet3
@hebigt Thanks for the reply! This is great info, and the way that you are thinking it works makes logical sense to me, too, now that I have more information about it. Once I get around to making the connections, I will update if you haven't already posted about your setup working. I am surprised your post didn't come up in the searches I did on the forum.
-
RE: Setting up a pressure sensor with Duet3
@garth_42 Hi, is there something I can do to make my issue more clear? I am not sure what the B and C values should be in order to get a value aligned with the PSI values from the sensor in the GUI. Also, I looked at the hardware overview and it says inputs are 30V tolerant, does this mean the input pin on any GPIO or SPI pin?
-
Setting up a pressure sensor with Duet3
Hello,
I would like to integrate a pressure transducer with my Duet3. It is a linear sensor that outputs from 0.5V (=0 psi) to 5V (=150psi) depending on the pressure it senses.
I believe that I would use a M308 S"sensor_number" P"pin_name" Y"linear-analog" Bnnn Cnnn command to set this up.
B is the value you want displayed at the ADC value = min and C is the value displayed at ADC value = max.
How would I know what the min and max ADC values are, and how that relates to the voltage output from the sensor? Where would I find out if the analog input pins are 5V tolerant or 3.3 V?
I was planning on connecting to either a temp pin or some other analog-enabled pin on the board.
Any help is appreciated.
Best,
Garth -
RE: Outputting a string with an object model variable to a log file
@garth_42
Hi all, I posted justa bit too quickly. I figured out the syntax. For anyone in the future, this is the syntax I used:
M117 {"Z-Axis Position: " ^ move.axes[2].userPosition ^ " "} -
Outputting a string with an object model variable to a log file
Hello,
I am wanting to output a message to a log file (M118) or to the user (M117) that has a string and then data from the object model in one command. Normally I would concatenate a string with a typecasted variable but I am having issues doing this.
I tried this: echo "Hello World", move.axes[2].userPosition
and it had the desired behavior.When I try: M118 S{"Hello World", move.axes[2].userPosition} L1
it throws an error.When I try: M117 "Hello World", move.axes[2].userPosition
it throws an error, too.Here is a screenshot of the console:
Could someone tell me what is wrong with my syntax? Much appreciated.