Show Posts
Pages: [1] 2 3 ... 6
1  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: Schematics, high power LED's, LED strips on: December 10, 2012, 11:14:56 am
I really do not understand why they still have that 1uF capacitor on the latch line in that tutorial.
It just shouldn't be there.
2  Using Arduino / LEDs and Multiplexing / Re: high power led driver on: December 10, 2012, 09:39:05 am
I have an article on driving 350mA LED's on my website:
http://www.elcojacobs.com/using-shiftpwm-to-control-350ma-high-power-leds-with-arduino/
3  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: Schematics, high power LED's, LED strips on: December 09, 2012, 05:31:45 pm
Quote
Strange! I accidentally removed the one-and-only capacitor and now there is no more flickering?
At which pin did you have that capacitor?
4  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: Schematics, high power LED's, LED strips on: December 09, 2012, 08:54:43 am
Quote
It's now testing every color at it works.

I cannot make sense of this sentence. Did the problem going away by setting the number of registers to 5? In that case it is a bug in the library that I have to fix.

You should have a decoupling capacitor on each shift register of about 100nF or bigger.

1m is not huge, but it depends on your wire and how much is on the wire.
5  Using Arduino / LEDs and Multiplexing / Re: Driving 3W LEDs with PWM on Arduino? on: December 09, 2012, 06:28:47 am
I sell a board for exactly this purpose: http://shop.elcojacobs.com/powerleddriver

Article on how to use it here: http://www.elcojacobs.com/using-shiftpwm-to-control-350ma-high-power-leds/
6  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: Schematics, high power LED's, LED strips on: December 09, 2012, 06:26:40 am
Why did you change this line:
Code:
int numRGBleds = numRegisters*8/3;
into this?
Code:
int numRGBleds = int(numRegisters*8/3)-1;

Adding the line driver circuit on my website might help with flickering, start with adding it to your clock line.
The arduino has some difficulty driving long signal lines at 4 MHz.
Do you have decoupling capacitors on your shift registers?

Edit: Could you try setting the number of shift registers to 5 and report what happens? This should tell you whether it is a software or hardware problem.
7  Using Arduino / Programming Questions / Re: ShiftPWM and Tone Problem on: December 08, 2012, 05:46:58 pm
Hi,

Author of the library here. This error is my fault.

The library uses timer 1 by default, but I made an error in a recent update, which I corrected the next day:
https://github.com/elcojacobs/ShiftPWM/commit/809c749e22066bc66e7d673e4cce22142e0a7232

You downloaded the library at just the wrong moment.

This error made the compiler complain about not having a timer3, even when it was not used.

So just update to the newest version and you will be fine.
8  Using Arduino / LEDs and Multiplexing / Re: Building an addressable LED strand with WS2801 (custom pcb) on: November 27, 2012, 02:34:04 pm
Oh wait, I did not see that you where using white LED's. I am sorry. I do not have pictures of the PCB yet (next week), but if you want pure white it will not be suitable.

I might be able to make another strip, compatible with different types of single color LED's, but I am very busy at the moment. So if time is critical I cannot help you.

9  Using Arduino / LEDs and Multiplexing / Re: Building an addressable LED strand with WS2801 (custom pcb) on: November 27, 2012, 01:44:09 pm
I will put a small RGB LED strip with 8 RGB LED's on 10 cm in my webshop soon. The PCB's are manufactured today.

It has 8 LED's on the front, and 3 TLC5916's on the back, so it is compatible with ShiftPWM.
With the LED's on the front and the drivers on the back, the LED's can be placed very close together (1 every cm). The LED side is also completely flat, apart from the LED's. So you can stick the LED's through a (laser cut) panel.
10  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: Schematics, high power LED's, LED strips on: November 27, 2012, 01:39:55 pm
Did you build the LED matrix yourself or did you use a premade one?
Do you have resistors in series with your LED's somewhere?

@mnpumar: I am not actively developing the matrix version. I have not updated it for a year, because I have been busy with BrewPi.
I still intend to get it up to par with the normal version and upload it to GitHub, but I don't have time soon.
11  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: Schematics, high power LED's, LED strips on: November 13, 2012, 04:02:31 am
I cant seem to get this to install or work.
I am using ubuntu, I tried to follow the very simple directions, but had to vary  a bit.


"
    Go to the GitHub repository the download the latest version of ShiftPWM.
   Extract ShiftPWM directory from the archive to your Arduino libraries directory (for example: \???\arduino-1.0\libraries).
    Extract it with the ShiftPWM directory intact, so the result will be \???\arduino-1.0\libraries\ShiftPWM).
    Restart Arduino
    Open one of the examples from the Arduino menu (File –> Examples –> ShiftPWM –> pick one) "

