Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Project - 72 LED Sequencer

Status
Not open for further replies.

donniedj

Banned
I was requested to string together 9 individual 8LED chasers. So of course I decided to design a much more smaller and parts saving native 72LED chaser instead. Sort of native.

The chaser uses a 44-pin PIC16F914. 24 leds are driven directly from 3 ports, PortB-PortC-PortD. The true native mode is 24 leds and the remaining are switch with banks. 3 banks total x 24 = 72 Pulse Width Modulated channels. I had a weeks time to put this together and this was my first crack at a 16F914 and a 44-pin TQFP chip. Notice in the image below how all the Output lines are connected adjacent. Take a look at the 16F914 datasheet and then notice that the Port pins are not arrange continuously like PortC[0]-PortC[7]. Notice that the board is single sided and smt with a lot of Output lines. I had absolutely no intention to route lines and create crazy contorted space consuming jumpers to match the 72 Leds with the Ports. Now you know the importance and power of Port Mapping. The vitrual port file register Port1 to Port9 are mapped to physical Ports B,C and D. I learned long ago to use code when every possible to substitute physical resolve.

First and foremost concern is programming the PIC. As seen in the image, a 5-pin port for ICSP programming is provided. The programming pins are not shared. This port facilitates easy reprogramming which is damn there necessary during code development. All went well till I had to do a first run with all 72 leds connected. I experienced GHOST mirroring in leds that were supposed to be turned off. This was due to the fact that I started with transistors as a low side switch as common grounds for the 3 banks. Well, come find out, I knew but forgot long ago, that all idle banks which were not reverse biasing their leds would ever so faintly mirror the pattern of the active bank. A capacitive issue and looks annoying. I was comtemplating the use of dual mosfet drivers that I use for every thing else but wanted to go with transistors. Stupid mistake, a mistake that is visible on the board and indicated with the Mickey Mouse work with the wire jumpers. I only had a week from the start of designing the layout, soldering 72 leds to 4 feet cable extentions, buying parts, a developing code. Not bad considering my Real Day Job kept getting in the way.


The interface is 2 buttons.
* Button1 changes speed
* Button2 Pauses/Plays a pattern
* Button2+Button1 changes a pattern
* Button1 during a Paused pattern changes led intensity.
Speed, Pause/Play, Pattern, and Intensity are all remembered at power up from the EEPROM.

**broken link removed**
**broken link removed**

Test harness:
https://www.anothercoilgunsite.com/72LED/72led.wmv

No 595s, no 164s, no 4017s and no stifling LM3914s. Just a single chip solution as it ought to be unless imperative otherwise.
 
Last edited:
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top