- Posts: 1433
Devo 8: adding a vibration motor
- rbe2012
-
Topic Author
- Offline
- So much to do, so little time...
Less
More
02 Mar 2013 10:51 #7215
by rbe2012
Devo 8: adding a vibration motor was created by rbe2012
Playing around with the code and the hardware I got the idea to add a vibration motor to my Devo8. The sound is sometimes not loud enough. And the Devo10/7E already have one so I thought the code could easily work for Devo8 also.
Looking at the hardware connections of Devo10 (in the "Articles" section) told me that pin PD2 is used as output. Devo8 does not make use of this pin and I have found nothing connected to it on the board. So I decided to give it a try.
First I wanted to use a simple driver-ic (uln2003) to avoid damage to the mcu when I do something silly. This ic has 7 lines so why not using it for more than PD2? So I looked for some more free gpio pins and found a lot, selecting 7 of them.
Soldering wires to the pins was quite difficult because they are very small (about 0,25mm wide) and there is not many space between them. But with good equipment and a stable hand I got it.
The driver ic gives enough power for a tiny motor. I looked for a little one in my boxes and found a servo where the electronic was dead. The motor seemed to be ideal - small, not much current, working with less than 5V... Cutting a peace of wood, drilling a hole far outside the center and placing it at the motor axis was easy. I simply fastened it with tape at the handhold and tried it directy with the battery - works good, sufficient vibrations to feel them good. Later I will build another weight (surely metal) and place it inside the tx but for now it is good.
Then I soldered the wires correctly (placed a plug in the battery case because I did not want to drill visible holes in the tx case only for testing) - one wire to the output of the driver, the other to VDD (got VDD and GND from an additional header I soldered in the free holes on the left side).
The changes I had to make in the software were really easy: I only had to set the value for "#define HAS_VIBRATING_MOTOR 0" to "1" in target/devo8/target_defs.h. Then opening the tx.ini-file and setting "vibration=1" and I was done!
I have written some easy code to be able to switch vibration off and on without onpening the tx.ini file. I can post it if anybody needs it.
It should work in a similar way in Devo12 but the PD2-pin is used there. So some changes in the code have to be made, but nothing difficult.
Looking at the hardware connections of Devo10 (in the "Articles" section) told me that pin PD2 is used as output. Devo8 does not make use of this pin and I have found nothing connected to it on the board. So I decided to give it a try.
First I wanted to use a simple driver-ic (uln2003) to avoid damage to the mcu when I do something silly. This ic has 7 lines so why not using it for more than PD2? So I looked for some more free gpio pins and found a lot, selecting 7 of them.
Soldering wires to the pins was quite difficult because they are very small (about 0,25mm wide) and there is not many space between them. But with good equipment and a stable hand I got it.
The driver ic gives enough power for a tiny motor. I looked for a little one in my boxes and found a servo where the electronic was dead. The motor seemed to be ideal - small, not much current, working with less than 5V... Cutting a peace of wood, drilling a hole far outside the center and placing it at the motor axis was easy. I simply fastened it with tape at the handhold and tried it directy with the battery - works good, sufficient vibrations to feel them good. Later I will build another weight (surely metal) and place it inside the tx but for now it is good.
Then I soldered the wires correctly (placed a plug in the battery case because I did not want to drill visible holes in the tx case only for testing) - one wire to the output of the driver, the other to VDD (got VDD and GND from an additional header I soldered in the free holes on the left side).
The changes I had to make in the software were really easy: I only had to set the value for "#define HAS_VIBRATING_MOTOR 0" to "1" in target/devo8/target_defs.h. Then opening the tx.ini-file and setting "vibration=1" and I was done!
I have written some easy code to be able to switch vibration off and on without onpening the tx.ini file. I can post it if anybody needs it.
It should work in a similar way in Devo12 but the PD2-pin is used there. So some changes in the code have to be made, but nothing difficult.
- rbe2012
-
Topic Author
- Offline
- So much to do, so little time...
Less
More
- Posts: 1433
06 Mar 2013 16:26 - 06 Mar 2013 16:32 #7432
by rbe2012
Replied by rbe2012 on topic Devo 8: adding a vibration motor
I did a backport to deviation-2.1.1, vibrating active for Devo8 and emu_devo8.
I don't know why but I can not attach the .patch-file.
I try a .zip:
And here the full files, also as .zip:
I don't know why but I can not attach the .patch-file.
I try a .zip:
And here the full files, also as .zip:
Attachment emu_devo8.exe.zip not found
Last edit: 06 Mar 2013 16:32 by rbe2012.
- Mullson
-
- Offline
Less
More
- Posts: 114
06 Mar 2013 22:05 #7440
by Mullson
Replied by Mullson on topic Devo 8: adding a vibration motor
This project is crazy I love it, cudos!
- rbe2012
-
Topic Author
- Offline
- So much to do, so little time...
Less
More
- Posts: 1433
26 Mar 2013 15:51 - 26 Mar 2013 15:54 #8112
by rbe2012
Replied by rbe2012 on topic Devo 8: adding a vibration motor
I have placed the actual nightly build (3930f56) for Devo8 with vibration functionality (and in the tx config a place to switch it on or off)
in the "build" section
.
Last edit: 26 Mar 2013 15:54 by rbe2012.
- syphear
-
- Offline
Less
More
- Posts: 14
04 Apr 2013 09:37 - 04 Apr 2013 09:38 #8499
by syphear
Replied by syphear on topic Devo 8: adding a vibration motor
I like your idea I can't hear the alarm on my radio most of the time either.
I have not had very much to do with electronics such as the innards of a devo8 radio so this may sound noobish.
I gather the MCU is the chip you soldered your single core copper wires to.
Is the output of this chip a voltage that could directly run a tiny vibrating motor like something that's found in a mobile phone or do you need a driver-ic to provide enough power?
I have not had very much to do with electronics such as the innards of a devo8 radio so this may sound noobish.
I gather the MCU is the chip you soldered your single core copper wires to.
Is the output of this chip a voltage that could directly run a tiny vibrating motor like something that's found in a mobile phone or do you need a driver-ic to provide enough power?
Last edit: 04 Apr 2013 09:38 by syphear.
- rbe2012
-
Topic Author
- Offline
- So much to do, so little time...
Less
More
- Posts: 1433
04 Apr 2013 10:06 #8502
by rbe2012
Replied by rbe2012 on topic Devo 8: adding a vibration motor
On the second picture you can see the MCU left (labeled STM32F103) and the driver ic on the right (uln2003).
The MCU can drive some load (I have looked into the data sheet but I could not find anything about this so I assume the power is quite low). So you will have to place an driver ic or an transistor as amplifier in between - if not you risk to burn the MCU...
I have tested a vibrating motor from a LG phone but the vibrations were too small (the tx is relatively heavy compared to a cell phone) and it was not really remarkable. So I took a motor from a burned servo and soldered some weight to the brass gear.
The MCU can drive some load (I have looked into the data sheet but I could not find anything about this so I assume the power is quite low). So you will have to place an driver ic or an transistor as amplifier in between - if not you risk to burn the MCU...
I have tested a vibrating motor from a LG phone but the vibrations were too small (the tx is relatively heavy compared to a cell phone) and it was not really remarkable. So I took a motor from a burned servo and soldered some weight to the brass gear.
- syphear
-
- Offline
Less
More
- Posts: 14
04 Apr 2013 10:29 #8504
by syphear
Replied by syphear on topic Devo 8: adding a vibration motor
Righto I get it now.
I have a small vibrating motor that's on my Hobbyking 720P wingcam that doesn't need to be there so I might use it.
What would you use the other connections for that you soldered to the driver-ic?
I have a small vibrating motor that's on my Hobbyking 720P wingcam that doesn't need to be there so I might use it.
What would you use the other connections for that you soldered to the driver-ic?
- rbe2012
-
Topic Author
- Offline
- So much to do, so little time...
Less
More
- Posts: 1433
04 Apr 2013 11:32 #8506
by rbe2012
Replied by rbe2012 on topic Devo 8: adding a vibration motor
The driver ic I used has 7 in-/outputs so I looked for unused gpio-pins at the MCU in case of needing them later (maybe for switching between different rf-modules or whatever). The pin I used for the vibrating motor is the same as in the Devo7e/10 so the changes to the software were minimized.
Soldering was really not easy, but when I knew how to solder the first wire the rest was much easier (using a magnifier an a really spiky solder tip and being economical with the solder made it possible).
Soldering was really not easy, but when I knew how to solder the first wire the rest was much easier (using a magnifier an a really spiky solder tip and being economical with the solder made it possible).
- RandMental
-
- Offline
Less
More
- Posts: 521
04 Apr 2013 11:56 - 04 Apr 2013 11:57 #8510
by RandMental
If I can give some advice on precision soldering as is required here - the trick here, and with SMD soldering in general, is to use the solder's capillary effect to limit itself to the pin/pad to be soldered, and not flow all over the place. This is one function of solder paste and the resin inside wire solder.
Thus for these fine pitch soldering, put some solder paste on the pin to be soldered and don't rely only on the resin inside the solder wire. Even better, pre-tin the wire properly and you might not even need additional solder, just heat the wire in place on the pin.
Replied by RandMental on topic Devo 8: adding a vibration motor
rbe2012 wrote: Soldering was really not easy, but when I knew how to solder the first wire the rest was much easier (using a magnifier an a really spiky solder tip and being economical with the solder made it possible).
If I can give some advice on precision soldering as is required here - the trick here, and with SMD soldering in general, is to use the solder's capillary effect to limit itself to the pin/pad to be soldered, and not flow all over the place. This is one function of solder paste and the resin inside wire solder.
Thus for these fine pitch soldering, put some solder paste on the pin to be soldered and don't rely only on the resin inside the solder wire. Even better, pre-tin the wire properly and you might not even need additional solder, just heat the wire in place on the pin.
Last edit: 04 Apr 2013 11:57 by RandMental.
- -=Hubi-Dirk=-
-
- Offline
Less
More
- Posts: 221
04 Apr 2013 19:20 #8527
by -=Hubi-Dirk=-
Replied by -=Hubi-Dirk=- on topic Devo 8: adding a vibration motor
I also like to give my feedback because I have already implemented the idea of rbe2012 some time ago. As a vibration motor, I've taken a servo motor of the 4G6 tail servo, the imbalance is a Main Shaft collar with a screw. I have installed the motor with an old servo holder. Then I took a NPN transistor type BD237, which now controlled via pin 83 (PD2) switching the vibration motor. At last I added a 1N4148 as a free-wheeling diode and a 220 Ohm as a base resistor. It works perfect and I never will miss it again. Thanks to rbe2012.
- rbe2012
-
Topic Author
- Offline
- So much to do, so little time...
Less
More
- Posts: 1433
07 Apr 2013 16:14 #8691
by rbe2012
Replied by rbe2012 on topic Devo 8: adding a vibration motor
I have ported the patch to deviation 3.0.0. You can get it from my repo (
rbe2012/deviation-rbe-vibrating
).
The zip-file is placed in the build-section ( see here ).
The zip-file is placed in the build-section ( see here ).
- -=Hubi-Dirk=-
-
- Offline
Less
More
- Posts: 221
07 Apr 2013 17:32 #8693
by -=Hubi-Dirk=-
Replied by -=Hubi-Dirk=- on topic Devo 8: adding a vibration motor
- domcars0
-
- Offline
Less
More
- Posts: 390
07 Apr 2013 19:06 - 07 Apr 2013 19:52 #8706
by domcars0
Devo 10 (+7e) owner. It's mine, please don't touch it with your big fingers
Replied by domcars0 on topic Devo 8: adding a vibration motor
I do not have a Devo8s but I think it will be easier to solder the 220 Ohms base resistor to the spot surrounded by red ....
[EDIT] Photo removed, read the next post ....
[EDIT] Photo removed, read the next post ....
Devo 10 (+7e) owner. It's mine, please don't touch it with your big fingers
Last edit: 07 Apr 2013 19:52 by domcars0.
- -=Hubi-Dirk=-
-
- Offline
Less
More
- Posts: 221
07 Apr 2013 19:48 #8710
by -=Hubi-Dirk=-
Replied by -=Hubi-Dirk=- on topic Devo 8: adding a vibration motor
- domcars0
-
- Offline
Less
More
- Posts: 390
07 Apr 2013 19:51 #8711
by domcars0
Devo 10 (+7e) owner. It's mine, please don't touch it with your big fingers
Replied by domcars0 on topic Devo 8: adding a vibration motor
Oh yes I see!! Sorry, so it's not so easy
Devo 10 (+7e) owner. It's mine, please don't touch it with your big fingers
- saidem
-
- Offline
Less
More
- Posts: 216
29 Jun 2014 19:55 #24299
by saidem
Replied by saidem on topic Devo 8: adding a vibration motor
hI
I would pass my devo tx 8S with deviation and put in a few months the vibrator, can you tell me what versions I have to take?
In advance thanks
I would pass my devo tx 8S with deviation and put in a few months the vibrator, can you tell me what versions I have to take?
In advance thanks
- mabxhrc
-
- Offline
- At each flight, a new brain connection...
Less
More
- Posts: 8
27 Oct 2015 17:12 #39254
by mabxhrc
Replied by mabxhrc on topic Devo 8: adding a vibration motor
Sorry for digging up this topic but ... the current firmware version allows you to install and activate the vibration motor?
Thank you.
Thank you.
- saidem
-
- Offline
Less
More
- Posts: 216
27 Oct 2015 19:51 #39259
by saidem
Replied by saidem on topic Devo 8: adding a vibration motor
If it is a question, I think yes it is supported by the version 4.0.1. If it is not I think by nighties that's OK. Personally, I put the V4.0.1 3b623a8 nighty and that's OK.
- mabxhrc
-
- Offline
- At each flight, a new brain connection...
Less
More
- Posts: 8
27 Oct 2015 21:31 #39261
by mabxhrc
Replied by mabxhrc on topic Devo 8: adding a vibration motor
saindem, thank you.
Ok, so, would you please describe what need to be made to activate this feature? I need do edit some kind of file?
Cheers!
Ok, so, would you please describe what need to be made to activate this feature? I need do edit some kind of file?
Cheers!
- mwm
-
- Offline
27 Oct 2015 21:46 #39262
by mwm
Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.
My remotely piloted vehicle ("drone") is a yacht.
Replied by mwm on topic Devo 8: adding a vibration motor
On the transmitter running the nightly build (this won't work for 4.0.1), edit hardware.ini (do NOT use Notepad on Windows - it's a Unix-formatted file, and you want to preserve that) and delete the semicolon at the start of the line that reads "enable-haptic=1". Make sure you eject the disk before switching the Tx off or out of USB mode.
Do not ask me questions via PM. Ask in the forums, where I'll answer if I can.
My remotely piloted vehicle ("drone") is a yacht.
Time to create page: 0.409 seconds