Commenting, and collaborating, requires registration on this website.
Its easy. Just follow this link ==> http://www.candlish.net/register
Commenting, and collaborating, requires registration on this website.
Its easy. Just follow this link ==> http://www.candlish.net/register
I’m fairly satisfied with my servo tuning results. Pretty much within a 10 micron bound at the path reversals with acceleration set to 800mm/s2 and velocity at 300mm/min.
The deviation from the planned path is within a couple of microns during the constant velocity sections of the motion. I think I can reduce that further by compensating for the error measurements I’ve made of the analog drive system.
An analog +/- 10V signal commands the velocity of the servo drive. That signal is derived from a filtered PWM source. Sweeping the signal range while measuring the servo velocity gives a scatter graph like this:
Applying the mean to a sliding bin of size 0.1mm/s shows that both axes have very similar responses once the gain has been nulled.
Overall the velocity of the servos are within 0.3mm/s of the commanded speed over a range of +/- 67mm/s. (2000rpm @ 2mm/rev). While very good, this error feeds into the PID loop, and is quite characterizable, so there is room for improvement.
Here a short video of the test system running. The first portion shows the high speed performance while following the ‘EMC AXIS’ path. The second portion shows holding a tolerance of better than 20 microns over a simple path programmed at 300mm/min.
The first part of that video should probably have been in slow motion.
I finally got the the workshop room for the optical equipment cleared away, and am a little disappointed by how much I underestimated the size of my projector.
The room is actually 4 x 5m, which I had thought would be quite large enough for this purpose, but looking at it with the projector against the 4m wall I am no longer so sure.
The projector is an Isoma M119G. Small bit of Swiss machine tool trivia: ISOMA is an acronym for Instruments Scientifiques Opitques Microscopes Appareils.
There is an unfortunate design choice in WordPress, where the ‘Network Admin’ site is assigned to the www.
hostname of a wildcarded domain.
This is a poor choice because almost invariably the Site administrator will want to assign the www.
hostname to an IP address available on the internet.
To allow master.
example.com to be the Network Admin default site it is necessary to change the
1 2 3 4 5 |
wp-includes/admin-bar.php wp-admin/network/site-new.php wp-content/plugins/multisite-clone-duplicator/include/admin.php wp-content/plugins/multisite-clone-duplicator/include/admin.php wp-content/plugins/multisite-clone-duplicator/template/network_admin_duplicate_site.php |
files of your WordPress installation.
As of WP-4.4.2 the change looks like this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
wordpress@webserver:~/wordpress_n$ diff ./wp-includes/admin-bar.php-orig ./wp-includes/admin-bar.php 290c290 < $blogname = preg_replace( '#^(https?://)?(www.)?#', '', get_home_url() ); --- > $blogname = preg_replace( '#^(https?://)?(master.)?#', '', get_home_url() ); 464c464 < $blogname = preg_replace( '#^(https?://)?(www.)?#', '', get_home_url() ); --- > $blogname = preg_replace( '#^(https?://)?(master.)?#', '', get_home_url() ); wordpress@webserver:~/wordpress_n$ diff ./wp-admin/network/site-new.php-orig ./wp-admin/network/site-new.php 83c83 < $newdomain = $domain . '.' . preg_replace( '|^www\.|', '', $current_site->domain ); --- > $newdomain = $domain . '.' . preg_replace( '|^master\.|', '', $current_site->domain ); 174c174 < <input name="blog[domain]" type="text" class="regular-text" id="site-address" aria-describedby="site-address-desc" autocapitalize="none" autocorrect="off"/><span class="no-break">.<?php echo preg_replace( '|^www\.|', '', $current_site->domain ); ?></span> --- > <input name="blog[domain]" type="text" class="regular-text" id="site-address" aria-describedby="site-address-desc" autocapitalize="none" autocorrect="off"/><span class="no-break">.<?php echo preg_replace( '|^master\.|', '', $current_site->domain ); ?></span> wordpress@webserver:~/wordpress_n$ diff ./wp-content/plugins/multisite-clone-duplicator/include/admin.php-orig ./wp-content/plugins/multisite-clone-duplicator/include/admin.php 300c300 < $newdomain = $domain . '.' . preg_replace( '|^www\.|', '', $current_site->domain ); --- > $newdomain = $domain . '.' . preg_replace( '|^master\.|', '', $current_site->domain ); wordpress@webserver:~/wordpress_n$ diff ./wp-content/plugins/multisite-clone-duplicator/wp-cli/wp-cli-site-duplicate-subcommand.php-orig ./wp-content/plugins/multisite-clone-duplicator/wp-cli/wp-cli-site-duplicate-subcommand.php 110c110 < $newdomain = $base.'.'.preg_replace( '|^www\.|', '', $network->domain ); --- > $newdomain = $base.'.'.preg_replace( '|^master\.|', '', $network->domain ); wordpress@webserver:~/wordpress_n$ diff wp-content/plugins/multisite-clone-duplicator/template/network_admin_duplicate_site.php-orig wp-content/plugins/multisite-clone-duplicator/template/network_admin_duplicate_site.php 31c31 < <input name="site[domain]" type="text" class="large-text" title="<?php echo MUCD_NETWORK_PAGE_DUPLICATE_FIELD_ADDRESS ; ?>" value="<?php echo $data['domain']?>"/><span class="no-break">.<?php echo preg_replace( '|^www\.|', '', $current_site->domain ); ?></span> --- > <input name="site[domain]" type="text" class="large-text" title="<?php echo MUCD_NETWORK_PAGE_DUPLICATE_FIELD_ADDRESS ; ?>" value="<?php echo $data['domain']?>"/><span class="no-break">.<?php echo preg_replace( '|^master\.|', '', $current_site->domain ); ?></span> |
Then also define the constant COOKIE_DOMAIN
in wp-config.php.
1 2 3 4 5 6 7 8 9 10 |
/* Multisite */ define( 'WP_ALLOW_MULTISITE', true ); define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('COOKIE_DOMAIN', 'candlish.net'); define('DOMAIN_CURRENT_SITE', 'master.candlish.net'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); |
If you are correcting this from a default installation it may be necessary to also adjust the database, as documented here ==> How to change a Multisite primary domain, and elsewhere.
A photomontage of the Aciera 7 drill. This drill predates the model 13T that had a similar capacity. This particular drill has a #2 Jacobs taper spindle nose and a variable speed reeves drive.
The Gallery function with jetpack seems to work. ^_^