frequentie genereren

Pagina: 1
Acties:
  • 342 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Xqlusive
  • Registratie: Oktober 2003
  • Laatst online: 07:58
Ik ben nog steeds bezig met mijn project om botverschuivingen te meten met ultrasound. Om de transmitters aan te sturen heb ik verschillende frequenties nodig. Waarschijnlijk ga ik 25Khz, 32Khz en 40Khz gebruiken. Deze 3 frequenties moeten redelijk stabiel zijn om de meting niet al te veel te beinvloeden.
Hoe kan ik deze frequenties het beste maken?
Zelf dacht ik aan een 7555 timer, is dit een goede keuze, is deze timer in staan om een stabiele 40Khz te genereren, of is het genereren met een kristal of oscillator beter?

De bedoeling is dat deze frequentie wordt versterkt/gebufferd en dan naar de transmitters gaat. Als het gebruik van een kristal/oscillator beter is, hoe sluit ik dit dan aan?
Ik heb al veel zitten zoeken en ook al een aantal schema's opgebouwd en gesimuleerd, maar niks werkt naar behoren. Waarschijnlijk doe ik wat verkeerd, maar ik begrijp eigenlijk bar weinig van die kristallen.

Waarschijnlijk is het zoals altijd weer een heel simpele vraag, maar ik kan er weinig bruikbare schema's of duidelijke uitleg over vinden. Kan iemand me een korte duidelijke uitleg over kristallen geven, en dan voornamelijk over hoe je ze moet aansluiten en gebruiken?

Acties:
  • 0 Henk 'm!

  • Zjosh
  • Registratie: November 2004
  • Laatst online: 26-06 16:27
Het hangt allemaal af van de gewenste preciessie, als het allemaal niet zo heel precies hoeft, een ne555 is dan prima. Als je meer wilt, kun je het beste met kristallen gaan werken. Deze kun je aansluiten op een bepaald Cmos ictje, weet zo niet precies op welke, maar deze deelt de frequentie een paar keer. Dan moet je zelf nog wat fratsen uithalen met wat tellertjes om je gewenste frequenties te halen. Ik zou zowiso frequenties nemen die makkelijk met elkaar te matchen zijn, bij voorbeeld 20 40 en 80khz, deel je de hele tijd door 2, super stabiel.

Acties:
  • 0 Henk 'm!

  • Xqlusive
  • Registratie: Oktober 2003
  • Laatst online: 07:58
Zjosh schreef op dinsdag 10 april 2007 @ 17:19:
Het hangt allemaal af van de gewenste preciessie, als het allemaal niet zo heel precies hoeft, een ne555 is dan prima. Als je meer wilt, kun je het beste met kristallen gaan werken. Deze kun je aansluiten op een bepaald Cmos ictje, weet zo niet precies op welke, maar deze deelt de frequentie een paar keer. Dan moet je zelf nog wat fratsen uithalen met wat tellertjes om je gewenste frequenties te halen. Ik zou zowiso frequenties nemen die makkelijk met elkaar te matchen zijn, bij voorbeeld 20 40 en 80khz, deel je de hele tijd door 2, super stabiel.
Het delen door 2 zal niet lukken, de frequenties 25, 32.768 en 40Khz heb ik niet zelf gekozen, dit zijn de frequenties waarop de transmitters werken....

Maar ik moet dus een hogere frequentie nemen en deze delen?
Is het niet mogelijk een kristal van 40Khz te gebruiken?

Acties:
  • 0 Henk 'm!

  • Zjosh
  • Registratie: November 2004
  • Laatst online: 26-06 16:27
Xqlusive schreef op dinsdag 10 april 2007 @ 17:40:
[...]


Het delen door 2 zal niet lukken, de frequenties 25, 32.768 en 40Khz heb ik niet zelf gekozen, dit zijn de frequenties waarop de transmitters werken....

Maar ik moet dus een hogere frequentie nemen en deze delen?
Is het niet mogelijk een kristal van 40Khz te gebruiken?
Als al die 3 kristallen bestaan kan je het ook zonder hogere frequentie wel doen (weet niet precies hoe precies je kristallen zijn, maar behoorlijk goed volgens mij). Die 32k is er zowiso wel, dat is een horloge kristal. Volgens mij had dat ic ook een 1 op 1 output. Denk dat het dan ook wel lukt.

