Calibration lost after power cycle

Is there someone wo wants to try something for me. I changed the printer back to 3d printing two weeks ago. I received a new printhead a few monts ago and wanted to try that one. At some point in stopping a print job there was a little smoke coming out of the print head (i thought nothing strange about that as the nozzle becomes very hot). Not able to get it calibrated i changed it back to the old 3d module. Did a calibration manually and got it printing. But the next day my calibration was gone. Mailed to snapmaker about it. Edwin responded and asked me for a set of log files. So they are very helpful in finding the issue. But today i ran another test with advice from Edwin. Did a M502 (reset) and a M500 to save it. Did an auto calibration. Started a print. Canceled it. Checked with M503 if everything was present. Turned the printer off and on again and checked again with M503. And the calibration is gone again. So made a new set of logfiles (tip remove the earlier one from the usb before making a new one) and checked them myself. After turning on the printer i see a couple of entries in the log with a date in 1970. Looks like a reset again agter booting. I have send the log files to Edwin.

But would someone be so kind to turn off the printer. Turn it on again after a minute. Export the log and check at the bottom of the SC_x.txt where x is the highest number present and in the FW.txt what the last few lines are and if there are any lines there that start with 1970 as year?

Tia

This is for a laser, itā€™s more recent. Hope it has what youā€™re looking for

SC

