Hey guys,
I've had progress building an Arduino-powered solenoid system for a controlling a piano's hammer mechanism (removing the keys) via pd. So far I've found the solenoid I want to use. [image: Inline image 1] Does any one have experience daisy-chaining arduinos (or arduino mega's) to get more pwm pins, while using just one usb connection for controlling via pd?
Are you sure you need PWM pins? You'll definitely be paying for more *duinos if you are just using those. If I were you, I'd think of another way to deliver a variable impulse to the hammers.
Chuck
On Tue, Jun 25, 2013 at 3:43 PM, Epic Jefferson <jeffreyconcepcion@gmail.com
wrote:
Hey guys,
I've had progress building an Arduino-powered solenoid system for a controlling a piano's hammer mechanism (removing the keys) via pd. So far I've found the solenoid I want to use. [image: Inline image 1] Does any one have experience daisy-chaining arduinos (or arduino mega's) to get more pwm pins, while using just one usb connection for controlling via pd?
-- www.epicjefferson.com
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
maybe this could help you. http://algo.mur.at/projects/microcontroller this is developed by winfried ritsch, who realised really fast responding automated pianos with these.
peter
Am 25.06.13 22:53, schrieb Charles Z Henry:
Are you sure you need PWM pins? You'll definitely be paying for more *duinos if you are just using those. If I were you, I'd think of another way to deliver a variable impulse to the hammers.
Chuck
On Tue, Jun 25, 2013 at 3:43 PM, Epic Jefferson <jeffreyconcepcion@gmail.com
wrote:
Hey guys,
I've had progress building an Arduino-powered solenoid system for a controlling a piano's hammer mechanism (removing the keys) via pd. So far I've found the solenoid I want to use. [image: Inline image 1] Does any one have experience daisy-chaining arduinos (or arduino mega's) to get more pwm pins, while using just one usb connection for controlling via pd?
-- www.epicjefferson.com
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi...
It's not really the subject because we didn't use Pd for the this version... But we've done a piano player with 48 servo engine (HS-422 from Hitec) controlled by I2C with a 3 PCA9685 and a Raspberry Pi. This one from Adafruit ( http://www.adafruit.com/products/815 ) can be used with an Arduino.
Cheers
01ivier
Le 25.06.2013 23:23, Peter Venus a écrit :
maybe this could help you. http://algo.mur.at/projects/microcontroller this is developed by winfried ritsch, who realised really fast responding automated pianos with these.
peter
Am 25.06.13 22:53, schrieb Charles Z Henry:
Are you sure you need PWM pins? You'll definitely be paying for more *duinos if you are just using those. If I were you, I'd think of another way to deliver a variable impulse to the hammers.
Chuck
On Tue, Jun 25, 2013 at 3:43 PM, Epic Jefferson <jeffreyconcepcion@gmail.com
wrote:
Hey guys,
I've had progress building an Arduino-powered solenoid system for a controlling a piano's hammer mechanism (removing the keys) via pd. So far I've found the solenoid I want to use. [image: Inline image 1] Does any one have experience daisy-chaining arduinos (or arduino mega's) to get more pwm pins, while using just one usb connection for controlling via pd?
-- www.epicjefferson.com
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Your might want to take a look at the TLC 5940. It's a led-driving chip with 16 pwm outputs. Chips are daisy-chainable, and there is an arduino library. https://www.sparkfun.com/products/10136
On 25/06/2013 22:53, Charles Z Henry wrote:
Are you sure you need PWM pins? You'll definitely be paying for more *duinos if you are just using those. If I were you, I'd think of another way to deliver a variable impulse to the hammers.
Chuck
On Tue, Jun 25, 2013 at 3:43 PM, Epic Jefferson <jeffreyconcepcion@gmail.com mailto:jeffreyconcepcion@gmail.com> wrote:
Hey guys, I've had progress building an Arduino-powered solenoid system for a controlling a piano's hammer mechanism (removing the keys) via pd. So far I've found the solenoid I want to use. Inline image 1 Does any one have experience daisy-chaining arduinos (or arduino mega's) to get more pwm pins, while using just one usb connection for controlling via pd? -- www.epicjefferson.com <http://www.epicjefferson.com> _______________________________________________ Pd-list@iem.at <mailto:Pd-list@iem.at> mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi,
this is largely off-topic, but there you go :)
Epic Jefferson wrote:
I've had progress building an Arduino-powered solenoid system for a controlling a piano's hammer mechanism (removing the keys) via pd. So far I've found the solenoid I want to use.
With solenoids you will not get velocity (or at least, not reliably). You're better off with motors (servos come to mind, see Olivier Baudu's message). Maybe you don't care about velocity :).
You can just use some serial-in/parallel out devices (also called demultiplexers and shift registers) like the 74HC595. They are made to be daisy-chained by wagons.
For the power stage you can use small relays or piggyback some ULN2803A (5V ttl compatible, saves a resistor per channel) to get the rated amp power.
See http://www.arduino.cc/en/Tutorial/ShiftOut as a starting point.
You can ask off-list if you wish, or hire me :)
Enjoy, Charles
On 2013-06-26 03:51, Charles Goyard wrote:
Hi,
this is largely off-topic, but there you go :)
Epic Jefferson wrote:
I've had progress building an Arduino-powered solenoid system for a controlling a piano's hammer mechanism (removing the keys) via pd. So far I've found the solenoid I want to use.
With solenoids you will not get velocity (or at least, not reliably).
You can vary the on-time of the solenoid to get velocity.
Martin
Charles Z Henry & batinste: I need the project to be pd controlled, i could try multiplexing but i haven't found info yet on how to control multiplexed pins via pd.
Peter Venus: i've been in contact with Winfried, and was about to purchase one of his older systems but haven't heard from him in a while. Working on plan B.
Olivier: that was good work but again, pd is a must and servos are extremely loud.
Charles Goyard: i've been able to control solenoid velocity with pwm via pd, this is also how Winfried does it. Also, motors are way too loud, as I told Olivier. That's why i'm investigating daisy chaining the arduinos, i'm basically emulating Winfried's system, but replacing his Escher micro-controller with arduino Mega's.
That is one of the many cases where my advice would be : don't use firmata/pduino. Program the arduino for real. Use a basic custom protocol over the serial link, and talk to the arduino with [comport]. You'd spend much more time trying to get it to work with firmata/pduino than programming the 'duino and let it do the real work instead of clogging your serial port.
On 26/06/2013 16:56, Epic Jefferson wrote:
Charles Z Henry & batinste: I need the project to be pd controlled, i could try multiplexing but i haven't found info yet on how to control multiplexed pins via pd.
Peter Venus: i've been in contact with Winfried, and was about to purchase one of his older systems but haven't heard from him in a while. Working on plan B.
Olivier: that was good work but again, pd is a must and servos are extremely loud.
Charles Goyard: i've been able to control solenoid velocity with pwm via pd, this is also how Winfried does it. Also, motors are way too loud, as I told Olivier. That's why i'm investigating daisy chaining the arduinos, i'm basically emulating Winfried's system, but replacing his Escher micro-controller with arduino Mega's.
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Dunno if it helps, but I messed around with multiplexing and arduino some time ago and finally got it to work. You can check the arduino sketch and pd patch here http://puredata.hurleur.com/sujet-8867-arduino-multiplexers-solved This is only for reading multiplexed pins though, not for writing, but I could use it to light LEDs one at a time sending a number from 0 to 15 to [comport].
On Wed, Jun 26, 2013 at 9:00 PM, batinste dwanafite@yahoo.fr wrote:
That is one of the many cases where my advice would be : don't use firmata/pduino. Program the arduino for real. Use a basic custom protocol over the serial link, and talk to the arduino with [comport]. You'd spend much more time trying to get it to work with firmata/pduino than programming the 'duino and let it do the real work instead of clogging your serial port.
On 26/06/2013 16:56, Epic Jefferson wrote:
Charles Z Henry & batinste: I need the project to be pd controlled, i could try multiplexing but i haven't found info yet on how to control multiplexed pins via pd.
Peter Venus: i've been in contact with Winfried, and was about to purchase one of his older systems but haven't heard from him in a while. Working on plan B.
Olivier: that was good work but again, pd is a must and servos are extremely loud.
Charles Goyard: i've been able to control solenoid velocity with pwm via pd, this is also how Winfried does it. Also, motors are way too loud, as I told Olivier. That's why i'm investigating daisy chaining the arduinos, i'm basically emulating Winfried's system, but replacing his Escher micro-controller with arduino Mega's.
_______________________________________________Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
I once hacked together a small Arduino firmware and corresponding Pd abstraction, that does just that. You send the pin number and the duty cycle and the firmware manages the timing of the duty cycle. The advantage is that the timing is much more precise compared to sending both on and off commands over the serial link. This might allow for some velocity control. The abstraction and firmware does not address multiplexing/daisy chaining. But probably it is still useful as a starter.
Roman
P.S.: I haven't the had the chance to really test the help-patch. Just rant if something is not working as expected or unclear.
On Mit, 2013-06-26 at 20:00 +0200, batinste wrote:
That is one of the many cases where my advice would be : don't use firmata/pduino. Program the arduino for real. Use a basic custom protocol over the serial link, and talk to the arduino with [comport]. You'd spend much more time trying to get it to work with firmata/pduino than programming the 'duino and let it do the real work instead of clogging your serial port.
On 26/06/2013 16:56, Epic Jefferson wrote:
Charles Z Henry & batinste: I need the project to be pd controlled, i could try multiplexing but i haven't found info yet on how to control multiplexed pins via pd.
Peter Venus: i've been in contact with Winfried, and was about to purchase one of his older systems but haven't heard from him in a while. Working on plan B.
Olivier: that was good work but again, pd is a must and servos are extremely loud.
Charles Goyard: i've been able to control solenoid velocity with pwm via pd, this is also how Winfried does it. Also, motors are way too loud, as I told Olivier. That's why i'm investigating daisy chaining the arduinos, i'm basically emulating Winfried's system, but replacing his Escher micro-controller with arduino Mega's.
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Alexandros and Roman: Thanks, i'll check both of your suggestions. I'll let you know how it goes.
I also just ordered a Practical Maker PWM shield for arduino UNO. 1 shield gives you 32 pwm pins and they're stackable, up to 6 without the need for an external power supply. http://www.practicalmaker.com/products/arduino-shields/pwm-shield-assembled
On Wed, Jun 26, 2013 at 5:58 PM, Roman Haefeli reduzent@gmail.com wrote:
I once hacked together a small Arduino firmware and corresponding Pd abstraction, that does just that. You send the pin number and the duty cycle and the firmware manages the timing of the duty cycle. The advantage is that the timing is much more precise compared to sending both on and off commands over the serial link. This might allow for some velocity control. The abstraction and firmware does not address multiplexing/daisy chaining. But probably it is still useful as a starter.
Roman
P.S.: I haven't the had the chance to really test the help-patch. Just rant if something is not working as expected or unclear.
On Mit, 2013-06-26 at 20:00 +0200, batinste wrote:
That is one of the many cases where my advice would be : don't use firmata/pduino. Program the arduino for real. Use a basic custom protocol over the serial link, and talk to the arduino with [comport]. You'd spend much more time trying to get it to work with firmata/pduino than programming the 'duino and let it do the real work instead of clogging your serial port.
On 26/06/2013 16:56, Epic Jefferson wrote:
Charles Z Henry & batinste: I need the project to be pd controlled, i could try multiplexing but i haven't found info yet on how to control multiplexed pins via pd.
Peter Venus: i've been in contact with Winfried, and was about to purchase one of his older systems but haven't heard from him in a while. Working on plan B.
Olivier: that was good work but again, pd is a must and servos are extremely loud.
Charles Goyard: i've been able to control solenoid velocity with pwm via pd, this is also how Winfried does it. Also, motors are way too loud, as I told Olivier. That's why i'm investigating daisy chaining the arduinos, i'm basically emulating Winfried's system, but replacing his Escher micro-controller with arduino Mega's.
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management ->
http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Epic Jefferson wrote:
Alexandros and Roman: Thanks, i'll check both of your suggestions. I'll let you know how it goes.
I also just ordered a Practical Maker PWM shield for arduino UNO. 1 shield gives you 32 pwm pins and they're stackable, up to 6 without the need for an external power supply. http://www.practicalmaker.com/products/arduino-shields/pwm-shield-assembled
Beware that you'll need PNP transistor for the power stage, or you'll get small bumps when the TLCs go BLANK each cycle.
Charles: Yeah, we're building custom drivers for the solenoids and we built a 30v power supply as well.
On Thu, Jun 27, 2013 at 4:43 PM, Charles Goyard cg@fsck.fr wrote:
Epic Jefferson wrote:
Alexandros and Roman: Thanks, i'll check both of your suggestions. I'll let you know how it
goes.
I also just ordered a Practical Maker PWM shield for arduino UNO. 1
shield
gives you 32 pwm pins and they're stackable, up to 6 without the need for an external power supply.
http://www.practicalmaker.com/products/arduino-shields/pwm-shield-assembled
Beware that you'll need PNP transistor for the power stage, or you'll get small bumps when the TLCs go BLANK each cycle.
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Roman, I tested your [solenoiduino] patch and it doesn't quite do what i expected. But i think i can expand on this idea.
So, right now you send the pin number and the amount of ms you want it to be HIGH, but what if you don't know how long it will be? for instance a live performance situation. Using this technique you can send a short pulse to achieve some dynamic control, but you can't hold a piano key down, for example, because the pulses will always be full power.
I need to check if I can modify the solenoiduino firmware to receive the second byte as 'velocity' instead of 'duty cycle' and use that for pwm control. I'll let you know how it goes.
On Thu, Jun 27, 2013 at 5:20 PM, Epic Jefferson <jeffreyconcepcion@gmail.com
wrote:
Charles: Yeah, we're building custom drivers for the solenoids and we built a 30v power supply as well.
On Thu, Jun 27, 2013 at 4:43 PM, Charles Goyard cg@fsck.fr wrote:
Epic Jefferson wrote:
Alexandros and Roman: Thanks, i'll check both of your suggestions. I'll let you know how it
goes.
I also just ordered a Practical Maker PWM shield for arduino UNO. 1
shield
gives you 32 pwm pins and they're stackable, up to 6 without the need
for
an external power supply.
http://www.practicalmaker.com/products/arduino-shields/pwm-shield-assembled
Beware that you'll need PNP transistor for the power stage, or you'll get small bumps when the TLCs go BLANK each cycle.
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- www.epicjefferson.com www.avmachinists.org Puerto Rico based Art Collective/ Non-Profit Org
Hi,
Epic Jefferson wrote:
i've been able to control solenoid velocity with pwm via pd, this is also how Winfried does it. Also, motors are way too loud, as I told Olivier.
That's good to hear ! How much accurate is this ? Underpowering a hub magnet that has a lot of jitter in its movement [1] sounds like it would not provide repeatable action. I'd be glad to be wrong.
Cheers,
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 (linkhttp://www.instructables.com/id/Controlling-solenoids-with-arduino/)) and it uses a single pin to control the pwm signal.
The pwm shield (linkhttp://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?
On Sat, Jun 29, 2013 at 8:35 AM, Charles Goyard cg@fsck.fr wrote:
Hi,
Epic Jefferson wrote:
i've been able to control solenoid velocity with pwm via pd, this is also how Winfried does it. Also, motors are way too loud, as I told Olivier.
That's good to hear ! How much accurate is this ? Underpowering a hub magnet that has a lot of jitter in its movement [1] sounds like it would not provide repeatable action. I'd be glad to be wrong.
Cheers,
-- Charles
[1] What I mean is: you can shake laterally a unpowered solenoid and get a lousy maracas.
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi,
You're not doomed !
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_transistorschal...
http://julianvogels.de/extending-pwm-output-pins-with-a-texas-instruments-tl...
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,
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.
[image: Inline image 1]
On Mon, Aug 5, 2013 at 6:42 AM, Charles Goyard cg@fsck.fr wrote:
Hi,
You're not doomed !
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_transistorschal...
http://julianvogels.de/extending-pwm-output-pins-with-a-texas-instruments-tl...
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/)%3E)
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
) 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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
hi,
great news you're not stuck !
try to find logic-level P-channel mosfets, preferably TTL ones. SPP15P10PL at digikey looks like a good match.
Enjoy, Charles
On Wed, Aug 7, 2013 at 12:05 AM, Epic Jefferson <jeffreyconcepcion@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_transistorschal...
http://julianvogels.de/extending-pwm-output-pins-with-a-texas-instruments-tl...
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/)%3E)
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
) 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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- www.epicjefferson.com www.avmachinists.org Puerto Rico based Art Collective/ Non-Profit Org
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
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
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@gmail.com To: Epic Jefferson jeffreyconcepcion@gmail.com Cc: pd-list pd-list@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@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_transistorschal...
http://julianvogels.de/extending-pwm-output-pins-with-a-texas-instruments-tl...
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 (linkhttp://www.instructables.com/id/Controlling-solenoids-with-arduino/))
and it uses a single pin to control the pwm signal.
The pwm shield (linkhttp://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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- www.epicjefferson.com www.avmachinists.org Puerto Rico based Art Collective/ Non-Profit Org _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
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@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
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@gmail.com To: Epic Jefferson jeffreyconcepcion@gmail.com Cc: pd-list pd-list@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@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_transistorschal...
http://julianvogels.de/extending-pwm-output-pins-with-a-texas-instruments-tl...
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 (linkhttp://www.instructables.com/id/Controlling-solenoids-with-arduino/)) and it uses a single pin to control the pwm signal.
The pwm shield (linkhttp://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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- www.epicjefferson.com www.avmachinists.org Puerto Rico based Art Collective/ Non-Profit Org
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
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@ul.ie To: Ed Kelly morph_2016@yahoo.co.uk Cc: Charles Z Henry czhenry@gmail.com; Epic Jefferson jeffreyconcepcion@gmail.com; pd-list pd-list@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@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
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@gmail.com To: Epic Jefferson jeffreyconcepcion@gmail.com Cc: pd-list pd-list@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@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_transistorschal...
http://julianvogels.de/extending-pwm-output-pins-with-a-texas-instruments-tl...
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 (linkhttp://www.instructables.com/id/Controlling-solenoids-with-arduino/))
and it uses a single pin to control the pwm signal.
The pwm shield (linkhttp://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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
-- www.epicjefferson.com www.avmachinists.org Puerto Rico based Art Collective/ Non-Profit Org _______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
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@ul.ie> *To:* Ed Kelly <morph_2016@yahoo.co.uk> *Cc:* Charles Z Henry <czhenry@gmail.com>; Epic Jefferson <jeffreyconcepcion@gmail.com>; pd-list <pd-list@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@yahoo.co.uk <mailto:morph_2016@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 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@gmail.com <mailto:czhenry@gmail.com>> *To:* Epic Jefferson <jeffreyconcepcion@gmail.com <mailto:jeffreyconcepcion@gmail.com>> *Cc:* pd-list <pd-list@iem.at <mailto:pd-list@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@gmail.com <mailto:jeffreyconcepcion@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/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/)>) > 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>) > 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@iem.at <mailto:Pd-list@iem.at> mailing list UNSUBSCRIBE and account-management -> 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@iem.at <mailto:Pd-list@iem.at> mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list _______________________________________________ Pd-list@iem.at <mailto:Pd-list@iem.at> mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list _______________________________________________ Pd-list@iem.at <mailto:Pd-list@iem.at> mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
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@sympatico.cawrote:
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@ul.ie> *To:* Ed Kelly <morph_2016@yahoo.co.uk> *Cc:* Charles Z Henry <czhenry@gmail.com>; Epic Jefferson <jeffreyconcepcion@gmail.com>; pd-list <pd-list@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@yahoo.co.uk <mailto:morph_2016@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@gmail.com <mailto:czhenry@gmail.com>> *To:* Epic Jefferson <jeffreyconcepcion@gmail.com <mailto:jeffreyconcepcion@**gmail.com<jeffreyconcepcion@gmail.com>
*Cc:* pd-list <pd-list@iem.at <mailto:pd-list@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@gmail.com <mailto:jeffreyconcepcion@**gmail.com<jeffreyconcepcion@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.pnghttp://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-**assembledhttp://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@iem.at <mailto:Pd-list@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@iem.at <mailto:Pd-list@iem.at> mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/**listinfo/pd-list<http://lists.puredata.info/listinfo/pd-list> ______________________________**_________________ Pd-list@iem.at <mailto:Pd-list@iem.at> mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/**listinfo/pd-list<http://lists.puredata.info/listinfo/pd-list> ______________________________**_________________ Pd-list@iem.at <mailto:Pd-list@iem.at> mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/**listinfo/pd-list<http://lists.puredata.info/listinfo/pd-list>
______________________________**_________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list
______________________________**_________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list
Roman Haefeli,
It turns out, your solenoiduino code was useful in this project. the handshake stuff is very convenient and all i had to modify was the duty cycle in the arduino code. Instead of "how many milliseconds will the solenoid be activated?", i just re-purposed the data for the pwm values (velocity) in the Tlc5940 library's Tlc.set(pin,pwmValue); function. If you don't mind, i would like to release the code as part of the project's documentation, giving you credit for you contribution, of course.
On Thu, Aug 8, 2013 at 5:59 PM, Epic Jefferson jeffreyconcepcion@gmail.comwrote:
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@sympatico.cawrote:
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@ul.ie> *To:* Ed Kelly <morph_2016@yahoo.co.uk> *Cc:* Charles Z Henry <czhenry@gmail.com>; Epic Jefferson <jeffreyconcepcion@gmail.com>; pd-list <pd-list@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@yahoo.co.uk <mailto:morph_2016@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@gmail.com mailto:czhenry@gmail.com> *To:* Epic Jefferson <jeffreyconcepcion@gmail.com <mailto:jeffreyconcepcion@**gmail.comjeffreyconcepcion@gmail.com
*Cc:* pd-list <pd-list@iem.at <mailto:pd-list@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@gmail.com <mailto:jeffreyconcepcion@**gmail.com<jeffreyconcepcion@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.pnghttp://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-**assembledhttp://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@iem.at <mailto:Pd-list@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@iem.at <mailto:Pd-list@iem.at> mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/**listinfo/pd-list<http://lists.puredata.info/listinfo/pd-list> ______________________________**_________________ Pd-list@iem.at <mailto:Pd-list@iem.at> mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/**listinfo/pd-list<http://lists.puredata.info/listinfo/pd-list> ______________________________**_________________ Pd-list@iem.at <mailto:Pd-list@iem.at> mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/**listinfo/pd-list<http://lists.puredata.info/listinfo/pd-list>
______________________________**_________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/** listinfo/pd-list http://lists.puredata.info/listinfo/pd-list
______________________________**_________________ Pd-list@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