CCS C Software and Maintenance Offers
FAQFAQ   FAQForum Help   FAQOfficial CCS Support   SearchSearch  RegisterRegister 

ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CCS does not monitor this forum on a regular basis.

Please do not post bug reports on this forum. Send them to support@ccsinfo.com

Best way to prototype hardware with PIC

 
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion
View previous topic :: View next topic  
Author Message
Guest








Best way to prototype hardware with PIC
PostPosted: Thu Jun 22, 2006 6:37 am     Reply with quote

HI Everyone,

I have a PICDEM 2+ demo board, and using that, I have finished most of the software for a project, but now I want to really focus on creating the hardware.

I started using a breadboard, and i got it to work, but for some reason, I think the connections with the crystal (32K) or decoupling caps (~20 pF) arent working well. I think its because the breadboard isnt great for this application because of the 32K crystal. For the compiler I have the clock set up as XT. Should I be using the HS option?

Also, should I be using different capacitors with that crystal (how can I calculate what capacitor I should use versus the clock speed?). Also, have people used breadboards to prototype with clock speeds in the MHZ range? If so, what should I be aware of?

If using a breadboard to do hardware prototyping isnt feasible, what should I use? I'm hesitant go get a PCB made and then find out it doesnt work. What's the best way to do hardware prototyping for microcontrollers?

Thanks!
rwyoung



Joined: 12 Nov 2003
Posts: 563
Location: Lawrence, KS USA

View user's profile Send private message Send e-mail

PostPosted: Thu Jun 22, 2006 6:53 am     Reply with quote

What kind of breadboard are you using? If it is one of the white plastic kind where you push in little wires, then your crystal circuit may never quite work right.

There are application notes (from Microchip and from crystal manufacturers) detailing the proper selection of components as well as how to construct the circuit. Guard rings and short ground runs are important.

Having circuit boards made is relatively inexpensive compaired to the headaches and what your time is worth when dealing with dodgy breadboards. At the very least, consider getting the perforated board with solid copper on the top and bottom. You use a little tool to isolate the holes. Gives you something close to solid power and ground planes for a prototype. Or learn how to etch your own circuit boards.
_________________
Rob Young
The Screw-Up Fairy may just visit you but he has crashed on my couch for the last month!
Humberto



Joined: 08 Sep 2003
Posts: 1215
Location: Buenos Aires, La Reina del Plata

View user's profile Send private message

PostPosted: Thu Jun 22, 2006 7:07 am     Reply with quote

Quote:

I started using a breadboard, and i got it to work, but for some reason, I think the connections with the crystal (32K) or decoupling caps (~20 pF) arent working well. I think its because the breadboard isnt great for this application because of the 32K crystal.


A breadboard is not the best hardware to work when you are dealing with low signals
and high frequencies, but for single test it will be usefull. I never use it, instead I
have 3 models of home-made multi purposes boards that cover all the PICs size/packages
that I use and I made all my prototypes on there.

Quote:

For the compiler I have the clock set up as XT. Should I be using the HS option?

You didnīt mention what microcontroller are you using but as general rule the compiler
crystals options for the midd-range family are:
LP: 32Khz - 200Khz
XT: 200Khz - 4Mhz
HS: 4Mhz - 20Mhz

Quote:

Also, should I be using different capacitors with that crystal (how can I calculate what capacitor I should use versus the clock speed?).

Read the datasheet. It is not necesary any calculation, find the chapter
"Oscillator Configuration" of the PIC you are using and you will find all the required info.


Humberto
treitmey



Joined: 23 Jan 2004
Posts: 1094
Location: Appleton,WI USA

View user's profile Send private message Visit poster's website

PostPosted: Thu Jun 22, 2006 8:02 am     Reply with quote

I don't want to complicate things... but to solve the breadboard/crystal problem you could chose a PIC with an internal OSC. Then the beadboard
may work great for a prototype. I always look for the easy way out.
rnielsen



Joined: 23 Sep 2003
Posts: 852
Location: Utah

View user's profile Send private message

PostPosted: Thu Jun 22, 2006 8:31 am     Reply with quote

I, usually, build my proto-types on a breadboard first so I can make changes as needed. Once I get things running there I'll etch a PCBoard and put things together to ensure that the hardware is solid. If you go to www.pulsar.gs they have items there that will help you make a fairly inexpensive board and it doesn't take much time. Simply download a schematic/PCB program (there are several threads on this board about them) and you'll be in the PCB business in no time. Wink

Ronald
newguy



Joined: 24 Jun 2004
Posts: 1903

View user's profile Send private message

PostPosted: Thu Jun 22, 2006 8:53 am     Reply with quote