Acties:
  • 0 Henk 'm!

  • Xqlusive
  • Registratie: Oktober 2003
  • Laatst online: 07:58
Zjosh schreef op dinsdag 10 april 2007 @ 17:48:
[...]


Als al die 3 kristallen bestaan kan je het ook zonder hogere frequentie wel doen (weet niet precies hoe precies je kristallen zijn, maar behoorlijk goed volgens mij). Die 32k is er zowiso wel, dat is een horloge kristal. Volgens mij had dat ic ook een 1 op 1 output. Denk dat het dan ook wel lukt.
Het lijkt me erg omslachtig om er nog een IC tussen te zetten, maar als dat de oplossing is dan ga ik zoeken welk IC dat zou kunnen zijn. Iets met "frequency divider" ofzo?

Misschien is het zelfs wel veel makkelijker om gewoon de PIC die ik gebruik voor de rest van de schakeling ook te gebruiken voor het genereren van deze signalen. Ik heb nog wel een paar pinnetjes en een timer over, zou moeten lukken dus.

Echter word het wel lastig om dit erbij te programmeren, de PIC handelt al erg veel zaken tegelijk af, en nu dit er ook nog bij, liever gebruik ik toch een externe klok hiervoor.

Acties:
  • 0 Henk 'm!

  • guus.assmann
  • Registratie: Augustus 2006
  • Laatst online: 27-04-2021
Een kristal voor 25 en 40 kHz zul je niet gemakkelijk vinden.
Wel kun je ze misschien laten maken door de firma Klove.

Er is ook een andere mogelijkheid.
Maak een wienbrug-oscillator. Die zijn ook vrij stabiel en wekken een mooie sinus op.
Dat vindt een transducer mogelijk wel een stuk fijner.
Ook zijn er IC's waar een generator in zit. Die zijn bedoeld om een meetfrequentie te genereren.
Wat ik me hiervan herinner is dat het IC's zijn waarvan het type nummer met ICL begint. (Intersil)

Guus Assmann


Acties:
  • 0 Henk 'm!

  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 27-05 16:05
Een 555 met passieve componenten is erg instabiel: vooral de componenten waarmee je de frequentie bepaald zijn erg instabiel.

Circuitsonline.net

Probleem is idd dat het moeilijk is standaardkristallen op 25 en 40 kHz te krijgen

(32.7680 kHz is conrad bestnr 168467-11)

Je kan het oplossen met digitaal ictje die de frequentie deelt (counter). een 74hct4040 ofzo...
neem dan bijvoorbeeld een 2.5625 MHz kristal. 2562.5kHz/64 = 40,0390625 kHz. 2^6=64, dus wanneer je pinnetje 2 (Q5 pakt) van de 4040...
't is niet precies 40 kHz, maar wel stabiel.

U vraagt, wij antwoorden.


Acties:
  • 0 Henk 'm!

  • Xqlusive
  • Registratie: Oktober 2003
  • Laatst online: 07:58
MeMoRy schreef op dinsdag 10 april 2007 @ 23:41:
Een 555 met passieve componenten is erg instabiel: vooral de componenten waarmee je de frequentie bepaald zijn erg instabiel.

Circuitsonline.net

Probleem is idd dat het moeilijk is standaardkristallen op 25 en 40 kHz te krijgen

(32.7680 kHz is conrad bestnr 168467-11)

Je kan het oplossen met digitaal ictje die de frequentie deelt (counter). een 74hct4040 ofzo...
neem dan bijvoorbeeld een 2.5625 MHz kristal. 2562.5kHz/64 = 40,0390625 kHz. 2^6=64, dus wanneer je pinnetje 2 (Q5 pakt) van de 4040...
't is niet precies 40 kHz, maar wel stabiel.
Dat klinkt als een goed idee!
Het hoeft gelukkig ook niet precies 40Khz te zijn, de transducer heeft een werkgebied van ongeveer 1 Khz. Het is alleen wel belangrijk dat hij stabiel werkt want mijn complete meting is gebaseerd op faseverschuivingen. Hoe sluit ik dat kristal dan aan op die counter? Ik heb nog nooit echt veel met kristallen gewerkt, ik heb wel wat schema's gevonden, maar ik wil ik ook graag begrijpen wat ik doe, mede omdat er ook een verslag van gemaakt moet worden.