36921,1970.01.01 00:00:36.921,INFO,SC,Application started!
37018,1970.01.01 00:00:37.018,DEBUG,SC,Reset overrides.
37480,1970.01.01 00:00:37.480,INFO,SC,Connecting serial port...
37532,1970.01.01 00:00:37.532,INFO,SC,onConnection, connected = true
37533,1970.01.01 00:00:37.533,INFO,SC,Enable heartbeat.
37537,1970.01.01 00:00:37.537,DEBUG,SC,HTTP server started.
37565,1970.01.01 00:00:37.565,DEBUG,SC,Machine model 3, size x 345 y 357 z 334
38558,1970.01.01 00:00:38.558,DEBUG,SC,Head type 3 found.
38712,1970.01.01 00:00:38.712,DEBUG,SC,Route: Create HomeFragment
38715,1970.01.01 00:00:38.715,DEBUG,SC,Route: Create LauncherFragment
38781,1970.01.01 00:00:38.781,DEBUG,SC,Laser Camera status true,C8:2B:96:A1:0C:0E
40132,1970.01.01 00:00:40.132,DEBUG,SC,Laser camera connected takes 1314ms
40138,1970.01.01 00:00:40.138,DEBUG,SC,Laser Camera connected!
1604244324542,2020.11.01 15:25:24.542,DEBUG,SC,Wi-Fi connected.
1604244324543,2020.11.01 15:25:24.543,DEBUG,SC,Start checking new versionā€¦
1604244377251,2020.11.01 15:26:17.251,DEBUG,SC,Route: Create EnclosureHomeFragment
1604244402526,2020.11.01 15:26:42.526,DEBUG,SC,Route: Back from EnclosureHomeFragment
1604252974383,2020.11.01 17:49:34.383,DEBUG,SC,Route: Create EnclosureHomeFragment
1604260009020,2020.11.01 19:46:49.020,DEBUG,SC,Route: Back from EnclosureHomeFragment
1604260011877,2020.11.01 19:46:51.877,DEBUG,SC,Route: Create EnclosureHomeFragment
1604260016242,2020.11.01 19:46:56.242,DEBUG,SC,Route: Back from EnclosureHomeFragment
1604260029135,2020.11.01 19:47:09.135,DEBUG,SC,Route: Create EnclosureHomeFragment
1604260052297,2020.11.01 19:47:32.297,DEBUG,SC,Route: Create EnclosureSettingsFragment
1604260055359,2020.11.01 19:47:35.359,DEBUG,SC,Route: Back from EnclosureSettingsFragment
1604260056670,2020.11.01 19:47:36.670,DEBUG,SC,Route: Back from EnclosureHomeFragment
1604260090820,2020.11.01 19:48:10.820,DEBUG,SC,Route: Create SettingsHomeFragment
1604260095038,2020.11.01 19:48:15.038,INFO,SC,Export log to U-disk.
1604260179339,2020.11.01 19:49:39.339,INFO,SC,Export log to U-disk.
1604260182556,2020.11.01 19:49:42.556,DEBUG,SC,Route: Back from SettingsHomeFragment
1604260182942,2020.11.01 19:49:42.942,DEBUG,SC,Closing USB device.
1604260182959,2020.11.01 19:49:42.959,ERROR,SC,java.io.IOException: Could not read from device, result == -1 errno 88 Socket operation on non-socket
1604260182969,2020.11.01 19:49:42.969,ERROR,SC,	at com.github.mjdev.libaums.usb.JellyBeanMr2Communication.bulkInTransfer(JellyBeanMr2Communication.java:58)
1604260182970,2020.11.01 19:49:42.970,ERROR,SC,	at com.github.mjdev.libaums.driver.scsi.ScsiBlockDevice.transferCommand(ScsiBlockDevice.java:176)
1604260182971,2020.11.01 19:49:42.971,ERROR,SC,	at com.github.mjdev.libaums.driver.scsi.ScsiBlockDevice.write(ScsiBlockDevice.java:230)
1604260182972,2020.11.01 19:49:42.972,ERROR,SC,	at com.github.mjdev.libaums.driver.ByteBlockDevice.write(ByteBlockDevice.java:117)
1604260182973,2020.11.01 19:49:42.973,ERROR,SC,	at com.github.mjdev.libaums.fs.fat32.ClusterChain.write(ClusterChain.java:160)
1604260182974,2020.11.01 19:49:42.974,ERROR,SC,	at com.github.mjdev.libaums.fs.fat32.FatFile.write(FatFile.java:165)
1604260182975,2020.11.01 19:49:42.975,ERROR,SC,	at com.github.mjdev.libaums.fs.UsbFileOutputStream.write(UsbFileOutputStream.java:78)
1604260182976,2020.11.01 19:49:42.976,ERROR,SC,	at com.snapmaker.fabscreen.modules.settings.SettingsHomeFragment.export(SettingsHomeFragment.java:191)
1604260182977,2020.11.01 19:49:42.977,ERROR,SC,	at com.snapmaker.fabscreen.modules.settings.SettingsHomeFragment.access$200(SettingsHomeFragment.java:44)
1604260182983,2020.11.01 19:49:42.983,ERROR,SC,	at com.snapmaker.fabscreen.modules.settings.SettingsHomeFragment$ItemListAdapter.lambda$null$11$SettingsHomeFragment$ItemListAdapter(SettingsHomeFragment.java:391)
1604260182984,2020.11.01 19:49:42.984,ERROR,SC,	at com.snapmaker.fabscreen.modules.settings.-$$Lambda$SettingsHomeFragment$ItemListAdapter$nPatQoEdkFGXrZPWBgHdOyOib3U.accept(lambda)
1604260182988,2020.11.01 19:49:42.988,ERROR,SC,	at io.reactivex.internal.operators.observable.ObservableDoOnEach$DoOnEachObserver.onNext(ObservableDoOnEach.java:93)
1604260182989,2020.11.01 19:49:42.989,ERROR,SC,	at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.drainNormal(ObservableObserveOn.java:201)
1604260182990,2020.11.01 19:49:42.990,ERROR,SC,	at io.reactivex.internal.operators.observable.ObservableObserveOn$ObserveOnObserver.run(ObservableObserveOn.java:255)
1604260182991,2020.11.01 19:49:42.991,ERROR,SC,	at io.reactivex.internal.schedulers.ScheduledRunnable.run(ScheduledRunnable.java:66)
1604260182991,2020.11.01 19:49:42.991,ERROR,SC,	at io.reactivex.internal.schedulers.ScheduledRunnable.call(ScheduledRunnable.java:57)
1604260182992,2020.11.01 19:49:42.992,ERROR,SC,	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
1604260182993,2020.11.01 19:49:42.993,ERROR,SC,	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:272)
1604260182994,2020.11.01 19:49:42.994,ERROR,SC,	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
1604260182996,2020.11.01 19:49:42.996,ERROR,SC,	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
1604260182997,2020.11.01 19:49:42.997,ERROR,SC,	at java.lang.Thread.run(Thread.java:761)
1604260184031,2020.11.01 19:49:44.031,DEBUG,SC,Route: Create SettingsHomeFragment
1604260185474,2020.11.01 19:49:45.474,INFO,SC,Export log to U-disk.
1604260206284,2020.11.01 19:50:06.284,INFO,SC,onConnection, connected = false
1604260206286,2020.11.01 19:50:06.286,INFO,SC,Disable heartbeat.
1604260211340,2020.11.01 19:50:11.340,WARN,SC,Loss connection from machine.
1604260244793,2020.11.01 19:50:44.793,INFO,SC,Try to reconnect machine...
1604260244812,2020.11.01 19:50:44.812,INFO,SC,onConnection, connected = true
1604260244816,2020.11.01 19:50:44.816,INFO,SC,Enable heartbeat.
1604260244838,2020.11.01 19:50:44.838,DEBUG,SC,Machine model 3, size x 345 y 357 z 334
1604260245834,2020.11.01 19:50:45.834,DEBUG,SC,Head type 3 found.
1604260246057,2020.11.01 19:50:46.057,DEBUG,SC,Laser Camera status true,C8:2B:96:A1:0C:0E