I have a Micro Engineering Labs Lab-X1 board (http://www.melabs.com). It has a variable clock oscillator on board, settable with jumpers. It also comes with spaces for you to install pin headers/sockets for making easy direct connections from the PIC to external hardware.

What I do is prototype external circuitry on one of those white solderless breadboards, and make connections from that to my PIC.
iso9001



Joined: 02 Dec 2003
Posts: 262

View user's profile Send private message

PostPosted: Thu Jun 22, 2006 11:58 am     Reply with quote

I've used that white breadboard type for some of my projects and have never had a problem yet. Thats usually with 10Mhz resonators with built in caps, however....

I have found that through some magical bread board properties I can take a 20Mhz fox can-type xtal, plug it into the breadboard with no caps and it works fine. I know its by sheer luck that it works. I don't even want to look at that setup on the scope. It would give me bad dreams.

I'd agree with the internal clock for now. Then when you make the pcb, give yourself some options. Like for the first couple pcb's I made since I didn't know what was going to work and what wouldn't, I made two spots for different xtals, different cap options, spots for pull ups/downs etc etc. I still do that with new circuits now and then.
newguy



Joined: 24 Jun 2004
Posts: 1903

View user's profile Send private message

PostPosted: Thu Jun 22, 2006 12:38 pm     Reply with quote

iso9001 wrote:
I have found that through some magical bread board properties I can take a 20Mhz fox can-type xtal, plug it into the breadboard with no caps and it works fine. I know its by sheer luck that it works. I don't even want to look at that setup on the scope. It would give me bad dreams.


It's probably all the stray capacitance inherent with those boards. On one project I worked on, I filled all unused portions of the PCB with ground plane once I had routed all the signal and power lines, including in & around the lines that ran from the micro to the crystal and the crystal caps. The clearance between the ground plane and other lines/etc was set to something like 0.012" or something like that. This is my standard practice.

Once I had soldered everything on, I had a helluva problem getting the pic to run. Sometimes it would run, sometimes not, sometimes it wouldn't even start, sometimes it would start & then freeze up..... I found that if I "twacked" the crystal with my finger that it would run for a while.

Turns out that the problem was that the close spacing between the ground plane and the crystal lines added enough stray capacitance to just put the oscillator on the brink of working/not working. I took out the crystal caps altogether and it worked perfectly.

I learned my lesson from that - now I don't fill the board underneath/around the crystal cctry with a ground plane. I haven't had a problem with crystals since.
jbmiller
Guest







breadboards
PostPosted: Fri Jun 23, 2006 5:15 am     Reply with quote

I've used the white breadboards since the 16C84 came out(ugh,that's been a while!) and on the 20MHz 16F877s.Never had a problem and I use 20GA soild copper wire(Bell tell 6 pair) for jumpers.Then I 'solderstitch' the circuit onto Ratshack perfboards(4 by 6" size),again no problems. Either I'm lucky or my neat and tidy approach is good.
Jay
PCM programmer



Joined: 06 Sep 2003
Posts: 21708

View user's profile Send private message

PostPosted: Fri Jun 23, 2006 11:39 am     Reply with quote

Quote:
now I don't fill the board underneath/around the crystal circuitry
with a ground plane. I haven't had a problem with crystals since.

Your problem was likely the ground-fill on the top layer. Most of the
boards we make are 4-layers or more, and we always make layer 2
be the ground plane. It's under the crystal as well. We've never had
a problem with that. Though, all crystals are running in XT or HS mode.
We don't normally do ground-fill on the top layer.
newguy



Joined: 24 Jun 2004
Posts: 1903

View user's profile Send private message

PostPosted: Sat Jun 24, 2006 8:50 am     Reply with quote

PCM programmer wrote:
Quote:
now I don't fill the board underneath/around the crystal circuitry
with a ground plane. I haven't had a problem with crystals since.

Your problem was likely the ground-fill on the top layer. Most of the
boards we make are 4-layers or more, and we always make layer 2
be the ground plane. It's under the crystal as well. We've never had
a problem with that. Though, all crystals are running in XT or HS mode.
We don't normally do ground-fill on the top layer.


You're right - this was only a 2 layer board.

If you've ever done the math (or been forced to do the math), running a ground conductor close to a line (on the same layer) has a much bigger effect on stray capacitance than running the signal and ground conductors on different layers.
Stu_H
Guest







PostPosted: Sat Jun 24, 2006 5:44 pm     Reply with quote

I always use the white plastic breadboards to get a project started. I've not had any major problems so far, and I've been doing it this way for over 10 years. PIC12/16/18 series, all work fine. I usually use a crystal oscillator for projects with a single PIC, and with the 18F series I've found that even the HSPLL at 32MHz works fine on the breadboard.
Of course, I'm lazy. I omit the 22(ish)pf capacitors that should be on each leg of the crystal to ground when using a breadboard - just stuff the crystal across the appropriate pins. (I do it properly on the PCB!)

Stray capacitance on the board making things OK? I don't know, all I know is that it works - even with the 18F PICs at 4x PLL!

(I *have* been using the same plastic breadboard over that time - perhaps others might not be so tolerant).
sd211



Joined: 15 Nov 2005
Posts: 4
Location: NC, USA

View user's profile Send private message Visit poster's website

Re: Best way to prototype hardware with PIC
PostPosted: Sat Jun 24, 2006 6:33 pm     Reply with quote

Anonymous wrote:


If using a breadboard to do hardware prototyping isnt feasible, what should I use? I'm hesitant go get a PCB made and then find out it doesnt work. What's the best way to do hardware prototyping for microcontrollers?

Thanks!


I had similar problem with breadboard (PIC not stable) and have designed a PCB for PIC that I can plug into a breadboard. I liked this approach and have made number of other standard "modules" that make it easier and faster to prototype new hardware. These modules are available at beaglerobotics.com.

Sergey Dryga
Display posts from previous:   
Post new topic   Reply to topic    CCS Forum Index -> General CCS C Discussion All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group