Edit: sorry, zie nu pas de link naar circuitsonline, ik zal het eens simuleren, iig bedankt alvast

[ Voor 4% gewijzigd door Xqlusive op 11-04-2007 11:24 ]


Acties:
  • 0 Henk 'm!

  • DatraxZ
  • Registratie: Mei 2002
  • Laatst online: 15:08

DatraxZ

TrueCrypts Everything

Je kan ook een mk2703 kloksynthesizer ic gebruiken i.c.m. een goedkoop 27Mhz kristal.

Supports MPEG sampling rates of 32 kHz, 44.1 kHz,
48 kHz, and 96 kHz


edit : Ik heb me vergist. Je hebt dan alsnog een deler nodig. De klokfrequentie op de uitgang van dat IC loopt van 8.192Mhz tot 24.576Mhz.

[ Voor 31% gewijzigd door DatraxZ op 11-04-2007 11:05 ]


Acties:
  • 0 Henk 'm!

  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 27-05 16:05
zoals al werd gezegd komt er een blokgolf uit de voorgestelde schakeling op circuitsonline.
Om hier een mooie sinus van te maken, zou je een laagdoorlaatfilter moeten maken.

overigens is de 4040 een 12 bit teller, wat misschien overkill is.
Je hebt alternatieven:

7 bit: 4024
8-bit: 69, 269, 393, 461, 496, 579, etc

U vraagt, wij antwoorden.


Acties:
  • 0 Henk 'm!

  • Xqlusive
  • Registratie: Oktober 2003
  • Laatst online: 07:58
MeMoRy schreef op woensdag 11 april 2007 @ 14:37:
zoals al werd gezegd komt er een blokgolf uit de voorgestelde schakeling op circuitsonline.
Om hier een mooie sinus van te maken, zou je een laagdoorlaatfilter moeten maken.

overigens is de 4040 een 12 bit teller, wat misschien overkill is.
Je hebt alternatieven:

7 bit: 4024
8-bit: 69, 269, 393, 461, 496, 579, etc
Is het belangrijk dat ik een sinus gebruik ipv een blokgolf?
Als ik op de scoop kijk maakt het weinig uit of ik een blok of sinus gebruik. Beide signalen worden netjes uitgezonden en ontvangen.

Acties:
  • 0 Henk 'm!

  • caipirinha
  • Registratie: Mei 2004
  • Niet online

caipirinha

The boy from brazil

Ben het helemaal eens met de opmerkingen van MeMoRy. Een kristal van 100 kHz of lager kun je wel krijgen maar dat worden bij een beetje nauwkeurigheid onhandelbare dure dingen. Je kunt beter een kristal bestellen gebaseerd op een beschikbaar deeltal en dan een 4040,4060 nemen, die werken tot een paar MHz prima.
Een leverancier is klove http://www.klove.nl/ kun je voor weinig geld ook enkele exemplaren laten maken.
Moet het wat beter dan kun je even barend hendrixen bellen http://www.xs4all.nl/~barendh/Indexeng.htm
Reken wel op fors hogere bedragen (kwaliteit kost geld).

No self-respecting engineer should have to close a game to run a circuit simulation.


Acties:
  • 0 Henk 'm!

  • MeMoRy
  • Registratie: Augustus 2004
  • Laatst online: 27-05 16:05
ik koop mijn onderdelen gewoon lekker goedkoop bij conrad of Voti.
Je kan wel naar specialistische bedrijven gaan en het evt. laten maken, kost alleen een berg meer.

er moet trouwens ook nog een versterkerschakelingetje achter de ic: die kan waarschijnlijk niet genoeg stroom leveren om de transmitter direct aan te sturen.

Heb je trouwens als gegooglet op "40kHz oscillator" e.d. ik krijg best wel veel hits...
Je kan het sowieso proberen... zijn niet echt dure schakelingen en zodadelijk doen ze precies wat je wilt.

