GithubHelp home page GithubHelp logo

arduino-victor888-controller's Introduction

arduino-victor888-controller

A simple Arduino sketch to control a VEX Pro Victor 888 DC motor controller.

##Purpose

The VEX Pro Victor 888 is a simple PWM DC motor controller designed to drive robot motors. It is used in the FIRST Robotics Competition as one of the recommended motor controller.

The Victor 888 has a nominal motor drive voltage of +12V, and uses +5V PWM signal from, for FRC's purpose, the Digital Sidecart. However, it can theoretically be powered using any microcontroller. If a special purpose arises that the Victor 888 be used outside of the FRC or VEX kits, an Arduino may be used to control the motor controller.

##Waveform

The Victor 888 compares the PWM voltage (usually carried by the white/yellow line in most 3 wire PWM cables) with the PWM ground. The PWM protocol, obtained through probing of the output of the Digital Sidecart is detailed below:

  • Each PWM period lasts 5 ms.
  • The voltage high time is defined as the following, in microseconds: 8x(Duty Cycle) + 1600 , in which Duty Cycle ranges from -100 (full backwards) to +100) (full forwards).
  • The rest of the period is voltage low.

##Usage

Using a 3 conductor unshrouded PWM wire, connect pin 9 of the Arduino to the signal wire (usually yellow or white and on the edge) and the Arduino ground to the ground wire (usually black or brown and on the other edge). The red wire, which is the V+ wire, should be connected to the VCC of your Arduino. Note that if your PWM signal has a maximum voltage of 3.3V for whatever reason (perhaps by running a 3.3V Arduino), the red wire should also be at 3.3V.

Plug in the PWM wire to the Victor 888. Plug in the Arduino to a computer with a USB cable. The sketch will initialize with the duty cycle as zero. Input integers between -100 and 100 into a 9600 baud USB serial interface into the Arduino to set the duty cycle.

The specs and manual for the Victor 888 can be found here: http://www.vexrobotics.com/217-2769.html

##Copyright and Liability

This program is in the Public Domain. You may use it however you want, modify it however you want, and redistribute it however you want. Just remember that One Degree North and FRC #4817 will NOT take responsibility of accidental or nonaccidental damages done, such as destroying your VEX Pro or your motor. Make sure you read the Victor 888 manual and specs, and play safe.

arduino-victor888-controller's People

Contributors

hatsunearu avatar

Stargazers

Stephen Abraham avatar Sam Rice avatar DasOdom avatar YS Chung avatar

Watchers

James Cloos avatar  avatar

arduino-victor888-controller's Issues

5V Pin on PWM

You do Need the 5v PWM Pin plugged into a pin on the arduino if you are going to be using a PWM Splitter. Please note this in your read me. I Was using a PWM splitter off of one pin, and because it provides the Victors with less than 5v off of the arduino pin (Right around 3.3 v per Victor). This is not enough to supply a usable PWM signal to the victor. I added 5v to the PWM cable and it worked perfectly. I would venture to guess that the Victor draws from the 5v rail on the PWM cable for extra power if the PWM signal isn't 5v. Or something like that. But please note that you need the 5v Rail if you are are using a PWM splitter.

I fixed this by just setting a pin to HIGH in Void Setup

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.