FW

37528,1970.01.01 00:00:37.528,INFO,SC-FW,success to create marlin task!
37571,1970.01.01 00:00:37.571,INFO,SC-FW,SC req Exception
37583,1970.01.01 00:00:37.583,INFO,SC-FW,SC req enclosure sta
38592,1970.01.01 00:00:38.592,INFO,SC-FW,SC get BT MAC
38838,1970.01.01 00:00:38.838,INFO,SC-FW,SC get focal length: 19.600
1604244377266,2020.11.01 15:26:17.266,INFO,SC-FW,SC req enclosure sta
1604244379117,2020.11.01 15:26:19.117,INFO,SC-FW,SC req enclosure sta
1604244802046,2020.11.01 15:33:22.046,INFO,SC-FW,leveling OFF
1604244951993,2020.11.01 15:35:51.993,INFO,SC-FW,door opened!
1604247823757,2020.11.01 16:23:43.757,INFO,SC-FW,door closed!
1604252974399,2020.11.01 17:49:34.399,INFO,SC-FW,SC req enclosure sta
1604252975377,2020.11.01 17:49:35.377,INFO,SC-FW,SC req enclosure sta
1604252985637,2020.11.01 17:49:45.637,INFO,SC-FW,SC req enclosure sta
1604258120719,2020.11.01 19:15:20.719,INFO,SC-FW,SC req enclosure sta
1604258140998,2020.11.01 19:15:40.998,INFO,SC-FW,SC req enclosure sta
1604260011895,2020.11.01 19:46:51.895,INFO,SC-FW,SC req enclosure sta
1604260029150,2020.11.01 19:47:09.150,INFO,SC-FW,SC req enclosure sta
1604260100270,2020.11.01 19:48:20.270,INFO,SC-FW,door opened!
1604260115597,2020.11.01 19:48:35.597,INFO,SC-FW,leveling OFF
1604260244839,2020.11.01 19:50:44.839,INFO,SC-FW,SC req Exception
1604260244844,2020.11.01 19:50:44.844,INFO,SC-FW,SC req enclosure sta
1604260245856,2020.11.01 19:50:45.856,INFO,SC-FW,SC get BT MAC
1604260246113,2020.11.01 19:50:46.113,INFO,SC-FW,SC get focal length: 19.600

Hereā€™s a 3DP from awhile ago:

SC