edit: ik zie net dat het schema wat ik heb gepost pas vanaf 100 kHz werkt.
Als je TLL ictjes gaat aansturen met kristallen, kan het allemaal veel simpeler. Een inverter, twee condensatoren (18 pF ofzo) en wat weerstanden zijn genoeg. Maar dat moet je ook ff googelen ;)

[ Voor 19% gewijzigd door MeMoRy op 14-04-2007 15:49 ]

U vraagt, wij antwoorden.


Acties:
  • 0 Henk 'm!

  • caipirinha
  • Registratie: Mei 2004
  • Niet online

caipirinha

The boy from brazil

bij een 4060 heb je geen extra componenten voor de oscillator nodig.
gewoon het kristal in serie met een weerstandje van 330 Ohm tussen pootje 10 en 11 daaroverheen een weerstandje van 10 Meg. Pootje 10 met een C´tje van 10 pf naar massa, andere kant van het kristal met een trimmertje van 47 pf naar massa. Dit is voor frequenties tot 100 kHz, voor hoger heb je kleinere c´s nodig.

Voor een experimentje koop ik ook gewoon bij conrad maar als het iets beter moet bestel ik gewoon een kristal, voor 20-50 euro ben je klaar. Voor de hobby misschien duur maar voor een commerciele schakeling ga ik niet lopen klooien met goedkoop spul.
Ben trouwens heel benieuwd naar het eindresultaat.

No self-respecting engineer should have to close a game to run a circuit simulation.


Acties:
  • 0 Henk 'm!

  • Xqlusive
  • Registratie: Oktober 2003
  • Laatst online: 07:58
Bedankt voor de oplossingen, ik heb het nu heel simpel opgelost met 3 PIC's die de frequenties uitsturen. Ik heb de PIC12F675 gebruikt, dit zijn 8 pins IC's, dus nemen niet zoveel ruimte in. Echter is het wel een beetje een overkill oplossing. Ik zal het gebruik van een 4060 overwegen, deze oplossing lijkt me veel netter.

Als mijn project klaar is wil ik wel wat foto's en schema's posten, tot zover mijn opdrachtgever dit toestaat. Ik kan jullie alvast wel wat meer info geven over wat ik precies van plan ben, hier een korte uitleg oer het project.

De bedoeling is dat door het bevestigen van een externe fixateur om het onderbeen botverschuivingen gemeten kunnen worden tijdens het helingsproces bij botbreuken. Door de faseverschuiving te meten in een ultrasoon signaal is de afstand te bepalen, dit word gedaan voor 6 verschillende afstanden, 3 translaties, 3 rotaties. Ik wil hiervoor 3 frequenties gebruiken zodat ze elkaar zo min mogelijk storen. De verschuivingen worden bepaald door een PIC en worden draadloos doorgestuurd naar een 2e PIC die de informatie via usb doorstuurt naar de pc waar de info verwerkt dient te worden tot grafiekjes. Als ik tijd over heb wil ik misschien nog een 3d reconstructie maken aan de hand van de ontvangen info, maar daar ben ik nog lang niet, eerst dit maar een volledig werkend krijgen!

Edit:

Als ik wel de meerdere PIC's gebruik is het dan mogelijk om meerdere PIC's op 1 oscillator aan te sluiten? Als dat mogelijk is, dan neemt dit minder ruimte in, wat uiteraard ook een belangrijk punt is in draagbare apparatuur.

[ Voor 7% gewijzigd door Xqlusive op 16-04-2007 14:46 ]


Acties:
  • 0 Henk 'm!

  • Xqlusive
  • Registratie: Oktober 2003
  • Laatst online: 07:58
Is het mogelijk om het op de volgende manier door te lussen:
Afbeeldingslocatie: http://img341.imageshack.us/img341/8276/doorlussenclockmt9.th.jpg

Of kan ik ze allemaal parallel aan een oscillator zetten, in de datasheet staat dat er maximaal 10TTL IC's aangestuurd kunnen worden, naar mijn idee zou het dus moeten kunnen.

Deze oscillator bijvoorbeeld: http://uk.farnell.com/jsp...uctdetail.jsp?sku=9712550


edit: Dat doorlussen gaat denk ik niet werken, volgens de PIC datasheet komt daar de clock/4 uit. Dus het zal wel parallel moeten denk ik. Iemand die het kan bevestigen?

