All posts by graceliana@gmail.com
Challenges and Enhancements
Versa Valve switch
Teensy pinout
Arduino Self-driving Car
Arduino PID Motor Controller
LINKS TO LEARN :
http://forum.arduino.cc/index.php/topic,8652.0.html
http://forum.arduino.cc/index.php?topic=13269.0
SAGAR Update, New Motor Controller and Motors
S.A.G.A.R.’s Smart Motor Controller
Download the EAGLE Schematics, Board Layout and code from here: https://drive.google.com/open?id=0B8lxGSgwuFtYfjVLZHhINUt2cW1taFBDYndudkV6R0xLXzhKR1lRNWRQTVZYOVA1ek5NVk0&authuser=0
INTRODUCTION :
The development of high performance motor drives is very important in industrial as well as other purpose applications. Generally all high performance motor drives use quadrature encoders and PID control because of its simplicity and precise control. The quadrature encoder acts as a feedback from the motor, it is connected to the microcontroller for furthur processing.
With the use of Arduino, l298N and Optical Quadrature Encoder we can drive the dc motor at desired speed having a feedback loop and in this project we have used proportional integral and derivative method in which errors are not only solved but also taken to its minimal value with very low amount of error oscillations.
PROPORTIONAL CONTROL:
The proportional part of PID examines the magnitude of the error and it reacts proportionally. A large error receives a large response
INTEGRAL CONTROL:
To address the first issue with the proportional control, integral control attempts to correct small error (offset).
DERIVATIVE CONTROL:
The derivative part of the control output attempts to look at the rate of change in the error signal. Derivative will cause a greater system response to a rapid rate of change than to a small rate of change.
Visit the below link to gain knowledge about PID control.
http://ctms.engin.umich.edu/CTMS/index.php?example=Introduction§ion=ControlPID
Quadrature Encoder :
The below link shows the working of a quadrature encoder, please visit the link.
http://www.dynapar.com/Technology/Encoder_Basics/Quadrature_Encoders/
The below link shows all about rotary encoders, please go through the link to gain knowledge.
http://en.wikipedia.org/wiki/Rotary_encoder
Materials Used :
- 1 300 RPM Geared Motor.
- 1 L298N Motor Driver.
- 1 Slotted Encoder Disk (32 slots).
- 2 MOC7811 Optical Slotted Interrupters.
- 2 10 K Resistors.
- 1 220 Ohm Resistors.
- General Purpose PCB.
- 1 Arduno UNO.
- Connecting Wires.
The Image below shows the circuit diagram of MOC7811 Optical Encoder, We need to make 2 circuits as we are making a quadrature encoder. SignalOut pin of bothe MOC7811 should be connected to pin 2 and 3 of arduino as these are interrupt pins of the arduino.
Solder the encoders on a general purpose PCB as shown below.
You can add Schmitt Trigger IC CD40106 so as to convert the output of encoders into pure square wave. Connect MOC7811 output to Vi in the below circuit and connect bthe Vo to arduino. There was not much significant difference even after I added the schmitt trigger.
The Teensy Breadbot
RASPBERRY PI WITH LINUX LESSONS
As much as we love the Arduino, we all reach the day that we need more horsepower in our projects. When you reach this point, reach out and grab yourself a Raspberry Pi. The lessons below will have you up and going on the Pi in no time.
Raspberry Pi with Linux LESSON 1. Introduction to the Raspberry Pi and the gear you will need to get started.
Raspberry Pi with Linux LESSON 2. In this lesson we learn how to format the SD card, download and install the operating system, and get the Pi booted up.
Raspberry Pi with Linux LESSON 3: In this lesson we learn the Linux command to let us navigate through the folder and file system on the Raspberry Pi. This is probably the most important lesson, and if you master the material in this lesson, the rest will be easy.
Raspberry Pi with Linux LESSON 4: In this lesson we will learn how to make new directories and folders using mkdir command, and then how to create and edit text files using the nano command.
Raspberry Pi with Linux LESSON 5: This lesson explores best practices for naming files and folders. Remember in Linux folders are also known as directories. Bottom line . . . do not use spaces in file names in Linux.
Raspberry Pi with Linux LESSON 6: In this lesson we learn how to copy, move and delete files and folders in Linux on the Raspberry Pi. Use this lesson to continue to build your Linux terminal and command line skills. Continue to improve your proficiency at understanding the Linux path methodology.
Raspberry Pi with Linux LESSON 7: This lesson shows how to simplify repetitive tasks using the Linux Wildcard. The wildcard lets you automate repetitive tasks.
Raspberry Pi with Linux LESSON 8: In this lesson we show you how to direct the output of Linux commands to a file instead of to the terminal window.
Raspberry Pi with Linux LESSON 9: We show you how to use the very powerful Linux Sort Command. We look at forward and reverse sorting, and sorting names, numbers and months.
Raspberry Pi with Linux LESSON 10: This lesson reviews how to properly and safely shutdown the Raspberry Pi. The SD card is easily corrupted so be diligent in shutting down properly.
Raspberry Pi with Linux LESSON 11: Fixing Problem with US Keyboards and Special Characters. The default Raspberry Pi operating system is not configured for US Keyboards. This lesson shows a quick fix to that problem.
Raspberry Pi with Linux LESSON 12: This lesson gives more details on using Linux path commands. We show how to reference user directory using ~, and other useful tips and techniques.
Raspberry Pi with Linux LESSON 13: This lesson shows you the power of using Linux pipes. This allows you to take the output from one command and use it as the input for another command.
Raspberry Pi with Linux LESSON 14: This lesson shows you how to combine Linux pipe and tee commands.
Raspberry Pi with Linux LESSON 15: Finding files with the Linux “find” command. This lesson shows the tricks and techniques associated with Linux “find”.
Raspberry Pi with Linux LESSON 16: This lesson shows you how you can search within Linux files using the grep command.
Raspberry Pi with Linux LESSON 17: This lesson shows you how to determine your IP address using ifconfig.
Raspberry Pi with Linux LESSON 18: This lesson will show you how to remotely log into your Raspberry Pi from a windows machine using the Putty SSH Telnet client. We show you how to install this free software, and how to use it.
Raspberry Pi with Linux LESSON 19: This lesson shows you how to add and delete users from your Raspberry Pi.
Raspberry Pi with Linux LESSON 20: This lesson will review how to back up your SD card and operating system. It also shows how to load the operating system from a backup in the case your system becomes corrupted.
Raspberry Pi with Linux LESSON 21: This lesson shows how to add an admin user with the same privileges as “pi” user.
Raspberry Pi with Linux LESSON 22: This lesson introduces the concepts of permissions on files and folders.
Raspberry Pi with Linux LESSON 23: This lesson shows how to change permissions on files and folders.
Raspberry Pi with Linux LESSON 24: This lesson shows you how to edit and run Python programs on the Raspberry Pi.
Raspberry Pi with Linux LESSON 25: This lesson shows how the GPIO pins are configured on the Raspberry Pi 2.
Raspberry Pi Linux LESSON 26: This lesson shows how to control the GPIO pins on the Raspberry Pi using Python. We show how to select the pins, set their modes and then how to send them high or low.
Raspberry Pi LESSON 27: This lesson shows you how to simulate analog voltages on the Raspberry Pi GPIO pins using Pulse Width Modulation. This is like the Arduino analogWrite function.
Raspberry Pi LESSON 28: This lesson presents a step-by-step tutorial on how to simply control the position of a servo using the Raspberry Pi GPIO pins and Python.
Raspberry Pi LESSON 29: In this lesson we show how to set up the GPIO pins as inputs and how to read from them in python. We also show how to activate the internal pullup resistors on the GPIO pins. We demonstrate this with a simple circuit with two push buttons.
Raspberry Pi Lesson 30: In this lesson we show how to control two LEDs from two push buttons using Python. This requires us to use GPIO pins as inputs and outputs.
Raspberry Pi Lesson 31: In this tutorial we show how to create a dimable LED whose brightness is controlled by two push buttons.
Raspberry Pi LESSON 32: Options for analog input to the Raspberry Pi.
Raspberry Pi LESSON 33: This lesson shows you how to boot the Raspberry Pi into the Graphical User Interface for a Windows Like user experience.
Raspberry Pi LESSON 34: Google Chromium is a version of Chrome that will run on the Raspberry Pi. This lesson shows you how to install this browser on your Raspberry Pi.
Raspberry Pi LESSON 35: This tutorial shows you how to install a free office-like word processor and spreadsheet onto your Raspberry Pi.
Raspberry Pi LESSON 36: This lesson shows you how to open programs, files and folders with a single click in the graphical user interface.
Raspberry Pi LESSON 37: This lesson shows you how remotely run a graphical user interface on the Raspberry Pi. Get the full windows like experience on a remote desktop.
Raspberry Pi Lesson 38: This lesson shows how to build an IP camera based on Raspberry Pi and the RPi Camera Module.
The Ultimate Raspberry Pi Project: To the edge of space and back with a Raspberry Pi! This project shows you just how far you can take a Raspberry Pi.
Arduino Lessons
We have provided a methodical set of videos and instructional material to teach you how to use the Arduino Microcontroller. We start simple, and take you through things step by step.
Arduino Lesson 1: In this lesson we take our first look at the Arduino Microcontroller, and you will write your first simple program. Don’t be afraid, we will take you through it step by step with a video and instructional diagrams.
Arduino Lesson 2: In this lesson we build our first external circuit and control it from the Arduino. We use digitalWrite commands to turn the arduino on and off.
Arduino Lesson 3: In this lesson we create a two LED circuit, and we learn about for loops.
Arduino Lesson 4: Learn how to print to your computer screen from the Arduino using your serial port. Good Stuff!
Arduino Lesson 5: Learn how to work with strings in arduino. This is a simple but important lesson
Arduino Lesson 6: This lesson will show you how to get user input from the Serial Monitor. This will take your programming to the next level!
Arduino Lesson 7: This lesson will show you how to implement while loops.
Arduino Lesson 8: This lesson will show you how to write arbitrary voltages between 0 and 5 volts to the arduino pins.
Arduino Lesson 9: Introduction to Ohm’s Law, and using a potentiometer.
Arduino Lesson 10: Reading Analog Voltages with the Arduino
Arduino Lesson 11: Creating a dimmable LED with Arduino
Arduino Lesson 12: Simple and Easy way to read Strings, Floats, and Ints over the Arduino serial port.
Arduino Lesson 13: Control an RGB LED with an Arduino
Arduino Lesson 14: If Statements and Conditionals in the Arduino. In this lesson we learn how to have the user input his color preference, and then turn the RGB led to any color requested by the user.
Arduino Lesson 15: This is a Super Cool project that turns the RGB LED to whatever color that is put in front of a color sensor. It works for an amazing array of color cards.
Arduino Lesson 16: Control the position of a servo from a potentiometer using the Arduino.
Arduino Lesson 17: Measure the Speed of Sound with an Arduino and ultrasonic sensor.
Arduino Lesson 18: Ultrasonic Sensor is used with Arduino to create a distance measuring tool. The measured distance is conveyed to the user by a servo pointing an arrow at a scale.
Arduino Lesson 19: Step-by-step tutorial on connecting and using an LCD display with the arduino.
Arduino Lesson 20: Tutorial on creating a Distance Measurement device based on the Arduino, an LCD, and an ultrasonic sensor.
Arduino Lesson 21: Logging Pressure and Sensor Data onto SD card. This shows you how to easily save your arduino data to an SD card.
Arduino Lesson 22: This lesson presents step-by-step instructions on creating a GPS tracker. This is first part of project, and will be completed in Lesson 23.
Arduino Lesson 23: This lesson presents step-by-step instructions on creating a GPS tracker with data logging capability.
Arduino Lesson 24: Understanding NMEA Sentences, and formatting GPS coordinates properly for display in Google earth.
Arduino Lesson 25: Displaying your GPS data files in Google Earth.
Arduino Lesson 26: Creating a Rugged Prototype Using Wire Wrapping.
Arduino Lesson 27: Use Wire Wrapping to Create a Portable GPS Data Logger that can be Displayed on Google Earth.
Arduino Lesson 28: In this lesson we show how to take your Arduino projects to the next level by learning to program software interrupts.
Arduino Lesson 29: In this lesson we look at the Dos and Don’ts of Software Interrupts on Arduino.
Arduino Lesson 30: Advanced Arduino Interrupt Techniques.
Arduino Lesson 31: Understanding Arduino Arrays.
Arduino Lesson 32: Understanding Arduino Functions
Arduino Lesson 33: Understanding Arduino Local and Global Variables.
- Arduino Tutorial 45: Understanding Circular Shift Left and Circular Shift Right with the 74HC595January 21, 2020
- 9-Axis IMU LESSON 23: Self Leveling Platform Using BNO055 and Arduino Controlled ServosJanuary 16, 2020
- Arduino Tutorial 44: Understanding Logical Shift Left and Logical Shift Right with the74HC595January 14, 2020
- 9-Axis IMU LESSON 22: How to Create a Tilt Stabilized Platform with ArduinoJanuary 9, 2020
- Arduino Tutorial 43: Binary Counter with 74HC595 Serial to Parallel Shift RegisterJanuary 7, 2020
ROS Kinetic Installation
This quick tutorial is going to show you how to install the latest Python 3.6.1 in Ubuntu 16.04 LTS via PPA.
Ubuntu 16.04 comes with both Python 2.7 and Python 3.5 by default. You can install Python 3.6 along with them via a third-party PPA by doing following steps:
1. Open terminal via Ctrl+Alt+T or searching for “Terminal” from app launcher. When it opens, run command to add the PPA:
sudo add-apt-repository ppa:jonathonf/python-3.6
2. Then check updates and install Python 3.6 via commands:
sudo apt-get update sudo apt-get install python3.6