Quick bit of background for those that have not read my previous ramblings about my Arduino adventure. I am new to all this,a retired electronics man that hasn't really done any electronics for many years and am now looking for a more relaxing past time than playing with motorbikes and rally cars. Engines are heavy, diabetes makes hard work harder, it's time to replace an engine lift with a soldering iron.
My mate, Malcolm, owns a bowling alley that is also an adventure center with an American diner, recently the neon lights failed and so a replacement was needed We had just put up some red LED's but that didn't really fit the bill, I didn't know how to do pretty colours and patterns then but along came Arduino and FastLED.
FastLED is a library of 56 patterns, most of them pretty complicated if you tried to create them by yourself but you can use that library within simple c++ programs - they are called sketches in the Arduino world - that make a mediocre programmer like me look like Einstein.
I had written a little routine that changed the pattern every twenty seconds, Initially I had about 8 patterns, the ones I thought looked best. I proudly showed them off to Malc, who agreed that they looked mighty splendid. He asked me how they worked and by way of demonstration I reprogrammed the Arduino with a pattern called rainbow chase, we just had the string of 300 led's stretched across the floor. To my surprise he said that was the pattern he wanted - 2 rows of it stretching right round the diner,a requirement of some 4800 LED's, or Neo pixels to give them their correct name.
This had turned in to a much, much bigger job than I had expected and was rather frightening to do something of such a scale for my first project. This was supposed to just be for fun, it quickly turned in to a nightmare. I had ordered just one single Arduino to power the whole lot, we laid in a single wire to provide data to the first 8 strings, I had ordered 2 10 amp power supplies, each neo pixel takes up to 60ma when all 3 led's are turned fully on to give full bright white light. That's a hell of a lot of current, fortunately with the pattern we have the max power is only a fraction of that. I have set the max brightness to be about half, it is still plenty bright but drops the current demand by half, we only ever have half a dozen lights at white an ammeter in series to see what the average current requirement actually was and was surprised to see it was under 3 amps. I decided to do no more than 2 strings per supply so I was always working at a max of 60 per cent of the power supply's max power.
I had problems from the outset, it seemed like I was getting some sort of data corruption, I put it down to interference from a 3 phase cable running all the way down the diner just a few inches away from the LED strings. I found matters were improved by putting a load resistor of 2.7k from the end of the data line to earth. It made things better but it didn't cure it. Whole strings of lights would flash randomly and the whole thing would just corrupt and look a mess, I couldn't work it out. I had tested the Arduino, the power supplies and all the WS2812b Led strings at home, it all worked perfectly running one string at a time.
My oscilloscope had broken, I had a new one on order but I was working a bit blind, it was when my new one came that the problem became apparent - power supply distribution. I found that the neopixel strips are very sensitive to supply voltage, I also discovered that the regulated power supplies were not as well regulated as I would have hoped. To compound the problems I also found I was getting a fair bit of voltage drop down the string. Whenever I had more than 380 LED's enabled in my sketch would suddenly go wonky and the whole string would be knocked out. I could see some induced noise on the data line but as it turned out it was the supply issue that was the biggest problem. I had to put in more power supplies and redo the wiring so that each pair of strings were paralleled up - ie the positives and negatives joined at each end, this made a huge difference. The final thing I had to do was turn up the power supplies to about 5.1v at idle so that when running at full load the voltage was at 4.9,that's where they are the happiest in my set up. I had read somewhere about using a 1000 micro farad capacitor to help smooth the supply voltage but it made no difference to my issues.
Anyway, it's all working now, we have the first 2400 pixels in place, it looks great,numerous diner customers have already asked how it's done. Malc wants phase 2 to happen quite quickly, I need to order the bits. I won't be doing this for anybody else though, it's a hobby, it was fun to do it once, I have a thousand and one projects I want to do for myself so won't have time or inclination to repeat what I have already done. Short video here.
Add comment
Comments
Nice one David - looks cool 👍