36116,1970.01.01 00:00:36.116,INFO,SC,Application started!
36205,1970.01.01 00:00:36.205,DEBUG,SC,Reset overrides.
36675,1970.01.01 00:00:36.675,INFO,SC,Connecting serial port...
36765,1970.01.01 00:00:36.765,INFO,SC,onConnection, connected = true
36767,1970.01.01 00:00:36.767,INFO,SC,Enable heartbeat.
36795,1970.01.01 00:00:36.795,DEBUG,SC,Machine model 3, size x 345 y 357 z 334
36882,1970.01.01 00:00:36.882,DEBUG,SC,HTTP server started.
37787,1970.01.01 00:00:37.787,DEBUG,SC,Head type 1 found.
38019,1970.01.01 00:00:38.019,DEBUG,SC,Route: Create HomeFragment
38027,1970.01.01 00:00:38.027,DEBUG,SC,Route: Create LauncherFragment
1601937562045,2020.10.05 22:39:22.045,DEBUG,SC,Wi-Fi connected.
1601937562048,2020.10.05 22:39:22.048,DEBUG,SC,Start checking new versionĆ¢ā‚¬Ā¦
1601937579748,2020.10.05 22:39:39.748,DEBUG,SC,Route: Create SettingsHomeFragment
1601937584899,2020.10.05 22:39:44.899,DEBUG,SC,Route: Create SettingsAboutFragment
1601937584993,2020.10.05 22:39:44.993,DEBUG,SC,Package version Snapmaker2_V1.10.1_20200822
1601937584998,2020.10.05 22:39:44.998,DEBUG,SC,Touch screen version V1.10.0
1601937585081,2020.10.05 22:39:45.081,DEBUG,SC,Controller version V3.2.2
1601937586938,2020.10.05 22:39:46.938,INFO,SC,Exit developer mode.
1601937587121,2020.10.05 22:39:47.121,INFO,SC,Exit developer mode.
1601937587289,2020.10.05 22:39:47.289,INFO,SC,Exit developer mode.
1601937587456,2020.10.05 22:39:47.456,INFO,SC,Exit developer mode.
1601937589275,2020.10.05 22:39:49.275,INFO,SC,Enter developer mode.
1601937591497,2020.10.05 22:39:51.497,DEBUG,SC,Route: Back from SettingsAboutFragment
1601937598076,2020.10.05 22:39:58.076,DEBUG,SC,Route: Back from SettingsHomeFragment
1601937598478,2020.10.05 22:39:58.478,DEBUG,SC,Closing USB device.
1601937603842,2020.10.05 22:40:03.842,DEBUG,SC,Route: Create ExperimentListFragment
1601937610437,2020.10.05 22:40:10.437,DEBUG,SC,Route: Create ExperimentBluetoothFragment
1601937614272,2020.10.05 22:40:14.272,DEBUG,SC,Route: Back from ExperimentBluetoothFragment
1601937615722,2020.10.05 22:40:15.722,DEBUG,SC,Route: Create ExperimentPreferenceFragment
1601937618421,2020.10.05 22:40:18.421,DEBUG,SC,Route: Back from ExperimentPreferenceFragment
1601937630337,2020.10.05 22:40:30.337,DEBUG,SC,Route: Back from ExperimentListFragment
1601937631782,2020.10.05 22:40:31.782,DEBUG,SC,Route: Create FactoryToolsFragment
1601937635111,2020.10.05 22:40:35.111,DEBUG,SC,Route: Create FactoryColorFraudFragment
1601937636328,2020.10.05 22:40:36.328,DEBUG,SC,Route: Back from FactoryColorFraudFragment
1601937637724,2020.10.05 22:40:37.724,DEBUG,SC,Route: Create FactoryCpuBenchmarkFragment
1601937639727,2020.10.05 22:40:39.727,DEBUG,SC,Route: Back from FactoryCpuBenchmarkFragment
1601937642358,2020.10.05 22:40:42.358,DEBUG,SC,Route: Back from FactoryToolsFragment
1601937653369,2020.10.05 22:40:53.369,DEBUG,SC,Route: Create SettingsHomeFragment
1601937656499,2020.10.05 22:40:56.499,DEBUG,SC,Route: Create SettingsAboutFragment
1601937656534,2020.10.05 22:40:56.534,DEBUG,SC,Package version Snapmaker2_V1.10.1_20200822
1601937656538,2020.10.05 22:40:56.538,DEBUG,SC,Touch screen version V1.10.0
1601937656609,2020.10.05 22:40:56.609,DEBUG,SC,Controller version V3.2.2
1601937657653,2020.10.05 22:40:57.653,INFO,SC,Exit developer mode.
1601937658661,2020.10.05 22:40:58.661,DEBUG,SC,Route: Back from SettingsAboutFragment
1601937659875,2020.10.05 22:40:59.875,DEBUG,SC,Route: Back from SettingsHomeFragment
1601937660259,2020.10.05 22:41:00.259,DEBUG,SC,Closing USB device.
1601937670200,2020.10.05 22:41:10.200,DEBUG,SC,Route: Create SettingsHomeFragment
1601937674801,2020.10.05 22:41:14.801,INFO,SC,Export log to U-disk.
1601937685318,2020.10.05 22:41:25.318,DEBUG,SC,Route: Back from SettingsHomeFragment
1601937685708,2020.10.05 22:41:25.708,DEBUG,SC,Closing USB device.
1601937686273,2020.10.05 22:41:26.273,DEBUG,SC,Route: Create Control3DPFragment
1601937686600,2020.10.05 22:41:26.600,INFO,SC,update coordinate system...
1601937686617,2020.10.05 22:41:26.617,INFO,SC,Coordinate system updated, CS#0 X = 0.0, Y = 0.0, Z =0.0
1601937698667,2020.10.05 22:41:38.667,INFO,SC,update coordinate system...
1601937698683,2020.10.05 22:41:38.683,INFO,SC,Coordinate system updated, CS#0 X = 0.0, Y = 0.0, Z =0.0
1601937701343,2020.10.05 22:41:41.343,DEBUG,SC,Route: Back from Control3DPFragment
1601937703714,2020.10.05 22:41:43.714,DEBUG,SC,Route: Create SettingsHomeFragment
1601937704961,2020.10.05 22:41:44.961,INFO,SC,Export log to U-disk.

