[PD] electro-mechanical piano (player piano) - Arduino, Solenoid Issue

Epic Jefferson jeffreyconcepcion at gmail.com
Thu Aug 8 23:59:22 CEST 2013


it works! i had forgotten to ground the arduino to the circuit. Here's the
circuit.[image: Inline image 1]

2 practical maker pwmshields > Arduino's 5 volts through PNP 4403
transistors > TIP102 transistors to drive the solenoids with ~18 volts. I
still have to check the resistors because I'm only getting about 4 or 5
volts at the end (it drives the motor but not the solenoids). Getting
closer.

If anyone's interested, I'll be posting photos and updates on twitter and
fb as 'Epic Jefferson'. Full documentation will be released a bit later.

Thanks again, you guys are the greatest. Special thanks to Charles Goyard
for the PNP tip.


On Wed, Aug 7, 2013 at 8:21 PM, Martin Peach <martin.peach at sympatico.ca>wrote:

> It depends on the colour and the LED technology. The energy of red light
> is about 1.5eV and blue is 3eV. Add to that internal resistance of the
> device. An ordinary diode (not a LED) emits infrared around .6eV, which is
> the voltage drop of a silicon junction.
>
> Martin
>
>
> On 2013-08-07 20:02, Ed Kelly wrote:
>
>> Oh, thanks.
>>
>> That was dumb I didn't remember that!
>>
>> Is it really 2 volts drop for an LED? I should know this stuff...
>> Ed
>> Ninja Jamm - a revolutionary new music remix app from Ninja Tune and
>> Seeper, for iPhone and iPad
>> http://www.ninjajamm.com/
>>
>>
>> Gemnotes-0.2: Live music notation for Pure Data, now with dynamics!
>> http://sharktracks.co.uk/
>>
>>     ------------------------------**------------------------------**
>> ------------
>>     *From:* Mikael Fernström <mikael.fernstrom at ul.ie>
>>     *To:* Ed Kelly <morph_2016 at yahoo.co.uk>
>>     *Cc:* Charles Z Henry <czhenry at gmail.com>; Epic Jefferson
>>     <jeffreyconcepcion at gmail.com>; pd-list <pd-list at iem.at>
>>     *Sent:* Thursday, 8 August 2013, 0:26
>>     *Subject:* Re: [PD] electro-mechanical piano (player piano) -
>>
>>     Arduino, Solenoid Issue
>>
>>     note that you have to subtract the voltage drop over the LED, hence
>>     it's R = (Vsupply - Vled)/ Iled, e.g. (5-2)/0.02 = 150 Ohm
>>
>>     /Mikael
>>
>>
>>     On 8 Aug 2013, at 00:19, Ed Kelly <morph_2016 at yahoo.co.uk
>>     <mailto:morph_2016 at yahoo.co.uk**>> wrote:
>>
>>      Check Ohm's law.
>>>
>>>     V=IR, so the resistor you choose is the voltage you provide to the
>>>     LED divided by the current it draws.
>>>
>>>     e.g. if the LED draws 20mA and you power it from 5V, then the
>>>     resistor you need is 5/0.02 = 250 ohms in series with the LED.
>>>     This current is drawn from the positive voltage supply through the
>>>     resistor and then the LED, and then the transistor.
>>>
>>>     This is a fairly good tutorial:
>>>     http://www.ehobbycorner.com/**pages/tut_transistors.html<http://www.ehobbycorner.com/pages/tut_transistors.html>
>>>     Ninja Jamm - a revolutionary new music remix app from Ninja Tune
>>>     and Seeper, for iPhone and iPad
>>>     http://www.ninjajamm.com/
>>>
>>>
>>>     Gemnotes-0.2: Live music notation for Pure Data, now with dynamics!
>>>     http://sharktracks.co.uk/
>>>
>>>         ------------------------------**------------------------------**
>>> ------------
>>>         *From:* Charles Z Henry <czhenry at gmail.com
>>>         <mailto:czhenry at gmail.com>>
>>>         *To:* Epic Jefferson <jeffreyconcepcion at gmail.com
>>>         <mailto:jeffreyconcepcion@**gmail.com<jeffreyconcepcion at gmail.com>
>>> >>
>>>         *Cc:* pd-list <pd-list at iem.at <mailto:pd-list at iem.at>>
>>>         *Sent:* Wednesday, 7 August 2013, 20:41
>>>         *Subject:* Re: [PD] electro-mechanical piano (player piano) -
>>>
>>>         Arduino, Solenoid Issue
>>>
>>>         On Wed, Aug 7, 2013 at 12:05 AM, Epic Jefferson
>>>         <jeffreyconcepcion at gmail.com
>>>         <mailto:jeffreyconcepcion@**gmail.com<jeffreyconcepcion at gmail.com>>>
>>> wrote:
>>>
>>>             Hey Charles,
>>>
>>>             it seems like this might work. i got some pnp transistors
>>>             and built the circuit from julianvogels site.
>>>             The only problem is that the LED on the test circuit
>>>             barely lit up. I think it's because the transistors are
>>>             not for 20mA, none were available. i'll check another
>>>             electronics store to see if i find some.
>>>
>>>
>>>         I think you just need smaller resistors.  Every transistor in
>>>         a 3-pin package I've ever seen could run 20mA or much
>>>         greater.  Swapping the transistors will have no effect on the
>>>         amount of current.
>>>
>>>         Chuck
>>>
>>>
>>>                 There are two ways to solve your problem:
>>>
>>>                 The proper one is to use PNP transistors or P-channel
>>>                 mosfets (remember
>>>                 I already told you about that ? :))
>>>
>>>                 See this document, you can find the wiring at the end:
>>>                 http://julianvogels.de/wp-**content/uploads/2013/06/**
>>> stromkreis_**transistorschaltung_final-**1024x627.png<http://julianvogels.de/wp-content/uploads/2013/06/stromkreis_transistorschaltung_final-1024x627.png>
>>>
>>>                 http://julianvogels.de/**extending-pwm-output-pins-**
>>> with-a-texas-instruments-**tlc5940-led-driver/<http://julianvogels.de/extending-pwm-output-pins-with-a-texas-instruments-tlc5940-led-driver/>
>>>
>>>
>>>                 The good enough one is to put a pull-up resistor (10k
>>>                 works) on every
>>>                 NPN transistor base, and use the TLC as a pull down.
>>>                 In this case, the
>>>                 on-time on the TLC corresponds to the off-time on the
>>>                 solenoid. Also
>>>                 when the arduino reboots and every time the BLANK is
>>>                 issued, every
>>>                 solenoid will act for a veeeeery short time. This can
>>>                 be a big problem
>>>                 in your project. I did this for a 96 channels
>>>                 motor+led strip system,
>>>                 and I regret not using PNPs instead.
>>>
>>>
>>>                 Enjoy,
>>>
>>>                 --
>>>                 Charles
>>>
>>>
>>>
>>>                 Epic Jefferson wrote:
>>>                 > Hey guys,
>>>                 >
>>>                 > updating on this project. I got the pwm shields and
>>>                 i've hit a wall. The
>>>                 > driver circuit I'm using to control the solenoids
>>>                 via arduino is this one
>>>                 > from instructables
>>>                 >
>>>                 (link<http://www.**instructables.com/id/**
>>> Controlling-solenoids-with-**arduino/<http://www.instructables.com/id/Controlling-solenoids-with-arduino/>
>>> )>)
>>>                 > and
>>>                 > it uses a single pin to control the pwm signal.
>>>                 >
>>>                 > The pwm shield
>>>                 (link<http://www.**practicalmaker.com/products/**
>>> arduino-shields/pwm-shield-**assembled<http://www.practicalmaker.com/products/arduino-shields/pwm-shield-assembled>
>>> >)
>>>                 > is
>>>                 > based on the tlc5940 which requires each pin to have
>>>                 it's own ground
>>>                 > instead of a common ground across all drivers. This
>>>                 is a problem because
>>>                 > all of the information i've found suggest that the
>>>                 signal from the pin
>>>                 > controls the gate (transistor - TIP102). But i
>>>                 think, in the case of the
>>>                 > tlc5940, the 5v supply is constant and the ground is
>>>                 being controlled,
>>>                 > that's why it works perfectly for LED's but seems to
>>>                 be ill suited for this
>>>                 > circuit.
>>>                 >
>>>                 > Any suggestions on how to modify the instructables
>>>                 circuit for use with the
>>>                 > shields? or would the circuit have to completely
>>> change?
>>>
>>>                 ______________________________**_________________
>>>                 Pd-list at iem.at <mailto:Pd-list at iem.at> mailing list
>>>
>>>                 UNSUBSCRIBE and account-management ->
>>>                 http://lists.puredata.info/**listinfo/pd-list<http://lists.puredata.info/listinfo/pd-list>
>>>
>>>
>>>
>>>
>>>             --
>>>             www.epicjefferson.com <http://www.epicjefferson.com/**>
>>>             www.avmachinists.org <http://www.avmachinists.org/> Puerto
>>>
>>>             Rico based Art Collective/ Non-Profit Org
>>>
>>>             ______________________________**_________________
>>>             Pd-list at iem.at <mailto:Pd-list at iem.at> mailing list
>>>
>>>             UNSUBSCRIBE and account-management ->
>>>             http://lists.puredata.info/**listinfo/pd-list<http://lists.puredata.info/listinfo/pd-list>
>>>
>>>
>>>
>>>         ______________________________**_________________
>>>         Pd-list at iem.at <mailto:Pd-list at iem.at> mailing list
>>>
>>>         UNSUBSCRIBE and account-management ->
>>>         http://lists.puredata.info/**listinfo/pd-list<http://lists.puredata.info/listinfo/pd-list>
>>>
>>>
>>>     ______________________________**_________________
>>>     Pd-list at iem.at <mailto:Pd-list at iem.at> mailing list
>>>
>>>     UNSUBSCRIBE and account-management ->
>>>     http://lists.puredata.info/**listinfo/pd-list<http://lists.puredata.info/listinfo/pd-list>
>>>
>>
>>
>>
>>
>>
>> ______________________________**_________________
>> Pd-list at iem.at mailing list
>> UNSUBSCRIBE and account-management -> http://lists.puredata.info/**
>> listinfo/pd-list <http://lists.puredata.info/listinfo/pd-list>
>>
>>
>
> ______________________________**_________________
> Pd-list at iem.at mailing list
> UNSUBSCRIBE and account-management -> http://lists.puredata.info/**
> listinfo/pd-list <http://lists.puredata.info/listinfo/pd-list>
>



-- 
www.epicjefferson.com
www.avmachinists.org Puerto Rico based Art Collective/ Non-Profit Org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20130808/33678485/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/jpeg
Size: 356906 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20130808/33678485/attachment-0001.jpeg>


More information about the Pd-list mailing list