The document describes a robot arm controller that uses a Picaxe-40X microcontroller and position feedback potentiometers to control up to six motors of a robot arm. The controller reads the potentiometer values to determine the position of each motor and drives the motors to move the arm through a defined sequence of positions. Additional details are provided on the components, circuit design, and programming of the controller to operate the robot arm.
This document discusses speed control of a stepper motor using a microcontroller. It describes how a stepper motor works by incrementally moving in steps rather than continuously rotating. The speed is determined by the delay between steps. It then discusses using an AT89C52 microcontroller to control the stepper motor. The AT89C52 features are described, including its architecture, memory size, ports, and timers. Different stepping modes for driving the stepper motor are also outlined, including full step, half step, and microstepping modes. A circuit diagram shows how the microcontroller is connected to a stepper motor driver IC to control the motor's speed.
Microcontroller based four step linear stroke positioning systemMukesh Khokhar
The document discusses a microcontroller-based linear positioning system using a unipolar stepper motor. The system can move up and down along a floor and displays the opening and closing of positioning doors using LEDs. A microcontroller controls the stepper motor driver and positioning based on inputs from microswitches. Components include a stepper motor, driver circuit, microcontroller, LEDs, and switches. The system is programmed in C language to control the motor's movement between four positions.
Discover our cutting edge motion controller which enables real-time synchronization for high demanding systems. In three words: fast, precise and simple.
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
This document describes using a fuzzy PI controller with space vector pulse width modulation (SVPWM) to control the speed of an induction motor. It introduces a fuzzy logic controller to the SVPWM in order to keep the motor speed constant when the load varies. Specifically:
1) A fuzzy PI controller is designed to control the pulse width of a PWM converter used to regulate the speed of an induction motor under changing loads.
2) SVPWM is an advanced PWM technique that is computationally intensive but provides superior performance for variable frequency drives.
3) The fuzzy PI controller is integrated with SVPWM to maintain a constant motor speed despite load variations, with the goal of improving
Solution for Industrial Printing & Textile Machines | Elmo Motion ControlElmo Motion Control
Our G-MAS uses a CANopen virtual encoder to improve master-slave performance on advanced industrial printing machines.
Find out how you can save money by using motion controllers virtual encoder.
Final Year Engineering Project Seminar
For more information, check out my papers online:
Command controlled robot:
http://www.ijtre.com/manuscript/2014010976.pdf
Self controlled robot:
http://www.ijtre.com/manuscript/2014011008.pdf
Gesture controlled robot:
http://www.ijtre.com/manuscript/2014011107.pdf
Catalog: Biến tần Frenic5000-VG7S-405C Fuji
Beeteco.com là trang mua sắm trực tuyến thiết bị điện - Tự động hóa uy tín tại Việt Nam.
Chuyên cung cấp các thiết bị: Đèn báo nút nhấn, Relay, Timer, Contactor, MCCB ELCB, Biến tần, Van, Thiết bị cảm biến, phụ kiện tủ điện, .... Từ các thương hiệu hàng đầu trên thế giới.
www.beeteco.com @ Công ty TNHH TM KT ASTER
Số 7 Đại Lộ Độc Lập, KCN Sóng Thần 1, P. Dĩ An, Tx. Dĩ An, Bình Dương
www.facebook.com/beeteco
Tel: 0650 3617 012
DĐ: 0904 676 925
This document discusses speed control of a stepper motor using a microcontroller. It describes how a stepper motor works by incrementally moving in steps rather than continuously rotating. The speed is determined by the delay between steps. It then discusses using an AT89C52 microcontroller to control the stepper motor. The AT89C52 features are described, including its architecture, memory size, ports, and timers. Different stepping modes for driving the stepper motor are also outlined, including full step, half step, and microstepping modes. A circuit diagram shows how the microcontroller is connected to a stepper motor driver IC to control the motor's speed.
Microcontroller based four step linear stroke positioning systemMukesh Khokhar
The document discusses a microcontroller-based linear positioning system using a unipolar stepper motor. The system can move up and down along a floor and displays the opening and closing of positioning doors using LEDs. A microcontroller controls the stepper motor driver and positioning based on inputs from microswitches. Components include a stepper motor, driver circuit, microcontroller, LEDs, and switches. The system is programmed in C language to control the motor's movement between four positions.
Discover our cutting edge motion controller which enables real-time synchronization for high demanding systems. In three words: fast, precise and simple.
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
This document describes using a fuzzy PI controller with space vector pulse width modulation (SVPWM) to control the speed of an induction motor. It introduces a fuzzy logic controller to the SVPWM in order to keep the motor speed constant when the load varies. Specifically:
1) A fuzzy PI controller is designed to control the pulse width of a PWM converter used to regulate the speed of an induction motor under changing loads.
2) SVPWM is an advanced PWM technique that is computationally intensive but provides superior performance for variable frequency drives.
3) The fuzzy PI controller is integrated with SVPWM to maintain a constant motor speed despite load variations, with the goal of improving
Solution for Industrial Printing & Textile Machines | Elmo Motion ControlElmo Motion Control
Our G-MAS uses a CANopen virtual encoder to improve master-slave performance on advanced industrial printing machines.
Find out how you can save money by using motion controllers virtual encoder.
Final Year Engineering Project Seminar
For more information, check out my papers online:
Command controlled robot:
http://www.ijtre.com/manuscript/2014010976.pdf
Self controlled robot:
http://www.ijtre.com/manuscript/2014011008.pdf
Gesture controlled robot:
http://www.ijtre.com/manuscript/2014011107.pdf
Catalog: Biến tần Frenic5000-VG7S-405C Fuji
Beeteco.com là trang mua sắm trực tuyến thiết bị điện - Tự động hóa uy tín tại Việt Nam.
Chuyên cung cấp các thiết bị: Đèn báo nút nhấn, Relay, Timer, Contactor, MCCB ELCB, Biến tần, Van, Thiết bị cảm biến, phụ kiện tủ điện, .... Từ các thương hiệu hàng đầu trên thế giới.
www.beeteco.com @ Công ty TNHH TM KT ASTER
Số 7 Đại Lộ Độc Lập, KCN Sóng Thần 1, P. Dĩ An, Tx. Dĩ An, Bình Dương
www.facebook.com/beeteco
Tel: 0650 3617 012
DĐ: 0904 676 925
Report no.6..(bipolar motor n DC motor)Ronza Sameer
The document discusses experiments with bipolar stepper motors and DC motors. It provides background on how these motors work and how to control their direction using an L293D H-bridge motor driver. The experiments show how to use code to rotate the bipolar stepper motor clockwise and counterclockwise, as well as at different speeds. Code is also provided to rotate the DC motor in both directions. In conclusion, the document discusses how motor speed can be controlled and how to determine pin connections on the H-bridge.
Stepping Motor Driver IC Using PWM Chopper Type: TB62209FGPremier Farnell
The document provides an overview of the TB62209FG stepping motor driver IC from Toshiba. It describes the IC's key features such as controlling bipolar stepping motors with a single chip, built-in decoder and current control circuitry, and protection circuits. The document also outlines the IC's block diagram, excitation modes, recommended application circuits, and additional resources for ordering and support.
Bi directional speed control of dc motor and stepper motor through mat lab us...eSAT Journals
Abstract In any industry speed control of an electric drive system is very critical and crucial. Every designer aims at achieving a control methodology having high degree of precision. But industry needs are ever evolving in nature. Hence it is very much essential that along with conventional speed control mechanisms we must also have simple interactive graphical based control strategies. Several algorithms/methodologies have been developed over the years to achieve speed control of motors. In this context by encompassing the usability of Mat Lab, work has been done to control the speed of stepper motor and DC motor using microcontroller. Microcontroller is programmed to achieve bi directional speed control. The main objective of this work is to develop the graphical user interface of motor control through mat Lab guide and the interface of the same with hardware via serial communication. PIC is used as the controller. Keywords— DC, PIC, μC, AC, GUI, IC
The document introduces the dsPICDEM MCSM Development Board, which is used to develop stepper motor control applications using Microchip's dsPIC33FJ32MC204 digital signal controller. The board includes interfaces for controlling two motors, inputs/outputs, communication ports, and power supplies. It also includes a Leadshine stepping motor and provides various motor control modes like full step, half step, and microstepping down to 1/64 steps. The board setup involves connecting the motor, power supply, and programming the dsPIC microcontroller to run motor control algorithms.
This document describes a wireless snake robot prototype called WASP. It has 8 linked segments that provide multiple degrees of freedom for flexible motion. The robot is intended to demonstrate horizontal and basic vertical movement as a proof of concept. Key components include a microcontroller for motion control, sensors for environmental analysis, and wireless communication between the robot and a PC interface. Algorithms are used to generate servo motor angles from user instructions to achieve the snake-like locomotion. The prototype aims to establish wireless control, sensor data reception and basic on-field movement capabilities. Future work may include improving gaits, mechanism design, power efficiency and adding autonomous capabilities.
This high performance vector control inverter has complete control over speed and torque. It provides industry-leading control performance through highly accurate speed control, fast response times, and precise torque control. The inverter is available in a wide range of capacities to support flexible applications globally.
AVR_Course_Day8 motor drive and pwm techniquesMohamed Ali
The document discusses various topics related to motor drive and PWM techniques. It covers DC motors, including their parameters and speed control using PWM. It also discusses stepper motors, including their basics, components, types, driving modes for unipolar and bipolar stepper motors, and drive circuits. PWM modes for 8-bit and 16-bit controllers are explained for both DC and stepper motor control applications.
This document describes a project to remotely control the direction and speed of stepper motors using a mobile phone. The system uses a microcontroller, DTMF decoder, motor driver, and stepper motors. Dual-tone multi-frequency signals sent from a mobile phone are decoded to determine the key pressed. The microcontroller then controls the motor driver and stepper motors accordingly. The project has applications in computer-controlled systems and industrial automation.
The document discusses interfacing a stepper motor with an 8051 microcontroller. A stepper motor can divide a full rotation into discrete steps through energizing coils in different sequences. The stepper motor can be interfaced with an 8051 using an L293D motor driver connected to ports P1.0, P1.2, P1.3, and P1.4 of the 8051. Both full-step and half-step sequences are described for energizing the coils to precisely control the motor's position without feedback. Assembly and C code examples are provided to demonstrate clockwise and counterclockwise rotation of the stepper motor connected to the 8051.
The document describes the design and implementation of a field programmable gate array (FPGA) based speed control system for a brushless direct current (BLDC) motor. It first discusses the motivation and objectives, providing an overview of BLDC motors and advantages of FPGA controllers. It then presents the simulated and experimental setup, which involves a PI speed controller generating PWM signals to control the motor speed through a 3-phase inverter in closed loop. Simulation and experimental results demonstrate that the FPGA-based closed loop controller improves transient and steady-state speed response compared to an open loop configuration.
This document summarizes a research project that developed a microcontroller-based system to control the speed of a three-phase induction motor. The system uses a pulse width modulation technique where the microcontroller senses the current RPM of the motor via an inductive magnetic sensor. It compares the current RPM to a set value and adjusts the time period of pulses applied to the motor's stator to control the motor's frequency and speed. The system provides closed-loop speed control and can be used in industrial applications to automatically control a motor's speed through feedback.
Mitsubishi inverter freqrol-e700 series dienhathe.vnDien Ha The
Khoa Học - Kỹ Thuật & Giải Trí: http://phongvan.org
Tài Liệu Khoa Học Kỹ Thuật: http://tailieukythuat.info
Thiết bị Điện Công Nghiệp - Điện Hạ Thế: http://dienhathe.vn
This document discusses robot controllers and motion control of robots. It describes how robot controllers are used to store information about the robot and environment and execute programs to operate the robot. It then discusses different types of motion control systems and control functions like velocity control and position control. It also describes PID and PI controllers that are commonly used for feedback control. Finally, it outlines different types of robot control including point-to-point, continuous path, and controlled path robots.
Three-phase ac motors have been the workhorse of industry since the earliest days of electrical engineering. They are reliable, efficient, cost-effective and need little or no maintenance. In addition, ac motors such as induction and reluctance motors need no electrical connection to the rotor, so can easily be made flameproof for use in hazardous environments such as in mines.
In order to provide proper speed control of an ac motor, it is necessary to supply the motor with a three phase supply of which both the voltage and the frequency can be varied. Such a supply will create a variable speed rotating field in the stator that will allow the rotor to rotate at the required speed with low slip. This ac motor drive can efficiently provide full torque from zero speed to full speed, can overspeed if necessary, and can, by changing phase rotation, easily provide bi-directional operation of the motor. A drive with these characteristics is known as a PWM (Pulse Width Modulated) motor drive.
Drives and motors are an integral part of industrial equipment from packaging,robotics, computer numerical control (CNC), machine tools, industrial pumps,and fans. Designing next-generation drive systems to lower operating costs requires complex control algorithms at very low latencies as well as a flexibleplatform to support changing needs and the ability to design multiple-axis systems.
Traditional drive systems based on ASICs, digital signal processors (DSPs), and microcontroller units lack the performance and flexibility to address these needs. Altera’s family of FPGAs provides a scalable platform that can be used to offload control algorithm elements in hardware. You may also integrate the whole drive system with industry-proven processor architectures while supporting multipletypes of encoders and industrial Ethernet protocols. This “drive on a chip” system reduces cost and simplifies development.
This document introduces programmable logic controllers (PLCs) and their configuration procedure. It begins with a brief history of PLCs and their advantages over traditional hardwired control systems. The key components of a PLC including the power supply, central processing unit, input/output modules, and programming devices are described. The five most common PLC programming languages - ladder logic, sequential function charts, function block diagram, structured text, and instruction list - are also outlined. The document concludes with step-by-step instructions for creating a project in IndraWorks engineering software to configure a PLC.
The document describes an existing system in a steel rolling mill where scaling and cutting motors run continuously, wasting energy, and proposes automating the motors with a PLC and VFDs.
The proposed system uses a proximity sensor to sense when a rod is present. The sensor signal is sent to the PLC, which operates the VFDs to run the scaling and cutting motors at full speed only when necessary to process the rod. This minimizes energy consumption by avoiding running the motors when not required.
This document discusses micro stepping mode for stepper motors. It begins with an introduction to stepper motors and their basic operation. It then discusses different types of stepper motors and their characteristics. Micro stepping mode is described as a technique that provides additional intermediate positions between poles by proportioning current in the motor windings, allowing for smooth rotation over a wide speed range with high positional resolution. The document outlines the mathematics and electronics behind micro stepping control and provides experimental results demonstrating reduced resonance and noise with precise position control.
Tim Mellors, President and Chief Creative Officer of Grey Worldwide, discusses how advertising has evolved and some keys to success in the industry. He explains that advertising has shifted to become more integrated with public relations and marketing. Successful advertising relies on experience, testing, and understanding the target audience. Aspiring advertising professionals should study different forms of communication to learn how to most effectively get messages across.
Actividad 1.2 del módulo de Gerencia de proyectos de Tecnología Educativa de la maestría en gestión de la tecnología educativa de la Universidad de Santander
Este mapa conceptual contesta las siguientes preguntas:
o ¿Cuál es el rol principal de un profesional en el desarrollo de proyectos basados en una excelente gestión de proyectos?
o ¿Qué elementos son necesarios para que pueda garantizarse un ciclo de vida de un proyecto completamente?
o ¿Quiénes son los principales responsables de establecer adecuadamente el ciclo de vida de un proyecto?
Report no.6..(bipolar motor n DC motor)Ronza Sameer
The document discusses experiments with bipolar stepper motors and DC motors. It provides background on how these motors work and how to control their direction using an L293D H-bridge motor driver. The experiments show how to use code to rotate the bipolar stepper motor clockwise and counterclockwise, as well as at different speeds. Code is also provided to rotate the DC motor in both directions. In conclusion, the document discusses how motor speed can be controlled and how to determine pin connections on the H-bridge.
Stepping Motor Driver IC Using PWM Chopper Type: TB62209FGPremier Farnell
The document provides an overview of the TB62209FG stepping motor driver IC from Toshiba. It describes the IC's key features such as controlling bipolar stepping motors with a single chip, built-in decoder and current control circuitry, and protection circuits. The document also outlines the IC's block diagram, excitation modes, recommended application circuits, and additional resources for ordering and support.
Bi directional speed control of dc motor and stepper motor through mat lab us...eSAT Journals
Abstract In any industry speed control of an electric drive system is very critical and crucial. Every designer aims at achieving a control methodology having high degree of precision. But industry needs are ever evolving in nature. Hence it is very much essential that along with conventional speed control mechanisms we must also have simple interactive graphical based control strategies. Several algorithms/methodologies have been developed over the years to achieve speed control of motors. In this context by encompassing the usability of Mat Lab, work has been done to control the speed of stepper motor and DC motor using microcontroller. Microcontroller is programmed to achieve bi directional speed control. The main objective of this work is to develop the graphical user interface of motor control through mat Lab guide and the interface of the same with hardware via serial communication. PIC is used as the controller. Keywords— DC, PIC, μC, AC, GUI, IC
The document introduces the dsPICDEM MCSM Development Board, which is used to develop stepper motor control applications using Microchip's dsPIC33FJ32MC204 digital signal controller. The board includes interfaces for controlling two motors, inputs/outputs, communication ports, and power supplies. It also includes a Leadshine stepping motor and provides various motor control modes like full step, half step, and microstepping down to 1/64 steps. The board setup involves connecting the motor, power supply, and programming the dsPIC microcontroller to run motor control algorithms.
This document describes a wireless snake robot prototype called WASP. It has 8 linked segments that provide multiple degrees of freedom for flexible motion. The robot is intended to demonstrate horizontal and basic vertical movement as a proof of concept. Key components include a microcontroller for motion control, sensors for environmental analysis, and wireless communication between the robot and a PC interface. Algorithms are used to generate servo motor angles from user instructions to achieve the snake-like locomotion. The prototype aims to establish wireless control, sensor data reception and basic on-field movement capabilities. Future work may include improving gaits, mechanism design, power efficiency and adding autonomous capabilities.
This high performance vector control inverter has complete control over speed and torque. It provides industry-leading control performance through highly accurate speed control, fast response times, and precise torque control. The inverter is available in a wide range of capacities to support flexible applications globally.
AVR_Course_Day8 motor drive and pwm techniquesMohamed Ali
The document discusses various topics related to motor drive and PWM techniques. It covers DC motors, including their parameters and speed control using PWM. It also discusses stepper motors, including their basics, components, types, driving modes for unipolar and bipolar stepper motors, and drive circuits. PWM modes for 8-bit and 16-bit controllers are explained for both DC and stepper motor control applications.
This document describes a project to remotely control the direction and speed of stepper motors using a mobile phone. The system uses a microcontroller, DTMF decoder, motor driver, and stepper motors. Dual-tone multi-frequency signals sent from a mobile phone are decoded to determine the key pressed. The microcontroller then controls the motor driver and stepper motors accordingly. The project has applications in computer-controlled systems and industrial automation.
The document discusses interfacing a stepper motor with an 8051 microcontroller. A stepper motor can divide a full rotation into discrete steps through energizing coils in different sequences. The stepper motor can be interfaced with an 8051 using an L293D motor driver connected to ports P1.0, P1.2, P1.3, and P1.4 of the 8051. Both full-step and half-step sequences are described for energizing the coils to precisely control the motor's position without feedback. Assembly and C code examples are provided to demonstrate clockwise and counterclockwise rotation of the stepper motor connected to the 8051.
The document describes the design and implementation of a field programmable gate array (FPGA) based speed control system for a brushless direct current (BLDC) motor. It first discusses the motivation and objectives, providing an overview of BLDC motors and advantages of FPGA controllers. It then presents the simulated and experimental setup, which involves a PI speed controller generating PWM signals to control the motor speed through a 3-phase inverter in closed loop. Simulation and experimental results demonstrate that the FPGA-based closed loop controller improves transient and steady-state speed response compared to an open loop configuration.
This document summarizes a research project that developed a microcontroller-based system to control the speed of a three-phase induction motor. The system uses a pulse width modulation technique where the microcontroller senses the current RPM of the motor via an inductive magnetic sensor. It compares the current RPM to a set value and adjusts the time period of pulses applied to the motor's stator to control the motor's frequency and speed. The system provides closed-loop speed control and can be used in industrial applications to automatically control a motor's speed through feedback.
Mitsubishi inverter freqrol-e700 series dienhathe.vnDien Ha The
Khoa Học - Kỹ Thuật & Giải Trí: http://phongvan.org
Tài Liệu Khoa Học Kỹ Thuật: http://tailieukythuat.info
Thiết bị Điện Công Nghiệp - Điện Hạ Thế: http://dienhathe.vn
This document discusses robot controllers and motion control of robots. It describes how robot controllers are used to store information about the robot and environment and execute programs to operate the robot. It then discusses different types of motion control systems and control functions like velocity control and position control. It also describes PID and PI controllers that are commonly used for feedback control. Finally, it outlines different types of robot control including point-to-point, continuous path, and controlled path robots.
Three-phase ac motors have been the workhorse of industry since the earliest days of electrical engineering. They are reliable, efficient, cost-effective and need little or no maintenance. In addition, ac motors such as induction and reluctance motors need no electrical connection to the rotor, so can easily be made flameproof for use in hazardous environments such as in mines.
In order to provide proper speed control of an ac motor, it is necessary to supply the motor with a three phase supply of which both the voltage and the frequency can be varied. Such a supply will create a variable speed rotating field in the stator that will allow the rotor to rotate at the required speed with low slip. This ac motor drive can efficiently provide full torque from zero speed to full speed, can overspeed if necessary, and can, by changing phase rotation, easily provide bi-directional operation of the motor. A drive with these characteristics is known as a PWM (Pulse Width Modulated) motor drive.
Drives and motors are an integral part of industrial equipment from packaging,robotics, computer numerical control (CNC), machine tools, industrial pumps,and fans. Designing next-generation drive systems to lower operating costs requires complex control algorithms at very low latencies as well as a flexibleplatform to support changing needs and the ability to design multiple-axis systems.
Traditional drive systems based on ASICs, digital signal processors (DSPs), and microcontroller units lack the performance and flexibility to address these needs. Altera’s family of FPGAs provides a scalable platform that can be used to offload control algorithm elements in hardware. You may also integrate the whole drive system with industry-proven processor architectures while supporting multipletypes of encoders and industrial Ethernet protocols. This “drive on a chip” system reduces cost and simplifies development.
This document introduces programmable logic controllers (PLCs) and their configuration procedure. It begins with a brief history of PLCs and their advantages over traditional hardwired control systems. The key components of a PLC including the power supply, central processing unit, input/output modules, and programming devices are described. The five most common PLC programming languages - ladder logic, sequential function charts, function block diagram, structured text, and instruction list - are also outlined. The document concludes with step-by-step instructions for creating a project in IndraWorks engineering software to configure a PLC.
The document describes an existing system in a steel rolling mill where scaling and cutting motors run continuously, wasting energy, and proposes automating the motors with a PLC and VFDs.
The proposed system uses a proximity sensor to sense when a rod is present. The sensor signal is sent to the PLC, which operates the VFDs to run the scaling and cutting motors at full speed only when necessary to process the rod. This minimizes energy consumption by avoiding running the motors when not required.
This document discusses micro stepping mode for stepper motors. It begins with an introduction to stepper motors and their basic operation. It then discusses different types of stepper motors and their characteristics. Micro stepping mode is described as a technique that provides additional intermediate positions between poles by proportioning current in the motor windings, allowing for smooth rotation over a wide speed range with high positional resolution. The document outlines the mathematics and electronics behind micro stepping control and provides experimental results demonstrating reduced resonance and noise with precise position control.
Tim Mellors, President and Chief Creative Officer of Grey Worldwide, discusses how advertising has evolved and some keys to success in the industry. He explains that advertising has shifted to become more integrated with public relations and marketing. Successful advertising relies on experience, testing, and understanding the target audience. Aspiring advertising professionals should study different forms of communication to learn how to most effectively get messages across.
Actividad 1.2 del módulo de Gerencia de proyectos de Tecnología Educativa de la maestría en gestión de la tecnología educativa de la Universidad de Santander
Este mapa conceptual contesta las siguientes preguntas:
o ¿Cuál es el rol principal de un profesional en el desarrollo de proyectos basados en una excelente gestión de proyectos?
o ¿Qué elementos son necesarios para que pueda garantizarse un ciclo de vida de un proyecto completamente?
o ¿Quiénes son los principales responsables de establecer adecuadamente el ciclo de vida de un proyecto?
Responsible Research and Innovation in France : examples of 3 promissing practices for the RRITools project Hubs meeting of 24th April.
CC BY-NC-SA 3.0 FR (with the exeption of pictures under copyright, specified in the presentation)
The document describes an action research project conducted by a teacher to improve students' writing abilities. It outlines a 6 step scaffolding approach used to teach writing that involves brainstorming words related to the topic, outlining main ideas and paragraphs, elaborating ideas using a question technique, including relevant quotes, and writing the essay. As a result of this approach, most students were able to successfully write an essay on staying healthy, though 3 students still struggled with vocabulary. The teacher plans to provide more writing practice to further assist these students.
This document contains instructions and questions for an exam. It is divided into 3 sections (A, B, C). Section A contains 1 question assessing students' ability to identify grammatical errors. Section B contains a reading comprehension passage about cooking fried rice followed by 10 short answer questions. Section C contains a poem about nature and curiosity followed by 4 questions assessing comprehension of the poem. Students are instructed to answer all questions, show their work, and submit the paper to the exam proctor when finished.
Autonomous Terrain Mapping Using COTS HardwareJames Anderson
Undergraduate paper submission for 2012 International Telemetering Conference
Abstract: The paper describes the development of a robotic platform which can autonomously map terrain using a COTS infrared imaging and ranging system. The robotic system is based on an omni-directional platform, and can navigate typical commercial indoor environments. An on-board processor performs surface reconstruction, and condenses the point clouds generated by the ranging system to mesh models which can be more easily stored and transmitted. The processor then correlates new frames with the existing world model by using sensor odomerty. The robot will autonomously determine the best areas of the environment to map, and gather complete three dimensional color models of arbitrary environments.
This robotic hand is controlled by hand gestures using a potentiometer to sense hand movements. The potentiometer records the direction of hand movement and sends this information to an Arduino microcontroller via a wired connection. The microcontroller then sends signals to servo motors controlling the robotic hand, making it move in the corresponding direction. The system aims to allow users to interact with the robotic hand in a friendly way by mimicking human hand movements. Some limitations are the lifting capacity and durability of the servo motors and potentiometer. Future work could make the hand wireless and allow automated movements beyond direct control.
This robotic hand can be controlled by human hand gestures through a wired connection. Flex sensors on a glove record hand movements and send the data to an Arduino microcontroller via an encoder. The microcontroller controls servo motors in the robotic hand to mimic the movements of the human hand, allowing interactive control. While the system works responsively, the flex sensors and servo motors have limited lifetimes that require careful maintenance for continued operation.
bi copter Major project report ER.Abhishek upadhyay b.tech (ECE)abhishek upadhyay
This document provides an overview of the components and control system of a bi-copter aircraft. It describes the key components including the battery, electronic speed controllers, propellers, brushless motors, servomotors, and flight control board. It explains how each component functions and interacts with the other components to enable the bi-copter to take off vertically, hover, and fly horizontally. The flight control board uses sensors and a microcontroller to process signals from the gyroscopes and radio receiver to stabilize the aircraft and control the rotational speed of each motor during flight.
1. A control system uses a microprocessor-based programmable logic controller (PLC) to receive inputs from sensors, execute a stored program to process the inputs, and output control signals to devices like motors and valves.
2. A PLC consists of a central processing unit, memory to store the user program, and input/output modules to interface with sensors and devices. It executes programs by doing repeated scan cycles of input, program, and output stages.
3. Common sensors that provide inputs to a PLC include limit switches, photoelectric sensors, encoders, temperature sensors, and pressure sensors. Common devices controlled by PLC outputs include motors, solenoids, and conveyor belts.
The document introduces a robotic arm project built by students to be controlled through hand gesture recognition. The aim was to build an arm that can grip objects. Key features include using an accelerometer and flex sensors to capture hand gestures which are processed by a microcontroller to drive servo and DC motors that move the arm and gripper. Applications are discussed like industrial uses and medical procedures. Future improvements discussed are more degrees of freedom, intelligence, and mobility. In conclusion, robotic arms are complex but help with difficult, unsafe, or boring tasks.
This document describes the components, working principle, and applications of a line follower robot. The main components are IR sensors to detect a line, a microcontroller to process sensor input and control motors, an H-bridge motor driver IC to drive the motors in both directions, and a voltage regulator. The IR sensors detect the line and send a signal to the microcontroller. The microcontroller then controls the motor driver IC to drive the motors forward or turn to follow the line. Potential applications include delivering mail or medications by following lines on the floor.
This document discusses various components used in robotics including electric motors, sensors, voltage regulators, and H-bridges. It describes how electric motors convert electrical energy to mechanical energy and lists common types like brushed DC motors, brushless DC motors, stepper motors, and servo motors. Sensors are outlined as playing a key role in robotics by allowing robots to maintain stability, report position/speed, interact with surroundings, distinguish objects, and mimic human senses. Voltage regulators are defined as devices that maintain a constant voltage level and various types are identified. H-bridges are described as circuits for controlling DC motor direction. Potential future applications of robotics discussed include expanded use in industrial, military, medical, and space
8051 microcontroller and embedded training (sahil gupta 9068557926)Sahil Gupta
The document discusses embedded systems and microcontrollers. It provides introductions to embedded systems, their applications, and microcontrollers. Specifically, it describes the 8051 microcontroller, its architecture including RAM, ROM, timers, ports, and registers. It also discusses interfacing the 8051 with common devices like LEDs, LCDs, motors, and 7-segment displays. Finally, it proposes a metro train prototype project using an 8051 to control stepper motors for train movement and door opening/closing, with an LCD for passenger information.
IRJET - Controlling 4 DOF Robotic ARM with 3-Axis Accelerometer and Flex ...IRJET Journal
This document describes a study that uses an accelerometer and flex sensor to control a 4 degree of freedom robotic arm. The robotic arm is 3D printed and has a motherboard to control stepper motors in each joint. An ADXL345 acceleration sensor provides axis values from two gloves to control movement of the four joints. A flex sensor on one glove controls the gripper. The system aims to allow autonomous control of the robotic arm through human hand motions detected by the sensors. Key components of the robotic arm like the motherboard, stepper motors, and sensors are described in detail.
The document describes a project to build a 6 degree of freedom (DOF) robotic arm. A group of 3 students are building the robotic arm under the supervision of Engr. Hamza Shahid. The project aims to accurately control the movement of the robotic arm using servo motors on all six axes. The objectives are to study object picking and placing, build the mechanical structure, develop a functional gripper, and accurately control motion. An Arduino microcontroller will initially be used to control axis movement with the potential for an FPGA to incorporate more sensors later. Progress so far includes literature review, acquiring the mechanical structure, selecting servo motors, and achieving single axis movement with Arduino code. Future work includes completing the arm, coding
This document provides an overview of the system design and implementation of a semi-autonomous badminton playing robot. It describes the mechanical, electrical, and software systems that were developed including the robotic arm, dispenser, power management, microcontroller, sensors, motor drivers, and controls software. The overall goal was to develop an efficient robot that can compete in an annual competition by playing doubles badminton matches autonomously.
Designing and Controlling of Motor by Interfacing RS232 with MicrocontrollerIRJET Journal
1. The document describes designing and controlling a motor by interfacing an RS232 connection with a microcontroller.
2. It involves programming the microcontroller's serial port in assembly to control the motor drive through commands sent via RS232 from a computer.
3. The microcontroller generates firing pulses to thyristors in an H-bridge circuit to control the speed and direction of a DC motor.
This document provides an introduction and overview of robotics. It discusses the timeline of important developments in robotics from the 1920s to the 1990s. It then covers classifications of robots, definitions of robots, common robot configurations and their work envelopes, robot components like end effectors and actuators, and different methods of robot programming including teach pendants and programming languages.
The document describes an obstacle observing robot that uses infrared sensors to detect obstacles and avoid them. It consists of an ATmega8 microcontroller, infrared sensors, a motor driver, and motors. The infrared sensors transmit and receive signals to detect obstacles. When an obstacle is detected, the robot diverts itself to move around the obstacle without human guidance. It is designed to autonomously navigate an area while avoiding obstacles.
This document describes the design and functioning of a light following robot. The robot uses light dependent resistors (LDRs) to sense light and an op-amp circuit to compare the light readings from the LDRs. When more light falls on one LDR, the op-amp output activates the corresponding transistor which drives the motor on that side, causing the robot to turn towards the light source. The robot aims to follow a light source such as a flashlight by moving its motors based on the LDR sensor readings processed by the op-amp circuitry. Applications include uses in street lights, alarms, and devices that adjust screen brightness based on ambient lighting.
This document provides an overview of stepper motors, including:
- Their working principle is that they rotate through discrete angular steps in response to input current pulses. They come in different types like permanent magnet, variable reluctance, and hybrid.
- Applications include computer peripherals, textile machines, robotics, printers, drives, machine tools, and process controls where incremental motion is required.
- Advantages are low cost, high reliability, and high torque at low speeds. Disadvantages include resonance effects at low speeds and decreasing torque with increasing speed.
Similar to Tu robot controltu_robot_control.pdf (20)
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
HCL Notes and Domino License Cost Reduction in the World of DLAUpanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-notes-and-domino-license-cost-reduction-in-the-world-of-dlau/
The introduction of DLAU and the CCB & CCX licensing model caused quite a stir in the HCL community. As a Notes and Domino customer, you may have faced challenges with unexpected user counts and license costs. You probably have questions on how this new licensing approach works and how to benefit from it. Most importantly, you likely have budget constraints and want to save money where possible. Don’t worry, we can help with all of this!
We’ll show you how to fix common misconfigurations that cause higher-than-expected user counts, and how to identify accounts which you can deactivate to save money. There are also frequent patterns that can cause unnecessary cost, like using a person document instead of a mail-in for shared mailboxes. We’ll provide examples and solutions for those as well. And naturally we’ll explain the new licensing model.
Join HCL Ambassador Marc Thomas in this webinar with a special guest appearance from Franz Walder. It will give you the tools and know-how to stay on top of what is going on with Domino licensing. You will be able lower your cost through an optimized configuration and keep it low going forward.
These topics will be covered
- Reducing license cost by finding and fixing misconfigurations and superfluous accounts
- How do CCB and CCX licenses really work?
- Understanding the DLAU tool and how to best utilize it
- Tips for common problem areas, like team mailboxes, functional/test users, etc
- Practical examples and best practices to implement right away
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
Digital Marketing Trends in 2024 | Guide for Staying AheadWask
https://www.wask.co/ebooks/digital-marketing-trends-in-2024
Feeling lost in the digital marketing whirlwind of 2024? Technology is changing, consumer habits are evolving, and staying ahead of the curve feels like a never-ending pursuit. This e-book is your compass. Dive into actionable insights to handle the complexities of modern marketing. From hyper-personalization to the power of user-generated content, learn how to build long-term relationships with your audience and unlock the secrets to success in the ever-shifting digital landscape.
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slackshyamraj55
Discover the seamless integration of RPA (Robotic Process Automation), COMPOSER, and APM with AWS IDP enhanced with Slack notifications. Explore how these technologies converge to streamline workflows, optimize performance, and ensure secure access, all while leveraging the power of AWS IDP and real-time communication via Slack notifications.
Trusted Execution Environment for Decentralized Process MiningLucaBarbaro3
Presentation of the paper "Trusted Execution Environment for Decentralized Process Mining" given during the CAiSE 2024 Conference in Cyprus on June 7, 2024.
Skybuffer SAM4U tool for SAP license adoptionTatiana Kojar
Manage and optimize your license adoption and consumption with SAM4U, an SAP free customer software asset management tool.
SAM4U, an SAP complimentary software asset management tool for customers, delivers a detailed and well-structured overview of license inventory and usage with a user-friendly interface. We offer a hosted, cost-effective, and performance-optimized SAM4U setup in the Skybuffer Cloud environment. You retain ownership of the system and data, while we manage the ABAP 7.58 infrastructure, ensuring fixed Total Cost of Ownership (TCO) and exceptional services through the SAP Fiori interface.
This presentation provides valuable insights into effective cost-saving techniques on AWS. Learn how to optimize your AWS resources by rightsizing, increasing elasticity, picking the right storage class, and choosing the best pricing model. Additionally, discover essential governance mechanisms to ensure continuous cost efficiency. Whether you are new to AWS or an experienced user, this presentation provides clear and practical tips to help you reduce your cloud costs and get the most out of your budget.
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
FREE A4 Cyber Security Awareness Posters-Social Engineering part 3Data Hops
Free A4 downloadable and printable Cyber Security, Social Engineering Safety and security Training Posters . Promote security awareness in the home or workplace. Lock them Out From training providers datahops.com
Ivanti’s Patch Tuesday breakdown goes beyond patching your applications and brings you the intelligence and guidance needed to prioritize where to focus your attention first. Catch early analysis on our Ivanti blog, then join industry expert Chris Goettl for the Patch Tuesday Webinar Event. There we’ll do a deep dive into each of the bulletins and give guidance on the risks associated with the newly-identified vulnerabilities.
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on integration of Salesforce with Bonterra Impact Management.
Interested in deploying an integration with Salesforce for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Dandelion Hashtable: beyond billion requests per second on a commodity serverAntonios Katsarakis
This slide deck presents DLHT, a concurrent in-memory hashtable. Despite efforts to optimize hashtables, that go as far as sacrificing core functionality, state-of-the-art designs still incur multiple memory accesses per request and block request processing in three cases. First, most hashtables block while waiting for data to be retrieved from memory. Second, open-addressing designs, which represent the current state-of-the-art, either cannot free index slots on deletes or must block all requests to do so. Third, index resizes block every request until all objects are copied to the new index. Defying folklore wisdom, DLHT forgoes open-addressing and adopts a fully-featured and memory-aware closed-addressing design based on bounded cache-line-chaining. This design offers lock-free index operations and deletes that free slots instantly, (2) completes most requests with a single memory access, (3) utilizes software prefetching to hide memory latencies, and (4) employs a novel non-blocking and parallel resizing. In a commodity server and a memory-resident workload, DLHT surpasses 1.6B requests per second and provides 3.5x (12x) the throughput of the state-of-the-art closed-addressing (open-addressing) resizable hashtable on Gets (Deletes).
5th LF Energy Power Grid Model Meet-up SlidesDanBrown980551
5th Power Grid Model Meet-up
It is with great pleasure that we extend to you an invitation to the 5th Power Grid Model Meet-up, scheduled for 6th June 2024. This event will adopt a hybrid format, allowing participants to join us either through an online Mircosoft Teams session or in person at TU/e located at Den Dolech 2, Eindhoven, Netherlands. The meet-up will be hosted by Eindhoven University of Technology (TU/e), a research university specializing in engineering science & technology.
Power Grid Model
The global energy transition is placing new and unprecedented demands on Distribution System Operators (DSOs). Alongside upgrades to grid capacity, processes such as digitization, capacity optimization, and congestion management are becoming vital for delivering reliable services.
Power Grid Model is an open source project from Linux Foundation Energy and provides a calculation engine that is increasingly essential for DSOs. It offers a standards-based foundation enabling real-time power systems analysis, simulations of electrical power grids, and sophisticated what-if analysis. In addition, it enables in-depth studies and analysis of the electrical power grid’s behavior and performance. This comprehensive model incorporates essential factors such as power generation capacity, electrical losses, voltage levels, power flows, and system stability.
Power Grid Model is currently being applied in a wide variety of use cases, including grid planning, expansion, reliability, and congestion studies. It can also help in analyzing the impact of renewable energy integration, assessing the effects of disturbances or faults, and developing strategies for grid control and optimization.
What to expect
For the upcoming meetup we are organizing, we have an exciting lineup of activities planned:
-Insightful presentations covering two practical applications of the Power Grid Model.
-An update on the latest advancements in Power Grid -Model technology during the first and second quarters of 2024.
-An interactive brainstorming session to discuss and propose new feature requests.
-An opportunity to connect with fellow Power Grid Model enthusiasts and users.
Deep Dive: AI-Powered Marketing to Get More Leads and Customers with HyperGro...
Tu robot controltu_robot_control.pdf
1. ROBOT ARM WITH CONTROLLER
DESCRIPTION
One use for the CONTROLLER is to enable
the five motors in the ROBOT ARM to be
controlled using position feedback. This
document details the use of the
CONTROLLER with the ROBOT ARM.
The central control element for the
CONTROLLER is a Picaxe-40X
microcontroller. The CONTROLLER may
be incorporated into initial design of the
ROBOT ARM or may be used to convert
the ROBOT ARM at a later date. Figure 1 Robot Arm Controller
The CONTROLLER may also be used for PCB Assembly
mechanisms that require up to six axes of
motor control with position feedback. Other The ROBOT ARM is a five-axis pick-and-place
devices may also be connected to the manipulator. Each of the axes is driven by a small
unused inputs and outputs. DC electric motor. The axes provide the following
functions: gripper, wrist, forearm, arm and
shoulder.
THE PROJECT
To carry out the project, the student must:
• Design and build the ROBOT ARM
incorporating changes required for the
CONTROLLER. Alternatively, a
completed ROBOT ARM may be
modified to use the CONTROLLER for
the next stage of development and
testing.
• Assemble the printed circuit board,
connect the wiring, motors and position
feedback potentiometers.
• Program the Picaxe microcontroller and Figure 2 Robot Arm with Controller
adjust the program parameters.
IMPORTANT: This unit must be used together with the ROBOT ARM unit and component kit – it
does not replace it.
INVESTIGATION
This project provides a number of different aspects of the CONTROLLER for investigation. Some
ideas are listed below.
• Investigate attaching additional input and output devices.
• Investigate adding more "intelligence" or different sequences to the program.
• Investigate different mechanical robot configurations. What differences would need to be made
to the mechanics, electronics and program?
• Investigate other devices that could use up to six bi-directional motors with position feedback.
SCORPIO TECHNOLOGY VICTORIA PTY. LTD.
A.B.N. 34 056 661 422
17 Inverell Ave., Mt. Waverley, Vic. 3149
Tel: (03) 9802 9913 Fax: (03) 9887 8158
Issued: August 2009 1 www.scorpiotechnology.com.au
2. 1. COMPONENTS REQUIRED
1.1. COMPONENTS SUPPLIED
This unit is designed for use in conjunction with the ROBOT ARM unit and component kit. The
following components are supplied in the kit:
1.1.1. Robot Arm
• 6 x 50 Tooth x 0.6 Module Gear (*) • 3 x 4mm dia x 33mm Knurled Steel Shaft
• 6 x 30/10 Tooth x 0.6 Module Gear (*) • 2 x Bolt – M3 x 20mm
• 1 x 50/10 Tooth x 0.5 Module Gear (*) • 2 x Screw – Self-tapping M3x10
• 2 x 60/10 Tooth x 0.5 Module Gear (*) • 5 x 0.1uF Capacitor (monolithic or equivalent)
• 3 x 3mm dia x 50mm Steel Shaft • 1 x 3mm ID x 100mm PVC Tube
• 4 x 2.5mm Flat washer
(*) NOTE: Additional gears are supplied to allow for experimentation (approximately double the
required quantity is supplied).
1.1.2. Controller
• 1 x Printed Circuit Board (PCB) • 9 x 0.1uF Capacitor (monolithic or equivalent)
• 1 x Picaxe-40X (Microcontroller) • 1 x Resistor - 220 Ohms (Red-Red-Brown-Gold)
• 3 x L293D (Motor Driver IC) • 2 x Resistor - 10k Ohms (Brown-Black-Orange-Gold)
• 1 x IC Socket (40 pin) • 1 x Resistor - 22k Ohms (Red-Red-Orange-Gold)
• 3 x IC Socket (16 pin) • 1 x Capacitor - 100uF (electrolytic)
• 1 x 4MHz Resonator - 3 Pin • 1 x 1N4004 Diode (or equivalent)
• 1 x LED (Red) 5mm • 1 x Sliding Switch (small)
• 1 x Stereo Socket - 3.5mm • 5 x Potentiometer 25k - Linear (B) - Splined Shaft
NOTE: This document describes the use of a Picaxe-40X. Other 40 leg Picaxe microcontrollers
may be used, but changes may need to be made to the program and/or hardware. The program
included with this document uses about a quarter of the available memory space in a Picaxe-40X.
2
3. 1.2. ADDITIONAL REQUIREMENTS
1.2.1. REQUIRED COMPONENTS
• The ROBOT ARM kit with associated documentation is available from us and needs to be
ordered separately.
• A 2.8mm drill bit.
• Hole enlarging reamer OR round file.
• 3m of 6-core alarm cable OR electric hook-up wire in assorted colours.
• Tinned copper wire for PCB assembly wire links.
• Assorted screws, nuts and washers.
1.2.2. COMPUTER REQUIREMENTS
• To install the PICAXE programming editor software requires a PC running Windows 95 or later
with approximately 20MB free space. Any PC that runs the Windows operating system will
work in textual 'BASIC' mode, however a Pentium 4 processor or later is recommended for
graphical flowcharting. (We have also used an iMac running OSX and Windows XP.)
• A PC with 9-pin serial (RS-232) interface. (The PC may require an USB to RS-232 adapter.)
• The PICAXE editor can be downloaded from www.rev-ed.co.uk or from www.picaxe.co.uk.
• A PICAXE serial interface cable. This can be purchased from a number of suppliers or may be
constructed as per the instructions in this document.
1.2.3. LED INDICATORS ON MOTORS (OPTIONAL)
These components are available from Scorpio Technology or from electronics suppliers:
• 5 x LED (Red) 5mm or 3mm • 5 x Resistor - 220 Ohms (Red-Red-Brown-Gold)
• 5 x LED (Green) 5mm or 3mm
1.2.4. DISCONNECT PCB ASSEMBLY FROM ROBOT ARM (OPTIONAL)
The connectors allow the CONTROLLER to be disconnected from the ROBOT ARM for testing
and use with other project. These components are available from electronics suppliers.
• 5 x 0.1" Pin Plug - 6 pin • 5 x 0.1" Header Socket - 6 pin
3
4. 2. HOW THE CIRCUIT WORKS (THEORY)
2.1. ABOUT PICAXE MICROCONTROLLERS
The PICAXE* is a type of IC (Integrated Circuit) called a microcontroller, which is another name
for a single chip computer. The PICAXE has similar features to a normal PC: CPU (central
processing unit), RAM (random access memory), ROM (read only memory), I/O (input/output)
lines, timers and A/D (analogue to digital) converters.
* PICAXE is a trademark of Revolution Education Ltd.
The Flash memory (EEPROM - Electrically Erasable Programmable Read Only Memory) in a
PICAXE allows it to be reprogrammed many times (typically at least 100,000). This means that you
can develop a program and constantly check the effects of changes.
A PICAXE program is created using an easy to learn version of the BASIC programming language
(our preferred method) or using flowcharting software (with a limited command set).
NOTE: The PICAXE is supplied containing 'bootstrap' code that enables you to download your
program using the serial cable. Do not substitute the PICAXE with a blank PIC microcontroller or
any other integrated circuit.
2.2. CONTROL SYSTEM OVERVIEW
The CONTROLLER uses a Picaxe-40X
microcontroller, three motor driver ICs and
position measuring potentiometers to control
the motors driving the ROBOT ARM.
• The CONTROLLER uses potentiometers
(variable resistors) as position sensing
elements and joint pivots (P1 to P6).
• A motor drives each axis (M1 to M6).
Through a gearing arrangement, each motor
in is physically linked with the rotation of a
potentiometer. The wiper arm of each
potentiometer outputs a voltage (between
the power rails) that is proportional to the
angle of its axis. Within the Picaxe, a
digital-to-analogue converter measures the
voltage on each potentiometer. The
program uses the resultant numerical value,
which represents the angle of rotation.
• Within the program, each motor of the
ROBOT ARM is commanded to move in a
preset sequence of defined positions. While
a motor is not at its currently required
position, it is commanded to move towards
the required position. When the desired
position is reached, the sequence moves to
Figure 3 Block Diagram
the next step.
• The program may be modified as required.
4
5. 2.3. CIRCUIT OVERVIEW
NOTE: PICAXE documentation refers to "Input Pins" and "Output Pins", which are not the same as
the physical pins on a device. To avoid confusion, in this document "leg" means a physical pin of an
integrated circuit and "pin" means a logical input or output.
• A program can be downloaded into the Picaxe memory to control the motors in response to
various hardware and software parameters. The student may customise the program and attach
other input/output devices as desired. This document does not detail this type of customisation –
refer to the Picaxe Programmer online help for ideas.
• When the program runs, it compares the desired position of the axis that is currently moving
with its target position. When the target position is reached, the program then moves the next
axis in the program.
• Responding to the high/low voltage sequence on its inputs, each L293D opens/closes the
electronic switches in its H-bridge circuits. Two motors can be independently driven backwards
and forwards by each L293D. Therefore the Picaxe can command the motors to turn backwards,
forwards and stop as required.
Figure 4 Circuit Diagram
5
6. 2.4. PICAXE (IC1)
The function of each leg of the Picaxe is summarised in Table 1.
Used For Function Leg Leg Function Used For
Reset Reset 1 40 Output 7 Spare Motor
Shoulder Potentiometer Analogue 0 2 39 Output 6 Spare Motor
Arm Potentiometer Analogue 1 3 38 Output 5 Gripper Motor
Forearm Potentiometer Analogue 2 4 37 Output 4 Gripper Motor
Wrist Potentiometer Analogue 3 5 36 Output 3 Shoulder Motor
Stereo Socket Serial In 6 35 Output 2 Shoulder Motor
Stereo Socket Serial Out 7 34 Output 1 Arm Motor
Gripper Potentiometer Analogue 5 8 33 Output 0 Arm Motor
Spare Potentiometer Analogue 6 9 32 +V +V
Spare Analogue Input Analogue 7 10 31 0V 0V
+V +V 11 30 Input 7 Spare
0V 0V 12 29 Input 6 Spare
Resonator Resonator 13 28 Input 5 Spare
Resonator Resonator 14 27 Input 4 Spare
Spare Input/Output C0 15 26 Output C7 Forearm Motor
Spare Input/Output C1 16 25 Output C6 Forearm Motor
Spare Input/Output C2 17 24 Output C5 Wrist Motor
Spare Input/Output C3 18 23 Output C4 Wrist Motor
Spare Input 0 19 22 Input 3 Spare
Spare Input 1 20 21 Input 2 Spare
Table 1 Picaxe Leg Functions
• Leg 1 is used to reset the Picaxe. Normally this leg is tied high (to +V via 10k resistor). When it
is brought low (to 0V), the Picaxe is reset. The program then restarts from the first line. This
resistor must be present for reliable operation.
• Leg 2 (shoulder), Leg 3 (arm), Leg 4 (forearm), Leg 5 (wrist), Leg 8 (gripper) and Leg 9 (spare
motor) are connected to the wiper arm of potentiometers and are used as inputs to the respective
analogue-to-digital converter.
• Leg 6 (serial data in) and Leg 7 (serial data out) are used only when transferring a program from
a serial port on your PC (COM1: to COM4:) to the Picaxe. The 22k (W3) and 10k (R4) resistors
must be present for reliable operation. Do not substitute other resistor values.
• Leg 10 is a spare analogue input.
• Leg 11 and Leg 32 are connected to the positive terminal (+6V) of the power supply (batteries).
• Leg 12 and Leg 31 are connected to the negative terminal (0V) of the power supply (batteries).
• Leg 13 and Leg 14 are connected to the outer legs of the resonator. (Middle leg is 0V.)
• Leg 15, Leg 16, Leg 17 and Leg 18 can be used as either inputs or outputs.
• Leg 19, Leg 20, Leg 21, Leg 22, Leg 27, Leg 28, Leg 29 and Leg 30 are spare inputs.
• Leg 23 and Leg 24 are connected to the L293 driving the Wrist Motor.
• Leg 25 and Leg 26 are connected to the L293 driving the Forearm Motor.
• Leg 33 and Leg 34 are connected to the L293 driving the Arm Motor.
• Leg 35 and Leg 36 are connected to the L293 driving the Shoulder Motor.
• Leg 37 and Leg 38 are connected to the L293 driving the Gripper Motor.
• Leg 39 and Leg 40 are connected to the L293 driving the Spare Motor.
6
7. 2.4.1. MOTOR OUTPUTS
• All of the motor outputs are digital (0V or +V).
• Two output legs on the Picaxe are required to drive one motor.
• Each of the motor outputs is directly connected to an input on an L293D motor driver IC. A
total of six motors can be driven from the circuit without modification.
• To incorporate a seventh motor, use Analogue 7 (Leg 10) and two other outputs (Leg 15 to Leg
18). An additional L293D (or another H-bridge circuit) will be needed.
• A red/green pair of LEDs and resistor (optional) may be connected to each motor's terminals
used to indicate which direction a motor is currently being driven. These LEDs may be useful
during faultfinding.
2.4.2. POTENTIOMETER INPUTS
• All of the potentiometer inputs are analogue. Because the outer arms of each potentiometer are
connected to 0V and +V, the voltage that appears on the wiper arm (driven by the motors), is
between 0V and +V.
• Each of the potentiometers is associated with an analogue-to-digital converter. In the Picaxe, an
analogue-to-digital converter translates an analogue voltage to a numerical value that can be
used by the program.
2.4.3. OTHER INPUTS
To obtain information from the outside world, switches and sensors can be added to unused input
pins on the Picaxe. You should add these devices only after the basic design has been built and
tested because you will need to modify the program. Some ideas for inputs include:
• A push-button switch (normally open) may be connected to the reset input. When the reset
switch is pressed, the program starts from the beginning.
• A toggle switch for the program to select between two programmed sequences.
• Emergency stop switch to halt the ROBOT ARM when the button is pressed. Another switch
could be used to detect if a "guard" or "fence" is opened. A separate button should be used to
restart the ROBOT ARM.
• Gripper switch to indicate that an object is between the jaws.
• Keypad (4x4 matrix or 4x5 matrix, as per telephone/calculator keypad) to provide direct control
of motors. The concept could be extended as a "teaching" pendant.
2.4.4. OTHER OUTPUTS
To communicate with the outside world, additional output devices may be added to the
CONTROLLER using available output pins on the Picaxe. You will need to modify the program to
provide suitable output. Some possible output devices include:
• LED mimic panel to indicate which motor (axis) is moving.
• LED display - possibly a 7-segment display or a bar graph.
• LCD module.
2.4.5. EXTERNAL COMMUNICATIONS
It is possible to connect the Picaxe to a PC using a two-way serial data link. Unfortunately, you
cannot use the programming port except for using the Debug command.
• The Debug command may be useful to obtain real-time information, such as axis position, while
debugging your software/hardware.
• To communicate with your PC using serial communications, you will need to use a suitable
interface circuit (such as a MAX232 integrated circuit) and obtain or create suitable software for
your PC. Please note that this could substantially increase the scope of your project.
7
8. 2.5. MOTOR DRIVER L293D (IC2, IC3 & IC4)
The L293D motor driver (IC2) contains two H-bridge circuits. Each of the "driver" blocks contains
transistors that are configured as electronic switches. Each leg's function is summarised in Table 2.
Used For Function Leg Leg Function Used For
+V 5V 1 15 5V +V
From Picaxe In 1 2 15 In 3 From Picaxe
To Motor "A" Out 1 3 14 Out 3 To motor "B"
0V 0V 4 13 0V 0V
0V 0V 5 12 0V 0V
To Motor "A" Out 2 6 11 Out 4 To motor "B"
From Picaxe In 2 7 10 In 4 From Picaxe
+V V+ 8 9 5V +V
Table 2 L293D Leg Functions
• Changing the voltage applied to the
input pins changes the direction of
current flow through the motor.
• Q1 low, Q2 low - motor stop
• Q1 high, Q2 low - motor forward
• Q1 low, Q2 high - motor reverse
Figure 5 H-Bridge Circuit Concept • Q1 high, Q2 high - motor stop
• The motor driver IC is simpler to use
and fault-find than an equivalent
circuit built using individual
transistors and resistors. To view H-
Bridge circuits constructed from
transistors, see the "Radio Controlled
Vehicle", "Wanderer" and "Seeker"
teaching units on the Scorpio
Figure 6 Typical H-Bridge Circuit Technology website.
2.6. POTENTIOMETERS
Each of the five potentiometers is used to measure the angular position of an axis. The
potentiometers must be of a "linear" type; a "logarithmic" type is not suitable. The actual resistance
value is not critical, since a relative voltage between the power rails (0V and +6V) is being
measured. A suitable resistance range is 5k to 50k.
2.7. CAPACITORS
• Capacitor C1 (100uF) smooths battery power caused by motor switching.
• Capacitors C2 to C9 (0.1uF) smooth the power supply close to the ICs.
• Capacitors C10 to C15 (0.1uF) reduce electrical motor noise that reaches the Picaxe.
2.8. POWER
• Power switch SW1 is used to control power to the circuit.
• A red LED (light emitting diode) (L1), in series with a 220R resistor is used to indicate the
presence of power on the PCB assembly. The LED intensity may change during operation.
• Diode D1 is used to drop the voltage to the Picaxe and to provide reverse voltage protection.
8
9. 3. MECHANICAL CONSIDERATIONS
3.1. PLANNING
Please refer to the ROBOT ARM
documentation for mechanical and
assembly details that are not
covered in this document. Before
starting construction, plan and lay
out all the components using a
suitable computer program or on a
sheet of paper. Look at your
ROBOT ARM as a complete unit,
and not just as separate parts. Use
our drawings as a starting point for
your design.
This section describes changes to
the ROBOT ARM that need to be
made for it to be used with the
Figure 7 Axis Definitions CONTROLLER.
It is recommend that the robot arm
components be made from PVC, as
it is relatively tough.
3.2. GRIPPER
• Enlarge the hole in the gripper base to
mount the gripper feedback potentiometer.
The hole for mounting the potentiometer
(threaded portion) should be a neat/loose
fit. The hole should be about 6.5mm (1/4"
diameter). Use a reamer (tapered hole
enlarging tool) or round file to fit.
• Cut off the small protrusion on the
potentiometer. Attach the potentiometer
using the nut provided.
• Enlarge the hole in the matching gripper
link and 50T gripper actuating gear for a
press fit on the gripper potentiometer shaft.
The hole for the splined portion of the
potentiometer should be a tight fit
somewhere between 5.0mm and 5.5mm
diameter. You will need to determine a
suitable size for this hole by drilling a
5.0mm diameter hole and then using a
reamer or round file to enlarge the hole
until you get a suitable fit. With the correct
fit, the material in the holes should form
small ridges.
Figure 8 Gripper Potentiometer
9
10. NOTE: PVC is relatively soft/ductile and is more suitable for this application than acrylic. If
required, PVC and acrylic can be softened by gently and carefully using a heat gun – do not use an
open flame or a burner.
• Screw the gear and link together.
• Rotate the potentiometer to its middle position. Open the jaws halfway and press the gear and
gripper link onto the potentiometer shaft. This will provide a preliminary alignment of the
potentiometer with the gripper axis.
3.3. WRIST
The wrist feedback potentiometer needs to be
suitably mounted, refer Figure 9.
• Design and construct the wrist
potentiometer mounting plate.
• Change the design of the gripper side
plate #1 so that the potentiometer mounting
plate can be fitted.
• Use a short length of PVC tube to shift the
centre of the 12 tooth pinion to the centre of
the gripper rotation gear.
• Drill a suitable sized hole in the 60 tooth
gear (refer Gripper). Press the 60 tooth gear
onto the potentiometer shaft. Ensure that Figure 9 Wrist Potentiometer
the gear is centred on the 12 tooth pinion.
• Upon assembly, rotate the wrist potentiometer to its mid position and rotate the wrist so that it is
in the position shown.
10
11. 3.4. SOULDER, ARM & FOREARM
Mounting of the shoulder, arm and forearm potentiometers are similar (refer to Figure 10). Install
these potentiometers on the lower portion of the joints.
• Enlarge the hole to mount the potentiometer. Cut
off the small protrusion on the potentiometer.
Attach the potentiometer using the supplied nut.
• Enlarge the hole in the plate for the
potentiometer splined shaft. Rotate the
potentiometer to its mid position. Press the plate
onto the splined shaft so that the axis is in mid
position (straight ahead towards the gripper).
• The distance that the plate is pressed onto the
splined shaft will influence the required
thickness of the spacer or washers. A suitable
spacing is required to avoid interference with
screws retaining the gear. Figure 10 Forearm Joint
For the Forearm, Arm and Shoulder joints, change the final pinion and gear from 0.5mm module to
0.6mm module, refer Figure 10.
• Drill the hole in the 60 tooth x 0.5mm module gear to 2.8mm diameter.
• Use a 3.0mm drill bit to drill both output shaft holes in the gearcase. (The shaft should rotate
freely.)
• Make a 10 tooth x 0.6 module pinion from a 30/10 x 0.6 module gear.
• File the 50 tooth x 0.6 module gear so that it sits flat when attached to the plate.
The change from 0.5mm module to 0.6mm module improves the joints as follows:
• Minimises the final pinion gear slipping on the output shaft.
• Increases the strength of the final gear drive, as the teeth are larger.
• Decreases the accuracy required in creating hole positions for the final drive, due to the larger
depth of teeth.
• Takes advantage of the pitch circle diameter for a 60 tooth 0.5mm module gear being the same
as the 50 tooth 0.6mm module gear (60 x 0.5 = 50 x 0.6 = 30mm). This same relationship exists
for a 12 tooth 0.5mm pinion and a 10 tooth 0.6mm pinion (12 x 0.5 = 10 x 0.6 = 6mm).
3.4.1. Pinion Slipping On Shaft
If during testing and operation one of the 10 tooth x 0.6 module pinions slips on its shaft, then it is
suggested that the pinion and 3mm shaft tied together. To do this, use a high speed drill (Dremel or
equivalent) with a 0.8mm to 0.9mm diameter "jobber drill" to drill through the gear and pinion in a
position away from where the gears mesh. Note that 1.0mm diameter drills are easier to obtain, but
a 1mm hole will weaken the shaft too much. Pass a length of wire (paper clip or solid copper
electrical wire) through the hole, then twist and cut the ends. Hint: You will need a steady hand to
control the drill so that it will make a hole in the middle of the shaft. Be careful and practice on
some scrap material first!
3.5. BASE STRUCTURE
The "Base Switch Mounting Plate" is not necessary. To increase the stiffness of the base structure, a
central stiffener and/or switch mounting plate without the switch holes may be included. For a
possible design solution, refer to Figure 2.
11
12. 4. ASSEMBLY
4.1. MECHANICAL ASSEMBLY
NOTE: This project requires a high degree of accuracy (in some places better than 0.5mm) to
ensure that gears mesh smoothly. Take care when cutting, drilling and assembling the parts.
Use the following information to supplement the instructions for assembling the ROBOT ARM.
• Before starting assembly, solder a 0.1uF capacitor across the
terminals of each motor. The purpose of the capacitor is to reduce
interference generated by the motor reaching the CONTROLLER
and external equipment.
• If you wish to mount the LED motor direction indicators on the
motors, twist and solder a red LED, a green LED and a 220R
resistor (not supplied) between the motor terminals. Connect the
LEDs in opposite directions, flat on red LED to "+" terminal, flat
on green LED away from "+" terminal. The LEDs will then
indicate direction of motor rotation.
• Solder suitable lengths of wire to the motor terminals. If using Figure 11 Components on
multi-core alarm cable, allow a sufficient length of wire for each Motor Terminals
potentiometer.
• Assemble the gearcases. Refer to the ROBOT ARM document. Note that a 3mm output shaft
needs to be fitted to the output shaft on the shoulder, arm and forearm gearcases.
• Construct the ROBOT ARM beginning with the gripper and then towards the base.
• The five two-way switches supplied with the ROBOT ARM are not required. (NOTE: The
switches could be used as inputs to the Picaxe to select different routines.)
4.2. PRINTED CIRCUIT BOARD
ASSEMBLY
WARNING: Take care in the orientation of IC
sockets, LED and electrolytic capacitor. The
electrolytic capacitor will be damaged and may
cause damage or injury if it is installed in the
wrong direction and power is applied.
CAUTION: Unsoldering and replacing
damaged or wrongly positioned components
will waste time. During soldering, do not
overheat the PCB and components.
Figure 12 PCB Component Terminology NOTE: Trim component leads as required after
soldering to the PCB.
NOTE: The wires to the ROBOT ARM may be soldered directly to the PCB or connected via
suitable 6-pin connectors (not supplied). The hole spacing for these connectors is 0.1" (2.54mm).
• Solder the wire links to the PCB. These are shown as straight lines on the overlay. Use tinned
copper wire to make the links.
• To the PCB, solder the stereo socket, resistors, diode, monolithic capacitors, IC sockets, LED,
electrolytic capacitor and resonator.
• Do not insert the ICs into their sockets yet. These will be inserted during testing.
12
13. 4.3. WIRING
For wiring details, refer Figure 4 and Figure 13.
Use 6-core alarm cable or different coloured
wires to assist during faultfinding.
When soldering wires, strip a short piece of
insulation from the end of the wire, twist the
strands and "tin" them with solder.
• Pass the wiring from the motors and
potentiometers, through the ROBOT ARM
to the PCB.
• If required, use mating connectors to allow
the ROBOT ARM CONTROLLER to be
disconnected from the ROBOT ARM.
• Connect the motors and potentiometers as
follows (suggested wire colours):
• Pin 1 = Motor (white)
• Pin 2 = Motor (blue)
• Pin 3 = +6V to Potentiometer (red)
• Pin 4 = Spare (green)
• Pin 5 = 0V to Potentiometer (black)
Figure 13 Wiring Diagram • Pin 6 = Potentiometer Arm (yellow)
• Connect the switch and battery holder (+ve
= red, -ve = black).
NOTE: The "spare" connection to pin 4 on each connector location allows an additional input or
output device, such as a switch or LED, to be connected for each axis using the same length of
alarm cable. Connect the track on the PCB to a spare input or output pin on the Picaxe. You will
need to modify your program to use the additional device(s).
4.3.1. POTENTIOMETER WIRING
Connect wires to each of the potentiometers as
shown in Figure 14. (For the gripper, swap the
red and black wires.)
Figure 14 Potentiometer Wiring
4.3.2. MOTOR WIRING
Connect wires to the motors: white to "+" and
blue to "-".
13
14. 5. ELECTRICAL TESTING
• Before applying power, inspect soldering for short circuits and poor "wetting" of component
leads or pads.
• Insert four 1.5Volt AA batteries into the battery holder. Move the power switch to "on". Check
that the LED illuminates. This shows that power is available.
• If the LED does not illuminate:
• Check that the battery voltage is above 5.5 volts. (If low, replace the batteries.)
• Check that the batteries are properly inserted in the battery holder.
• Check that the LED is the right way around.
• Check the wiring against the wiring diagram.
• Move the power switch to "off". Check the orientation of the ICs - the end with leg 1 is
identified with a notch or dimple at one end. Line up the legs of each IC with its IC socket holes
and press down firmly. Do not use the letters/numbers on the IC to identify leg numbers.
NOTE: It may be necessary to bend the IC legs slightly to line them up with the socket holes.
CAUTION: ICs will be damaged if they are installed in the wrong direction or if power supply
(battery) connections are reversed.
• Move the power switch to "on". Check that the LED illuminates. This checks that power is
available. At this stage nothing will appear to be working.
5.1. CONSTRUCT PICAXE SERIAL
CABLE (IF REQUIRED)
• If required, construct a PICAXE serial
cable, as shown.
5.2. INSTALL PICAXE EDITOR
NOTE: PICAXE editor needs to be installed
only once. We have used Picaxe editor versions
4.1.10 and 5.1.5.
• Start up and log into your PC. (Some PCs
require that you log in as the ‘Administrator’
to install software. See your system
administrator if you do not have sufficient
rights to install software.
Figure 15 Picaxe Serial Cable Construction
• Download and run the installation file from
(If Required)
the software page at www.rev-ed.co.uk or
from www.picaxe.co.uk.
• Follow the on-screen instructions to install the PICAXE editor.
• If your PC has a 9 pin serial port, insert the PICAXE serial cable into it.
• If your PC does not have a 9 pin serial port, connect a USB to serial adapter and the PICAXE
serial cable into a vacant USB port. (Use the Picaxe editor to verify the COM port.)
5.3. START PICAXE EDITOR
• Click Start>Programs>Revolution Education>Programming Editor to start the software.
• If the Options screen does not automatically appear, click the View>Options menu. On the
'Mode' tab select the option for the Picaxe that you are using (this should be one of 28X, 28X1
or 28X2). On the 'Serial Port' tab select the appropriate serial COM port then click OK.
• The PICAXE programming editor software is ready to use.
14
15. 5.4. EDIT PROGRAM
• Copy our program (refer Figure 18) into the PICAXE programming editor software. The
program and flowchart are at the end of this document.
• Save the program. You can keep the original file. For changes use different file names.
• Our program is designed to continuously move two objects between three predefined positions.
Draw a diagram to describe the sequence of actions as specified in the pair of lookup tables
(refer to Program Overview and the Program Listing).
5.4.1. PROGRAM OVERVIEW
NOTE: For programming language
details, from the PICAXE
"Programming Editor" help menu,
open "PICAXE Manual 2 - BASIC
Commands".
The program (refer Figure 16 and
Figure 18) contains various sections,
as follows:
• Set up variables for axis
positions ("symbol" commands).
Adjust these values during
testing.
• Initialisation ("let dirs", "let
dirsc", "let pins" and "let pinsc"
commands)
• The main loop consists of a pair
of lookup tables and a counter
(first lookup table is to select the
axis to move, second one defines
the axis position and the counter
is used to select which pair of
values is used). The axis position
is an integer in the range 1-255.
• A "branch" statement that directs
the program to jump to the
relevant axis that needs to be
moved.
• A loop of code for each axis,
consisting of two motor outputs
and potentiometer input. When
Figure 16 Simplified Program Flow Chart the loop reaches the desired
position, the program selects the
next axis to be moved.
5.4.2. MOTORS AND POSITION FEEDBACK POTENTIOMETERS
• The spare motor and its feedback potentiometer may be connected without any circuit
modifications. The motor and potentiometer should be the same as those used in this project.
• The voltage present on the spare analogue input must be between 0V and +V. A potentiometer
or a variable resistance, such as an LDR (Light Dependant Resistor), should be suitable. Refer
to other Picaxe documentation for circuit details.
• A pair of commands needs to be used to control the motors, as shown in Table 3.
15
16. Axis Name Potentiometer Motor Reverse Motor Forward
ADC Input Commands Commands
Shoulder 0 pins = %00000100 pins = %00001000
pinsc = 0 pinsc = 0
Arm 1 pins = %00000001 pins = %00000010
pinsc = 0 pinsc = 0
Forearm 2 pins = 0 pins = 0
pinsc = %01000000 pinsc = %10000000
Wrist 3 pins = 0 pins = 0
pinsc = %00010000 pinsc = %00100000
Gripper 5 pins = %00010000 pins = %00100000
pinsc = 0 pinsc = 0
Spare Motor 6 pins = %00100000 pins = %10000000
pinsc = 0 pinsc = 0
Spare Analogue Input 7 - -
Table 3 Motors and Position Feedback Potentiometers
• To stop all motors, use the following pair of commands: "pins = 0" and "pinsc = 0".
5.4.3. ADDITIONAL DIGITAL INPUTS AND OUTPUTS
Legs C0, C1, C2, C3 may be defined as either inputs or outputs.
• Input 0, 1, 2, 3, 4, 5, 6, 7 (use the "pins" command)
• Input C0, C1, C2, C3 (use the "pinsc" command)
Up to four additional digital outputs may be connected.
• Output C0, C1, C2, C3 (change the value of the "dirsc" in the initialisation section and use the
"pinsc" command)
5.5. TRANSFER PROGRAM TO PICAXE
• Move the power switch off.
• Connect the PICAXE serial cable between your PC
and the stereo socket on the PCB.
• Move the power switch on. Check that the power
LED illuminates.
Figure 17 Connect Picaxe Serial Cable
• Run the PICAXE Programming Editor software and
transfer the program to the PCB.
• If required, move the power switch off.
• If required, disconnect the PICAXE serial cable
from the stereo socket on the PCB.
16
17. 6. FUNCTIONAL TEST
NOTE: The functional test can only be performed after the program is loaded into the PICAXE.
• Move the power switch "on".
• The ROBOT ARM should go through a sequence of motions.
• If the ROBOT ARM does not perform the required sequence, check each axis individually.
Create a temporary version of the program. In the "loopa:" section, delete all data from both
lookup tables except for three values. Change the first parameter pair to one extent of motion,
the second to the opposite extent of motion, and the last pair to "xx". Download the program to
the PICAXE and run the program. (Fewer or additional data points may be used.) As required,
swap the motor wires and adjust the potentiometer positions by rotating the potentiometer body
or changing the data values.
NOTE: The L293D's may become warm with continuous use.
7. FURTHER DEVELOPMENT
We encourage you to change the program after you have determined that our program works with
your CONTROLLER.
• Develop another sequence of actions for your ROBOT ARM to perform. Use a switch to select
which routine is used.
• Add a switch input to move your ROBOT ARM to a "home" position.
• Add a switch input to "pause" the sequence to simulate an emergency stop situation.
• Add a microswitch (or two) to detect that an object is present in the gripper.
• Add a switch to select between "manual" and "program" modes. Use the 5 switches supplied
with the ROBOT ARM to select which axis to move.
Congratulations on successfully building and customising your own ROBOT ARM under the
direction of the CONTROLLER!
HAVE FUN!
17
18. 8. THE PROGRAM
'Robot Arm Controller
'(C)2009 PVA Tecwrite - Peter Aleksejevs
'Define constants used to define axes in the lookup tables.
symbol sx = 0 'shoulder
symbol ax = 1 'arm
symbol fx = 2 'forearm
symbol wx = 3 'wrist
symbol gx = 5 'gripper
symbol bx = 6 'spare motor
symbol cx = 7 'spare ADC input
symbol yy = 8 'end of data - wait until switch cleared on input – not implemented
symbol xx = 9 'end of data marker = reset counter
'Define positions of axis preset positions: i=initial, 1="left", 2=mid, 3="right".
'All positions values are 0 to 255, as measured by the axis potentiometer.
'Define position 128 at centre of motion - i.e. for shoulder when arm is pointing straight out.
symbol si = 100 'shoulder initial
symbol s1 = 100 'shoulder left
symbol s2 = 128 'shoulder mid
symbol s3 = 156 'shoulder right
symbol ai = 100 'arm initial
symbol a1 = 100 'arm left
symbol a2 = 128 'arm mid
symbol a3 = 156 'arm right
symbol fi = 145 'forearm initial
symbol f1 = 156 'forearm down
symbol f2 = 128 'forearm mid
symbol f3 = 100 'forearm up
symbol ri = 138 'wrist initial
symbol r1 = 100 'wrist left (w1 is a variable)
symbol r2 = 128 'wrist mid (w2 is a variable)
symbol r3 = 148 'wrist right (w3 is a variable)
symbol gi = 135 'gripper initial
symbol g1 = 114 'gripper closed
symbol g2 = 130 'gripper mid
symbol g3 = 140 'gripper open
'Define slow down distances. To disable, change value to 0. Suitable values are in parentheses.
symbol ds = 0 '(8) shoulder deceleration position.
symbol da = 0 '(6) arm slow down distance.
symbol df = 0 '(6) forearm slow down distance.
symbol dr = 0 '(6) wrist slow down distance.
symbol dg = 0 '(5) gripper slow down distance.
symbol pon = 25 'PWM on time for slow down in milliseconds
symbol pof = 2 'PWM off time for slow down in milliseconds (also add delay in routine)
'variables
symbol counter = b1 'Selects which axis & postion value pair is currently used
symbol axis = b2 'Specifies current axis
symbol position = b3 'Specifies desired position of current axis
symbol analog = b4 'Read in value from current axis potentiometer
symbol temp = b5 'Temporary variable (used for deceleration calculation)
'The following line needs to be changed if using switches on port C.
let dirsc = %11111111 'Set all C port pins as outputs. Unused pins can be inputs or outputs.
let pins = 0
let pinsc = 0
counter = 0
loopa:
'
'add code to check switch inputs here! i.e. "Pause" switch/button.
'
'Add/remove comments (') at start of lines as required.
'SINGLE AXIS TEST SEQUENCE (change "sx" and position values as required)
'lookup counter,( sx, sx,xx),axis
'lookup counter,( 50,200,xx),position
'MULTIPLE AXIS TEST SEQUENCE
'lookup counter,(sx,sx,ax,ax,fx,fx,wx,wx,gx,gx,xx),axis
'lookup counter,(s1,s3,a1,a3,f1,f3,r1,r3,g1,g3,xx),position
'PICK AND PLACE SEQUENCE
lookup
counter,(sx,ax,fx,wx,gx,gx,fx,wx,ax,sx,fx,gx,fx,wx,fx,wx,wx,sx,ax,fx,gx,fx,sx,ax,fx,gx,fx,sx,ax,fx,g
x,fx,sx,ax,fx,gx,fx,sx,ax,fx,gx,fx,xx),axis
lookup
counter,(si,ai,fi,r1,gi,g3,f2,r2,a1,s1,f1,g1,f2,r1,f3,r3,r2,s2,a2,f1,g3,f2,s3,a3,f1,g1,f2,s1,a1,f1,g
3,f2,s2,a2,f1,g1,f2,s3,a3,f1,g3,f2,xx),position
branch axis,(loop0,loop1,loop2,loop3,loop4,loop5,loop6,loop7,loop8,loop9)
goto loopa 'The program should never get to this line of code
'shoulder
loop0:
readadc 0,analog
temp = position - 3 'position error (low)
18
19. if analog < temp then rev0
temp = position + 3 'position error (high)
if analog > temp then for0
counter = counter + 1
let pins = 0
let pinsc = 0
goto loopa
rev0:
let pins = %00000100
temp = position - analog
if temp > ds then loopa
pause pon
let pins = 0
let pinsc = 0
pause pof
goto loopa
for0:
let pins = %00001000
temp = analog - position
if temp > ds then loopa
pause pon
let pins = 0
let pinsc = 0
pause pof
goto loopa
'arm
loop1:
readadc 1,analog
temp = position - 3
if analog < temp then rev1
temp = position + 3
if analog > temp then fow1
counter = counter + 1
let pins = 0
let pinsc = 0
goto loopa
rev1:
let pins = %00000001
temp = position - analog
if temp > da then loopa
pause pon
let pins = 0
let pinsc = 0
pause pof
goto loopa
fow1:
let pins = %00000010
temp = analog - position
if temp > da then loopa
pause pon
let pins = 0
let pinsc = 0
pause pof
goto loopa
'forearm
loop2:
readadc 2,analog
temp = position - 3
if analog < temp then rev2
temp = position + 3
if analog > temp then fow2
counter = counter + 1
let pins = 0
let pinsc = 0
goto loopa
rev2:
let pinsc = %01000000
temp = position - analog
if temp > df then loopa
pause pon
let pins = 0
let pinsc = 0
pause pof
goto loopa
fow2:
let pinsc = %10000000
temp = analog - position
if temp > df then loopa
pause pon
let pins = 0
let pinsc = 0
19
20. pause pof
goto loopa
'wrist
loop3:
readadc 3,analog
temp = position - 3
if analog < temp then rev3
temp = position + 3
if analog > temp then fow3
counter = counter + 1
let pins = 0
let pinsc = 0
goto loopa
rev3:
let pinsc = %00010000
temp = position - analog
if temp > dr then loopa
pause pon
let pins = 0
let pinsc = 0
pause pof
goto loopa
fow3:
let pinsc = %00100000
temp = analog - position
if temp > dr then loopa
pause pon
let pins = 0
let pinsc = 0
pause pof
goto loopa
loop4:
goto loopa 'Analogue input 4 does not exist in hardware!
'gripper
loop5:
readadc 5,analog
temp = position - 3
if analog < temp then rev5
temp = position + 3
if analog > temp then for5
counter = counter + 1
let pins = 0
let pinsc = 0
goto loopa
rev5:
let pins = %00010000
temp = position - analog
if temp > dg then loopa
pause pon
let pins = 0
let pinsc = 0
pause pof
goto loopa
for5:
let pins = %00100000
temp = analog - position
if temp > dg then loopa
pause pon
let pins = 0
let pinsc = 0
pause pof
goto loopa
'NOTE: Analogue input 6 is available for use as motor feedback or for general purpose use.
loop6:
readadc 6,analog
temp = position - 3
if analog < temp then rev6
temp = position + 3
if analog > temp then for6
counter = counter + 1
let pins = 0
let pinsc = 0
goto loopa
rev6:
pins = %01000000
let pinsc = 0
temp = position - analog
if temp > da then loopa
pause pon
let pins = 0
let pinsc = 0
20
21. pause pof
goto loopa
for6:
pins = %00100000
let pinsc = 0
temp = analog - position
if temp > da then loopa
pause pon
let pins = 0
let pinsc = 0
pause pof
goto loopa
loop7:
'NOTE: Analogue input 7 is available for general purpose use.
' readadc 7,analog
goto loopa
loop8:
'need to add code here to wait for switch release.
counter = 0
goto loopa
loop9:
'NOTE: Resets counter to restart cycle, 'xx' must be last value in lookup table
counter = 0
goto loopa
Figure 18 Program Listing
21