LOKI – FOUND!!!!!! returned safe and sound to his home


Missing cat – please help

Thats right, Loki has been missing for 2 months to the day but has returned to the house. He was found in the kitchen meowing his head off pleased to be back!

Thank you for any assistance you have given over the past 2 months. I will be comming round with slips again to say he has been found, and that we can all ‘stand down’ from watch, until another cat goes missing.

Lost posters will be comming down this evening which have been placed around chippenham, and slips will be distributed to the 350 houses i delivered to.

Again,

Thank youloki big

Hello, I have been placing 24 posters up around Chippenham between frogwell and charter road and posted about 300 slips along the route also including along chamberlain road and side roads around those areas.

Its been a month now since Loki was last seen. Someone knows something or has seen Loki. Please let us know.

i have been contacted by quite a few people saying they have seen a cat potentially Loki, and these are the areas I’m walking around at 9 – 11pm each night and slightly further afield. Do you or a friend or neighbour know a cat that has started to visit them for food? Or a new cat unknown to your area? Please take a look, see if it matches Loki descriptions, and contact me please. If you have seen a cat by the side of a road, please please please let me know, and the authorities, so they can also help reunite it to their worried owners.

please help me find my cat. Details below.

thank you

Tabby cat called Loki

Last seen Wednesday 20th August by cat sitter

Please check shed and garages as he would have snuck in if it was raining and it was open.

He lives in Phillips Close, SN14 0TH

He moved from 92 Charter Road SN15 2RB on 7/7/14

He is microchipped and not wearing his collar (found this in garden).

If you have any information or seen him about, please contact us.

 

npoate@hotmail.com

Phillips Close.

Thank you.

Nathaniel Poate

IMAG1671

IMAG0872

NFC Tags – first experience

So, i’m a google cardboard user, and I have been using my own created cardboard using an amazon box and the downloaded designs. I bought the lenses through an online company – unofficial google cardboard one, and, when i put my phone into cardboard, i have to activate the app first then install.

 

I know the official one has NFC tags, and although i know of these, i havnt actually used them.

Until now…

