The 1.1 version of this board fixed the DFU issue and the SPI issue has been resolved as well I've been told.
I recently purchased this board due to the processor that's on it as well as the ability for native 48v support.
There is a lot of confusion as to how to get good ADXL graphs. For many, the issue is printer build and rigidity. For others, there is often an issue with ADXL mounting or noise. Like all of my guides, this is targeted at people chasing the highest performance with quality. If your quality and speeds are fine for you, stop reading as this guide isn't for you.
There are a few parameters that play into your measured values and this will break down the most straightforward. Broadly, they are mass and stiffness. This explanation will not be true in every single instance, and is definitely not PhD level physics, but should at least help with the broad understanding of what your printer is doing.
The easiest way to think about it is if you start by thinking of your printer as an undamped simple harmonic oscillator.
This will allow you to test a specific frequency that you hear when you do your resonance testing in Klipper and potentially track down where extra peaks are coming from. If something is rattling at a specific frequency, you can specify that frequency and feel around the printer until you track it down.
Code was adopted by zifnab from somewhere in Klipper.
You have to have [resonance_holder]
in your printer.cfg.
The command is HOLD_RESONANCE AXIS=<axis> FREQ=int SECONDS=<seconds>
I recommend running Dmitry’s latest resonance testing branch and using the pulses method outlined below:
https://github.com/Klipper3d/klipper/issues/4560
https://github.com/dmbutyugin/klipper/tree/resonance-test-methods
I would only go down this path if you're getting ghosting with really high speed prints. On the Annex Engineering K3 for example, no matter how perfect the graphs looked, I was still getting some ghosting. That prompted me to go down this path. I'm now able to print at 20-30k acceleration, 250-350mm/s, and 15scv with perfect quality that can usually only be seen at significantly slower speeds.
The default settings in Klipper have the damping ratio set to .1. This should be fine for most people with sane settings. I like to go for the insane.
adwaita-icon-theme | |
autoconf | |
autofs | |
automake | |
baobab | |
bash | |
binutils | |
bison | |
bzip2 | |
coreutils |
; VERSION 6 -- Increment version when this file is changed | |
; P4 Version: $Revision: #26 $ | |
;################################################################################################## | |
; Performance Analysis | |
;################################################################################################## | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
; Set different performance profiling modes for the driver. | |
; Valid values: |
[ 0.000000] Initializing cgroup subsys cpu | |
[ 0.000000] Linux version 3.0.13-g275cdc3 (htc-kernel@u18000-build-144) (gcc version 4.4.3 (GCC) ) #1 SMP PREEMPT Fri Dec 30 17:43:04 CST 2011 | |
[ 0.000000] CPU: ARMv7 Processor [510f02d2] revision 2 (ARMv7), cr=10c5387d | |
[ 0.000000] CPU: VIPT nonaliasing data cache, VIVT ASID tagged instruction cache | |
[ 0.000000] Machine: pyramid | |
[ 0.000000] CAM_AWB_CAL Data size = 1026 , 0x59504550, size = 4096 | |
[ 0.000000] Ignoring unrecognised tag 0x41387898 | |
[ 0.000000] BT Data size= 4, 0x43294329, | |
[ 0.000000] d8, | |
[ 0.000000] b3, |
--------- beginning of /dev/log/main | |
E/BATT_ALG( 110): Unknown Battery ID, ADC is 6761, DQ(0). | |
I/BATT_ALG( 110): batt_vol:3512; batt_current:0; batt_discharge_current:682; batt_temperature:365; batt_id:255 | |
I/BATT_MAIN( 110): acquire battery wakelock | |
I/rmt_storage( 121): rmt_storage user app start.. taking cmd line parameters | |
I/rmt_storage( 121): modem_fs1 [/dev/block/mmcblk0p25] | |
I/rmt_storage( 121): modem_fs2 [/dev/block/mmcblk0p26] | |
I/rmt_storage( 121): radio_config [/dev/block/mmcblk0p18] | |
I/rmt_storage( 121): rmt_storage open success | |
I/DEBUG ( 112): debuggerd: Jan 20 2012 18:11:15 |
on init | |
write /sys/class/android_usb/android0/iSerial $ro.serialno | |
write /sys/class/android_usb/android0/f_rndis/manufacturer Samsung | |
write /sys/class/android_usb/android0/f_rndis/vendorID 04e8 | |
write /sys/class/android_usb/android0/f_rndis/wceis 1 | |
on boot | |
write /sys/class/android_usb/android0/iManufacturer $ro.product.manufacturer | |
write /sys/class/android_usb/android0/iProduct $ro.product.model |
I/ActivityManager( 1498): Start proc com.android.mms for broadcast com.android.mms/.transaction.PrivilegedSmsReceiver: pid=2134 uid=10033 gids={3003, 1015} | |
E/AndroidRuntime( 2134): FATAL EXCEPTION: SmsReceiverService | |
E/AndroidRuntime( 2134): java.lang.NullPointerException | |
E/AndroidRuntime( 2134): at com.android.mms.transaction.MessagingNotification.updateNotification(MessagingNotification.java:585) | |
E/AndroidRuntime( 2134): at com.android.mms.transaction.MessagingNotification.access$400(MessagingNotification.java:77) | |
E/AndroidRuntime( 2134): at com.android.mms.transaction.MessagingNotification$MmsSmsNotificationInfo.deliver(MessagingNotification.java:319) | |
E/AndroidRuntime( 2134): at com.android.mms.transaction.MessagingNotification.blockingUpdateNewMessageIndicator(MessagingNotification.java:202) | |
E/AndroidRuntime( 2134): at com.android.mms.transaction.SmsReceiverService.handleSmsReceived(SmsReceiverService.java:331) | |
E/AndroidRuntime( 2134): at com.android.mms.transaction.SmsReceiverService.access$100(Sms |