[ Voor 15% gewijzigd door Xqlusive op 16-04-2007 16:12 ]


Acties:
  • 0 Henk 'm!

  • naftebakje
  • Registratie: Februari 2002
  • Laatst online: 27-06 15:07
Je kan idd je PIC instellen op klokingang, en dan een oscillator gebruiken voor meerdere PIC's, alles parallel (eventueel met nog een buffertje aan de oscillator, om te zware belasting en dergerlijke problemen op te lossen).
Let wel goed op, een kristal is op zich geen oscillator! Je hebt een goed modelletje vast, die waarnaar je linkt bij Farnell zal werken, ik lees in de datasheet dat je em tot 50pF mag belasten, 3 PIC's rechtstreeks daarop zal waarschijnlijk geen probleem zijn, hou wel de baantjes waarover het kloksignaal loopt zo kort mogelijk (verder de standaard maatregelen tegen storing, je weet ws zelf wel dat je geen geschakelde voeding vlakbij dit signaaltje moet zetten en dergerlijken).

Als de boer zijn koeien kust, zijn ze jarig wees gerust. Varkens op een landingsbaan, leiden nooit een lang bestaan. Als de boer zich met stront wast, zijn zijn hersens aangetast. Als het hooi is in de schuur, zit het wijf bij den gebuur.


Acties:
  • 0 Henk 'm!

  • guus.assmann
  • Registratie: Augustus 2006
  • Laatst online: 27-04-2021
Zoals de meeste microcontrollers heeft ook de klokoscillator van de PIC een ingang en uitgang.
De uitgang gaat naar het kristal en de andere pen van het kristal weer naar de ingang.
Welke pennen dit zijn, staat in de datasheet.
Nu kun je één kristal plaatsen. En dan de uitgang van de PIC, die dus ook aan het kristal zit nogmaals gebruiken. Zet er een inverter als buffer tussen en lus door naar de volgende PIC.
Hier kun je hetzelfde doen, of twee inverters aan de eerste PIC.

Guus Assmann


Acties:
  • 0 Henk 'm!

  • ls470
  • Registratie: November 2004
  • Laatst online: 27-06 14:10
Xqlusive schreef op maandag 16 april 2007 @ 10:49:
Bedankt voor de oplossingen, ik heb het nu heel simpel opgelost met 3 PIC's die de frequenties uitsturen.
Waarom eingenlijk 3 PIC's om de frequenties uit te sturen? Als het stroomverbruik niet kritisch is kun je toch even goed een (iets sneller geklokte) pic alle frequenties laten maken?

Acties:
  • 0 Henk 'm!

Anoniem: 64547

Je had ook op ouderwetse manier kunnen oplossen met wat goedkope cmos
Het kleinst gemene veelvoud van die frequenties is 4Mc
deel je door resp 160, 125 en 100, dan heb je de gewenste frequenties 25, 32 en 40 Kc.
Omdat je waarschijnlijk mooie symmetrische blokvorm wilt hebben. moet je die 4Mc 2x zo hoog kiezen, wordt dan 8Mc.

Benodigd materiaal;
Xtal van 8Mhz
Oscillator in PI schakeling (2xctjes, 1xR, 1x Xtal 8Mc) rond invertor; 2e invertor er achter als buffer(er zitten 6 in 1 behuizing)
3x HEF4040 met wat signaaldiodes om de deeltallen te realiseren.
3x simpele Flipflop (HEF4013, waarvan 2 in 1 behuizing)

Zo'n schakeling prik je snel op 1 breadboardje in elkaar en is spotgoedkoop.

Acties:
  • 0 Henk 'm!

  • Xqlusive
  • Registratie: Oktober 2003
  • Laatst online: 07:58
Ik denk dat ik blijf bij de oplossing van naftebakje (alles parallel aan oscillator). Dit is naar mijn idee wel het makkelijkst.
Waarom eingenlijk 3 PIC's om de frequenties uit te sturen? Als het stroomverbruik niet kritisch is kun je toch even goed een (iets sneller geklokte) pic alle frequenties laten maken?
Ik gebruik 3 losse PIC's omdat mijn complete meting afhangt van deze signalen, als ik het in 1 PIC gooi zal het voorkomen dat er 2 interrupts tegelijk zijn, en word de 1 eerder afgehandeld dan de ander. Wat dan dus als resultaat heeft dat het signaal niet meer perfect zal zijn. In mijn meting gebruik ik de faseverschuiving tussen verzonden en ontvangen signaal. (zie vorig topic). Als het uitgestuurde signaal al niet goed is, dan word het heel erg lastig om nog nauwkeurig deze verschuiving te meten.