FW

36762,1970.01.01 00:00:36.762,INFO,SC-FW,success to create marlin task!
36764,1970.01.01 00:00:36.764,INFO,SC-FW,success to create HMI task!
36769,1970.01.01 00:00:36.769,INFO,SC-FW,success to create heartbeat task!
36777,1970.01.01 00:00:36.777,INFO,SC-FW,Screen Plugged!
36798,1970.01.01 00:00:36.798,INFO,SC-FW,SC req Exception
36801,1970.01.01 00:00:36.801,INFO,SC-FW,SC req enclosure sta
1601937585017,2020.10.05 22:39:45.017,INFO,SC-FW,UP: SC req MC version
1601937656551,2020.10.05 22:40:56.551,INFO,SC-FW,UP: SC req MC version
1601937688205,2020.10.05 22:41:28.205,INFO,SC-FW,leveling OFF
1601937698649,2020.10.05 22:41:38.649,INFO,SC-FW,leveling ON
1601937698658,2020.10.05 22:41:38.658,INFO,SC-FW,Apply Z offset: 0.00

Thnx. Not sure then why it is loosing my calibration after a power cycle.

The last step of the auto calibration when run from the touchscreen should save the calibration to the flash using a certain gcode command. If you want to try running that manually after a calibration I could dig that up.

Also, double checking, an M1006 shows the correct toolhead?

Yes the bed leveling you can see with M503. I only did the M502 beacause Edwin advised it. After that i calibrated it and after that i cycled the power and it was gone again. Before i did the M502 it did happen almost every day that i had to redo the calibration which was lost after every time i restarted the printer

I have the printer since february and has printed fine untill i connected the new 3d head

