About Me As an apprentice-trained graduate, I am now seeking a role in an established design team with a rigorous and structured process. I completed my apprenticeship at Techstyle-Europe after two years with a further year thereafter. Techstyle-Europe is a design consultancy that specialise in design for manufacture, specifically injection moulding, and the projects featured from my apprenticeship in my portfolio were all completed and taken to market. Following my time at Techstyle-Europe, I wanted to broaden my knowledge and skillset in design. I started University in 2018 studying Product Design Technology (Bsc), before graduating in July 2021. Following my apprenticeship and throughout my studies I have also worked on projects as a freelance industrial designer. My experience in a design consultancy and as a freelancer has formed the basis of my strong work ethic and self-sufficency. I recently became certified to use Solidworks professionally with an additional qualification in surface modelling. During my time at university I also worked as a technical student mentor helping my peers with issues such as software difficulties and problem solving. I was also awarded a place on the UWE Enterprise Scholarship in both 2020 and 2021, where I learned the fundamentals of business management, marketing, and how to start a business. Completing the scholarship helped me become a more effective freelancer and this was a valuable experience. In addition, I have three years of bar management experience with my last post being at Bristol Rovers, where I developed leadership and management skills and learned the importance of being a team player. Altogether, my combination of experience and strong design education makes me ready to pursue new and challenging opportunities in the field.
8 Years +
2 Years +
Design Experience
Education
Purple Line Ltd - Design Engineer Nov 2021 - March 2021
University of the West of England 2018 - 2021 • Product Design Technology (Bsc) 2:1 • Summer Enterprise Scholarship 2020 • Summer Enterprise Scholarship 2021
Purple Line produce portable campers and camping related products and my responsibility is to assist the design team in completing on-going projects. Since starting I have learnt about how to design for sheet metal as well as how to produce engineering drawings for welding and fabrication. Rose Industries Ltd - Freelance Design Consultant July 2021 - Present I met the owner of Rose Industries Ltd through the scholarship in 2021. We have been working together on various projects, sporadically, that he has either brought to me or as Intellectual Property he would like to be developed under Rose Industries Ltd. Since starting full-time employment I no longer work for clients other than Rose Industries Ltd. Peer Assisted Learning Leader - University of the West of England 2019 - 2020 I mentored first-year students one-to-one in Product Design, supporting their work and helping them approach design related issues and creative challenges. For example, I have demonstrated how to do a curve driven pattern in SolidWorks. Design Engineer - Techstyle-Europe 2013-2016 I completed my apprenticeship in 2015 and continued to work there as a full-time design engineer, where I... • Specialised in Design for Manufacture, Specifically Injection Moulding & CNC Machining but I have also designed for Blow Moulding, Compression moulding and Rotational Moulding; • Managed projects from conception to production; • Used Solidworks, Keyshot, Photoshop, Illustrator and Indesign (self-taught during my time as an apprentice, which was later reinforced during my degree).
Certifications • Certified SOLIDWORKS Professional in Advanced Surfacing - 2020 • Certified SOLIDWORKS Professional in Mechanical Design - 2020 • Certified SOLIDWORKS Associate in Mechanical Design - 2019 Barnsley College (Apprenticeship Training Provider) 2013-2015 • NVQ Level 3 Design • Level 3 BTEC - Subsidiary Diploma in Art & Design University of the West of England 2011 - 2013 • Product Design Technology (Bsc) - I had to withdraw from my studies due to a medical condition that developed during my A-levels. Heckmondwike Grammar School 2007-2011 • A Level 2011 - Mathematics (C) , Product Design (D), Physics (E) • AS Level 2010 - Further Mathematics (D) • GCSE 2009 - Mathematics, Physics, Biology, Design & Technology – Resistant Materials, English Language, Chemistry, Business Studies, Statistics, Art & Design, English Literature, French • Level 2 BTEC 2009 - Award Digital Applications
Achievements • Being awarded a place on the UWE summer enterprise scholarship in 2020 & 2021 • The slingshot Design Engineering project being awarded the prize for the most original and interesting mechanism. • Teaching myself Solidworks to a professional standard and becoming certified in Mechanical Design & Surfacing with no formal training.
Design Engineer - Apprenticeship This project was completed during my time at Techstyle-Europe.and was completed shortly after I finished training as an apprentice. I had been asked to design a bespoke 500ml bottle to replace his existing off the shelf. It was my task to design both the bottle and the aquatrough. It was my responsibility to manage the project from conception to production. The Aquabrush had been featured, with the bespoke bottle, at the Glee International Tradeshow in 2016 and was a top three finalist for product innovation out of a total of 305 designs.
Early Iterations
Above: Indents used to grip the bottle during the blow moulding process. Middle & Right: CNC Machined Prototypes. The finger ridges on both sides were uncomfortable and unnecessary because the ridges were on the same side regardless of which hand was used. They were removed when the design was further developed.
Top & Bottom Left: Photographs taken during the Glee tradeshow Right: A podium and banner I designed for the tradeshow.
Design Engineer - Apprenticeship JKCreations wanted to add a portable watertrough, for dog walkers, to thier range of products. They had asked if the design of the aquatrough could fit around the form of thier new bottle. The product was intended to be a premium product with innovative features.
Early Ideation
The mechanism is similar to the mechanism found in sports bottles. Initially a vacuum lock mechanism was developed but it was not cost effective to produce. The bottle is pulled up, similar to a sports bottle, and the trough will start to fill. When the water level reaches the opening of the bottle cap the water will cease to flow.
Branding engraved into tool.
Flip up/down mechanism. The shape of the cap acts as a cam to lock the bottle in an upright position
A dog lead can be attached through the loop.
Snap-fit Hinged Compartment Lid for Dog Treats/Bags
Design Engineer - Apprenticeship Garland Plastics specialise in the manufacture and retail of garden products. They felt that the existing self watering grow pot towers on the market ‘looked cheap and not very were well made’, so they wanted to add thier own Grow Pot Tower to thier product range. All bespoke parts were injection moulded & designed to be manufactured as economically as possible. I managed the project once the design had been finalised, which meant; writing Tooling & Prototype Specifications, sending parts out for quotation from Tooling & Prototype Suppliers in China & Hong Kong and ensuring a smooth handover from design to manufacture. The main focus of the project was to produce a good looking economical design with the main emphasis being on Design for Manufacture.
Plant Guide Rings
Water Inlet
Aluminium Extruded Rod (Specified by the client)
Tube (Specified by the client)
Growth Water
Soil Partition Float (Specified by the client) Pot
Sunlight
Because faces go in Becausethe thetwo twoshutout shutout faces opposite directions there will always go in opposite directions there be slight gap. means willaalways be aThis slight gap water which allow to fall will either either leak orwater that soil will out fall of the or soil to Our fall into into thebottom water chamber. solution solution is to either isthe to top. eitherOur mold the water inlet as a mold the water inlet as a separate part or to introduce a anseparate part or to introduce a gled side mover but we are keen to angled side mover but we are hear keenyour to hear your suggestions to suggestions. this problem.
Shutout face
Shutout face
HONG KONG PRECISION MACHINERY ENG. CO. LTD. NO. 12, 14/F., REAR PORTION, WAH FAT IND. BLDG., 10-14, KUNG YIP STREET, KWAI CHUNG, N. T. HONG KONG TEL. 24285661 24259756 FAX. 852-24870231 EMAIL: Thomas.ko@hkprecision.com.hk
Quotation To: From:
Attn.: Naveed Gujral Date: Sept., 29 2016
Techstyle Europe Ltd Thomas Ko
RE: RFQ T- Planter tooling Tool Part # of # Description Imp. GAR-001-RING1-6-NAV GAR-001-RING2-6-NAV
1
Top & Right: The client initially wanted the water inlet in the side of the pot. Due to manufacturing constraints this would not be possible as water would leak and soil would enter the water chamber. The images shown are examples of how i communicated this issue with the client.
1+3
GAR-0011.6MODPARTITION-A
2
1
Tool Size
Tool Specifications
75X75 xH35 Cm.
Standard Mould base AB plate in P20 One hot tip change to sub-pin gates, pin ejection
40x40 xH35 Cm.
Standard Mould base AB plate in P20 one hot tip gates,pin ejection
Tooling Amount
£7,200.00 7,200.00
£4,500.00
GAR-001-1.6POTMOD-A
3
Lower Centre: A copy of a tooling quote recieved from a supplier. It was my responsibility to write the tooling specification in order to produce the design as cost effectively as possible. (The prices for tooling have been blanked out to conserve confidentiality)
OUR REF. OS-160054-08-a
1
GAR-001WATERINLET-2
4
2
NOTES:
60x60 xH70 Cm.
25x35 xH30 Cm
Standard Mould base AB plate in P20 Sprue gates,Air and pin ejection Standard Mould base AB plate in P20, one hot tip change to sub-pin gate,stripper plate ejection.
Tooling criterion as per drawings supplied by Techstyle Europe Ltd. Gate & ejection pin locations at our option unless otherwise specified. Mold Base: Metric mold base made in China. Price quoted is FOB Hong Kong Offer only valid in 30 days.
£18, 18,800.00
£4,400.00
With the proposed modifications, the thick regions indicated can be removed by adding a feature that allows for the bosses to slot in the pot above. This has a couple of advantages which are; A more uniform wall thickness which ensures a better moulding. The stacking height difference can be reduced from 103mm to 64mm.
University Project Branding Assignment For this project i was tasked with designing a product for a business that sells a service. The business I chose was Mandarin Oriental. Mandarin Oriental are a very exclusive hotel chain based all over the world. Throughout this project I learnt techniques on how to analyse and design for an existing brand which will be discussed on later pages.
Name: University Of California Gold Hex: #C39122 RGB: (195, 145, 34) CMYK: 0, 0.256, 0.825, 0.235
Visual language boards were developed, scrutinised and refined to really understand what the brand is and informed my all of my ideation and development throughout the project.
Adobe Garamond Pro Regular Mandarin Oriental
Early Ideation
Laser engraved logo
5th Percentile
The plunger is made from gold wrapped in leather for a luxurious comforting experience. All components the user interacts with are made from gold so the user instinctively knows how to use the corkscrew as well as adding to the sense of luxurious comfort. The housing is made from Cocobolo, a rare premium hardwood, to give the user a worldly experience and a sense of luxurious comfort when in use. The corkscrew moves kinetically like a fan to link back to brand’s slogan ‘I’m a fan’.
95th Percentile
How to use: First rotate the plunger until the cork has been screwed into. The arms will move into an upright position. Once the cork has been screwed, push down on the arms to remove it from the bottle.
The silhouette of the form ranges from the 95th to the 5th percentile of average grip width so that it would feel comfortable in a wide range of hand sizes.
After feedback on the project, mainly that design was ‘too loud’. The materials were initially selected to try and fit the brand but I refined the design further to have a more muted aesthetic by using stainless steel and mahogany instead of cocobolo and gold.
University Project Design Engineering Assignment This project was for my Product Design Engineering assignment at university and was started as a group project. The task was to design a slingshot capable of firing three 40mm squash balls in succession using 3m of bungee cord. The slingshot must weigh less than 25kg, be operable by a single person and fire at least 10m. I was elected group leader and my role was to co-ordinate the group, design the charging mechanism and trigger, create the General Assembly in solidworks and to complete the required calculations. We won the prize for the most original and interesting mechanism although the design is still not yet fully functional. This project is still being developed by myself individually.
Test Rigs used to explore different mechanisms, measuring the forces generated from the bungee cords at a set distance and the form factor.. Mechanisms were tested to find out how best to charge the slingshot as well as to determine the spring constant of the bungee system.
Top: Initial full prototype. The frame was complex and difficult to make accurately. This lead to a revision of the frame. After the frame was revised the mechanism to fire the squash ball was tested which was succesful.
Even though the mechanism was functional it was too powerful. The squash ball carrier sheared through the charging rack. The transfer of energy was also inefficient. Future developments are to let the carrier fully extend forward rather than braking and to have the charging rack in a position where it does not impact the carrier during launch.
University Project Individual Project - OctopEye This project investigates the current 3D printing timelapse trend and if there is room for innovation. Disclaimer: This project was completed during Co-Vid 19 in isolation. I tried not to let a global pandemic affect my design process but there were still some effects which were inevitable such as being limited with my research methods. Videos of how to use the product and a timelapse produced on the OctopEye can be found at: Timelapse https://youtu.be/qTfLKMitalU How to use it https://youtu.be/jl4-7wd-Wb4
Why are timelapse’s made? 3D printed timelapses are primarily created for two reasons. Social media content & Marketing Many 3D printing businesses such as Prusa and Creality are now using timelapses to market thier machines. Others are using timelapses to market thier 3D printing services whilst some are creating them to be posted as entertainment on thier social media account. Education & Forensic Analysis Timelapses can be used to educate about the 3D printing process by showing how the object is built up in layers. If a print fails the timelapse can also be a useful way of identifying where the print failed. Based on this information either the 3D printing parameters or the design of the object itself can be tweaked to produce a successful print. How do you make a timelapse? The most common method for creating a timelapse is through a plugin called Octolapse for Octoprint. Octoprint is a open-source program used to control a 3D printer remotely via a rasperry pi. Octolapse is a plug-in available for Octoprint which produces high quality timelapses automatically.
Print Head
3D Print
After a layer is completed, the print head moves off to the side and the bed is centred. The camera then records for three seconds after which the print is resumed.
Everytime a layer is completed the process is repeated again.
Once the print has completed, each three second recording is then composited to form a timelapse which gives the illusion of a print ‘growing’ from thin air.
Business Model Research & Competitor Analysis Whilst there aren’t any direct competitors there are camera sliders available on the market. They are typically priced between £200-£500. A new way of delivering products is to sell a ‘print-your-own’ kit. This allows for a minimal compromise in quality whilst being significantly cheaper to produce and sell to the consumer.
When a print starts OctopEye retreives the print height, current layer and if the 3D printer is is printing.
OctopEye then calculates the distance needed to move per layer. Every time a layer change occurs the camera moves by the calculated increment. The angular postion of the camera is calculated within the code using trigonometry to ensure the camera tracks the print. The angular position is dependent on the position of the camera on the rail and is accurate to 1/32 of a degree.
A kinetic timelapse is then created.
Position
Position and set start/end positions Position
Set-up
Start
Position
Start
Position
End
Start
Start
End Position
OctopEye Automatically Starts
Assemble Position
Start
Start
3D print parts
End
End
End
Enjoy your Timelapse Position
Start
End
End
Development began by first testing how to control a carriage on a rail with a joystick. After this was achieved further iterations developed the rotating camera platform to allow for tracking. Numerous iterations were needed to develop the static shaft and platform in order to ensure the belt was properly tensioned without exerting too much force on the shaft. Initially the belt caused the shaft to delaminate but this was remedied by repositioning the belt close to the root of the shaft alongside generous radii to assist in the distribution of stress around the shaft.
After the prototype was working as intended, parts were designed to house the various electronics.
8
7
6
5
4
3
2
8
1
5
F
7
6
F
F
E
4
3
2
1
18.0 38.0 22.3 37.0
4
3 2X
5
F
E 2 1
D
D
E DRAWING NO.
QTY.
1
XRAIL ASSEMBLY V1.4-F
GA-01
1
2
RZ ASSEMBLY V1.4-F
GA-02
1
3
LED ASSEMBLY-F
GA-03
2
4
ENCLOSURE-F
GA-04
1
5
CONTROLLER-F
GA-05
SIGNATURE
NAME DRAWN
DEBURR AND BREAK SHARP EDGES
FINISH:
DATE
DO NOT SCALE DRAWING
TITLE:
B
1
3.0
REVISION
CHK'D
8
7
6
5
4
MATERIAL:
DWG NO.
WEIGHT:
SCALE 1:2
3
.0
A3
GA-0
1
5
4
3 ITEM NO.
1
2
8
?
6
E
9
10
MS BASE V1.4-F
3D PRINTED
X-01
1
3D PRINTED 3D PRINTED
X-02 X-03
1 1
4
LR PLATFORM V1.4-F STEPPER BASE V1.4-F 2GT SMOOTH TYPE PULLEY
5
2GT BELT 6mm X RAIL
X-04
1
6
BOUGHT IN - CUT TO SIZE BOUGHT IN BOUGHT IN BOUGHT IN
BOUGHT IN
9
NEMA17 STEPPER MOTOR
BOUGHT IN
1
17
10
2GT 20T PULLEY BS EN ISO 7046-1 - M3 X 5 - Z - 5N BS EN ISO 4762 M3 X 12 - 12N BS 4168-3 - M4 X 4-N BS EN ISO 4762 M4 X 12 - 12N BS EN ISO 4762 M4 X 20 - 20N BRIGHT WASHER BS 4320 - M3 (FORM A) BRIGHT WASHER BS 4320 - M4 (FORM A) BS EN 24032 - M3 - D N BS EN 24032 - M4 - D N
BOUGHT IN
1
BOUGHT IN
2
BOUGHT IN
8
BOUGHT IN
2
BOUGHT IN
1
BOUGHT IN
1
BOUGHT IN
4
BOUGHT IN
4
BOUGHT IN
1
BOUGHT IN
1
12 13
18
14 15 16 17
C
18
12 4X
19
15 1X
UNLESS OTHERWISE SPECIFIED: DIMENSIONS ARE IN MILLIMETERS SURFACE FINISH: TOLERANCES: LINEAR: ANGULAR:
16 4X
DEBURR AND BREAK SHARP EDGES
FINISH:
SIGNATURE
NAME DRAWN
D
B
DATE
DO NOT SCALE DRAWING
TITLE:
CHK'D
Q.A
8
7
6
8
7
6
5
4
5
4
1
ITEM NO.
18
23 22
6 17
8
18
21
11
21 13 10
20
15
8
RZ CARRIAGE WILL COUPLE ONTO LR CARRIAGE HERE. SEE DRAWING X-RZ.
7
6
5
DRAWN
1
1
13
10X22X6 BEARING
BOUGHT IN
2
14
2GT 20T PULLEY
BOUGHT IN
1
15
NEMA 17 STEPPER BS EN ISO 7046-1 M3 X 5 - Z - 5N BS EN ISO 4762 M3 X 8 - 8N
BOUGHT IN
1
BOUGHT IN
2
BOUGHT IN
7
BOUGHT IN
10
19
BS EN ISO 7380 - M3 X 12 - 12N
BOUGHT IN
3
20
BS 4168-3 - M4 X 4-N
BOUGHT IN
2
21
BRIGHT WASHER BS 4320 - M3 (FORM A) BS EN ISO 4762 M6 X 8 - 8N BRIGHT WASHER BS 4320 - M6 (FORM A)
BOUGHT IN
13
BOUGHT IN
1
BOUGHT IN
1
NAME
18
QTY.
RZ-01
BOUGHT IN
BS EN ISO 7380 - M3 X 8 - 8N
UNLESS OTHERWISE SPECIFIED: DIMENSIONS ARE IN MILLIMETERS SURFACE FINISH: TOLERANCES: LINEAR: ANGULAR:
14
1
DWG.NO
3D PRINTED
2GT BELT RZ
23
21
2
DESCRIPTION
12
22
17
B
1
1
18
18
3
PART NUMBER
Naveed Gujral
SIGNATURE
3D PRINTED
RZ-02
1
3D PRINTED
RZ-03
1
3D PRINTED
RZ-04
1
3D PRINTED 3D PRINTED 3D PRINTED 3D PRINTED 3D PRINTED 3D PRINTED
RZ-05 RZ-06 RZ-07 RZ-08 RZ-09 RZ-10
1 1 1 1 1 1
DATE
DO NOT SCALE DRAWING
TITLE:
WEIGHT:
3
6
5
DWG NO.
2
F
E
SCALE 1:4
2
DATE
TITLE:
2 DESCRIPTION
MATERIAL:
1
DWG NO.
2
EE LOWER V1.3-F
3D PRINTED
EE-02
1
3
ARDUINO UNO
BOUGHT IN
1
BOUGHT IN
1
BRIGHT WASHER BS 4320 - M3 (FORM A) BS EN ISO 7046-1 M3 X 5 - Z - 5N
BOUGHT IN
1
BOUGHT IN
3
BOUGHT IN
3
BOUGHT IN
2
7
6
F 1
2
5
3
E
E
D
D
C
C
1
DWG NO.
QTY.
1
3D PRINTED/INJECTION MOULDED
C-01
1
2
Controller Lower V1.4F
3D PRINTED/INJECTION MOULDED
C-02
1
PART NUMBER
Joy Stick Breakout Board-F 16mm LED push button spaceclaim-F BS EN ISO 7380 - M3 x 8 - 8N BS EN ISO 7046-1 M2.5 x 5 - Z - 5N
4 5
4
2
DESCRIPTION
Controller Upper V1.4F
3
3
1
4 ITEM NO.
F
SHEET 17 OF 27
2
5
A3
RZ-09
SCALE 1:1
3
8
QTY. 1
BS EN ISO 7380 - M3 X 8 - 8N
A
DWG NO.
WEIGHT: 30 GRAMS
4
EE-01
DUAL BIPOLAR STEPPER MOTOR SHIELD FOR ARDUINO (DRV8825) BARREL JACK CONNECTOR
REVISION
2GT 144T RZ V1.4-F
PLA
3D PRINTED
8
D
3
DO NOT SCALE DRAWING
17/05/2021
Naveed Gujral
Q.A
EE UPPER V1.3-F
7
4
6
BOUGHT IN
1
BOUGHT IN
2
BOUGHT IN
3
BOUGHT IN
4
F
E
D
6 4X
3
C
C
C
5 3X
B
B UNLESS OTHERWISE SPECIFIED: DIMENSIONS ARE IN MILLIMETERS SURFACE FINISH: TOLERANCES: LINEAR: ANGULAR: NAME DRAWN
Naveed Gujral
DEBURR AND BREAK SHARP EDGES
FINISH:
SIGNATURE
DATE
DO NOT SCALE DRAWING
TITLE:
A3
NAME DRAWN
SHEET 8 OF 27
8
7
6
5
4
MATERIAL:
DWG NO.
WEIGHT:
SCALE 1:2
3
2
SHEET 22 OF 27
1
SIGNATURE
DATE
DO NOT SCALE DRAWING
TITLE:
REVISION
GENERAL SUB-ASSEMBLY CONTROLLER V1.4F
17/05/2021
APPV'D
A
A
MFG Q.A
A3
GA-04
Naveed Gujral
DEBURR AND BREAK SHARP EDGES
FINISH:
CHK'D
A
MFG Q.A
B UNLESS OTHERWISE SPECIFIED: DIMENSIONS ARE IN MILLIMETERS SURFACE FINISH: TOLERANCES: LINEAR: ANGULAR:
APPV'D
A
B
REVISION
GENERAL SUB-ASSEMBLY ENCLOSURE V1.4F
17/05/2021
CHK'D
A
1
3D PRINTED - NATURAL
MFG
5
PART NUMBER
DEBURR AND BREAK SHARP EDGES
B
APPV'D
1
5
REVISION
GA-02
4
6
MFG
4
7
6
GENERAL SUB-ASSEMBLY RZ V1.4F
17/05/2021
CHK'D
MATERIAL:
7
4
D
15.2
CHK'D
SECTION G-G
1
E
R
FINISH:
SIGNATURE
NAME DRAWN
H
ITEM NO.
F
APPV'D
Q.A
8
B
DEBURR AND BREAK SHARP EDGES
FINISH:
8
SHEET 2 OF 27
BOUGHT IN
17 16
GA-01
2
MICROSWITCH
16
12
C
SCALE:1:2 SCALE 1:2
11
4
3
7
WEIGHT:
A3
5 6 7 8 9 10
2 3
5
DWG NO.
C920E MOUNT V1.4F REAR MOUNT ROD V1.4-F FRONT MOUNT ROD L V1.4-F FRONT MOUNT ROD R V1.4-F PULLEY PLATE V1.4-F MS PLATE V1.4-F SHAFT CAP V1.4-F SPACER V1.4-F 2GT 144T RZ V1.4-F RZ CARRIAGE V1.4-F
1
2
4
MATERIAL:
3
LOGITECH C920E *NOT INCLUDED
A
UNLESS OTHERWISE SPECIFIED: DIMENSIONS ARE IN MILLIMETERS SURFACE FINISH: TOLERANCES: LINEAR: ANGULAR:
SECTION F-F
A
MFG
9
.0
GENERAL SUB-ASSEMBLY X-RAIL V1.4-F
17/05/2021
Naveed Gujral
.0
17
A
REVISION
C
R5
4.0
DETAIL I SCALE 2 : 1
C
APPV'D
A
D
I
B
17 2X
E
1
19 1X
B
F
E
30°
13 2X
PITCH : 1.80MM TEETH NO. : 144 : 82.30MM PITCH : 83.08 MM HEAD : 81.51 MM FOOT MODULE : 0.5715 TEETH ARC RADIUS : 1.72MM TEETH ANGLE : 41.67
1 1
2GT TEETH PROFILE
G
60
11 17
C
°
8
14
G
F
1
MICROSWITCH MGN12 LR 2GT BELT CLAMP
12 2X
D
1 2 3
7
12 2X
11 2X
QTY.
R1.5
5
4
3
DETAIL H SCALE 20 : 1
1
DWG NO.
DESCRIPTION
3.0
F
2
PART NUMBER
83.1
6
F
18.0 13.0 6.0
7
.80
75
R1.0
SHEET 1 OF 27
2
F 8
D
A
MFG Q.A
10
5.0
D
GENERAL ASSEMBLY V1.4F
17/05/2021
Naveed Gujral
28.3
APPV'D
A
40.3
.0
UNLESS OTHERWISE SPECIFIED: DIMENSIONS ARE IN MILLIMETERS SURFACE FINISH: TOLERANCES: LINEAR: ANGULAR:
C
R5
B
PART NUMBER
81.5
ITEM NO.
C
E 85.1
8
7
6
5
4
MATERIAL:
DWG NO.
WEIGHT:
SCALE 1:2
3
2
A3
GA-05 SHEET 25 OF 27
1
102 103 104 105 106 107 108 109 110 111
Naveed Gujral 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 20/05/2021 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
/* Verson 1.22 Development Notes Notes - Carriage movement may have to change from being set to run at a speed to moving to a position with a given speed,acceleration and max speed. Current Features - The Carriage can be moved at a predefined speed using the AccelStepper Library. (See Variable Declaration) - Movement can be controlled with a Joystick. - Carriage will home before the loop begins2 - Set a End stop (Max Distance) within the program. Bugs - When carriage is near it's limits it can overshoot it's limit. May be a mechanical issue (Lack of clearance around the carriage is causing the motor to overstep which is making the position of the carriage inaccurate) Feature Development - Make the Carriage accelerate towards it's max speed when the joystick is at it's extreme. Features to be added - 'In' and 'Out' Positions to be set using physical buttons. - 'Run' Sequence triggered by a physical button. 'Run' Sequence will transition from 'In' Position to 'Out' Position over at set amount of time. */ // Libraries #include <AccelStepper.h> #include <MultiStepper.h> // Pin Definitions #define JOYX A0 // Joystick X Pin #define XLS 9 // X Limitswitch #define rZLS 10 // rZ Limitswitch // Define stepper motors and pins AccelStepper X(1, 6, 7); // (Driver, STEP, DIR) AccelStepper rZ(1, 5, 4); // (Driver, STEP, DIR) // Create instance of MultiStepper MultiStepper StepperControl; // Define Global Variables int XSPEEDMAX = -2000; // X Max Carriage Speed int XSPEED = -750; // X Carriage Speed int rZSPEEDMAX = -2000; // rZ Max Carriage Speed int rZSPEED = -1000; // rZ Carriage Speed int JOYXPOS = 0; // Default Joystick X Position float rZRATIO = (1 / 4) ; // Stepper to pulley ratio V1.22 int XENDSTOP = 2826 ; // Endstop step Position int XSTARTSTOP = -2826 ; // Startstop Position int XOFFSET = -3025 ; // X switch offset int rZOFFSET = -1686 ; // rZ switch offset // int rZ0 = 240 ; // rz zero position float XMMPERSTEP = 0.025; // X Stepper Distance per step (mm) float rZDEGPERSTEP = 0.03125; // rZ Degrees per step double YDIST = 350; // Object tracking Y distance float RAD2DEG = 180 / 3.14159265; // Radians to Degree conversion void setup() { Serial.begin(9600); Serial.println("Communication Successful"); // initial seed values for X X.setMaxSpeed (XSPEEDMAX); X.setSpeed (XSPEED); rZ.setMaxSpeed (rZSPEEDMAX); rZ.setSpeed (rZSPEED); // Pins pinMode(XLS, INPUT); // X Limit Switch pinMode(rZLS, INPUT); // rZ Limit Switch pinMode(2, OUTPUT); // Stepper Pins pinMode(3, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(JOYX, INPUT); // Joystick Pin // Instances for MultiStepper - In this case it is not needed but it is useful for future versions where multiple steppers may be added StepperControl.addStepper(X); StepperControl.addStepper (rZ); // Home X Rail Serial.println("Homing..."); while (digitalRead(XLS) != 0) // Whilst the switch is not equal to 0 { X.setSpeed(XSPEED); // Set Speed to X Speed X.runSpeed(); // Run at defined speed X.setCurrentPosition(XOFFSET); // When switch is pressed set position to X offset } Serial.println("X-Switch Pressed"); Serial.println("X Stepper Moving to Position 'XSTARTSTOP' "); delay(20); // Wait 0.02 Seconds while (X.currentPosition() != XSTARTSTOP) { X.setSpeed(-XSPEED); // Set Speed to -X Speed
1/4
Serial.println("X-Switch Pressed"); Serial.println("X Stepper Moving to Position 'XSTARTSTOP' "); delay(20); // Wait 0.02 Seconds while (X.currentPosition() != XSTARTSTOP) { X.setSpeed(-XSPEED); // Set Speed to -X Speed X.run(); // Run at defined Speed } // Whilst Stepper position isn't equal to 'XSTARTSTOP' steps run stepper until it is equal
112 113 Serial.println("XStepper has reached 'XSTARTSTOP'"); 114 115 // Home rZ platform 116 117 while (digitalRead(rZLS) != 0) // Whilst the switch is not equal to 0 118 { 119 rZ.setSpeed(rZSPEED); // Set Speed to X Speed 120 rZ.runSpeed(); // Run at defined speed 121 rZ.setCurrentPosition(rZOFFSET); // When switch is pressed set position to X offset 20/05/2021 V1.22 122 } 123 124 Serial.println("rZ-Switch Pressed"); 125 Serial.println("rZ Stepper Moving to Position 'rZSTARTSTOP' "); 126 127 delay(20); // Wait 0.02 Seconds 128 while (rZ.currentPosition() != 0) 129 { 130 rZ.setSpeed(-rZSPEED); 131 rZ.run(); 132 } // Whilst Stepper position isn't equal to 0 steps run stepper until it is equal 133 134 Serial.println("rZ Stepper has reached 0 "); 135 } 136 137 void loop() 138 { 139 140 // Local Variables 141 142 double XDIST = (X.currentPosition() * XMMPERSTEP); // Calculate Distance from centre in mm 143 double rZANGLE = ((round(((atan2 (XDIST, YDIST) ) * RAD2DEG) * 32)) / 32); // Calculate angle platform should be at 144 Serial.println("rZ Angle ="); 145 Serial.println(rZANGLE); 146 int rZTARGET = round(rZANGLE / rZDEGPERSTEP); // Calculate Target Position of platform 147 Serial.println("rZ TARGET ="); 148 Serial.println(rZTARGET); 149 150 // Joystick X Move Rail - WORKING 151 152 JOYXPOS = analogRead(JOYX); // Read position Joystick X 153 while (JOYXPOS > 600 ) 154 { 155 // X Translation 156 157 X.setSpeed(-XSPEED); 158 X.runSpeed();// If Joystick is moved to the left set speed to + and run 159 JOYXPOS = analogRead(JOYX); // Read position Joystick X 160 161 162 // Motion Limit 163 164 while (X.currentPosition() == XSTARTSTOP || X.currentPosition() == XENDSTOP) 165 { 166 delay (50); // wait 0.05 seconds 167 if (X.currentPosition() == XSTARTSTOP) // if the motor reaches it's start position 168 { 169 X.setSpeed(-XSPEED); // set stepper speed 170 X.run(); // run stepper 171 } 172 else if (X.currentPosition() == XENDSTOP) // or if the motor reaches it's end position 173 { 174 X.setSpeed(XSPEED); // set stepper speed 175 X.run(); // run stepper 176 } 177 } 178 } 179 180 while (JOYXPOS < 400) 181 { 182 // X Translation 183 184 X.setSpeed(XSPEED); 185 X.runSpeed(); // If Joystick is moved to the right set speed to - and run 186 JOYXPOS = analogRead(JOYX); // Read position Joystick X 187 20/05/2021 V1.22 188 // Motion Limit 189 190 while (X.currentPosition() == XSTARTSTOP || X.currentPosition() == XENDSTOP) 191 { 192 delay (50); // wait 0.05 seconds 193 if (X.currentPosition() == XSTARTSTOP) // if the motor reaches it's start position 194 { 195 X.setSpeed(-XSPEED); // set stepper speed 196 X.run(); // run stepper 197 } 198 else if (X.currentPosition() == XENDSTOP) // or if the motor reaches it's end position 199 { 200 X.setSpeed(XSPEED); // set stepper speed 201 X.run(); // run stepper 202 } 203 } 204 } 205 206 // rZ Motion 207 208 while (rZ.currentPosition() != rZTARGET) 209 { 210 //Serial.println(rZ.currentPosition()); // Print Stepper Position DEBUGGING ONLY IT SLOWS THE STEPPER DOWN 211 if (rZ.currentPosition() < rZTARGET) 212 { 213 rZ.setSpeed(-rZSPEED); 214 rZ.run(); 215 } 216 else if (rZ.currentPosition() > rZTARGET) 217 { 218 rZ.setSpeed(rZSPEED);
2/4
211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
SLOWS THE STEPPER DOWN if (rZ.currentPosition() < rZTARGET) { rZ.setSpeed(-rZSPEED); rZ.run(); } else if (rZ.currentPosition() > rZTARGET) { rZ.setSpeed(rZSPEED); rZ.run(); } } Serial.println("rZ Target Reached"); // Motion Limit Code Fail Safe while (X.currentPosition() == XSTARTSTOP || X.currentPosition() == XENDSTOP) { delay (50); // wait 0.05 seconds if (X.currentPosition() == XSTARTSTOP) // if the motor reaches it's start position { X.setSpeed(-XSPEED); // set stepper speed X.run(); // run stepper } else if (X.currentPosition() == XENDSTOP) // or if the motor reaches it's end position { X.setSpeed(XSPEED); // set stepper speed X.run(); // run stepper } } // Print X Position
}
Serial.println("X Position:"); Serial.println(X.currentPosition());// Prints current X Stepper Position Serial.println("X Position in mm"); Serial.println(XDIST); // Prints X distance from 0 in mm
4/4
3/4
Source code
Bill of materials for 3D printed parts & Bought in components
Afterword Thank you for taking the time to read my portfolio, I hope you have enjoyed what you have seen and that I hear from you in the future.
Naveed Gujral 07954048430 naveedgujral93@gmail.com