If you try to present Electronic Speed Controller (ESC) nowadays, you must be impudent or bold. The world of cheap electronic manufacturing is full of regulators with various quality with wide spectrum of functions. Nevertheless friend of mine ask me to design one regulator for him. The input was pretty simple - what can I do, to be able use servo modified to infinite rotation for drive excavator?
(this can be found on my site as well)
Step 1: Intro
I assume, that majority of modellers understand, that cheap model servo can be successfully converted to infinite rotation. In practice it mean only remove mechanical stopper and electronic trimmer for feedback. Once you keep default electronic, you can control servo in meaning of rotation to one or opposite direction, but in practice without possibility to regulate speed of rotation. But when you remove default electronic, we will get DC motor with not that bad gearbox. This motor working with voltage about 4V - 5V and current consumption is about hundreds milliamperes (let us say less than 500mA). Those parameters are crucial especially because we can use common voltage for receiver and for drive. And as a bonus you can see, that it is parameters are very close to motors of kids toys. Then the regulator will be suitable also for cases, we would like to upgrade toy from original bang-bang control to more modern proportional control.
Step 2: Schematic
Because we used the world "cheap" few times; the plan is, to make all device cheap and simple as much as possible. We are working with condition, that motor and regulator are powered from same voltage source, including receiver. We assume, that this voltage will be in range acceptable for usual processors (cca 4V - 5V). Then we must not solve any complicated powering circuits. For signal evaluation we will use common processor PIC12F629. I agree, that nowadays it is old fashion processor, but it is still cheap and easy to buy and it have enough peripherals. Fundamental part in our design is integrated H-bridge (motor driver). I decided to use really cheap one L9110. This H-bridge can be found in various versions including through hole DIL 8, and also SMD SO-08. The price of this bridge is extra positive on the top. When buying single pieces in China, it cost less than $1 including post fee. On the schematic we can found only header for connecting programmer (PICkit and its clones working fine and they are cheap). Next to header we have unusual resistors R1 and R2. They are not so important, until we not start using end stop switches. In case we will have those switches on electronic noisy places, we can limit impact of this electronic noise by adding those resistors. We are going to "extended functions" then. I was informed, that it working fine, but it not fits portal crane, because kids leaving trolley frame hits to end stops until it tears off. Then I was re-used free inputs on programming header to connect end switches. Their connection is also present in schematics. Yes, it is possible to done many enhancements on schematics, but I will leave it on fantasy of every builder.
Step 3: PCB
Printed circuit board is pretty simple. It is designed as little bigger. It is because it is more easy to solder components and also for good cooling. PCB is designed as single side, with SMD processor and H-bridge. PCB contain two wire connections. All board can be soldered on top side (that is designed). Then bottom side remain absolutely flat and can be glue using both side adhesive tape somewhere in model. I use few tricks for this alternative. Wire connections are realized by isolated wires on component side. Connectors and resistors are also soldered on component side of PCB. First trick is, that after soldering I "cut out" all remaining wires using jig saw. Then bottom side is flat enough for use of both side adhesive tape. Because connectors when soldered top side only not fitting well, then second trick is to "drop" them by super-glue. It is only for better mechanical stability. Glue can not be understand as isolation.
Step 4: Software
The occurrence of PICkit header on board have very good reason. Regulator have no own control elements for configuration. Configuration i done in a time, when program is loaded. Speed curve is stored in EEPROM memory of processor. It is stored that first byte mean throttle in position 688µsec (maximum down). Then every next step mean 16µsec. Then middle position (1500µsec) is byte with address 33(hex). Once we are talking about regulator for car, then middle position mean, that motor stops. moving throttle to one direction mean rotation speed increase; moving throttle to opposite direction mean, that rotation speed also increase, but with opposite rotation. Every byte mean exact speed for given throttle position. Speed 00 (hex - as used when programming) mean, that motor stopping. speed 01 mean very slow rotation, speed 02 little faster etc. Do not forget, that it is hex numbers, then row continue 08, 09, 0A, 0B, .. 0F and end with 10. When speed step 10 is given, it is no regulation, but motor is connected directly to power. The situation for opposite direction is similar, only value 80 is added. Then row is like this: 80 (motor stopping), 81 (slow), 82, ... 88, 89, 8A, 8B, ... 8F, 90 (maximum). Of course some values are stored few times, it define optimal speed curve. default curve is linear, but it can be easily changed. same easy, as can be changed the position, where motor is stopping, once transmitter have not good trimmed centre position. Describe how speed curve for air plane should look like is no necessary, this kind of motors as well as regulator is not designed for air planes.
Step 5: Conclusion
The program for processor is very simple. It is only modification of already presented components, then it is no necessary to spend long time with description of functionality.
This is very simple way, how to solve regulator for small motor for example from modified model servo. It is suitable for easy animate models of building machines, tanks, or only upgrade controlling of cars for kids. Regulator is very basic and have no special functions. It is more toy for animate other toys. Simple solution to "daddy, make me remote controlled car like you have". But it doing it well and it already make few kids pleasure.
Step 6: Praview