Iā€™m asking about the output of the M1006 command because the response the controller gives will give insight into how the bed levelling is treated. If the controller mistakenly thinks a different head is installed it will disable bed levelling.

It does say that the right head is connected. And iā€™m familiar with both auto calibration as well as manual calibration. I got it printing two days ago. It printed fine that day until i switched it of. And i do always end my calibration with a M500 to save it.

Yea, the internal command is not M500, I forget what it is though. Itā€™s a M10** command.
Edit, found it from here: How to do a larger than 3 x 3 matrix level
You end with a G1029S, G1029D0

Regardless, M503 reads the state of the EEPROM. After a calibration, cross check the output of M503 with M420 V, which is the currently loaded mesh.

Iā€™m suspecting your EEPROM chip is damaged?

I suspect the eeprom also but waiting for Edwin to verify it. I can really bring back the start of the trouble to the liitle smoke that came out of the new extruder.

If an electrical fault in the toolhead damaged the controller, you wouldnā€™t be the first person. I think youā€™d be the 3rd(?) Iā€™ve seen on here get their controller replaced because of smoke being let out in a month.

The electrical design of the system clearly assumed nothing bad would happen, and thereā€™s no overcurrent / overvoltage protection between the toolheads, modules, and controller.

1 Like

Both times someone let out the ā€˜magic smokeā€™ it was because they plugged the tool head cable in backwards. That was instantaneous. This sounds different.

-S

1 Like

Youā€™re right about that. maybe Iā€™m imagining another one where somebody had a linear module fail and they also had to get the controller replaced

What version of firmware is your controller running?

Iā€™m running at this point at 1.9 as i tried 1.10.2 but that was with the new 3d head which gave smoke and i couldnā€™t get to calibrate. So i reverted back to 1.9 from which i knew was working good for me. I opened the new 3d head btw today and found no evidence of a short circuit or burned up parts so i donā€™t know what happened to it, that it fried the controller.

Plenty of ways of frying components that are lower-energy than releasing smoke. One of the standard practices in CNC machinery is separate power supplies for the motor and the control electronics. Thereā€™s a lot more noise, spikes, EMI, and surges with motors; when thereā€™s inadequate protection from all that, itā€™s easy to fry the electronics.

As you might guess from the way Iā€™m framing this, Iā€™m assuming that these machines have inadequate protections.

1 Like

Thatā€™s the same conclusion Iā€™ve come to. Designing fully protected power distribution with layers of protection, as well as individual control wire protection, costs extra money and is often the first thing sacrificed on a cost-driven design.

1 Like

When I see ā€œspikeā€, I immediately think of adding one or more clip-on ferrite beads to the wiring.

I donā€™t know if thereā€™s enough space to do this, ideally a ferrite bead will fit tightly around the wiring, or running it through the bead twice is even better.

Anyone tried this?

If youā€™re talking about the cables to the toolheads and modules, ferrite beads are typically sized for RF, which is not going to be effective for a faulted circuit, or if it is sized to mitigate an electrical fault it would have negative consequences on the CANbus communication lines embedded in the cable.

1 Like

With the amazing help from Zero at snapmaker and the technicians at snapmaker we found why my Snapmaker A350 is not loading the calibration after a power cycle.

It turns out the aluminium bed i made myself which i placed on other runners and a rail to be extremely flat. Itā€™s weight is some more so it rest on the runners on a separate rail and is only moved by the y axes from the snapmaker. This works very good but it turns out that I made 1 big mistake.

The aluminium plate is a bit more than 5 mm thick, this is where the problem is. The overall thickness of the bed, the heated bed and the print sheet ( glass, Pei, snapmaker sheet ) is not thick enough as it should be with the original spiderweb like bedholder which is 10 mm.

The calibration that is done is stored in the EEprom but when booting it checks the calibration and it finds the calibration below a point that the snapmaker thinks is safe so it discards it and sets it back to 9.00 mm. ( i could recall it with a M501 and it prints fine )

The whole setup, if anyone ever wants to change it as I did ( more people did it allready ), needs to be a minimum of 16 mm

4 Likes