Ik zal overigens vragen of het toegestaan is om het complete schema te posten, dan is direct duidelijk wat ik van plan ben, en kunnen jullie misschien nog wat fouten vinden.

edit: Het was geen probleem om schema's te plaatsen, dus hier is hij dan!
Afbeeldingslocatie: http://img228.imageshack.us/img228/4295/designv3tv6.th.png

[ Voor 24% gewijzigd door Xqlusive op 17-04-2007 10:40 ]


Acties:
  • 0 Henk 'm!

  • ls470
  • Registratie: November 2004
  • Laatst online: 27-06 14:10
Om zeker te zijn dat je geen conflict van interrupts krijgt moet je gewoon zonder interrupts werken...
Je moet dan zorgen dat je een oneindige lus maakt, waarbij de uitvoering in alle gevallen even lang duurt (dus voorichtig instructies tellen bij conditionele sprongen, en simuleren voor de zekerheid) en die 3 tellers bijhoudt voor de 3 oscillatoren...

in iets pseudocodeachtigs wordt dat dan:

begin1:
decrement teller1
als teller1==0, jump naar verwerk1
NOP (zo veel als nodig is om de timing te doen kloppen)
jump naar begin2
toggle output1
teller1=initiele_waarde_1
begin2:
(enzovoort)

Om nauwkeurig de frequenties te genereren moet de pic natuurlijk voldoende sneller draaien dan de signalen, maar als ik goed begrepen heb is stabiliteit belangrijker dan nauwkeurigheid en als je de NOP's correct telt (datasheet lezen en/of met de simulator spelen) is de stabiliteit die van de kristaloscillator...

Acties:
  • 0 Henk 'm!

  • Xqlusive
  • Registratie: Oktober 2003
  • Laatst online: 07:58
Ik heb er al mee zitten spelen om het in 1 PIC te krijgen, ook zonder interrupts is dit nog lastig te doen. Een loop maken zal ook erg lastig zijn omdat de frequenties niet gelijk zijn, de signalen niet tegelijk afgelopen zijn. Hierdoor zal de volgende itteratie niet hetzelfde beginpunt hebben als de vorige en de daarop volgende. Ik bedoel dat het verschil tussen het hoog maken van 2 uitgangen niet altijd gelijk is. 40Khz is eerder afgelopen dan de 25Khz, dus moet de volgende itteratie de 40Khz nog weer eerder afgelopen zijn.
De enige oplossing die ik wel zag was om een loop te maken waarin de signalen aan het eind weer bij elkaar komen, in het geval van 40Khz en 25Khz is dit dus op 200u, 5 hele trillingen voor de 40Khz en 8 hele voor de 25Khz. Hierdoor heb ik dus 1 PIC minder nodig. Maar om dit ook nog eens te doen met het 32.8Khz signaal erbij is erg lastig. Het duurt wel even voordat deze 3 signalen elkaar weer tegelijk kruisen.

Of zeg ik nu iets heel doms ?

Acties:
  • 0 Henk 'm!

  • ls470
  • Registratie: November 2004
  • Laatst online: 27-06 14:10
Xqlusive schreef op woensdag 18 april 2007 @ 22:46:
[...] Een loop maken zal ook erg lastig zijn omdat de frequenties niet gelijk zijn, de signalen niet tegelijk afgelopen zijn.

De enige oplossing die ik wel zag was om een loop te maken waarin de signalen aan het eind weer bij elkaar komen
Da's niet nodig; gewoon 1 (continue) loop maken waarin er 3 afzonderlijke tellerkes instaan (die achter elkaar worden uitgerekend) werkt als je zorgen dat't afhandelen van iedere teller altijd even lang duurt (van daar NOP's), of het signaal omgeschakeld wordt of niet. De 3 tellers (en wanneer 0 bereiken) zijn dus onafhankelijk van elkaar...
Pagina: 1