Discussion on Network Administration

Network Administration (COMP 20005.1) – Fall – 2020 – CW1 (Assignment 1) – All – QP
MEC_AMO_TEM_035_02 Page 1 of 11
Instructions to Student
• Answer all questions.
• Deadline of submission: 29/11/2020 23:59
• The marks received on the assignment will be scaled down to the actual weightage
of the assignment which is 50 marks
• Formative feedback on the complete assignment draft will be provided if the draft is
submitted at least 10 days before the final submission date.
• Feedback after final evaluation will be provided by 14/12/2020
Module Learning Outcomes
The following LOs are achieved by the student by completing the assignment successfully
1) Analyze the importance of Network Operating System and Active Directory Services.
2) Apply the concept of DNS, user profiles, and WSUS.
3) Analyze the practical aspects such as installation, configuration and troubleshooting of
infrastructure services.
Assignment Objective
Assignment will assess student’s knowledge on network administration. The main aim is to assess the
capabilities of students to pragmatically apply their knowledge to achieve a specific task in network
Administration.
Assignment Tasks
1) Task 1 – Submit a work proposal for this assignment on or before 04/11/2020 (23:59) which must
include: (10 Marks)
• Understanding of deliverables – a detail description of deliverables.
• General overview of proposed plan – initial understanding of solution to task2.
• Timeline for completion of the given tasks.
The work proposal must be submitted in a word file through the link available in Moodle.
IN SEMESTER INDIVIDUAL ASSIGNMENT
Module Code: COMP 20005.1 Module Name: Network Administration
Level: 2 Max. Marks: 100
Network Administration (COMP 20005.1) – Fall – 2020 – CW1 (Assignment 1) – All – QP
MEC_AMO_TEM_035_02 Page 2 of 11
2) Task 2: (90 Marks)
You have appointed as a network consultant in a consultancy firm, one of your client’s ABC LLC is the
leading financial institution having head office in Muscat and branch offices in different cities of the
Sultanate of Oman. The client has decided to expand the network of branches in Oman, as well as
branches in UAE, Kingdom of Saudi Arabia, Kuwait, and Singapore. There are around 300 employees in
the head office and in between 50-150 employees in each of the branch office.
ABC LLC have administrative departments namely; the Accounts, the Human Resource, Information
Technology Support, Customer Support, Procurement etc. As per company policy, employees have been
assigned with a dedicated laptop/computer in order to perform official work. The company has decided
to simplify administration and ensure fast response as employees tried to authenticate against various
applications by consolidating its directory services. As a network consultant, you have been assigned the
task to design the Active Directory infrastructure and provide the solution for enterprise patch
management for the above company. In this context,
a. Analyze the Active Directory infrastructure design requirement for the ABC LLC.
(15 Marks)
b. Plan and design the Active Directory Domain Services (AD DS) logical structure by using the
suitable DNS domains (based on Internet names). (10 Marks)
c. Write a short report on different user profiles and recommend a suitable user profile for the above
company with proper justification. The report should include main features of different types of
user profiles. (15 Marks)
d. Propose the solution for patch management by emphasizing advantages of recommended
solution to the management. (10 Marks)
e. Deploy, configure, and test the following infrastructure services for the company:
i. DHCP server for the head office (20 Marks)
ii. Web server (20 Marks)
Students are expected to provide the implementation/testing steps with screenshots.
Note: Student can select any company of their choice.
Rules & Regulations:
• All resources should be cited using CU Harvard style.
• The final assignment must have a Title page, Table of Contents, References/ bibliography using
CU Harvard Style and page numbers.
• Title Page must have Assignment Name, Module name, Session, your name, ID, and the name of
the faculty.
Network Administration (COMP 20005.1) – Fall – 2020 – CW1 (Assignment 1) – All – QP
MEC_AMO_TEM_035_02 Page 3 of 11
• Softcopy in word format is to be submitted through Turnitin link on Moodle.
• The word count for assignments is 1200-1500 words maximum.
• Viva may be conducted after the assignment submission as per the dates informed earlier.
Guidelines:
• Assignment must be computer typed.
➢ Font – Times New Roman
➢ Font – Style – Regular
➢ Font – Size – 12
➢ Heading should be with Font Size 14, Bold, Capital and Underline.
• Explain with suitable diagrams wherever required. Diagrams must be drawn using suitable
software or by pencil.
• Each student has to do the assignment individually.
• You can refer books in E-Library or use internet resource. But you should not cut and paste
material from internet nor provide photocopied material from books. The assignment answers
should be in your own words after understanding the matter from the above resources.
Assessment Evaluation Criteria
Classification
And % Range <to be given
as per requirement>
Reflection and critical
analysis.
Knowledge and
Understanding/
Application of Theory
Evidence of Reading
Referencing and
Bibliography
Presentation, Grammar
and Spelling
Outstanding
91-100
Highly competent
analytical skills and
reflective practice,
demonstrating personal
learning and growth,
insight into required
professional values and
principles and professional
development planning.
Extensive knowledge and
depth of understanding of
principles and concepts
and /or outstanding
application of theory in
practice.
Evidence of reading an
extensive range of
educational
literature/research and
where applicable
workplace strategies,
policies and procedures.
Accurate referencing and
bibliography correctly
using appropriate
referencing style
Excellent presentation,
logically structured, using
correct grammar and
spelling, excellent crossreferencing and links to
supporting evidence
Excellent
81–90
Strong analytical skills and
reflective practice used,
demonstrating personal
learning and growth,
insight into required
professional values,
principles and
competencies and
professional development
planning.
Excellent knowledge and
understanding of principles
and concepts and /or
excellent knowledge and
understanding of the
application of theory in
practice
Evidence of reading a wide
range of educational
literature/research and
where applicable,
workplace strategies,
policies and procedures.
Appropriate referencing
and bibliography correctly
using appropriate
referencing style
Good presentation,
competently structured,
using correct grammar and
spelling, clear and easy to
use links to supporting
evidence
Very Good Quality
71-80
Good use of analytical skills
and reflective practice
demonstrating personal
learning and growth,
insight into required
professional values,
principles and
competencies and
professional development
planning.
Good knowledge or key
principles and concepts
and/or good knowledge of
the application of theory in
practice
Evidence of reading a good
range of educational
literature/research and
where applicable workplace
strategies, policies and
procedures.
Generally well referenced
with correct use of the
appropriate referencing
style
Reasonable presentation,
completely structured,
acceptable grammar and
spelling, acceptable links to
supporting evidence
Good (Acceptable)
61-70
Acceptable use of analytical
skills and reflective practice
demonstrating personal
learning and growth,
insight into required
professional values,
Acceptable knowledge of
key principles and concepts
and/or knowledge of the
application of theory in
practice
Evidence of reading an
appropriate range of
educational
literature/research and
where applicable, relevant
Adequate referencing.
Generally accurate use of
appropriate referencing
style
Adequate presentation and
structure, acceptable
grammar and spelling,
adequate links to
supporting evidence
Network Administration (COMP 20005.1) – Fall – 2020 – CW1 (Assignment 1) – All – QP
MEC_AMO_TEM_035_02 Page 4 of 11
principles and
competencies and
professional development
planning.
workplace policies and
procedures
Adequate/ Satisfactory
51-60
Adequate use of analytical
skills and reflective practice
demonstrating personal
learning and growth,
insight into required
professional values,
principles and
competencies and
professional development
planning.
Adequate knowledge of key
principles and concepts
and/or satisfactory
evidence of the application
of theory in practice.
Evidence of minimal
reading of educational
literature/research and
where applicable relevant
workplace policies and
procedures
Adequate referencing.
Appropriate referencing
style used but may contain
some inaccuracies.
Weak presentation ,
satisfactory structure,
grammar and spelling, links
to supporting evidence
Weak /Poor
(all learning outcomes not
adequately met)
0-50
Little use of analytical skills
and reflective practice
demonstrating personal
learning and growth,
insight into required
competencies and/or
professional development
planning. Professional
values and principles not
reflected in the submission.
and/or
Insufficient/no use of
analytical skills and
reflective practice
demonstrating personal
learning and growth,
insight into required
competencies and
professional development
planning
Little evidence of
knowledge of key
principles or concepts
and/or little evidence of
the application of theory in
practice
and/or
No evidence of knowledge
of key principles or
concepts and/or no
evidence of application of
theory in practice
Little or no evidence of
reading outside of the
course textbook and/or
reference to relevant work
place policies and
procedures
and/or
No evidence of reading
outside of the course
textbook and/or reference
to relevant workplace
policies and procedures
Little or no referencing,
incorrect style, or very
inaccurate use of
appropriate referencing
style
Poor presentation,
grammar and spelling, links
to supporting evidence
and/or
Unacceptable
presentation, grammar
and spelling, structure is
very poor, links to
supporting evidence
Important Policies to be followed
1. Student Academic Integrity Policy*:
• MEC upholds the spirit of academic integrity in all forms of academic work and any form of
violation of academic integrity shall invite severe penalty. Any benefit obtained by indulging
in the act of violation of academic integrity shall be cancelled.
• MEC also reserves the right to notify the appropriate law enforcement authorities of any
unlawful activity and to cooperate thereafter in any investigation of such activity.
• Faculty can conduct a viva to investigate and ascertain that the work submitted is student’s
own work as per the guidelines for the same. A student can be given a maximum of 2
chances to attend the viva in such cases. It is expected that the student attends the viva
during the first chance itself unless due to extenuating circumstances. If the student does
not attend the viva in spite of being given 2 chances and fails to submit valid reasons,
he/she will be awarded a fail in the module and this shall be counted as a case of academic
integrity violation.
Network Administration (COMP 20005.1) – Fall – 2020 – CW1 (Assignment 1) – All – QP
MEC_AMO_TEM_035_02 Page 5 of 11
All cases of violation of academic integrity on the part of the student shall fall under any of the below
mentioned categories:
1. Plagiarism
2. Malpractice
3. Ghost Writing
4. Collusion
5. Other cases
If the student fails a module and has a proven case of academic integrity violation in this module,
the student is required to re-register the module. This is applicable to first and second offence of
academic integrity violation of plagiarism type
1.1. First Offence of Academic Integrity Violation:
1.1.1. Plagiarism
a. If a student is caught first time in an act of academic integrity violation during
his/her course of study in any assignment other than project work and if the type
of violation is plagiarism, then the student will be allowed to re-submit the
assignment once as per the period allowed for re submission However, a penalty
of deduction of 25% of the marks obtained for the resubmitted work will be
imposed.
b. Period of re-submission: The student will have to re-submit the work within one
week (5 working days) from the date he or she is advised to re-submit.
c. Re-submission of the work beyond the allowed period of resubmission will not be
accepted and the assessment will be awarded a zero mark.
d. If the re-submitted work (within the allowed period of resubmission) is also found
to be plagiarized, then that assessment component will be awarded a zero mark.
It shall also contribute to the total count of academic integrity violation for that
student.
e. If plagiarism is detected in UG Project work (Project 1, Project Planning and Project
Design and Implementation), the above clauses do not apply, and the work will be
summarily rejected. In these cases the student will be awarded a fail (F) grade and
is required to reregister the module.
1.1.2. Malpractice / Ghostwriting / Collusion
If a student is caught first time in an act academic integrity violation during his/her course
of study for an assessment component irrespective of coursework or end semester and
Network Administration (COMP 20005.1) – Fall – 2020 – CW1 (Assignment 1) – All – QP
MEC_AMO_TEM_035_02 Page 6 of 11
if the type of violation is Malpractice/Ghostwriting/Collusion, then the student shall fail
the module.
1.2. Second Offence of Academic Integrity Violation:
1.2.1. Plagiarism
a. If any student is caught second time in an act of academic integrity violation during
his/her course of study and if the type of violation is plagiarism, then the student
will not be allowed to resubmit the work, and s/he will directly be awarded zero
for the work in which plagiarism is detected.
b. The student shall also receive a warning of suspension in such cases.
1.2.2. Malpractice/Ghostwriting/Collusion
a. If a student is caught a second time in an act academic integrity violation for an
assessment component irrespective of coursework or end semester and if the type
of violation is Malpractice/Ghostwriting/Collusion, then the student shall fail the
module.
b. The student shall also receive a warning of suspension in such cases.
1.3. Third Offence of Academic Integrity Violation:
a. If a student is caught a third time in an act of academic integrity violation for an
assessment component irrespective of coursework or end semester then the student
shall fail the module and also shall be suspended for one semester from the College,
once the academic integrity violation case is confirmed by Institutional Assessment
Review Committee.
b. The student shall be suspended for the immediate subsequent semester and can
register for modules only after having served the suspension period fully. This is also
applicable for semesters offered in block mode.
c. During the suspension period, the student shall have to mandatorily complete a course
on academic integrity/writing before s/he can register for any modules.
d. During the period of suspension, the student shall be allowed to attempt
supplementary examinations if s/he is eligible for the same. S/he shall also be allowed
access to all college facilities permitted for a regular student except for registering the
modules.
1.4. Fourth Offence of Academic Integrity Violation:
a. If a student is caught a fourth time in an act of academic integrity violation for an
assessment component irrespective of coursework or end semester, the student shall
fail the module and also shall be expelled from the College, once the case is confirmed
by Institutional Assessment Review Committee.
b. The student shall be expelled from the college and all access to the college facilities
and premises shall cease to exist. The documents shall be released only after getting
the NOC (No Objection Certificate) from Registration Office.
Network Administration (COMP 20005.1) – Fall – 2020 – CW1 (Assignment 1) – All – QP
MEC_AMO_TEM_035_02 Page 7 of 11
c. `On termination, the student shall not be refunded any fees paid for the academic
semester in which academic integrity violation was observed.
1.5. Other cases
If a student commits an act of academic integrity violation as per the definition of “other
cases” mentioned in the previous section or of a different nature, student’s case shall be
forwarded to an Institutional Assessment Review Committee, Chaired by the Associate
Dean, Academic Affairs. The committee shall investigate the case by means of a viva and/or
a hearing of the parties concerned if required and shall take appropriate decision. The
penalty that can be granted to a proven case of academic integrity violation which falls in
this category of “other cases” can be a warning/component zero/ module
fail/suspension/expulsion depending on the nature and gravity of the offence.
1.6. Types/Variations of cases of Plagiarism and associated actions
Type 1: In case plagiarism is detected in any component or part submission (submitted at
different times) of one assessment (assignment), the deduction in marks will be applicable
for the whole assessment (assignment), even if only the component or part submission alone
needs to be resubmitted.
Type 2: In case plagiarism is detected in a group assessment, all students of the group will be
considered as having committed an act of plagiarism irrespective of whether plagiarism is on
account of the act of all or a few or only one member. The policy will then be applied to all
students.
If some students in the group are eligible to re-submit (first offence) and others are not
eligible, only eligible students will be allowed to re-submit within a period of one week and
the penalty will be applied as per the policy for each student according to his / her history of
violations.
Type 3: Combination of Type 1 and Type 2: In case plagiarism is detected in any component
or part submission (submitted at different times) of a group assessment (assignment), the
deduction in marks will be applicable for the whole assessment (assignment), even if only the
component or part submission alone needs to be resubmitted. All students of the group
would be considered as having committed an act of plagiarism irrespective of whether
plagiarism is on account of the act of all or a few or only one member. The policy will then be
applied to all the students of the group.
If some students in the group are eligible to re-submit (first offence) and others are not
eligible, only eligible students will be allowed to re-submit within a period of one week and
the penalty will be applied as per the policy for each student according to his / her history of
violation.
Type 4: Variation of Type 1 and Type 2: In cases where the assessment consists of
components or part submissions that could be a group assessment component (e.g. group
assignment) and an individual assessment component (e.g. individual reflection), the
following will be applicable: a. If plagiarism is detected in the group assessment component, all students of the group will
be considered as having committed an act of plagiarism, irrespective of whether plagiarism
Network Administration (COMP 20005.1) – Fall – 2020 – CW1 (Assignment 1) – All – QP
MEC_AMO_TEM_035_02 Page 8 of 11
is on account of the act of all or a few or only one member. The policy will then be applied to
all students of the group. In such cases the group assessment component will be resubmitted.
If some students in the group are eligible to re-submit (first offence) and others are not
eligible, only eligible students will be allowed to re-submit within a period of one week and
the penalty will be applied for each student according to his / her history of violation. b. If plagiarism is detected in the individual assessment component, the individual assessment
component will be resubmitted – if the student is eligible for resubmission-. The policy will
then be applied to that student alone. c. In both cases (a) and/or (b), the deduction in marks will be applicable for the whole
assessment (assignment).
1.7. Types/Variation of Cases of Multiple Offences
If student is caught with multiple violations of same or different nature in different modules
of the same semester, they will be considered as one offence and student will be penalized
for each violation according to the type of the offence.
If student is caught with multiple violations of same or different nature in the same module
of the same semester, then they will be considered as different offences and each will
contribute to the overall count of AIV. The student then shall be penalized for each violation
according to the count and type of each offence.
* For further details Refer to MEC Student Academic Integrity Policy in Student Handbook.
2. Late Submission Regulations:
It is the students’ responsibility to check all relevant timelines related to assessments.
As per the Assessment Policy at MEC, late submissions are allowed for one week (5 working days)
for all UG modules with a penalty. In such cases, a deduction of 5% of the marks obtained for the
submitted work shall be imposed for each working day following the last date of submission
till the date of actual submission. Assessment documents submitted beyond a period of one
week (5 working days) after the last date of submission will not be accepted and will be awarded
a zero for that assessment. In cases where the submission has been delayed due to extenuating
circumstances, the student may be permitted to submit the work without imposing the late
submission policy stated above. The extended period of submission will be one week from the
original last date of submission. In such cases, the student is expected to submit the supporting
certificates on or before the original last date of submission of the assessment and the decision
of extension rests with faculty responsible for the assessment .The late submission policy shall be
applied if the student fails to submit the work within one week of the original last date of
submission.
Network Administration (COMP 20005.1) – Fall – 2020 – CW1 (Assignment 1) – All – QP
MEC_AMO_TEM_035_02 Page 9 of 11
Students may contact their teachers for clarification on specific details of the submission time if
required.
3. Research Ethics and Biosafety Policy
To protect and respect the rights, dignity, health, safety, and privacy of research subjects involved
including the welfare of animals and the integrity of environment, all student projects are
expected to be undertaken as per the MEC Research Ethics and Biosafety Policy. Accordingly the
following shall apply.
• Research and other enterprise activities shall be conducted by maintaining the high ethical
standards consistent with national and international standards and conventions.
• Any research at MEC that is categorized as high-risk research shall be subject to review and
approval by the Research Ethics and Biosafety Committee.
• Research activities involving collection of human or animal tissues and manipulation of microbial,
animal or plant cells shall be subject to review and approval by the Research Ethics and Biosafety
Committee.
• Participants involved in research must be informed about the purpose of research and intended
uses of research findings. Written consent must be obtained from people involved prior to the
commencement of research.
• Data obtained from participants must be treated with high confidence and should be used only
for the intended purpose of research.
Network Administration (COMP 20005.1) – Fall – 2020 – CW1 (Assignment 1) – All – QP
MEC_AMO_TEM_035_02 Page 10 of 11
COMP 20005.1 – Network Administration (Assignment) – Fall 2020
ASSESSMENT EVALUATION SHEET
Student Name: ___________________________________________ Student ID: ____________
Deliverables Aspects 0-10 Marks
Task 1 Work proposal submission
• Objectives of the assignment clearly identified
• Initial understanding of all the tasks
• Sources of data are clearly identified -credibility of the research
sources are established
Deliverables Aspects 0 1-6 7-12 13-15 Marks
Task 2a
Active Directory Domain
Services infrastructure
Design requirement
No attempt/
Plagiarized report
Average attempt Satisfactory
Attempt
Good Attempt
Deliverables Aspects 0 1-4 5-8 9-10 Marks
Task 2b Proposed logical structure
No attempt/
Plagiarized report
Average attempt
(Incomplete logical
structure is provided)
Satisfactory
Attempt (Logical
structure is
provided with some
mistakes)
Good Attempt (Proper
logical structure is
provided)
Deliverables Aspects 0 1-6 7-12 13-15 Marks
Task 2c User Profiles No attempt/
Plagiarized report
Average attempt Satisfactory
Attempt
Good Attempt
Deliverables Aspects 0 1-4 5-8 9-10 Marks
Task 2d Patch Management Solution
No attempt/
Plagiarized report
Average attempt (1
or 2 advantages are
provided)
Satisfactory
Attempt (3 or 4
advantages are
provided)
Good Attempt (5
advantages are provided)
Deliverables Aspects 0 1-12 12-18 19-20 Marks
Task 2e DHCP Server No attempt Partial
Implementation steps
without proper
configurations
Implementation
steps are provided
with some missing
steps
Perfect Attempt
Task 2e Web Server
Total Marks
Obtained
Network Administration (COMP 20005.1) – Fall – 2020 – CW1 (Assignment 1) – All – QP
MEC_AMO_TEM_035_02 Page 11 of 11
Penalty
Final Marks
Comments:

 

Don't use plagiarized sources. Get Your Custom Essay on
Discussion on Network Administration
Just from $10/Page
Order Essay

IAJ Laboratory exercise 2 Computer Eng & Mechatronics
Rev E 1 27 October 2020
Department of Mechanical, Materials and Manufacturing Engineering
Computer Engineering and Mechatronics MMME3085
Laboratory Exercise 2: Motion Control (preparatory
work)
1 Objectives
The objectives of this exercise are:
• To give some practical experience of how servomotors are used in closed
loop mode in order to achieve accurate motion control
• To give experience of using objects in the form of Arduino libraries
• To give experience of how ramping of step rates can be achieved without
the use of division.
2 The control loop in the context of a servo mechanism
Fundamental to the operation of a servomotor is the concept of closed loop
control – this was covered mathematically in an elementary manner in MM2DYN
(MMME2046), and forms the basis of more advanced study in MM3CAI
(MMME3063).
In brief, the control loop when applied to a servomotor consists of the following:
• Decide on a position we want the motion control system to move to
• Measure the current position
• Compare the position we want with the current position (to give error)
• Decide upon corrective action to bring system closer to its desired position
(this decision process is known as the control algorithm)
• Take the corrective action
This can be represented diagrammatically as follows:
IAJ Laboratory exercise 2 Computer Eng & Mechatronics
Rev E 2 27 October 2020
Within your preparatory work you will be going from “open loop control” (where
you vary the motor signal directly, with no attempt at controlling position) to
“closed loop control”, where you will implement an extremely simple control
algorithm (proportional control) and incorporate a VI implementing a more
sophisticated (PID) algorithm.
You will also be examining the software used to control a stepper motor – unlike
a servo motor, a stepper motor normally operates in open-loop mode as no
feedback is required to achieve a given position.
3 A hint of C++: classes and objects to implement libraries
The programming language taught by Louise Brown in the software engineering
part of the module is ISO C, sometimes known informally as “pure C” to
distinguish it from an enhanced version of C known as C++. The main
difference between the languages is that C++ is designed to be used for objectoriented programming, in which data and functions are no longer separate
concepts but are combined in the form of “objects”, which are instances of userdefined variable types known as classes. A class is essentially a struct with
member functions as well as member data. For instance, the encoder sketch
you used in Lab 1 uses the SPI class. This ad-hoc use of classes in what is
essentially a C program structure is a characteristic of “the Arduino way of
programming” and is not generally regarded as good practice, not least because
pure C simply does not allow this. By contrast, C++ programs are often written
using classes and objects throughout, following an approach known as “object
oriented programming” which is not covered in this module.
4 Preparatory work
This involves creating two separate Arduino sketches which implement
closed loop control: one involves a “home-made” proportional-only control
algorithm; the other makes use of a ready-written “PID” (proportional-integralderivative) library object. You are strongly advised to make an early start
on the preparatory work so you do not run out of time to ask for help if
required
4.1 Exercise 1: Closing the Loop: Proportional Control
1. Download a slightly modified version of the open loop PWM and position
sensing project which you used in Lab 1, now called
MotorControlSkeleton2.ino: this may be downloaded from Moodle in the
Lab and Programming Exercises section. In brief, this drives the motor with
a PWM signal of varying duty cycle and of positive or negative polarity – the
present version differs very slightly from the version used in Lab 1 in that the
state machine and internal counter code has been stripped out and some
variables renamed. If you have an Arduino Mega, try compiling and running
the example, but remember to set the Serial Monitor to 9600 baud rate and
to send “Both NL & CR” on pressing return. If you type a number
IAJ Laboratory exercise 2 Computer Eng & Mechatronics
Rev E 3 27 October 2020
representing the percentage PWM value, you should see the LED glow
brightly or dimly accordingly.
2. You will notice how the printing takes place within a timed loop which cycles
every 1000 milliseconds, and calls the function printLoop(). Just as you did
within the introductory “blink without delay” exercise, create another timed
loop and loop function, called the control loop, with a period of 20 ms. We
suggest you name this function controlLoop().
3. Create a global variable to store the measured position from the encoder.
4. Within this loop, obtain the value of measured position from the encoder (as
counted using the LS7366R counter) just as is done in the print loop, but
store it in the global variable you have just created.
5. Create a global constant called Kp representing the proportional gain, and
initialise it to a value of 0.02.
6. At this stage, check that your sketch compiles correctly and correct any
problems making use of any compile error message. If you have an Arduino
Mega you should still be able to observe how the LED changes in intensity as
you change the entered value between -100 and 100.
7. Now change the way the program behaves as follows. Create a new global
floating-point variable called positionSetPoint and arrange so that this
variable, instead of the variable percentDutyCycle, is set by the user input
from the serial monitor.
8. Within your control loop function, implement the proportional closed loop
control algorithm shown in the diagram below by setting the value of
percentDutyCycle to the proportional gain multiplied by the value of error
(the difference between the position set point and the position measured by
the encoder; make sure you get the difference the right way around as
shown in the diagram).
.
9. Within the control loop function, remember to call the function to update the
motor speed with the updated value of percentDutyCycle.
10.Enhance the contents of printLoop() to print out the setpoint and the error
(which you will need to calculate here again) as well as the measured
position.
11.Try compiling your code; ensure there are no errors. If there are, look at the
error messages and make the necessary connections. If you don’t know
IAJ Laboratory exercise 2 Computer Eng & Mechatronics
Rev E 4 27 October 2020
what’s wrong, please ask for help (so leave enough time for sorting out
problems!).
12.Save your sketch as ProportionalClosedLoopXXX.ino.
13.Save an additional copy of your sketch and call it PIDClosedLoopXXX.ino
ready for the next exercise (so you don’t overwrite your
ProportionalCloseLoopXXX.ino sketch and end up without that work!).
4.2 Exercise 2: Closing the Loop: Proportional-Integral-Derivative
(PID) Control
1. From the Arduino menu bar, look in the Sketch | Include Library submenu to see if the PID library is installed (if it is, it will be in the bottom
section of the sub-menu). If it isn’t, look at the top of the sub-menu for
Library Manager and click on it to start it. You can then search for PID, but
be careful to highlight PID by Brett Beauregard not any of the other PID
libraries (there are several) or the following instructions won’t be applicable.
Install the V1.2 of the PID library.
2. From the Arduino menu bar, load the example sketch from Examples | PID
| Basic (you may need to scroll down to near the bottom of the Examples
sub-menu) and examine the example closely. You will see that:
a. The definition of the PID class is contained within the file PID_v1.h
which is included in the sketch via the directive #include<PID_v1.h>
b. Global variables for the values of proportional, integral and derivative
gain Kp, Ki and Kd are defined and initialised.
c. A global object called myPID, of class PID, is declared, linking the
object to the measured value named here as the input, the control
action named here as the output, and the setpoint. Note that these
values are all passed by address so the PID object has the ability to
change their values. The variables Kp, Ki and Kd are also linked to the
object here. The value DIRECT is not important; it defines that the
positive directions for input and output are the same.
IAJ Laboratory exercise 2 Computer Eng & Mechatronics
Rev E 5 27 October 2020
d. In the function setup() the Setpoint variable is initialised, also the
value of Input is initialised by reading the value of from an analogue
input pin, and the PID controller is made active (set to automatic
control). Two other aspects also need to be set: the PWM duty cycle
can be set from −100% (implying the motor in reverse) to +100%, and
the PID controller needs to be informed of the actual control loop
interval, so you will actually need to include the following three lines of
code within setup(), noting that the percentage limits are (or should
be) already set as constants in your program:
myPID.SetOutputLimits(minPercent, maxPercent);
myPID.SetSampleTime(controlInterval);
myPID.SetMode(AUTOMATIC);
e. Now everything is set up for the PID controller to control the output by
taking decisions on what the input is doing compared with the setpoint.
This takes place in the function loop(), where for each pass through
the loop:
• the value of Input is read from the analogue input
• the PID calculations are calculated by the member function
Compute()
• the value of Output is used to make something happen via an
analogWrite() function call.
3. Now alter your PIDClosedLoopXXX.ino sketch as follows:
• Defining two additional global variables Ki and Kd; at present set these to
zero.
• Define the global PID object so its input is the measured position, the
output is the PWM percentage, and the set point is the position set point
as before.
• Initialise the set point to zero in setup()
• Remember to make the PID controller active. Two other aspects also need
to be set: the PWM duty cycle can be set from −100% (implying the motor
in reverse) to +100%, and the PID controller needs to be informed of the
actual control loop interval, so you will actually need to include the
following three lines of code within setup()noting that the percentage
limits are (or should be) already set as constants in your program:
myPID.SetOutputLimits(minPercent, maxPercent);
myPID.SetSampleTime(controlInterval);
myPID.SetMode(AUTOMATIC);
• Replace the proportional action in the control loop with the PID action in
the same way as in the PID example.
IAJ Laboratory exercise 2 Computer Eng & Mechatronics
Rev E 6 27 October 2020
4. Save PIDClosedLoopXXX.ino and try compiling. If there are problems,
please seek help, allowing enough time to do so.
4.3 One step at a time
4.3.1 Overview of stepper motors and ramping
Part of the laboratory exercise involves controlling a stepper motor. These
devices are motors which operate under (usually) open-loop control and
produce a fixed angle of rotation for each increment (step) of their
movement. The basics of stepper motors were covered in Electromechancial
Devices and should be revised before the laboratory.
In the present case, the stepper motor controller is a combination of a timer
and various input-output lines rather than a separate device. Stepper
motors are driven by circuitry (translator and driver –covered in the
Electronics in Mechanical Engineering laboratory as an example of digital
logic) which normally take in signals on two lines:
• Step signal: each complete pulse on the step line corresponds to a
single increment of angular rotation
• Direction signal: if the signal is TRUE, the step takes place in one
direction e.g. clockwise, if it is FALSE, the step is in the opposite
direction
In practice it is usual to make a movement by ramping up the motor from a
low speed (which may be zero) up to full running speed and back towards
rest via a “profile” of uniform acceleration, constant speed and uniform
deceleration. This smooth profile is needed so that there are no sudden
changes in speed or very rapid accelerations or decelerations, in order to
avoid “desynchronising” the rotor of the motor from the magnetic field which
is stepping around the stator.
This profile involves generating trains of pulses which are initially widely
spaced in time, then gradually become more closely spaced as the motor is
IAJ Laboratory exercise 2 Computer Eng & Mechatronics
Rev E 7 27 October 2020
accelerated, and eventually become more widely spaced again and cease
altogether as the motor slows down to a halt.
The generation of these pulses under computer control is simple in principle
but in practice is non-trivial, not least because it is desirable to avoid
computationally intensive calculations (such as division operations and
mathematical functions) which will take longer to complete that the time
available for each step. Some ingenious approaches are therefore used to
perform the calculations using only addition and multiplication operations,
for example by making a Taylor series expansion of the “difficult” functions.
The pulses are typically timed using an interrupt service routine which is
repeatedly called at intervals determined by a timer counter. For simplicity
however simple timed loops are used for the initial version of the sketch. It
could be naively assumed that incrementally changing the timer counter
intervals (so that the ramp down linearly from long intervals to short
intervals and back up again) would provide the required acceleration and
deceleration profile, and your starting point is a sketch which implements
this. However, as you will see, this results in a poor profile, which starts very
slowly then builds up to an unrealistically large acceleration as the desired
speed is approached.
The approach you will use is the “Leib Ramp Algorithm” as presented by
Eiderman1, one of several approximate methods available for performing a
good approximation to the desired uniform acceleration/deceleration profile.
4.3.2 Existing program – a simplistic approach that nearly works
The scenario for your exercise is that an Arduino sketch has been written by
a competent programmer to implement a ramping profile. Let’s assume that
the writer had a basic understanding of stepper motors but assumed that the
generation of a ramping profile is a trivial exercise (which of course it isn’t)
1 Aryeh Eiderman, “Real Time Stepper Motor Linear Ramping Just by Addition and Multiplication”.
http://hwml.com/LeibRamp.pdf
IAJ Laboratory exercise 2 Computer Eng & Mechatronics
Rev E 8 27 October 2020
and has implemented a ramping profile which works, but not very
effectively.
The starting point for your sketch is SimplisticRampStepper.ino which you
can download from Moodle; however, as debugging an Arduino program is
difficult, you will develop your code first within a specially-provided C test
program which also acts as a simulation of the real sketch behaviour.
(Health warning: so that the functions in the C program are largely the same
as those in the Arduino sketch, the C program uses several global variables.
Don’t do this in other C programs!) Before starting work on the updated
algorithm first take a look at the SimplisticRampStepper.c program. As
set up, this uses a timed loop (like the one in the “Blink Without Delay”
example, but working in microseconds not milliseconds) to time the steps.
However, the code includes some “hidden” options for using interrupts – you
may safely ignore these for the present time, but don’t be confused by (or
try to delete) lines such #ifdef HARDWARETIMING as you will use these in the
lab.
Firstly, try running SimplisticRampStepper.c and see that it displays (in real
time) a table simulating the individual steps, the time relative to starting for
each step, the speed and acceleration at each step, the duration of each step
etc. You can specify a position (in steps, relative to the initial starting
position) for the motor to move to, so you can see the effects of running the
motor short distances involving only acceleration and deceleration, or longer
distances involving a period of running at constant speed.
At this, run the program for the case of starting at position 0 and running to
position 50. Use the default values of minimum and maximum speed and
maximum acceleration (1 step/s, 20 steps/s and 10 steps/s2 respectively).
Cut and paste the text from the command prompt window into a text file
(call it “SimplisticProfile.csv”) and import it into Excel. Plot a graph of
velocity vs. time and save your Excel file as “SimplisticProfile.xlsx”. It is
desirable for the velocity profile to involve constant acceleration and
deceleration and (if required) a period of constant velocity. Is this achieved?
If not, how badly does it deviate from the ideal?
The current version of the program (and Arduino sketch) uses a crude and
simplistic ramping algorithm which increments or decrements the loop
interval by a fixed value calculated as:
p p max min
p
S
 = (1)
where S is the number of steps over which acceleration takes place, so that
for each step the new step interval pnew is given in terms of the previous step
interval pold as follows:
new old new old
new old
(during acceleration), (during deceleration),
(during constant speed phase)
p p p p p p
p p
= −  = + 
=
(2)
IAJ Laboratory exercise 2 Computer Eng & Mechatronics
Rev E 9 27 October 2020
Note that in the code the new value of p simply overwrites the old one –
there is no need for two separate variables.
4.3.3 Replacing the simplistic approach with one that works much better
Now use the LeibRampSkeleton.c program to develop the new algorithm.
This is very similar to the SimplisticRampStepper.c program but has the
simple algorithm stripped out and comments to indicate where the changes
outlined below should be inserted.
The minimum stepping speed of the motor, the maximum permissible speed
maxPermisSpeed and the acceleration maxAccel are already defined as global
constants so you don’t need to redefine these. The number of steps for the
acceleration phase accelSteps is also specified; this is no longer going to be
constant so is not defined as a constant.
The number of steps still to move Stg is obtained from the function
getStepsToGo() and we will call the initial value of this distance Stot.
However, to replace the simplistic approach above with the approach
described by Eiderman you will need to make some changes. Note that all
your arithmetic, constants and variables must be floating point, and only at
the final point of use (when it is used for timing the loop or as the register
value for a timer) should your step interval p be converted to a long integer.
Starting with the changes to be made in function main() forming the section
labelled “Pre-computation code” (the comments STEP 1 etc in the skeleton
program correspond to the numbering of the points below):
1. The number of steps S (variable name accelSteps) over which acceleration
is to take place must be calculated: this is calculated from equation 4 in the
paper:
2 2
0
2
v v
S
a

= (3)
where v is initially assumed to be the maximum permissible speed (termed
“slew speed” in the paper), and v0 is the minimum stepping speed.
2. If twice this value of S exceeds the total number of steps to move Stot then:
a) The maximum speed v needs to be re-calculated using the following
equation (a slight variant of equation 5 from the paper, noting that the
total distance Stot is twice the acceleration distance S):
𝑣 = √(𝑣0 2 + 𝑎𝑆𝑡𝑜𝑡) (4)
b) The number of steps for acceleration is now re-calculated as the integer
part of half the value of Stot:
int tot
2
S
S =    
  (5)
(convert to long rather than int to avoid overflow)
IAJ Laboratory exercise 2 Computer Eng & Mechatronics
Rev E 10 27 October 2020
3. After the end of the if-block mentioned above, the initial step interval (in
microseconds) is calculated as p1 from equation 17 in the paper and should
be made a global variable so it can be accessed elsewhere:
1
2 0
2
F
p
v a
=
+
(6)
where F is the number of time measurements or “ticks” per second. In the C
program we will be using milliseconds so F is defined for you as 103; the
Arduino sketch however uses microseconds (when using a timed loop) or
system clock ticks (which occur at 16 MHz, for use with the interrupts and
timer counters) so in those cases F is 106 or 1.6×107 respectively.
4. The minimum step interval ps is given by equation 18 in the paper and is a
global variable so it can be accessed elsewhere:
s
F
p
v
= (7)
5. The constant multiplier R is calculated from equation 19 in the paper:
2
a
R
F
= (8)
All of the above pre-computation tasks involve operations which are
mathematically tedious such as division, calculation of square roots etc., as
well as less onerous tasks such as multiplication and addition. Think why we
are not worried about the time taken by these.
6. It is now time to change the calculations of the step rate at each step within
the section labelled “On-the-fly step calculation code”. The update of the
step interval p for each step (in computeNewSpeed()) can now be changed
from equation (2) above to the “best approximation” theory contained in the
paper:
a) Define a temporary variable m. If in the acceleration phase :
m R = − (9)
Or if the deceleration phase:
m R = (10)
Or if the constant speed phase:
m = 0 (11)
(see definition following equation 20 in the paper; noting that the three
situations are already correctly identified in computeNewSpeed()but
you will need to add your code to them).
b) Define temporary variable q:
q m p p =   old old (12)
(definition following equation 22 in paper; note that pold is simply the
existing value of p in computeNewSpeed())
c) Now update p as follows (equation 22 in paper)
p p q q q oew old = + +   (1 1.5 ) (13)
IAJ Laboratory exercise 2 Computer Eng & Mechatronics
Rev E 11 27 October 2020
Note that this will be represented in your program as a good example
of “replace existing value of p with a new value calculated from old
value of p” – as before, you don’t need separate variables for pold and
pnew, they are the old and new values of p.
d) Finally, if p is greater than p1, set it equal to p1.
7. Save your code as LeibRampStepperXXX.c. Compile your code and check
for issues such as undefined variables.
8. Now try running your program with the same parameters as previously, and
similarly plot the graph of velocity and acceleration vs. time in Excel. You
should find that it gives a reasonable approximation to a linear acceleration
and deceleration profile. As a check, the first four values of step time (p)
should be 218.218, 188.528 and 157.245 ticks (here representing
milliseconds).
9. Once you are happy that your code is working correctly, you should be able
to incorporate your changes into the Arduino sketch LeibRampStepper.ino.
Simply replace the pre-computation section of the Arduino sketch with the
pre-computation section of the C program, and similarly replace the on-thefly calculation section of the Arduino sketch with that from the C program.
Save it as LeibRampStepperXXX.ino then compile and run it.
10.If you run your code on an Arduino Mega, you should see the LED flash at a
steadily increasing speed, then at constant speed, then at steadily reducing
speed. If you are not able to get your code to work, please ask for help (in
good time!). Note that the code will only work on an Arduino Uno if
USEINTERRUPTS is not defined as we use more timers than are available on
the Uno.
11.Finally, it has been noted that the current version of the program only causes
the stepper motor to run in one direction, even though the rest of the
program satisfactorily takes account of the direction of movement of the
motor via the variable direction (which is true, denoted FWDS, for running
forwards and false, denoted BWDS for running backwards). In fact, the
stepper driver module will run the motor forwards when the line connected to
pin dirPin is high, and backwards when it is low. Add two lines of code to
the function moveOneStep() to implement this. (Indeed, you can do it in one
just line of code if you really want!).
12.When you are satisfied that it is correct, save it.
IAJ Laboratory exercise 2 Computer Eng & Mechatronics
Rev E 12 27 October 2020
5 Submission
You will need to submit your preparatory work online. Zip up
ProportionalClosedLoopXXX.ino, PIDClosedLoopXXX.ino and
LeibRampStepperXXX.c and LeibRampStepperXXX.ino along with the
spreadsheet with graphs of step rate vs. time, and submit this to the appropriate
Moodle submission box no later than 18:00 on 12th November 2020.
You will need to bring your programs to the laboratory
L. P. Brown
Revised 27 October 2020
I. A. Jones
5 November 2019

 

Get professional assignment help cheaply

Are you busy and do not have time to handle your assignment? Are you scared that your paper will not make the grade? Do you have responsibilities that may hinder you from turning in your assignment on time? Are you tired and can barely handle your assignment? Are your grades inconsistent?

Whichever your reason may is, it is valid! You can get professional academic help from our service at affordable rates. We have a team of professional academic writers who can handle all your assignments.

Our essay writers are graduates with diplomas, bachelor, masters, Ph.D., and doctorate degrees in various subjects. The minimum requirement to be an essay writer with our essay writing service is to have a college diploma. When assigning your order, we match the paper subject with the area of specialization of the writer.

Why choose our academic writing service?

  • Plagiarism free papers
  • Timely delivery
  • Any deadline
  • Skilled, Experienced Native English Writers
  • Subject-relevant academic writer
  • Adherence to paper instructions
  • Ability to tackle bulk assignments
  • Reasonable prices
  • 24/7 Customer Support
  • Get superb grades consistently

 

 

 

 

 

 

Order a unique copy of this paper
(550 words)

Approximate price: $22

Basic features
  • Free title page and bibliography
  • Unlimited revisions
  • Plagiarism-free guarantee
  • Money-back guarantee
  • 24/7 support
On-demand options
  • Writer’s samples
  • Part-by-part delivery
  • Overnight delivery
  • Copies of used sources
  • Expert Proofreading
Paper format
  • 275 words per page
  • 12 pt Arial/Times New Roman
  • Double line spacing
  • Any citation style (APA, MLA, Chicago/Turabian, Harvard)

Our guarantees

We value our customers and so we ensure that what we do is 100% original..
With us you are guaranteed of quality work done by our qualified experts.Your information and everything that you do with us is kept completely confidential.

Money-back guarantee

You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.

Read more

Zero-plagiarism guarantee

The Product ordered is guaranteed to be original. Orders are checked by the most advanced anti-plagiarism software in the market to assure that the Product is 100% original. The Company has a zero tolerance policy for plagiarism.

Read more

Free-revision policy

The Free Revision policy is a courtesy service that the Company provides to help ensure Customer’s total satisfaction with the completed Order. To receive free revision the Company requires that the Customer provide the request within fourteen (14) days from the first completion date and within a period of thirty (30) days for dissertations.

Read more

Privacy policy

The Company is committed to protect the privacy of the Customer and it will never resell or share any of Customer’s personal information, including credit card data, with any third party. All the online transactions are processed through the secure and reliable online payment systems.

Read more

Fair-cooperation guarantee

By placing an order with us, you agree to the service we provide. We will endear to do all that it takes to deliver a comprehensive paper as per your requirements. We also count on your cooperation to ensure that we deliver on this mandate.

Read more

Calculate the price of your order

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
The price is based on these factors:
Academic level
Number of pages
Urgency
Open chat
1
You can contact our live agent via WhatsApp! Via +1 817 953 0426

Feel free to ask questions, clarifications, or discounts available when placing an order.

Order your essay today and save 20% with the discount code VICTORY