Page 1 of 3 123 LastLast
Results 1 to 10 of 29

Thread: Circuit Boards

  1. #1
    Join Date
    May 2004
    Posts
    198

    Default Circuit Boards

    Here is the latest circuit board I've made on the bot. I've made a few, I keep getting better, but the board still has a glitch I haven't been able to figure out...... Check out my youtube video.

    http://www.youtube.com/watch?v=t5KFHaN3r4A
    Attached Images Attached Images

  2. #2
    Join Date
    Mar 2009
    Location
    Pope Valley CA
    Posts
    692

    Default

    Pretty cool! I remember the old days, drafting the circuit by hand - using a photo-resist mask, and using my printer buddy's carbon arc setup to burn 'em then the etching bath...
    Ron Sloan

  3. #3
    Join Date
    Mar 2008
    Location
    Tulsa Oklahoma
    Posts
    1,238

    Default (this reply post is not of general interest)

    Daniel- You have fabulous looking boards there. I'm jealous!

    To find glitches like you show in the video, I use "DigiView" by "TechTools". Its a USB logic analyzer, I forget all the specs, but it stores transition times in the on-board memory, so it can capture for a long time before it fills the memory. That allows me to have it monitor the CPU under test so when the glitch occurs I can hit "stop" acquisition manually and be sure the glitch data has not been dumped already.

    http://www.tech-tools.com/dv_dv3100.htm

    If your CPU has JTAG you may be able to find the problem using a JTAG debugger, but the

    With my circuits these things almost always are due to interrupt collisions not being handled correctly. It could be electrical noise, but not very likely, my money is on firmware.

    How are you making your boards on the bot? Cutting away the copper, or marking the board(s) with etch resist? Also how are you registering top to bottom?

    I did some PCB's using a V bit to cut away copper between traces, and adding a dimple where the through holes belong so I could use it as a center punch for manual drilling on a drill press. With most of my PCB's I have found it easier to just send them to Advanced Circuits and take advantage of their prototype offer. At $33 each with plated through holes and 0.006 minimum spacing, its been tough to beat even when I own the shopbot. I use the bot to make "onesey" pcb's usually if they are single sided only and mostly SMT. Their $66/prototype for a 4 layer board has allowed me to put power and ground planes in the designs which provides excellent power distribution on the boards. Then they put a bag of popcorn in with the boards when they ship! (Solder components on first, eat popcorn second..)

    http://www.4pcb.com/

    (Look at the bottom of the page for their prototype offers)

    Then every once in a while I would like to be able to build a single board with a 144 pin LQFP CPU with 0.0045 between leads. Only a V bit can cut that fine of trace. If you have figured out a reliable way to do that, I am very interested! If you can plate holes, I would LOVE to know how!

    I wrote a little program that takes Gerber files and outputs DXF polyarc descriptions of each of the PCB circuit elements. What I have been doing is taking that DXF and importing it in Aspire, then welding all the electrical traces together.. then V carving the area between the traces with an area clear end mill bit for the bigger areas. The end mill has usually been a 1/16, I tried using 0.020 bits, but the FR4 material snaps them like toothpicks.

    At $33 per board with solder mask and silkscreen its hard to justify risking bits, so I have just been experimenting for the sake of knowing how. Another discouraging thing is the popcorn they throw in with the prototype boards.. somehow the shopbot still doesn't include popcorn!

    PCB musings..

    D
    "The best thing about building something new is either you succeed or learn something. Its a win-win situation."

    --Greg Westbrook

  4. #4
    Join Date
    Jul 2005
    Location
    Brookline, New Hampshire
    Posts
    434

    Default

    Here's another usb logic analyzer https://www.pctestinstruments.com/order.htm. The usb analyzers are great for bench and field work. Most of them also serve as protocol analizers for SPI, I2C, CAN, RS-232 and more.

    When I watched your video, I noticed there was a glitch and four seconds later another one. Then some period of time passed before another glitch followed four seconds later with another glitch.

    I'd monitor your voltage to the microcontroller with an O scope. I'd also try to tack on a larger bypass cap and see if that changes the glitch rate. If neither of those work, my next suggestion would be as Dana suggested - use a logic analyzer.

    Paul Z

  5. #5
    Join Date
    May 2004
    Posts
    198

    Default

    Hey Guys, thanks for the suggestions and compliments.

    I do have a logic analyzer, I would have never made it this far without it, here is what I've done for testing.

    (1) Analyzed Logic comming from the microcontroller, tested on LED driver side. All Logic looks good, timming and bits going out on SPI and clock signals all look as expected.

    (2) I have eliminated any copper from the board other than (a) Traces, and pads, and (b) The outter copper edge which is grounded.

    (3) I have placed an LED on the board and written the firmware to use LED to let me know if the microchip is resetting for some reason. The chip is not resetting.


    Dana, I did this exactly as you described. I used an area clear strategy with a 10 degree V-bit. I then used the bot to drill all the through holes. I would love to know how to plate a through hole as well. I registered both sides by flipping the board in a pocketed piece of MDF.

    Now here are some observations of the board and why I think it's poor design on the board as opposed to poor design in the firmware, although I conceed, it could be both.

    (1) The glitch in the Video was happining on a fairly tight schedule of 4 seconds. How nice of the board to tighten up for it's first video, however, it will glitch in all kinds of different ways sometimes. Sometimes I get a cool light show that I did not program. It also depends on where the board is.....It works well at my desk, but awful at the kitchen table.

    (2) The Case of Clashing Interrupts, as Dana mentioned. I don't think this is the case. There is only two interrupts in the firmware. One is a timer interrupt, and the other is an interrupt on recieve for the USART module. Well, The interrupt on Recieve only happens when the chip recieves a communication from the phone. So as long as I'm not using the slider bars on the phone, the interrupt on the USART module will not occur, so the majority of the time there is just one timer interrupt occuring, and when that happens, all looks good according to the Logic Analyzer.

    (3) What would happen if two pins are just dangling. Between the two LED driver chips (TLC5940) there are 32 pwm pins. Well I only use 30 (3 colors x 10 LED's) the two pins leftover are just hanging out, they have pads, but no traces to anywhere.........I beginning to think this might be a problem.

    I eventually will just buy boards, but for now I will continue with the one's I make on the bot for reasons (1) It's a nice capability to have, and (2) I'm not good enough at pcb design yet, I would end up sending off bad pcb designs and getting bad $33 dollar pcb's back.

    I do not have or know how to use a O scope yet. Hopefully soon in the future! For now it's just me, my fluke meter, and a logic analyzer.

  6. #6
    Join Date
    May 2004
    Posts
    198

    Default

    By the way Dana, Thank you once again! I don't know if you remeber, but a few years ago when I was first getting started programming, you helped me with some code, it's been awhile so I can't quite recall 100%, but, I think at the time I was trying to seperate and retrieve all the digits of a multi digit number. Thanks once again!

  7. #7
    Join Date
    Jul 2005
    Location
    Brookline, New Hampshire
    Posts
    434

    Default

    Daniel,

    I’d still add more capacitance between +5 and ground right at the microcontroller. Just tack it on the traces with solder. You might be browning out. You can probably use your logic analyzer to check this by setting the 1/0 threshold to the brown out voltage and putting an analyzer lead on the supply voltage pin. (Don’t forget to set the threshold back to normal when you are done. I forgot once and thought I had a bad analyzer when it didn’t work on normal signal levels.)

    The open pins should not be a problem unless you have enabled an interrupt on input (if this chip supports it). I’d program all unused pins to be outputs and make one +5 and another ground. They would then be good places to test for brownout as well.

    Is it possible that you are exceeding output current? There are limits for each pin and sometimes limits per bank and for the entire microcontroller.

    There is another possible ”got ya” with the timer. If you load the timer with a value too close to zero (or overflow if your timer counts up), it can create another interrupt before you leave the interrupt handler. If this happens and the last thing you do in the interrupt handler is to reset the interrupt, the timer will do a complete count down (or count up) before another interrupt occurs. I often use unused pins as flags for the logic analyzer. You might want to pulse an output pin in the timer interrupt routine.

    Paul Z

  8. #8
    Join Date
    Mar 2008
    Location
    Tulsa Oklahoma
    Posts
    1,238

    Default

    Daniel- glad I could help, and delighted to see you are still at it and doing cool things!

    The logic analyzer Paul uses looks like a nice unit. I recollect buying what DigiKey had at the time I needed one. Probably that is a better unit than what I use.

    As to an OScope, its just a voltmeter that plots the voltage with time. Nothing to be afraid of, find a used Tek and get yourself one.

    Pauls advice on the extra decoupling capacitors on the power supplies is right on. When a CPU circuit switches from 1 to 0, for a very brief moment the power supply experiences a very high current. The regulator cant handle it, so the capacitor is needed to supply that brief surge. Having a big capacitor 100uF and above doesn't help as the big capacitors dont respond quickly, you need an additional one like Paul advises. Its normal to see a big one and a little one in the same circuit.

    Another thing you mention is unconnected inputs. With CMOS devices, its critical not to leave them floating. Tie them high or low, or even better use a resistor to pull them to an inactive state. Then they cant cause troubles. If one of the inputs is one of the IRQ lines to the CPU, your troubles just got magnified. From your description of the kitchen table effect, sound like you should have a simple solution.

    Good luck, and keep at it!

    D
    "The best thing about building something new is either you succeed or learn something. Its a win-win situation."

    --Greg Westbrook

  9. #9
    Join Date
    Mar 2009
    Location
    Pope Valley CA
    Posts
    692

    Default

    Daniel,

    I have an old and slow (10MHz) dual channel Sony/Tektronix portable scope, in good shape, if you're interested..
    Ron Sloan

  10. #10
    Join Date
    Mar 2009
    Location
    Pope Valley CA
    Posts
    692

    Default

    By the way, Texas Instruments has a pretty good paper out on PCB design guidelines. It be read HERE
    Ron Sloan

Similar Threads

  1. ShopBot on GFCI circuit?
    By Brad CAD in forum ShopBot Desktop
    Replies: 2
    Last Post: 05-14-2016, 10:09 AM
  2. Cooked Circuit Board
    By RichE in forum Troubleshooting
    Replies: 8
    Last Post: 07-27-2012, 01:27 PM
  3. circuit board repair
    By rej in forum Assembly & Maintenance
    Replies: 8
    Last Post: 04-15-2010, 08:56 PM
  4. Circuit Board
    By daniel in forum Folder 2010
    Replies: 9
    Last Post: 01-13-2010, 12:24 PM
  5. Printed Circuit Board
    By paul_z in forum Folder 2008
    Replies: 12
    Last Post: 07-10-2008, 12:56 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •