ok my pulsed sensor problems
-
First off thanks for the great forum I have lurked for ages found 99% of answers I need with out posting
I am currently using a duet2 wifi with a duex 5 running 3.4.4 firmware
and everything has just worked for the most partI have built this sensor
https://www.thingiverse.com/thing:3785514 with a 32 tooth encoder wheel
chosen because I had all the parts on hand. and it is attached to my corexy (sel fsourced railcore) by reverse bowden I would rather not add the sensor to my carriagehere is my most recent attempt to calibrate it
2022-11-24, 7:07:42 p.m. M591 D0 Pulse-type filament monitor on pin zstop, disabled, sensitivity 0.250mm/pulse, allowed movement 50% to 200%, check every 5.0mm, measured sensitivity 0.050mm/pulse, measured minimum 27%, maximum 22844% over 5656.8mm 2022-11-24, 7:00:26 p.m. M591 D0 Pulse-type filament monitor on pin zstop, disabled, sensitivity 0.250mm/pulse, allowed movement 50% to 200%, check every 5.0mm, measured sensitivity 0.100mm/pulse, measured minimum 27%, maximum 21655% over 4539.8mm 2022-11-24, 6:59:57 p.m. M591 D0 Pulse-type filament monitor on pin zstop, disabled, sensitivity 0.250mm/pulse, allowed movement 50% to 200%, check every 5.0mm, measured sensitivity 0.108mm/pulse, measured minimum 27%, maximum 21655% over 4465.2mm 2022-11-24, 6:55:37 p.m. M591 D0 Pulse-type filament monitor on pin zstop, disabled, sensitivity 0.250mm/pulse, allowed movement 50% to 200%, check every 5.0mm, measured sensitivity 0.185mm/pulse, measured minimum 27%, maximum 21655% over 4042.0mm 2022-11-24, 6:55:28 p.m. M591 D0 Pulse-type filament monitor on pin zstop, disabled, sensitivity 0.250mm/pulse, allowed movement 50% to 200%, check every 5.0mm, measured sensitivity 0.184mm/pulse, measured minimum 27%, maximum 21655% over 4010.4mm 2022-11-24, 6:55:21 p.m. M591 D0 2022-11-24, 6:45:01 p.m. M591 D0 Pulse-type filament monitor on pin zstop, disabled, sensitivity 0.250mm/pulse, allowed movement 50% to 200%, check every 5.0mm, measured sensitivity 0.241mm/pulse, measured minimum 27%, maximum 2257% over 2132.1mm 2022-11-24, 6:40:29 p.m. M591 D0 Pulse-type filament monitor on pin zstop, disabled, sensitivity 0.250mm/pulse, allowed movement 50% to 200%, check every 5.0mm, measured sensitivity 0.216mm/pulse, measured minimum 27%, maximum 2257% over 1199.8mm 2022-11-24, 6:40:21 p.m. M591 D0 Pulse-type filament monitor on pin zstop, disabled, sensitivity 0.250mm/pulse, allowed movement 50% to 200%, check every 5.0mm, measured sensitivity 0.213mm/pulse, measured minimum 27%, maximum 2257% over 1173.6mm 2022-11-24, 6:36:06 p.m. M591 D0 Pulse-type filament monitor on pin zstop, disabled, sensitivity 0.250mm/pulse, allowed movement 50% to 200%, check every 5.0mm, measured sensitivity 0.237mm/pulse, measured minimum 27%, maximum 2257% over 307.7mm 2022-11-24, 6:35:41 p.m. M591 D0 Pulse-type filament monitor on pin zstop, disabled, sensitivity 0.250mm/pulse, allowed movement 50% to 200%, check every 5.0mm, measured sensitivity 0.182mm/pulse, measured minimum 27%, maximum 2257% over 212.8mm 2022-11-24, 6:35:11 p.m. M591 D0 Pulse-type filament monitor on pin zstop, disabled, sensitivity 0.250mm/pulse, allowed movement 50% to 200%, check every 5.0mm, measured sensitivity 0.739mm/pulse, measured minimum 28%, maximum 51% over 122.6mm 2022-11-24, 6:34:51 p.m. M591 D0 Pulse-type filament monitor on pin zstop, disabled, sensitivity 0.250mm/pulse, allowed movement 50% to 200%, check every 5.0mm, measured sensitivity 0.743mm/pulse, measured minimum 32%, maximum 37% over 48.3mm 2022-11-24, 6:34:37 p.m. M591 D0 P7 C"zstop" S0 R50:200 L0.25 E5 ;rotary optical sensor
M122
m122 === Diagnostics === RepRapFirmware for Duet 2 WiFi/Ethernet version 3.4.4 (2022-10-20 16:17:41) running on Duet WiFi 1.02 or later + DueX5 Board ID: 08DLM-996AL-K65SN-6J9FD-3SN6P-TA16X Used output buffers: 1 of 26 (26 max) === RTOS === Static ram: 23860 Dynamic ram: 76488 of which 40 recycled Never used RAM 8092, free system stack 92 words Tasks: NETWORK(notifyWait,30.8%,211) HEAT(notifyWait,0.1%,303) Move(notifyWait,6.9%,268) DUEX(notifyWait,0.0%,24) MAIN(running,61.8%,421) IDLE(ready,0.3%,30), total 100.0% Owned mutexes: === Platform === Last reset 49:07:06 ago, cause: software Last software reset at 2022-11-22 17:45, reason: User, GCodes spinning, available RAM 9752, slot 2 Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a Error status: 0x14 Step timer max interval 0 MCU temperature: min 18.5, current 20.9, max 22.1 Supply voltage: min 0.0, current 0.0, max 12.5, under voltage events: 4, over voltage events: 0, power good: no Heap OK, handles allocated/used 99/4, heap memory allocated/used/recyclable 2048/654/590, gc cycles 0 Events: 5 queued, 5 completed Driver 0: standstill, SG min 0 Driver 1: standstill, SG min 0 Driver 2: standstill, SG min n/a Driver 3: standstill, SG min 0 Driver 4: standstill, SG min n/a Driver 5: standstill, SG min n/a Driver 6: standstill, SG min n/a Driver 7: standstill, SG min n/a Driver 8: standstill, SG min n/a Driver 9: standstill, SG min n/a Driver 10: Driver 11: Date/time: 2022-11-24 20:44:06 Cache data hit count 4294967295 Slowest loop: 159.28ms; fastest: 0.13ms I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0 === Storage === Free file entries: 10 SD card 0 detected, interface speed: 20.0MBytes/sec SD card longest read time 13.5ms, write time 0.0ms, max retries 0 === Move === DMs created 83, segments created 31, maxWait 1539ms, bed compensation in use: mesh, comp offset 0.000 === MainDDARing === Scheduled moves 95975, completed 95975, 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, chamber heaters -1 -1 -1 -1, ordering errs 0 Heater 0 is on, I-accum = 0.1 Heater 1 is on, I-accum = 0.7 === GCodes === Segments left: 0 Movement lock held by null HTTP is idle 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 Daemon is idle in state(s) 0 Autopause is idle in state(s) 0 Code queue is empty === Filament sensors === Extruder 0 sensor: ok === DueX === Read count 0, 0.00 reads/min === Network === Slowest loop: 99.82ms; fastest: 0.07ms Responder states: HTTP(0) HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0) HTTP sessions: 1 of 8 = WiFi = Network state is active WiFi module is connected to access point Failed messages: pending 0, notready 0, noresp 49 WiFi firmware version 1.27 WiFi MAC address cc:50:e3:76:3f:a6 WiFi Vcc 3.43, reset reason Software restart WiFi flash size 4194304, free heap 24320 WiFi IP address 10.0.1.27 WiFi signal strength -55dBm, mode 802.11n, reconnections 0, sleep mode modem Clock register 00002002 Socket states: 0 0 0 0 0 0 0 0
by my math which is probably wrong it should be about 1.2 mm per tooth on the encoder
the designer had his set for around 0.83 mm per pulseat least this time around the Minimum value seems to be constant now but it is way out there on the max
and the Measured sensitivity is pretty erratic as wellthis during a PLA print with relatively few retractions and only 0.6mm of retraction
so any help would greatly be appreciated
-
@broncosis my guess is that the sensor does not provide a sharp transition with sufficient hysteresis when the wheel moves between blocking and not blocking the sensor. So any slight vibration when the wheel is stationary at such a point or moving very slowly will register multiple pulses. This was a common problem with a particular type of sensor a few years ago, and the fix was to add a positive feedback resistor to the comparator circuit.
-
@dc42 thanks I am not a 100% sure where to put that
but I did see a post about adding a resistor to their sensor they were using a different
optical sensor than I am so I didn't think much of it
and as its just a optical end stop I am using there's a good chance I need a better circuit al togetherbut I will dig a little deeper thanks for direction.