Projects that start bumping into these issues may benefit from serial bus servos. They are mechanically similar to the RC hobby servos we all know and love: a gearmotor coupled to a position sensor for closed-loop feedback. Where they differ is the control scheme, communicating with our controller using TTL serial.
All servos are electrically wired in parallel (with each other and the controller) turning a serial line into a serial bus. While serial communication is usually between two endpoints, the servo control protocols are designed so it is unambiguous which device is talking. Everyone playing nicely together on a shared serial bus avoids data collisions and lets them solve the problems outlined above.
Turnigy Servo Driver For Mac
The Dynamixel line from Robotis is the most established product in this market. It can be found in many projects on Hackaday.io and elsewhere, by hobbyists and research labs alike. Dynamixel has robust documentation and software support, from low-level serial command reference to high level third-party libraries like pypot. AX-12A is the entry-level product to a large product line, so there are plenty of upgrade options if a project should outgrow its servo. AX-12A communicates via half-duplex serial where the transmit and receive lines are combined into a single wire. We need to either build our own circuit to set up a Dynamixel serial bus, or buy an adapter like the U2D2.
CAN sounds a great way to go, albeit relatively expensive. What servos are out there today that support CAN at a reasonable price? Other protocols such as LIN or, for long distances, plain RS485, may be cheaper and good enough. Also wireless protocols such as Bluetooth or Wifi are very cheap these days. Although it may seem crazy overcomplicated, UDP over wifi using ESP8266 modules would be cheap and easy.
It is quite easy to convert any analog RC servo to serial. I have done it on a couple. You simply remove the servo controller board and bring the two motor leads and three feedback pot leads to a small microcontroller board (say an attiny) and a cheap H bridge driver. Analog in from the pot and 2 gpio controlling the H bridge and a little software does it. Of course it would be great to make it small enough to fit in the servo case but a small external module is usually no issue. I seem to remember that there was a project for an open servo controller board that could fit in the case of a standard RC servo but I am not sure it is stl around,
So I touched briefly on the motor and control surfaces (aileron, elevator, rudder, etc.) The motor is part of the propulsion system which consists of the motor, propeller, electronic speed controller (ESC), and battery. The control surfaces are actuated by servos. Now lets talk a little bit more about each component.
Here you see that the battery is connected to the ESC, then the ESC is connected to the motor. The ESC is also connected to, and powers, the receiver. When the RX receives a throttle command from the TX, it will relay those commands through the ESC to the motor. The RX can also provide power to the servos. We will go into greater depth on the ESC in a later post getting into pulse width modulation and all sorts of fun stuff!
Servo: The servos control various things in RC vehicles. The most common however are control surfaces such as elevator, rudder, and ailerons. They come in ranges of cost and quality. Their main function is to convert electrical energy into torque, torque that is then used to move something. They are categorized by they weight and torque per unit length. Each servo connects to the receiver in a specific channel. For example channel 1 is usually for the ailerons, channel 2 for the elevator, and channel 4 for the rudder. When the operator moves the stick, the servo will produce torque proportionally, moving the control surface.
The box contains the main control module, IMU module, GPS unit, LED unit, PMU, 2 male to male servo cables, a USB programming cable, 3 sizes of carbon rods to mount the GPS unit and some mounting accessories.
If your copter has retractable landing gear like the S800 Evo, you can use this function. In a situation such as failsafe, motor out, or auto landing from failsafe, the landing gear will automatically move to the down position so you don't land on your camera and gimbal. The landing gear will not retract up until you take off and move 5M above the take off altitude. This is great and saves your servos if you accidentally hit the switch before you take off.
The Gimbal function allows you to connect a 2-axis servo-driven gimbal to the flight board. The flight board will try to keep the gimbal level in pitch and roll and also gives you manual control to move the gimbal in pitch to point the camera where you want it. This function works ok for FPV use, but if you're wanting to shoot high quality video, it's best to use a Zenmuse or other quality brushless gimbal system.
The Bluetooth/LED Module can be mounted anywhere also but you'll want to put it somewhere that you will have decent visual access to during your flights. The LED lights will provide valuable information such as the number of GPS satellites acquired, flight mode, and battery status. On the S800 Evo, I chose to mount the module on one of the retract servos facing the rear. This gives me a great visual of the unit on the ground before take off and while in the air.
If you don't feel like taking your computer to the field to fly and change parameters, you are in luck. DJI has a mobile application on iOS simply called DJI Assistant. You can find it on the iPhone app store. There is not an iPad version out currently, but the iPhone version still works and looks good with the 2X magnification on an iPad. The app connects to the flight board via Bluetooth and it allows you to change parameters wirelessly. No need for cables or computer drivers, it just works. The best part is that you can adjust the gain while flying. Of course you'll want to have a helper for this, but you can quickly tune the gains to suit your tastes in a matter of minutes.
Unlike a regular old DC motor, brushless motors require an electronic controller to commutate the motor. The methods by which they do this differ, but it commonly boils down to whether or not the motor has Hall Effect sensors placed strategically in the windings to sense the magnet rotor's position so the controller knows which coils to switch. Other strategies include position encoder wheels, but the Hall sensor is by far the most prevalent in small motors. The vast majority of model motors are sensorless That's the first rule to keep in mind. Because the load experienced by an aircraft increases predictably with speed, and is zero at zero speed, pretty much all aircraft motors (especially outrunners) are just spinning rings of magnets on a stick. That is why they can be made so cheaply. Industrial motors for general motion control like servo systems and robots and whatnot need to deal with constantly varying and transient loads, so they therefore have some kind of feedback built in already. Usually, the only model motors that come with sensors built in are small R/C car and truck motors like this .Sensored control, the fundamental method In a sensored motor (and associated controller), there are generally three sensors positioned at 120 or 60 electrical degrees apart in the motor that output a 3-bit Gray-like position code. The placement of these sensors depends on the winding configuration, number of slots, and number of magnet poles. For more information on how and why this works, see my hub motor instructable . The advantage of sensored commutation is that the controller always knows where the motor is. Therefore, sensored motors usually have low-speed and stall characteristics more like a classic DC motor. Sensored commutation has its downsides - sensor failure or glitchiness could mean the motor controller stops running the motor. Most inexpensive industrial and commercial controllers, even EV controllers, are just governed by a state table whose input is the 3 Hall sensors, and so sensor failure would mean an erroneous output and non-running motor. There is also the issue of finding the correct combination of Hall sensor leads and motor phase outputs - up to 12 possible ways of matching them together, if your motor doesn't come with a controller. Finicky details aside, sensored commutation is the way to achieve consistent stall- and low-speed behavior, and "real" vehicle controllers are usually sensor-commutated.Sensorless control, i.e. R/C speed controllers A sensorless controller has to detect the position of the rotor through some other means. The most common method is to randomly bump the motor (drive two phases) and observe the back-EMF, or generated voltage, profile on the third phase. The slope of the BEMF dictates which direction the motor moved in, and therefore which coils to switch next. Sensorless commutation uses more sophisticated position state estimators which have to have some speed feedback to "pick up". In other words, sensorless motors can't technically move without being already moving. This clearly poses a quandary for vehicles and other inertial loads. If the initial "bump" is not strong enough, the motor will not move enough to generate a meaningful voltage pulse. For viscous loads like a propeller (load proportional to speed), this is not a problem at all. Therefore, the vast majority of R/C controllers are sensorless. Sensored ones do exist - again, for cars and trucks, which as you might guess, are just like tiny versions of EVs you personally ride, an inertial load. Sensorless controls for cars and trucks are also commonplace, since modern motors are powerful enough that a pulse on the phases is enough to move a small model. The biggest implication of sensorless control is the dubious availability of stall torque. This makes the torque equation presented two pages ago a little misleading. You will generally not be able to stand on a vehicle and challenge someone to a drag race. Sensorless vehicles, especially those using R/C parts, will need to be "kicked off" or push started .Sensor Augmentation The only real difference between a sensored motor an a sensorless motor is... sensors . You can actually take any common R/C outrunner and add Hall Effect sensors to use them with EV traction controllers. Numerous ways exist to append sensor feedback onto your motor: I cover installing sensors within the windings (inside the motor) on my hub motor Instructable; and here are twoways people have used externally mounted sensors. You would end up with an additional 5 wire harness coming out of the motor, comprising three Hall sensor outputs, logic power, and logic ground. Hall sensors are typically "open collector" i.e. they can only sink current. Controllers have internal pull-up resistors built in, so there's generally no need to internally pull the Hall sensor output to the logic rail. However, power supply decoupling capacitors placed right at the Hall sensor leads seem to be helpful. The Hall cable should not be routed parallel or immediately next to the phase conductors, since the high switching currents in the phase wires can cause induced noise problems with the sensor cable.Update June 2013: Outrunner Hall Sensor appendages I hate to plug myself usually, but in the past few months, I've successfully developed and am currently selling a line of Hall Sensor Boards and Hall Sensor Mounts sized to several of the typical outrunner suspects. Placed externally, they allow a sensored-only motor controller to drive these motors. See the boards and mounts on Equals Zero Designs. I designed these specifically as a "stock solution" for everyone asking me how to add sensors to your outrunners! 2ff7e9595c
Comments