I cant extract to the /usr/share/arduino directory as the user, that has to be done as root. I extracted the files as user, then su'd to root, and copied the files to /usr/source/arduino/libraries, then chown -R, chgrp -R, and chmod -R to have all the files ownership, and everything set like the other files.
When I try to load up an example, they are not listed, but I can load the libarary by clicking sketch/import library (ShiftPWM shows up in that list).
I copied the examples directory over to the examples directory under /usr/share/arduino, but no shiftPWM examples show up in the program.


I tried downloading the zip file, and then su ing, and unzipped the file in the /usr/share/arduino/libraries as root. It still doesnt show up any examples.

I opened the ShiftPWM_RGB_Example.ino in a text editor, copied it to a blank sketch, and tried to upload it to my uno, but it failed, stating:


Code:
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp: In member function ‘bool CShiftPWM::IsValidPin(int)’:
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp:51:61: error: ‘F’ was not declared in this scope
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp: In member function ‘void CShiftPWM::SetAmountOfRegisters(unsigned char)’:
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp:229:94: error: ‘F’ was not declared in this scope
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp: In member function ‘bool CShiftPWM::LoadNotTooHigh()’:
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp:253:44: error: ‘F’ was not declared in this scope
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp: In member function ‘void CShiftPWM::Start(int, unsigned char)’:
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp:297:11: error: ‘SS’ was not declared in this scope
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp:316:71: error: ‘F’ was not declared in this scope
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp: In member function ‘void CShiftPWM::PrintInterruptLoad()’:
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp:416:45: error: ‘F’ was not declared in this scope
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp:426:45: error: ‘F’ was not declared in this scope
/usr/share/arduino/libraries/ShiftPWM/CShiftPWM.cpp:467:38: error: ‘F’ was not declared in this scope

I have another computer I could try it on, but I will have to free up some space on that computer to install it.


I have not tried ShiftPWM on Linux, but I can tell you that in your library directory, you should have a directory called ShiftPWM. In this directory you will have the file CShiftPWM.h and his friends.

I don't know if that is the cause of the compiler not recognizing the F() function. That is an Arduino version of PSTR(). Is your Arduino install up to date?
12  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: Schematics, high power LED's, LED strips on: November 13, 2012, 03:57:46 am
After 3 days of trying to get an Arduino Uno with a TLC5916IN with shiftPWM I still cannot get it to function properly.  I am unsure as to where the problem even stems from,  Although the code says to put ShiftPWM_invertOutputs = true for the tlc5916 when i do so my LED lights up when ShiftPWM.SetAll(0);  when set at 255 my led is still dimly lighting and blinks on and off at a steady rate.  Any intermediate value leads to the led blinking on and off in a non random pattern.  I have constructed the circuit as per the instructions on the website including decoupling capacitors.  Does the problem lie with the fact that I am using a single LED for testing rather than a common anode RGB led?  After writing the above i think it makes sense that the LED is blinking the way it does as the load would normally be split by 3 and so the visible blinking from one would correspond to a dimming effect on an RGB LED.  However I still do not understand why it the LED is on when it should be off (granted my understanding of how a common anode led functions is extremely limited)  If its simply a matter of plugging in a RGB LED case I'm going to feel very dumb about wasting so much time trying to find a problem in my circuitry.

ShiftPWM_invertOutputs should be set to false for the TLC5916. That was an error on my website, which has been corrected now. How many 5916's do you have connected and how long are your wires? It sounds like your clock signal is missed sometimes. You can try using the push-pull line driver to improve the clock signal.
13  Using Arduino / LEDs and Multiplexing / ShiftPWM support topic. Latest update: Schematics, high power LED's, LED strips on: August 09, 2012, 11:12:22 am
Hi guys,

Sorry I have not been responding too much in this topic lately. I have been a bit busy.

I completely rewrote the ShiftPWM documentation. Now there is a function reference, a load estimator and schematics for regular LED's, high power LED's and LED strips. Please let me know if you are missing something or if I made any errors.

I also added a schematic for a push-pull line driver for when you have issues driving long signal wires.

I also update the ShiftPWM code base:
- Moved some initialization into the library: cleaner sketches, easier to switch between SPI and no SPI.
- Added optional load balancing: shift the PWM phase by 8 PWM bits for every register. This will distribute the current peeks more evenly.
- Added Leonardo compatibility

And finally I opened a web shop where you can buy boards to drive 350mA high power LED's and LED strips.

Now that I got this done, I finally have time to work on the matrix version to get it up to par with the normal version, so I can officially release it. To answer ematson's question: I will rewrite the matrix version to inlcude a no-spi option as well.

So check it out at www.elcojacobs.com/shiftpwm
14  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: Support not using the SPI on: June 14, 2012, 11:46:21 am
Cool idea smiley
But I don't think many people want to use an additional input pin to auto detect something they already know. Or do you see a use case where the number of shift registers is variable?
15  Using Arduino / LEDs and Multiplexing / Re: ShiftPWM support topic. Latest update: Support not using the SPI on: June 04, 2012, 11:47:32 am
Use SetGroupOf2(led, val1, val2) instead.
Pages: [1] 2 3 ... 6