This morning i have received 8 tags i bought through eBay at the cost of just under £3, which are the Smartrac Bullseye 320_2 versions (http://www.nfctags.com/smartrac-bullseye-nfc-ntag)

I am going to install one into my cardboard so i dont have to activate each time i go to put it in.

Also i can do things like phone on scilent when on bedside table yada yada, maybe to automate sending a morning text to my partner when i get to work – not that she will like this, and this has already been done with a ‘automated random text generator’ – with  bad results haha, but yeah maybe not that!

So, first thing first is we need a NFC writter/trigger program. This is a program which allows you to read NFC tags and to then add an action to the triggering tag.

 

The first thing i did was to install NFC writer by Egomotion group (https://play.google.com/store/apps/details?id=com.tagstand.writer&hl=en I also installed Trigger, by the same company. https://play.google.com/store/apps/details?id=com.jwsoft.nfcactionlauncher&hl=en

Trigger allows you to asign an action to a tag, where as NFC writer allows you to write something /blog post, location marker foursquare etc automatically by tagging in.

I wanted to test this, so i used Trigger to open a web page to www.roboteernat.co.uk when it was placed on the tag – working well!

Secondly i have asigned a tag which i have stuck onto Cardboard, to triger the cardboard app.

So far so good!

 

Now thinking about what else to tag… Work desk, Bedside table, Hackspace check in…

 

Dust cover build for camera lens tester

Today’s task is to machine a bullet of aluminum into a lens cover for the lens testing equipment.

Lathe to turn down t the lender basic shape and then a dividing head will be used to machine the tabs which are used to security in place.

Hello is a picture of a lens mounting a piece used to fit a standard camera lens to a lens test equipment. He you can clearly see before tabs which i use to lock the mount in place.

image

The restaurant has been drawn up to show the part i need to make. Parties to the machine from 3.5 inch tablet approximately 2 inches wide . This will feature the tab fixing brackets and a half inch diameter knurled handle.

First lady of malaysia news russian ballet . First lathe operations are within tolerance of -0.001+0 inch.

image

image

The next operation sis to mount the part 12 the dividing head on a mail and using a 3/16th cutter, mill the 4 tabs.

image

Clocking the milling machines we make everything central. we can fit a cutter and start making the tabs. The tabs need to reduce radius by 0.13 inch.

Final  tabs milled. All I need to do is sand down the edges using 1200 grit paper and to test fit. I also need to do the knurling on the handle.

image

 

A quick sanding of the edges to remove the burrs gives us a time to test fit into the machine.2014-05-20 14.55.392014-05-20 14.55.43

 

 

Rats, it doesnt fit there is a small pip which is used to locate the mounts into place. I think i need to add these in, but as it can be fitted in 4 orientations, i need to add 4 holes!

Back to the dividing head, this time, i need to rotate the handle 10 times – 10 into 40 go 4 times, and as we need 4, i can place it.

Carefully aligning it up so that the pip hole is in the centre of the tabs, and a slot is milled at the correct distance, we can mill using a 3/16 cutter.

Now to test fit!

2014-05-20 15.35.262014-05-20 15.35.46

Perfect! and it even fits in place once the cap is screwed!

2014-05-20 15.35.56

 

JOB DONE!

Milling tool rack

So, after a few months at Aardman, I have accumulated a number of end mills, which are rolling about the tray, which… is not the best, as any slight nick on the cutting edges can result in ugly surfaces – yes end mills are to cut side on! not really for plunging at ends, but we all do that anyway!
So I have about 12 or 10 cutters which I have tried to restrain usingcloths, wooden disks etc but each time the drawer is opened and closed they rattle loose…

IMAG7572

So, I decieded to mill out a ‘cutlery drawer’ style thing for them, you know the ones with slots to hold knives, forks, spoons, and that garlic crushed insert full of bits of old garlic that the spikey brush just can’t remove… Anyways you know.

So I got a bit of plywood 3/4inch thick, and roughly draw a few marks on it in the shape of slots that could hold my cutters, just to give an idea.

image

image

I wanted a selection of sizes of slots so I picked the medium sized cutter I had, I think that was 5/8th or 3/4, tho I think it was the first, I clamped down the plywood and set up the cutter at the first roughly drawn slot.

Powering on the milling machine I made my fiirst cut to a depth of 350 thousandths and cut a series of slots, I got 6 slots horizontal about 3inches long which fitted my smaller cutters.

image

The next set of slots are made wider by running the cutter offset from the first slot, again leaving a small edge between slots, this gave me again 6 slots by starting closer to the edges.

The final 3rd of wood is made into longer wider vertical slots to house 1 inch and 3/4 cutters, 3 slots are given. All this milling creates a lot of sawdust… time for a vacuuming!

image

image

Removing the wood from the machine revealed lots of splinters on the edges of the top of the slots. A bit of sanding down and all done!

image

image

Large cutter doesn’t fit! Oh no! So a quick chiseling….

image

All done! Tidy drawers!

 

Antweight motor control – Baby-O

From: http://garya.org.uk/software/embedded-c/antweight-speed-controller

/*
 * SpeedController.c
 *
 *  Created on: 19 Aug 2013
 *      Author: Gary Aylward
 *   Copyright: Gary Aylward, 2013
 *     Website: http://garya.org.uk
 *     License: Creative Commons BY-SA 3.0
 *
 *     http://creativecommons.org/licenses/by-sa/3.0/
 *
 *     Pololu Orangutan library (c) Pololu Corporation, licensed under CC-BY-SA 3.0
 *
 *     1.0 19/08/2013 Original release
 *     1.1 25/08/2013 Fixed battery monitor filter bug
 */

/*
 * Antweight R/C speed controller using Pololu Baby Orangutan board
 *
 * Set linker to use pololu_atmega328p library.
 *
 * Module pinouts are defined below, the settings used allow other pins to be used for
 * further R/C channels, extra PWM outputs, UART etc.
 * The battery voltage is fed to the ADC via a potential divider so that the ADC sees
 * the voltage of a single cell. If the under-voltage lockout is not required, connect
 * the ADC input to Vcc or redefine dCELL_MV below.
 *
 * Mixing is set up for an R/C transmitter with the following characteristics:
 * Channel 1 = Left/Right, Right = longer pulses
 * Channel 2 = Forwards/Reverse, Reverse = longer pulses
 *
 * Motors are connected with +ve terminal connected to M1B / M2B, -ve to M1A / M2A
 * Motors turn clockwise (when viewed from shaft end) with positive voltage
 */

#include <pololu/orangutan.h>

#ifndef F_CPU
#define F_CPU	20000000	// Baby Orangutan runs at 20MHz
#endif

#define dCHANNEL1	IO_C0	// R/C Ch1 input pin
#define dCHANNEL2	IO_C1	// R/C Ch2 input pin
#define	dLED		IO_D1	// LED output pin
#define dADC_CHANNEL	6	// ADC battery monitor channel

#define dZERO		1500	// Nominal pulse width
#define dMAX		2000	// Max pulse width
#define dMIN		1000	// Min pulse width
#define dMAX_PULSE	2200	// Pulse width for error detection
#define dMIN_PULSE	800		// Pulse width for error detection
#define dTIMEOUT	30000	// 30ms timeout on R/C pulses
#define dMAX_SPEED	250		// Max speed setting
#define dMIN_SPEED	-250	// Min speed setting

#define dFILTER_SIZE	600	// Length of under-voltage detection filter, 6 steps per ms
#define dCELL_MV	2750	// Minimum cell voltage in mV


int main()
{
	unsigned int vVoltage = 0;			// Battery cell voltage measurement
	unsigned char vUnderVolt = 0;		// Under-voltage error flag
	unsigned long vFilter = 0;			// Under-voltage filter counter
	struct PulseInputStruct vPulseInfo;	// Orangutan library pulse structure
	unsigned long vPulseLength = 0;		// Pulse length in ticks
	unsigned char vState = 0;			// Current pulse state
	unsigned long vPulseCh1 = dZERO;	// Channel 1 pulse in ms
	unsigned long vPulseCh2 = dZERO;	// Channel 2 pulse in ms
	int vLeftSpeed;						// Left motor speed
	int vRightSpeed;					// Right motor speed
	unsigned char vError = 1;			// Error flag

	// Configure pins as pulse input channels
	pulse_in_start((unsigned char[]) {dCHANNEL1, dCHANNEL2}, 2);
	// Enable internal pull-ups on R/C input channels
	set_digital_input(dCHANNEL1, PULL_UP_ENABLED);
	set_digital_input(dCHANNEL2, PULL_UP_ENABLED);
	// Initialise LED to off
	set_digital_output(dLED, 0);
	//Set ADC to 10-bit mode
	set_analog_mode(MODE_10_BIT);

	while(1)
	{
		if (analog_is_converting() == 0)
		{
			// Start a new conversion if one isn't already running
			start_analog_conversion(dADC_CHANNEL);
		}
		// Get time since last edge on R/C channel 1
		get_current_pulse_state(0, &vPulseLength, &vState);
		if (pulse_to_microseconds(vPulseLength) >= dTIMEOUT)
		{
			vError = 1; // R/C timeout - signal lost
		}
		else
		{
			get_pulse_info(0, &vPulseInfo); // get pulse info for R/C channel 1
			if (vPulseInfo.newPulse & HIGH_PULSE)
			{
				vPulseCh1 = pulse_to_microseconds(vPulseInfo.lastHighPulse);
				if ((vPulseCh1 > dMAX_PULSE) || (vPulseCh1 < dMIN_PULSE))
				{
					vError = 1;	// Pulse is too long or too short
				}
				else
				{
					vError = 0;
					if (vPulseCh1 > dMAX)
					{
						vPulseCh1 = dMAX;
					}
					if (vPulseCh1 < dMIN)
					{
						vPulseCh1 = dMIN;
					}
				}
			}
		}
		// Get time since last edge on R/C channel 2
		get_current_pulse_state(1, &vPulseLength, &vState);
		if (pulse_to_microseconds(vPulseLength) >= dTIMEOUT)
		{
			vError = 1;	// R/C timeout - signal lost
		}
		else
		{
			get_pulse_info(1, &vPulseInfo); // get pulse info for R/C channel 2
			if (vPulseInfo.newPulse & HIGH_PULSE)
			{
				vPulseCh2 = pulse_to_microseconds(vPulseInfo.lastHighPulse);
				if ((vPulseCh2 > dMAX_PULSE) || (vPulseCh2 < dMIN_PULSE))
				{
					vError = 1;	// Pulse is too long or too short
				}
				else
				{
					vError = 0;
					if (vPulseCh2 > dMAX)
					{
						vPulseCh2 = dMAX;
					}
					if (vPulseCh2 < dMIN)
					{
						vPulseCh2 = dMIN;
					}
				}
			}
		}
		if (analog_is_converting() == 0)
		{
			// If ADC conversion is finished, check the battery voltage
			vVoltage = analog_conversion_result_millivolts();
			if (vVoltage < dCELL_MV)
			{
				if (vFilter >= dFILTER_SIZE)
				{
					// Filter has timed out, leave the fault flag set
					vFilter = dFILTER_SIZE;	// Prevent filter count from overflowing
					vUnderVolt = 1;	// Set fault flag
				}
				else
				{
					vFilter++;	// Increment filter count
					vUnderVolt = 0;	// Clear fault flag
				}
			}
			else
			{
				vFilter = 0;	// Reset filter if voltage is above limit
			}
		}
		// Calculate motor speeds
		vLeftSpeed = ((vPulseCh2 - dZERO) - (vPulseCh1 - dZERO)) / 2;
		vRightSpeed = (-(vPulseCh2 - dZERO) - (vPulseCh1 - dZERO)) / 2;
		// Limit maximum speeds
		if (vLeftSpeed > dMAX_SPEED)
		{
			vLeftSpeed = dMAX_SPEED;
		}
		else if (vLeftSpeed < dMIN_SPEED)
		{
			vLeftSpeed = dMIN_SPEED;
		}
		if (vRightSpeed > dMAX_SPEED)
		{
			vRightSpeed = dMAX_SPEED;
		}
		else if (vRightSpeed < dMIN_SPEED)
		{
			vRightSpeed = dMIN_SPEED;
		}
		if ((vUnderVolt == 1) || (vError == 1))
		{
			// Stop motors and light LED if a fault exists
			set_m1_speed(0);
			set_m2_speed(0);
			set_digital_output(dLED, 1);
		}
		else
		{
			// Set motor speeds and turn off LED
			set_m1_speed(vLeftSpeed);
			set_m2_speed(vRightSpeed);
			set_digital_output(dLED, 0);
		}
	}
}

Lipo batteries 1s cells for 70p!

Following a nice sale on Hobbyking, i decided to buy some new antweight batteries.  At $0.59 – $0.99 each, these little beauties should hopefully reduce my weight down, without affecting actual play time.

IMAG7531

I found them whilst looking into the bargain bins of hobbyking (INTERNATIONAL STORE)

 http://www.hobbyking.com/hobbyking/store/bargain_bins_rc_hobby_products.asp?bin=1

My Ant is currently weighing in at 170g so by reducing weight and using my milling machine to fill out some nuice parts, i can reduce overall weight by 30g.

The batteries are the slot in type so i either make/buy a connector for them (common to buy landing gear/battery pack slots as a whole and break it down) or remove the existing connector and replace it with a more standard one.

I prefer to keep this connector as its handy, and i can just get the set charger for it, but i also have the other chargers for the other standard JST type.

 

Hmmm… run to ebay to check prices and options i think

 

The batteries are an assortment of Nano-Tech 160mAh 25c 1s, Nano-Tech 160mAh 25-45c 1s, Nano-Tech 130mAh 25c 1s all 3.7v and slot in connectors, but in both 2 types of connectors – one new and old style heli.

 

I have just purchased a charger for these battery, which are also handy for charging my other Lipos single cells.
IMAG7535[1]

I also have purchased some battery holders, something i can make with the 3d printer but for ease i thought i would buy these.

http://www.hobbyking.com/hobbyking/store/__19262__Nine_Eagles_Battery_Holder.html

 

Curiosity, you can also buy these direct from E-SKY, for a mere $1.04 which i had wanted to buy, and buy 30 of them so i can resell to the antweight community, but they only have 1 in stock, and the minimum $7 postage didnt warrant buying 1.

http://www.esky-heli.com/nine-eagles-ne401777008a-battery-holder.html

Perfactory 3D printing test trial 2

So setting of the 3d printer we had two models 1 was a dodecahedron, the other was a spare, the dodecahedron was a model that contain another dodecahedron inside each other suspended in mid air. This was unknown at the time however. Adding both files to the magics software and creating a job to import into perfactory 3D we got the machine off running using pink material.

image

Here you can see about 10 millimetres of the model has been printed and is sticking out of the vat of resin. This is about an hour into the print the total print time is 4 hours.

image

This picture you can see the dodecahedron peeking out the bottom there is no dodecahedron that he done inside this is because the model was constructed without support material meaning of the internal parts will not supported . This means the currently the central internal model resting inside may be picked up later on during the print process later today. However although this part will be a failure the sphere is turning out nicely which should resulting in a clean sphere. We have to wait another 3 hours to see the final outcome.

(note post was spoken and reedited so may seem a bit odd reading)

Posted from WordPress for Android

3D printing at work DLP style

So, been working on setting up some 3D DLP printers at work which were used to print mouths for Pirates!, and discussing with suppliers of the machines abd another company, I have now located licences and software to run them.

Software is Perfactory RP 2.9 by EnvisionTec, suppliers of the Perfactory DDP printers.
Magics 13 by Materialise.

So after running and setting up the machines I got one connected and printing z test part.

I have not calibrated it, and I’m using out of date (by 1.5/2 years) so we will try and see what happens…

image

Finished 4mm print, stopped due to end of work hour’s
image

image

Posted from WordPress for Android

Thermal inserts for 3d printed parts

So, a project of mine requires me to screw a lid into a 3d printed chasis, and make it secure!

The mnost common thing to do is to just drill and tap into the plastic part to give it the screw thread in which to screw into.

There are several issues, A its weak. drilling into an object with a low infill ratio will mean there is no material around after you have drilled into the first few top layers meaning it only will give 1 thread. Not much!

To overcome this, you can up the fill, or print a hole inwhich to tap, and give it additional perimeters so it makes it solid around the thread. again this is better,but we rely on plastic threads to grip into.

Lets take a look at those examples used in industry. Thermal injection to be precise.

When putting a thread into a plastic part, the best way is to add a brass threaded insert. These are small threaded nuts with a grippy outside which is placed into a mould tool before plastic infection. They remain fitted to the plastic due to the burrs on the outside edge, but give a brass heavy duty thread on the inside.

 

These are cheap, well about £50 for 100, 50p each is the cheapest through a company, ebay sell 100 for about £13.50?

Brass insert fastener

These are used ofetn for parts, including the plastic/glass fibre arms for my quadcopter.

 

When it comes to 3D printing, we are unable to print around these inserts, therefore another insertion method is needed.

Firstly we need to print a hole for the brass insert to fit into. This gives the surrounding purchasing for the fitting to fit into.

Then we place an insert onto the tip of a soldering iron, so the iron heats the insert.

Then using the iron, push the brass insert into the plastic hole, so the plastic melts around the insert.

Removing the soldering iron allows the insert and plastic to cool, leaving you with a brass insert thermally welded into your plastic part.

I just need to get hold of some thermal inserts!

Check out this video for more info…

http://youtu.be/iGNXHWPFAKo

Hole size recommendations pdf is available here: http://www.axisproto.com/pdf/spec_inserts_EN.pdf