Ok, die tekening maakt veel duidelijk. De schmitt trigger maakt dus van een "zwevingssignaal" een digitaal signaal als ik het goed begrijp? Dus in principe sluit je best zo een Schmitt trigger aan achter je receiver vooraleer je het signaal op de PIC laat binnen komen. Dan maakt het timen van het signaal dan eenvoudig en redelijk exact nog steeds.Cassettebandje schreef op 13 juli 2004 @ 18:27:
over zwevingen, am demodulatie en de schmitt trigger
[afbeelding]
Maar hoe gebruik je die trigger om de frequentie te bepalen? Ik zit momenteel te denken aan het volgende:
Over het uitgezonden signaal weet je alles wat je wil weten. Van je teruggezonden signaal weet je dat het nog steeds geluid is, dus even snel gaat en ken je de tijd, misschien is dat voldoende om de golflengte van het ontvangen signaal te berekenen en zo de frequentie...Ik ga hier zeker op verder zoeken, maar als iemand denkt dat ik het te ver zoek of verkeerd zoek, zeg het me dan wel aub
vorig jaar heb ik met dit ic afstanden gemeten tot een centimeter of 40 met ir licht. gaat vrij goed. volgens mij beruste dit op het uitdovings-versterkings principe, maar zeker weten doe ik dit niet. progje heb ik misschien nog wel ergens maar in het ergste geval ligt het op school in een doos
elektrotechniek is leuk (nog wel). ik ga dus weer verder met leuke dingen ontwerpen. amd 2200+ 256mb 333mhz,gf4 440mx, 120gb,16X dvd. jarr-url
http://www.talkingelectronics.com/Projects/PIC_LAB-1/extra_10.html. Deze link heeft mij bevestigd dat er geen standaard manier is om te vermenigvuldigen en te delen maar er staat een mooie oplossing voor vermenigvuldigen en delen. (omdat we in de formule enkel door 2 gaat het goed) Toevallig handelt het ook heel eventjes over hoe je het probleem van te grote getallen aanpakt (zoals wij heel waarschijnlijk zullen hebben)
Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog
Ik was zelf tot vijf seconden geleden nog altijd voorstaander om alles door de sonar te laten doen, ook al wijst de poll volledig anders uit. Maar door jou punt besefte ik plots iets.Sprite_tm schreef op 13 juli 2004 @ 21:44:
Damoke: Is het niet makkelijker om het vermenigvuldigen/delen aan de PC over te laten? De PC krijgt dan gewoon een temperatuur (mits dat doorgaat) en een tijdswaarde en mag dan zelf de afstand berekenen. Scheelt je iig veel moeilijk doen.
De formule om de snelheid van het geluid te bepalen op basis van de temperatuur bevat ... een vierkantswortel. Dat geeft 2 problemen.
1. Met een PIC is die ver niet te doen denk ik. Ik ken alleszins geen manier om een vierkantswortel te bepalen door gebruiken te maken van som en verschil (en product). Met een AVR gaat dat wel omdat machten daar bestaan en hopelijk dus ook tot de macht 1/2 lukt.
2. Door die vierkantswortel zullen de meeste geluidsnelheden komma-getallen zijn en geen integers. Dus zelf al zou je een vierkantswortel kunnen berekenen, de snelheid zal afgerond moeten worden. Als je afrond kan je dan even goed gewoon 340 m/s gebruiken.
Hierdoor ben ik nu ook voorstaander van alles door pc te laten doen. Behalve het timen en meten van frequentie zou ik door de PIC laten doen. Dat timen zie ik goed zitten, dat meten van frequentie nog steeds niet, maar dat komt misschien nog wel.
Verwijderd
Damoke:
Ik zou niet al te enthousiast worden over het machtsverheffen van een AVR, waarschijnlijk kent het ding niet eens floating point getallen (correct me if i'm wrong)
[ Voor 22% gewijzigd door Verwijderd op 13-07-2004 23:19 ]
Ja inderdaad, het moet wel mogelijk zijn. Maar ik ken de methode niet om zoiets door de 4 basisbewerkingen te bereiken en ik denk ook niet dat ze zo voor de hand liggend is. Bovendien blijft ook, zoals je zelf zegt, het "probleem" dat de meeste PIC's en AVR's geen floating point kennen.Verwijderd schreef op 13 juli 2004 @ 23:18:
Vierkantswortel en kwadraat etc. *moeten* wel te doen zijn met standaard op- en aftel werk, aangezien dat ook het enige is wat de cpu in mn rekenmachine (een TI-83) kan. Dus dat is het probleem niet. Maar als die AVR die Sprite_tm daar noemt een ingebouwde comparator, teller en UART aansluiting heeft wordt het best interessant...
Damoke:
Ik zou niet al te enthousiast worden over het machtsverheffen van een AVR, waarschijnlijk kent het ding niet eens floating point getallen (correct me if i'm wrong)
Ik blijf nog steeds liefhebber van de mooie manier maar ik begin stilaan meer en meer te denken dat de "simpele" manier toch beter is. Uiteraard zou ik nog een groot stuk van het programma in de sonar zelf willen houden (verzenden en timen van signaal, verder draaien van sonar), enkel de resultaten die hij doorstuurt hebben achteraf nog wat berekening nodig op pc voor ze bruikbaar zijn (frequenties ipv snelheid, tijd ipv afstand). Ik denk dat die combinatie tot een mooi systeem zal leiden dat zo exact mogelijk blijft (als je die berekeningen op de PIC laat doen zit je aan integers gebonden en zal je resultaat niet even exact zijn als op pc)
Neem aan:
Vgeluid = 330 m/S
(delta)T = 0,1 S
D = Vgeluid * 0,5 * (delta)T
D = 330 * 0,5 * 0,1
D = 16,5 m
En als een PIC op 20Mhz werkt (dus met 5Mhz code uitvoerd), doet hij 5000000 instructies per seconde, +- 5 instructies om 1 tijdlus door te lopen (softwarematig, zonder timer gebruikt dus (die hij on board heeft)), kan hij 1/1000000 sec precies werken.
D = 330 * 0,5 * 0,000001
D = 0,000165 m
D = 0,165 mm nauwkeurig.
Een PIC lijkt mij wel degelijk snel genoeg
En seriele communicatie is een MAX232 overbodig voor dit doeleinde: we hebben nog geen 9600 baud nodig...
En op zich is je temperatuurbereik niet eens heel groot, dus wat je zou kunnen doen is voor een aantal temperaturen de geluidssnelheden in een grote table opslaan (wat weer voor een avr pleit, die kan efficienter tables maken)
Komma-getallen zijn niet eens zo heel lastig te implementeren, zoek es op 'fixed point' en je snapt (hoop ik) wel wat ik bedoel.
Anyway, wat ik wil zeggen is: het is best mogelijk om alle berekeningen in een avr/pic te doen, de beestjes zijn er krahtig genoeg voor hoewel je dat niet zou denken, maar als het apparaat toch altijd aan een compu hangt kun je beter die rekenkracht gebruiken.
Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog
Verwijderd
Met AVRGCC is het ook mogelijk om ASM in te voegen, zodat je een combinatie kunt maken met ASM voor het timings-gedeelte en C voor het berekeningsgedeelte.
Een ingebouwde UART neemt je heel wat werk uit handen. Hij zorgt zelf voor het verzenden van de data. Je hoeft dus niet zelf een stukje programma te schrijven dat de pin laag/hoog maakt, even wacht, het volgende bit pakt, de pin weer laag/hoog maakt etc.
De ingebouwde UART van de AVR (en van de PIC ook) werkt met TTL signalen (0 en 5 volt dus). Je bent dus nog wel een MAX232 nodig.
Let er wel op dat wanneer je seriëel wilt communiceren je vast zit aan bepaalde kristalfrequenties. Wanneer je een AT90S2313 zou gebruiken zou je het beste een 7.3728 of 9.216 MHz. kristal kunnen nemen, zodat je bijna alle baudrates kunt gebruiken. (Denk niet dat die AVR trager loopt dan een PIC. Een AVR loopt namelijk altijd op de echte klokfrequentie, en niet gedeelt door 4 zoals bij de PIC)
Wat ik trouwens ook een voordeel vind aan de AVR is dat hij te flashen is met een zeer simpel schakelingtje. Met deze schakeling zijn alle AVRs te programmeren, dit in tegenstelling tot de meeste PIC16F84 programmers (waar je alleen maar een 16F84 mee kan programmeren).
Een AVR programmer bij circuitsonline:
http://www.circuitsonline.net/circuits/view/112
De ponyprog programmer voor de AVR:
http://www.lancos.com/prog.html
Een 16F84 programmer:
http://www.circuitsonline.net/circuits/view/111
[ Voor 67% gewijzigd door Verwijderd op 14-07-2004 11:36 ]
Hmm, nu wordt het wel heel aanlokkelijk (naar mijn mening) om een AVR te gebruiken ipv een PIC...ook al zegt de poll volledig anders. Wat die ingebouwde UART ondersteuning betreft, dat zegt me niets, maar het blijkt toch ook een sterk argument te zijn. Klopt het dat zelf met die ondersteuning er nog steeds nood is aan een MAX232 of zelfgemaakt alternatief?Verwijderd schreef op 14 juli 2004 @ 10:01:
Als de berekeningen te lastig worden om in assembly te implementeren (of als je daar gewoon geen zin in hebt), kun je eens kijken naar AVRGCC, dit is een gratis C compiler voor de AVR. Dan heb je helemaal nergens meer last van, en kun je gewoon doubles declareren en sqrt() uitvoeren.
Met AVRGCC is het ook mogelijk om ASM in te voegen, zodat je een combinatie kunt maken met ASM voor het timings-gedeelte en C voor het berekeningsgedeelte.
Als iemand trouwens links heeft over de functie van een comparator is dat ook welkom, dan lees ik dat ook eens door en zie ik waarom dat in ons voordeel zou zijn.
Twee links over AVRGCC:
http://www.avrfreaks.net/AVRGCC/
http://gcc.gnu.org/
[ Voor 7% gewijzigd door Verwijderd op 14-07-2004 10:13 . Reden: Links ]
Als je bv in JAL de standaard functies van serieele communicatie gebruikt (icm PIC is dat idd), ben je ook niet afhankelijk van kloksnelheden, dat wordt berekent bij het compileren. Serieele communicatie is ook niet erg veel nodig, enkel antwoord geven op een paar vragen vd computer.
Kijk even wat het goedkoopste is. Als er veel vraag is naar geprogrammeerde pic`s, kan ik er een hoop bestellen en erg goedkoop programmeren en leveren via mn bedrijf. avr`s zijn AFAIK duurder en moeilijker te krijgen.
De resultaten:
Duidelijk dus: we proberen eerst zelf onze parabool te maken en pas als het faalt kopen we er een.
Ook dit is duidelijk, de communicatie verloopt via de COM-poort. Hierover staat in de startpost al wat informatie over hoe dit behandelt moet worden in de PIC en hoe op PC.
Iets meer aan elkaar gewaagd dan de poll over de parabool. Ik veronderstel dat heel wat mensen voor de simpele manier gestemd hebben voor volgende redenen:
• PC rekent makkelijker dan PIC/AVR
• De PC zorgt voor weergave en kan dus even goed de berekeningen doen
In dit opzicht ga ik akkoord, maar moet ik zeggen dat door de laatste posts ik toch meer overtuigd ben van de realiseerbaarheid van het mooie systeem. Vandaar stel ik voor eerst te proberen de mooie manier te programmeren, die volgende dingen naar de pc doorstuurt:
• Positie van de radar (positie motor)
• Snelheid voorwerp
• Afstand voorwerp
De andere taken (uitzenden signaal, timen, draaien van sonar) doet de sonar zelfstandig in elk geval.
Als dit niet lukt, laten we volgend doorsturen naar de pc:
• Temperatuur
• Ontvangen frequentie
• timing
en bepalen alles met pc op basis daarvan.
Overtuigende poll, op basis van temperatuur it is. De formule:
v = sqrt( (gamma*R*T) / M )
waarbij v de snelheid is in m/s, gamma = 1,4 , R = universele gasconstante = 8,3143 , M = massa van lucht = (0,2 x 32 + 0,8 x 28)10-3
De poll tussen PIC/AVR laat ik nog open voor een tijdje, ook al is het wel ongeveer duidelijk dat het een PIC zal worden. Ik heb vandaag weer wat zitten lezen en ook in de C compiler zit niet echt een methode voor een exacte vierkantswortel. Ik vond wel 2 primitieve benaderingsmethoden, maar mits wat zoeken moeten die wel aan te passen zijn of moeten er wel alternatieve methodes te vinden zijn.
Momenteel komt voor mijzelf de MAX232 voordeligst uit omdat ik daar 2 gratis samples van ga bestellen (waarschijnlijk ook de MAX232A en MAX233). Dat ga ik ook doen met PIC's en AVR's dus voor mij zijn die momenteel gratis.3lmowww schreef op 14 juli 2004 @ 17:04:
Het schakelingetje wat ik gepost heb, vervangt de max232 volledig, is getest op veel laptops en computers, maar is nog wel nodig, omdat een RS232 poort ndere voltages gebruikt.
Als je bv in JAL de standaard functies van serieele communicatie gebruikt (icm PIC is dat idd), ben je ook niet afhankelijk van kloksnelheden, dat wordt berekent bij het compileren. Serieele communicatie is ook niet erg veel nodig, enkel antwoord geven op een paar vragen vd computer.
Kijk even wat het goedkoopste is. Als er veel vraag is naar geprogrammeerde pic`s, kan ik er een hoop bestellen en erg goedkoop programmeren en leveren via mn bedrijf. avr`s zijn AFAIK duurder en moeilijker te krijgen.
Qua vraag naar pic's ken ik niet. Ofwel is er niemand geinteresseerd in het project zelf te maken ofwel is mijn vraag niet gelezen maar heb nog geen mails gehad van geinteresseerden...ik hoop dat dat nog verandert
Voor de frequentie bedacht ik het volgende:
Je weet hoe lang je een signaal uitzend en aan welke frequentie je dat doet. Daaruit kan je je golflengte bepalen. (v = lambda * frequentie) Als je die golflengte kent, dan kan je ook bepalen hoeveel keer die volledige golf (dus 1x sinuspatroon) doorgestuurd wordt. (op basis van de geluidssnelheid en tijdsduur kan je bepalen hoe "lang" je signaal namelijk is)
Nu verandert je frequentie van je teruggekaatst signaal wel, maar het blijft geluid, en het aantal volledige golflengten blijft hetzelfde.
Als je nu van je ontvangen signaal meet hoe lang je signaal ontvangt, dan kan je (weer met de geluidssnelheid) vinden hoe "lang" je ontvangen signaal is. Nu weet je dat je in die lengte hetzelfde aantal volledige golven. Er komt dus Y x aantal volledige golven = lengte. Nu is toevallig die Y de lengte van 1 golf, of net de golflengte van je ontvangen signaal. Je vindt aldus de golflengte van je ontvangen signaal en daaruit ook de frequentie (v / lambda = frequentie).
Iemand die deze manier kan bevestigen of ontkrachten? En is het systeem goed genoeg om te werken in ons systeem, of is er tohc een ander systeem nodig?
Trouwens, weer even vermelden: onderaan de vorige pagina is er nog 1 reactie bijgekomen door mij die redelijk wat "belangrijke" informatie bevat, zeker lezen dus.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| Stel je wil sqrt(x) berekenen: (vb: x = 9862) 1. Trekt van x voortdurend opeenvolgende oneven gehele getallen af tot je een negatief getal bekomt. (vb: 9862 - 1 - 3 - 5 - ... - 199 = 9862 - 10000 = - 138, het eerste negatieve getal) 2. Stel het laatste oneven getal dat je van x aftrok = a. (vb: a = 199) 3. sqrt(x) ligt nu tussen (a - 1)/2 en (a + 1)/2 (vb: 99 < sqrt(9862) < 100) 4. Om nu te weten welk van de twee de beste benadering is verhef je beide getallen tot het kwadraat en trek je ze af van x. Het kleinste getal (absolute waarde) is de beste benadering. (vb: 99 * 99 = 9801. 9862 - 9801 = 61 100*100 = 10000. 10000 - 9862 = 138. -> beste benadering = 99.) 5. Om benadering na de komma te doen vermenigvuldig je x met een macht van honderd. (vb. 9862 * 100^1) 6. Bereken van dat getal sqrt(x). (vb. 993 < sqrt(986200) < 994 ) 7. Bepaal de beste benadering (vb. 993) 8. Deel je bekomen getal door dezelfde macht (zie stap 5) van 10. (vb. 993 / 10^1 = 99,3) |
Op deze manier kan je redelijk eenvoudig (maar misschien wel tijdrovend) vierkantswortels berekenen tot een vast aantal cijfers na de komma. De macht van 100 bepaalt het aantal cijfers na de komma.
Ik zou het als volgt doen:
Regel iets wat een signaal genereert op de gewenste frequentie (zeg 40 000Hz). Stuur dat weg met een speakertje of piezo voor een bepaalde tijd (zeg 1ms).
Regel iets wat het inkomende geluid omzet in een electirsch signaal (bijv een microfoontje). Laat dat door een banddoorlaatfilter gaan om stoorsignalen eruit te filteren. Laat vervolgens bepalen of er wel of geen signaal is (am-demodulator + comparator/schmitt-trigger).
Na het wegsturen van het signaal gaat de microcontroller tellen gedurende de periode (Delte)T (zie plaatje) totdat het signaal van de wel/geen signaal bepaler op laag gaat.
De mirocontroller stuurt dat getal naar de pc die de afstand berekent.

Nou aan iemand de taak om een schematje te ontwerpen.
Bedankt voor je opmerking, nu weet ik tenminste wat de mensen hier weg houdt (misschien).Cassettebandje schreef op 15 juli 2004 @ 15:37:
Ik zou toch willen adviseren om een besluit te nemen over hoe je het signaal gaat uitzenden en ontvangen en hoe je daaruit de afstand bepaalt. Een beetje heen en weer discussieren of je de berekeningen door de pic laat doen of aan de pc overlaat dat zou ik maar een beetje uitstellen want dat komt later wel goed.
Ik zou het als volgt doen:
Regel iets wat een signaal genereert op de gewenste frequentie (zeg 40 000Hz). Stuur dat weg met een speakertje of piezo voor een bepaalde tijd (zeg 1ms).
Regel iets wat het inkomende geluid omzet in een electirsch signaal (bijv een microfoontje). Laat dat door een banddoorlaatfilter gaan om stoorsignalen eruit te filteren. Laat vervolgens bepalen of er wel of geen signaal is (am-demodulator + comparator/schmitt-trigger).
Na het wegsturen van het signaal gaat de microcontroller tellen gedurende de periode (Delte)T (zie plaatje) totdat het signaal van de wel/geen signaal bepaler op laag gaat.
De mirocontroller stuurt dat getal naar de pc die de afstand berekent.
[afbeelding]
Nou aan iemand de taak om een schematje te ontwerpen.
Ik dacht al heel de tijd op dezelfde manier als jij eigenlijk en dacht dat dat zowat duidelijk was. De speaker wordt die van bij Conrad. Daar moet normaal gezien gewoon stroom op en hij stuurt vanzelf ultrasoon geluid uit, dus dat is in orde.
Qua receiver is het de bijhorende receiver. Die ontvangt vanzelf alleen signalen die dicht genoeg bij ultrasoon ligt (volgens de datasheet denk ik dat tussen 38Khz en 41Khz nog opgevangen wordt). Een banddoorlaatfilter hoeft dus niet meer. Daarna zoals je zelf al zei, daarna een AM-demodulator en een Schmitt-trigger (ik veronderstel dat hiervoor wel gewone hardware-onderdelen bestaan). Als ik jou voorgaande tekening begrijp maakt die Schmitt een blokspanning uit het signaal. Dat kan dan dienen als inputsignaal in de pic om het einde van de timing aan te duiden.
Bepalen van de afstand en snelheid zie ik zo:
Het "main" programma in de PIC stuurt een signaal uit naar de luidspreker en begint gewoon zijn W-register te verhogen (timen dus). Als de microfoon een signaal krijgt dient dat als interrupt (laag -> hoog). In die interrupt wordt de waarde van het W-register opgeslagen in een file. Het zet het register op 0 en begint weer te timen. Dit tot dat de micro niets meer opvangt. Die waarde slaagt hij ook op in een file. Nadien laat de interrupt ook de temperatuur meten (I2C) en slaagt die ook eens op. Afhankelijk van wat we naar de pc versturen worden op die waarden nog berekeningen uitgevoerd. Nadien worden ze verstuurd over de COM-poort. Tenslotte laat hij de sonar 1 fase verder draaien en wacht tot dat gedaan is.
Nadien wordt een soft reset uitgevoerd wat ook meteen het einde van de interrupt betekend en het programma herstart.
Grotendeels zoals jij ook voorstelde, dus ik stel voor dat we dit definitief maken (tenzij er iemand ernstige fouten zou opmerken)
Volgens mij zijn dat de grote lijnen en kunnen we nu een stap verder in de ontwikkeling gaan. Die stap is volgens mij het uittekenen van de PCB. Tegelijkertijd moet er ook definitief besloten worden welke onderdelen we gebruiken (ik stel zelf voor PIC16F84A als PIC, MAX232 voor rs232-communicatie, de voorgestelde I2C-sensor en ook een UC 3967SLB voor motordriver, verder ook nog zoeken naar AM-demodulator en Schmitt-trigger). De fase die daarop volgt is het bestellen van de andere onderdelen (weerstanden en zo) en PCB (laten) maken. Dan kunnen we beginnen testen hoe goed het systeem werkt.
Edit: in dit systeem moet er nog een aanpassing gebeuren besef ik nu. Standaard moet de poort waarop de micro zit als uitgang gezet worden. Pas wanneer de luidspreker gedaan heeft met uitsturen mag de poort een ingang worden, anders vang je natuurlijk direct je eigen signaal op en krijg je meteen een interrupt, wat niet de bedoeling is.
[ Voor 5% gewijzigd door Verwijderd op 15-07-2004 17:42 ]
Verwijderd
Je zal je wel vergissen, de frequentie van het MF of omhullend signaal loopt in commerciele apparatuur niet op. Het veranderen van de omhullende tijdens een zendpuls noemen ze een tsjirp en word vrijwel alleen in millitaire radar installaties gebruikt (bijv. de LW-08 van Hollandse Signaal).Cassettebandje schreef op 13 juli 2004 @ 11:46:
[...]
ik heb op school ook eens met een radar gespeeld en toen hebben ze uitgelegd dat het apparaat een signaal uitzendt met een frequentie die oploopt. Door het verschil in uitgezonden en ontvangen frequentie te meten kun je de afstand bepalen. Het verschil in frequentie kun je bepalen door de signalen op te tellen en de frequentie van de eerste harmonische te bepalen, dat is het verschil in frequentie. Dat zal dan wel laag genoeg zijn om met een pic te kunnen meten.
Dat is meer analoog werk, maar ik denk dat je hier meer success mee behaalt dan met alleen een pic.
De omhullende, MF of PRF veranderen tussen elke opvolgende zendpuls is wel een normaal gebruik.
Voor die powersupply denk ik gebruik te maken van een 9V batterij (je weet wel, die vierkante dingen). Er zijn schakelingen te vinden online over hoe je van een te hoog voltage een stabiele 5V lijn kan maken. Nu zit ik hier met problemen:
Op Circuitsonline staat een schakeling die gebruik maakt van verschillende condensatoren (4). Op een andere site vond ik er een met maar 2 condensatoren, en tenslotte hier lees ik dat je voor een 9V helemaal niet moet doen. Gewoon + verbinden met de input, - met de ground en de out geeft je een 5V signaal.
Nu kan ik je zeggen, voor een beginner sla je dan wel ff door
gespiekt van euss
Het enige punt van bezwaar is het verbruik van de stappenmotor. Werkt die uberhaupt wel op 5 à 9 volt, en kan je met het oog op verbruik niet beter een molex pakken?
[ Voor 9% gewijzigd door Vermicellisoep op 15-07-2004 21:38 ]
Nooooh! Stahp!
Ik dacht zelf aan de IC 7805 omdat die vanzelf omzet naar 5V, "om het even" wat je er in brengt. Voordeel aan de LM350 die jij zegt zijn de gratis samples, maar waarschijnlijk ook de hogere leerdrempel omdat de output regelbaar is. Nu kost zo een IC 7805 amper 1 euro dus daarvoor moet ik het niet laten.Vermicellisoep schreef op 15 juli 2004 @ 21:38:
Met een LM350 of LT1084 moet je er een 5 volt lijn van kunnen maken.
gespiekt van euss![]()
Het enige punt van bezwaar is het verbruik van de stappenmotor. Werkt die uberhaupt wel op 5 à 9 volt, en kan je met het oog op verbruik niet beter een molex pakken?
Het probleem is vooral het snappen waarom sommige schakelingen condensators gebruiken en anderen niet...Soms lees ik dat het is om de voeding gewoon wat stabieler te krijgen (ruis wegwerken) maar dan snap ik nog steeds niet hoe je de waarde van die condensators moet bepalen, en bovendien waarom de ene schakeling maar 2 condensators gebruikt terwijl de andere er 4 nodig heeft.
Over die stappenmotor, daar heb ik ook aan gedacht...Ik weet echter nog niet wat voor motor te gebruiken dus ook niet wat hij verbruikt en zo, maar misschien is daar een aparte voedingsbron voor nodig, ik weet het niet. Een molex zou ik liever niet doen. Als ik genoeg op de hoogte ben verwijs je naar molex-connectors zoals op een PC PSU. Probleem daarmee: je moet ergens een stroomvoorziening hebben voor de sonar, wat het heel wat minder leuk maakt om mee te experimenteren. Een draagbare sonar icm een portable maakt alles een pak leuker als je niet overal een verlengkabel moet meesleuren. Dat is natuurlijk als molex hier is wat ik denk dat het is
[ Voor 22% gewijzigd door Verwijderd op 15-07-2004 21:57 . Reden: Stuk over molex ]
Waarom kies je een MAX 232? Waarom een apart motor driver IC?
Om antwoord op je vraag te geven: om een 7805 zet je een serie condensators om rimpels op te vangen in de voedingsspanning. 2 condensatoren is hier genoeg. Een grote aan de spanningsingang, en een kleinere aan de uitgang.
Verder: stappenmotor heeft niet een gestabiliseerd voltage nodig. Dus kan je met een paar simpelenpn torretjes gewoon de ingangsspanning schakelen. BD139 ofzo moet goed zijn (mits gekoeld) voor een printermotortje.
Voor de rest veel succes en als sidenote: een piezo element verwacht niet zomaar domweg 5V, maar een ingangsfrequentie van +- 40Khz
Edit: Gerbuik een gangbare pic, niet de 84: duurder dan bv de 628 en minder functies. Anders kan je eerst oefenen en ontwikkelen met de 16f870 en daarna kijken wat er nou echt in moet zitten
[ Voor 10% gewijzigd door 3lmowww op 16-07-2004 01:23 ]
"We never grow up. We just learn how to act in public" - "Dyslexie is a bitch"
Over de schakeling: toegegeven, het is op z'n minst gedurfd te noemen dat ik er aan begin met mijn kennis. Maar dat is om aan iedereen duidelijk te maken dat ik niet van hen probeer te profiteren. Ik hoop hiermee te bewijzen dat ik dit project heel serieus meen en zo wat steun te krijgen van mensen (zoals jij) die meer ervaring hebben. De condensatoren werken dus zoals ik dacht gewoon om een stabielere voeding te krijgen, thx3lmowww schreef op 16 juli 2004 @ 01:21:
Jongens jongens jongens. Jullie lopen een beetje hard van stapel: als je een schakeling wil ontwerpen helemaal ok, maar als je niet weet hoe je simpel een 5v lijntje krijgt, zou ik niet beginnen aan de keuze over seriele communicatie ed.
Waarom kies je een MAX 232? Waarom een apart motor driver IC?
Om antwoord op je vraag te geven: om een 7805 zet je een serie condensators om rimpels op te vangen in de voedingsspanning. 2 condensatoren is hier genoeg. Een grote aan de spanningsingang, en een kleinere aan de uitgang.
Verder: stappenmotor heeft niet een gestabiliseerd voltage nodig. Dus kan je met een paar simpelenpn torretjes gewoon de ingangsspanning schakelen. BD139 ofzo moet goed zijn (mits gekoeld) voor een printermotortje.
Voor de rest veel succes en als sidenote: een piezo element verwacht niet zomaar domweg 5V, maar een ingangsfrequentie van +- 40Khz
Edit: Gerbuik een gangbare pic, niet de 84: duurder dan bv de 628 en minder functies. Anders kan je eerst oefenen en ontwikkelen met de 16f870 en daarna kijken wat er nou echt in moet zitten
De keuze voor een MAX232 ligt niet per sé vast. Maar uit vorige berichten versta ik toch goed dat een MAX232 nodig is, of uit links op internet een MAX233. Een van die twee zal er dus in moeten komen om aan seriele communicatie te kunnen doen.
De aparte IC voor de motor heeft 2 redenen. Naar wat ik op internet gelezen heb kan je met de IC die ik voorstelde tot 1/8 stepping doen, heel mooi als je niet te veel geld hebt om superexacte motoren te kopen. Bovendien maakt het dat je motor zelf maar 1 uitgang in beslag neemt op je hoofdPIC (de direction zet je op een vaste waarde met de voeding). Bovendien maakt het het programma ook wat eenvoudiger te volgen. Gewoon een signaal over je uitgang sturen is volgens de datasheet voldoende om de motor wat verder te laten draaien. Als laatste zijn die IC's ook bestelbaar als samples dus qua prijs maakt het (voor mij alleszins) niet veel uit, dus waarom niet als het je het leven eenvoudiger maakt?
Mag ik jou ook vragen wat het gemiddeld verbruik van zo een steppermotor is? Uit jou post maak ik op dat je die rechtstreeks op de voeding aan te sluiten is, maar zou het niet leuk vinden als de batterij het dan maar een halve omwenteling uithoudt
Bedankt ook voor de sidenote over de transmitter...Ik dacht wel al dat het niet zo simpel was als er gewoon wat stroom op zetten. Daar zal ik zeker en vast rekening mee houden en proberen iets voor te vinden (kan niet zo moeilijk zijn denk ik).
Moest je trouwens zin hebben om zelf ook wat te ontwerpen is dat uiteraard zeer welkom. Zoals ik al zei: hoewel ik zelf aan het ontwerpen begonnen ben wil dit zeker niet zeggen dat ik het alleen wil doen. Ik zou veel liever zelf mijn ontwerp maken en dan vergelijken met andere ontwerpen om te zien waar ik in de fout ging etc.
Verwijderd
Bovendien is 9v met een 7805 naar 5v omzetten ook niet echt de efficientste methode; je kunt beter 3 dikke 1,5v batterijen serieel zetten, die halve volt minder maakt niet zoveel uit voor de PIC (ding werkt in de praktijk al op 2,5 of 3v). Hoe het met de tolerantie van een AVR zit weet ik niet. Als het ding dan onstabiel is kun je nog proberen een (grote) condensator over de voedingspinnen van de PIC te zetten, misschien dat de stappenmotor voor spanningsdalen zorgt (verder geen ervaring mee, dus correct me if i'm wrong).
OK, dus geen 1/8 stepping maar beter wat meer geld aan een betere motor (ik heb gisteren een HD gesloopt zonder nut want er zat verdorie zelf geen bruikbare motor in, en die van een floppydrive ziet er mij nogal licht uit om een schotel te laten ronddraaien).Verwijderd schreef op 16 juli 2004 @ 09:32:
Als je met stappenmotoren werkt die je continu aanstuurt (moet wel bij niet-hele stappen) zou ik geen 9v blokje gebruiken eigenlijk Damoke, stappenmotoren worden warm en vreten stroom. Het zal waarschijnlijk al wat beter gaan met een stappenmotor die je in hele stappen laat bewegen: even stroom erop om hem in de goeie positie te krijgen en dan de stroom eraf, het ding blijft vanzelf toch wel in die stand staan.
Bovendien is 9v met een 7805 naar 5v omzetten ook niet echt de efficientste methode; je kunt beter 3 dikke 1,5v batterijen serieel zetten, die halve volt minder maakt niet zoveel uit voor de PIC (ding werkt in de praktijk al op 2,5 of 3v). Hoe het met de tolerantie van een AVR zit weet ik niet. Als het ding dan onstabiel is kun je nog proberen een (grote) condensator over de voedingspinnen van de PIC te zetten, misschien dat de stappenmotor voor spanningsdalen zorgt (verder geen ervaring mee, dus correct me if i'm wrong).
Dat 9V niet slim is omdat 4,5V reeds voldoende is voor de PIC begrijp ik. Maar ik had zoiets van: als ik 9V heb en gebruik er continu maar 5V van dan gaat de sonar langer mee op 1 batterij. Bovendien erger ik me steeds rot aan 3x 1,5V. Je zal altijd merken dat je net maar 2 zo'n batterijen in huis hebt die nog voldoende geladen zijn, ergernis alom dus
Bovendien hoop ik dat ik met die 9V genoeg heb om buiten de PIC ook nog de motor aan te drijven.
Als je een tor neemt die 1A aan kan, zit je wel veilig bij de kleinere stappenmotors, die nemen per spoel zo`n 200 tot 500 mA.Verwijderd schreef op 16 juli 2004 @ 08:55:
[...]
Over de schakeling: toegegeven, het is op z'n minst gedurfd te noemen dat ik er aan begin met mijn kennis. Maar dat is om aan iedereen duidelijk te maken dat ik niet van hen probeer te profiteren. Ik hoop hiermee te bewijzen dat ik dit project heel serieus meen en zo wat steun te krijgen van mensen (zoals jij) die meer ervaring hebben. De condensatoren werken dus zoals ik dacht gewoon om een stabielere voeding te krijgen, thx![]()
De keuze voor een MAX232 ligt niet per sé vast. Maar uit vorige berichten versta ik toch goed dat een MAX232 nodig is, of uit links op internet een MAX233. Een van die twee zal er dus in moeten komen om aan seriele communicatie te kunnen doen.
De aparte IC voor de motor heeft 2 redenen. Naar wat ik op internet gelezen heb kan je met de IC die ik voorstelde tot 1/8 stepping doen, heel mooi als je niet te veel geld hebt om superexacte motoren te kopen. Bovendien maakt het dat je motor zelf maar 1 uitgang in beslag neemt op je hoofdPIC (de direction zet je op een vaste waarde met de voeding). Bovendien maakt het het programma ook wat eenvoudiger te volgen. Gewoon een signaal over je uitgang sturen is volgens de datasheet voldoende om de motor wat verder te laten draaien. Als laatste zijn die IC's ook bestelbaar als samples dus qua prijs maakt het (voor mij alleszins) niet veel uit, dus waarom niet als het je het leven eenvoudiger maakt?
Mag ik jou ook vragen wat het gemiddeld verbruik van zo een steppermotor is? Uit jou post maak ik op dat je die rechtstreeks op de voeding aan te sluiten is, maar zou het niet leuk vinden als de batterij het dan maar een halve omwenteling uithoudt![]()
Bedankt ook voor de sidenote over de transmitter...Ik dacht wel al dat het niet zo simpel was als er gewoon wat stroom op zetten. Daar zal ik zeker en vast rekening mee houden en proberen iets voor te vinden (kan niet zo moeilijk zijn denk ik).
Moest je trouwens zin hebben om zelf ook wat te ontwerpen is dat uiteraard zeer welkom. Zoals ik al zei: hoewel ik zelf aan het ontwerpen begonnen ben wil dit zeker niet zeggen dat ik het alleen wil doen. Ik zou veel liever zelf mijn ontwerp maken en dan vergelijken met andere ontwerpen om te zien waar ik in de fout ging etc.
Met in totaal 4 pennen van je PIC kan je (ook in 1/8 steppings) een motor aansturen, nog wel 8 torren en weerstanden nodig. Voor de overzichtelijk van de software (firmware eigk
Let er trouwens op dat je ook nog een sensor nodig hebt die de "nul" stand van de stappenmotor herkent, voor de initialisatie.
De stappenmotor moet ook 2 kanten opdraaien! snoertjes houden niet zo van om meer dan 360 raden te draaien
Om weer terug te komen op de MAX232 of dergelijke: dit zijn componenten die bij de gemiddelde componentenboer nog niet ingeburgerd zijn, en bij andere zaken een paar euro kosten. Weer het huis-tuin en keuken verhaal van betaalbaarheid en verkrijgbaarheid. Dat je nu samples aan kan vragen ok. Maar het is niet ok om hiermee iedereen een project te laten bouwen, als ze zelf gewoon nabouwen. Daarom weer mijn pleiting voor die transistorretjes.
Zo, nu ga ik me bemoeien met het ontwerp
Als je een AM demodulator zoekt, wat denk je van een diode? dan hou je alleen de top spanning over, klein condensatortje misschien om de topspanning te behouden en er kan een schmitt ding op.
38Khz oscillator hoeft ook geen aparte schakeling te zijn, kan de pic ook wel.
/me is blij dat je je gaat bemoeien met het ontwerp3lmowww schreef op 16 juli 2004 @ 10:23:
[...]
Als je een tor neemt die 1A aan kan, zit je wel veilig bij de kleinere stappenmotors, die nemen per spoel zo`n 200 tot 500 mA.
Met in totaal 4 pennen van je PIC kan je (ook in 1/8 steppings) een motor aansturen, nog wel 8 torren en weerstanden nodig. Voor de overzichtelijk van de software (firmware eigk) maakt het weinig uit. Je roept gewoon een functie aan die ingewikkelder is. Als je dit soort mogelijkheden in een pic hebt zitten, is het erg zonde om er geen gebruik van te maken. Mede door dit te implementeren in de firmware kan je zorgen dat het ook meer huis tuin en keuken blijft, omdat er geen moeilijk ic meer nodig is (naast de pic).
Let er trouwens op dat je ook nog een sensor nodig hebt die de "nul" stand van de stappenmotor herkent, voor de initialisatie.
De stappenmotor moet ook 2 kanten opdraaien! snoertjes houden niet zo van om meer dan 360 raden te draaien
Om weer terug te komen op de MAX232 of dergelijke: dit zijn componenten die bij de gemiddelde componentenboer nog niet ingeburgerd zijn, en bij andere zaken een paar euro kosten. Weer het huis-tuin en keuken verhaal van betaalbaarheid en verkrijgbaarheid. Dat je nu samples aan kan vragen ok. Maar het is niet ok om hiermee iedereen een project te laten bouwen, als ze zelf gewoon nabouwen. Daarom weer mijn pleiting voor die transistorretjes.
Zo, nu ga ik me bemoeien met het ontwerp
Als je een AM demodulator zoekt, wat denk je van een diode? dan hou je alleen de top spanning over, klein condensatortje misschien om de topspanning te behouden en er kan een schmitt ding op.
Ik zag ook in tutorials dat een motor met 4 pinnen van de PIC aan te sturen is. Ik zat gewoon wat te rekenen: 1 pin voor transmitter, 1 pin voor receiver, 2 pins voor I2C en 4 pins voor motor. Dan heb je al een hele poort nodig voor de componenten. Dat betekend dat je (met de F84A dan wel) enkel nog de 4 pins op poort A over houdt voor RS232. Maar dat is natuurlijk net genoeg. Je hebt ook een goed argument over het simpel houden, dus: deal, aansturing rechtstreeks met PIC. Misschien is het praktisch gezien dan wel beter om naar een grotere PIC over te stappen met meer pins en meer geheugen...
De nulstand van de sonar heb je een punt. Weet er iemand of de PIC ergens een geheugen heeft waar je naar kan schrijven dat niet gecleared wordt bij een reset? Als dat bestaat hou je gewoon een teller bij om te weten wanneer je terug op 0 komt. Maar dat is iets programmatisch eerder dan ontwerp-relatief (if i'm not mistaking). Over dat terugdraaien, daar had ik eigenlijk nog niet bij stil gestaan. Ik ga eventjes nadenken of er geen simpele manieren zijn om er voor te zorgen dat de sonar toch volledige rondjes kan draaien en niet terug moet draaien, dat vind ik persoonlijk wat mooier. Ik heb al een paar ideetjes, maar die zijn nog wat te ver gezocht, als ik iets ontdekt maak ik een tekening of iets dergelijks en laat ik het weten.
Over de MAX232 krijg je weer een deal van mij
Over die diode, ik wil wel antwoorden maar kan je het begrip "topspanning" wat verfijnen? Normaal gezien kan ik hier wel mee akkoord gaan, zolang na de Schmitt trigger er nog een redelijk goeie representatie overblijft van de tijdsduur van het ontvangen signaal.
Edit: ben wat gaan zoeken op AM-demodulatie en diode's en kwam op dit. Als ik het goed gebrijp werkt het dan als volgt: de diode laat enkel positieve stromen door (ergens in mijn achterhoofd herinner ik me uit het 5e middelbaar nog dat diodes maar in 1 richting werken). Ik denk dat het laatste stuk in de link (dus wat volgens mij door de weerstand en condensator wordt gedaan) hier zelf niet nodig is. Als ik dat laatste stuk begrijp verschuift dat de sinusvorm naar beneden om een mooi signaal te krijgen. Als we dat niet doen kan je met de Schmitt-trigger het stroomniveau (dus het niveau vanaf wanneer de trigger een hoog signaal uitstuurt of stopt met uitsturen) op 0 zetten. Dan heb je meteen de tijd van het signaal. Is het zoiets dat je bedoelt
Edit 2: Net gelezen dat die weerstand en condensator wel nodig zijn om de draaggolf over te houden. Waarom net weet ik niet maar het blijkt zo te zijn. Wel jammer dat daardoor de evenwichtsstand van de golf verschoven wordt naar de x-as. Dan wordt het timen van de puls moeilijker (tijd tussen 2 minima). Misschien weet er iemand van jullie hoe er terug verschoven kan worden naar een signaal dat als minimum 0 heeft?
[ Voor 15% gewijzigd door Verwijderd op 16-07-2004 11:22 . Reden: Stukje gevonden over AM-demodulatie ]
Tof voorstel van je, maar ik denk dat we dan wel wat afbraak doen aan het huis-tuin-keuken niveau van de sonar. Ik denk dat, net zoals de max232, zo een accu niet in elke elektrozaak gekocht kan worden, en dat ze ook niet zo goedkoop zijn. Een 9V batterij is dan toch iets meer alledaags denk ik.3lmowww schreef op 16 juli 2004 @ 10:27:
Over de stroomvoorziening: in duitsland krijg ik wel eens aanbiedingen binnen van mn leverancier: loodaccus, 6V, paar Ah. Kan er wel eens een vracht inkopen en van de hand doen voor dit project. Ik vind het heel fijne dingen om mee te experimenteren. Veel vermogen, weinig onderhoud.
Dat met die diode moet je zo zien:
na microfoon heb je zegmaar een sinus. Daar zet je de diode, en alles wat lager dan nul is, wordt op nul gehouden. Dus je hebt alleen alles wat boven de nullijn bevindt.
Nu zet je daar een klein(!) condensatortje, dat oplaadt als de sinus op zn top is, en ontlaadt als de sinus daar niet meer is. Zo hou je een spanning over die de toppen van de sinussen met elkaar verbindt. Dit signaal moet naar de schmitt trigger kunnen.
Het met de nulsensor kan simpel een reed switch met een magneetje op de as zijn. Je moet zoiezo iedere keer dat de boel aangezet wordt initialiseren, net als een printer: de kop gaat terug naar zn beginplaats, zo ook de sonar. Dit scheelt je 1 pin en het is een stuk mooier dan onthouden in zn EEPROM.
[ Voor 21% gewijzigd door 3lmowww op 16-07-2004 11:25 ]
Je microfoon vangt het geluid op en stuurt dat door als een spanning die toe en afneemt. Zoals al gezegd werd is het signaal niet continu maar neemt de amplitude aan en af.

(niet te veel letten op hoe het signaal er hier uit ziet, ik weet dat het niet overeenstemt met het signaal dat je krijgt met die microfoon maar het gaat even om het principe)
De diode moeit zich ermee en is onverbiddelijk voor negatieve stromen:

De condensator komt in het spel. Deze laad zoals gezegd op als de sinus (de omhullende sinus, dus de blauwe lijn) in zijn maximum is. Eens die niet meer in het maximum is, ontlaad de condensator om de stroom stabiel te houden. Het signaal dat uit de condensator komt is dus hetzelfde als de blauwe lijn hierboven, alleen verschoven in de tijd. Het uiteindelijke signaal uit de condensator is hieronder in volle lijn weergegeven:

Uiteindelijk gaat enkel dat signaal naar de trigger die er een blokspanning van maakt.
Als dit principe klopt snap ik de werking van de schakeling zoals ze hier staat:

Het enige dat ik niet kan begrijpen:
als alles hierboven klopt krijg je in mijn hoofd geen sinusspanning (afbeelding 3 volle lijn), maar krijg je de samenstelling van die sinusspanning met de spanning die door de diode komt. Door de manier waarop die twee aan elkaar verbonden zijn krijg je dan naar mijn idee een constante gemiddelde spanning. Waar ga ik hier in de fout of wat zie ik over het hoofd?
- De diode zorgt ervoor dat je van het input signaal alleen de bovenste helft krijgt.
- De condensator wordt opgeladen zolang de ingangsspanning hoger is dan de condensatorspanning. Als zo'n kleine am-piek weer naar beneden gaat dan spert de diode en houdt de condensator de tijdens het opladen bereikte spanning gedeeltelijk vast. De condensator wordt langzaam ontladen en zo daalt het uitgangssignaal als de de am-pieken lager worden.
Als je de condensator heel groot zou nemen of geen weerstand zou gebruiken dan zou de condensator niet ontladen en krijg je inderdaad een constant gemiddelde spanning.
Ik heb maar een schema ontworpen:

schema gemaakt met ExpressSch
Verwijderd
Als je direct die (aan de onderkant afgehakte) sinus aan je schmitt-trigger voert krijg je een blokgolf met de frequentie van het geluid. Als je er een condensator overheen zet hou je zoiets over als in jouw derde tekening, en blijft het signaal dus boven de triggerwaarde, waardoor je een ononderbroken, constante puls krijgt die net zo lang aanhoudt als de microfoon wat ontvangt
Correct me if i'm wrong
[ Voor 5% gewijzigd door Verwijderd op 16-07-2004 13:13 ]
Hopeloosje, we zouden beter van nick wisselen want denk dat ik hier wel degene ben die hopeloos isCassettebandje schreef op 16 juli 2004 @ 13:12:
Je krijgt geen constante gemiddelde spanning want:
- De diode zorgt ervoor dat je van het input signaal alleen de bovenste helft krijgt.
- De condensator wordt opgeladen zolang de ingangsspanning hoger is dan de condensatorspanning. Als zo'n kleine am-piek weer naar beneden gaat dan spert de diode en houdt de condensator de tijdens het opladen bereikte spanning gedeeltelijk vast. De condensator wordt langzaam ontladen en zo daalt het uitgangssignaal als de de am-pieken lager worden.
Als je de condensator heel groot zou nemen of geen weerstand zou gebruiken dan zou de condensator niet ontladen en krijg je inderdaad een constant gemiddelde spanning.
Ik heb maar een schema ontworpen:
[afbeelding]
schema gemaakt met ExpressSch
Nu, ik heb geprobeert om je schema te snappen. De uitleg waarom je geen gemiddelde krijgt snap ik niet voor 100% maar ik wil het wel van je aannemen dus geen probleem.
Eerste waarschijnlijk enorm belachelijk probleem is de betekenis van die driehoekjes. (bv. net onder de condensator van de am modulator) Ik kon niet vinden voor wat die symbool zijn, en ze komen nogal vaak voor. Gevonden.
Ivm de microfoon. Je zegt dat die RA4 een Schmitt-trigger is. Is dat de poort zelf die capabel is om als Schmitt-trigger te werken? Want ik zie enkel een condensator wat voor mij een onderdeel is van de AM demodulator.
Die RA5 snap ik ook niet goed wat die voorstelt, maar dat komt ntl doordat ik niet weet wat dat pijltje is. Ook gevonden.
Kan je verder een beetje info geven over de luidspreker-module? Dat is iets waar ik niet goed aan uit kan wat daar net gebeurt...
Sorry nogmaals voor de vele vragen maar ik probeer zo goed mogelijk om op mijzelf dingen uit te vissen en mee te kunnen, maar zoals je ziet lukt dat niet altijd even goed. Ik ga ook dat programma eens downloaden, kan ik zelf ook wat experimenteren met dat programma.
Nog even iets over dat direct aan de Schmitt trigger voeren. Dat snap ik wat dat doet, maar voor de volledigheid: krijg je dan een lange puls (dus trigger die hoog stuurt) tijdens heel de tijd dat je je signaal ontvangt. (dus de blauwe lijn uit mijn tekeningen die omgezet wordt in digitaal) Of krijg je verschillende korte pulsjes (dus voor elke rode "bult" in mijn tekening)?
[ Voor 2% gewijzigd door Verwijderd op 16-07-2004 15:14 . Reden: Paar vragen zelf opgelost ]
Verwijderd
Als het ding zo'n signaal binnen krijgt als wat je hierboven tekende dan ligt het helemaal aan de waarde van de gebruikte condensator of je een (min of meer) constant signaal, een gedemoduleerde golf, of het rauwe signaal krijgt (of iets er tussenin). Bedenk wel dat de nauwkeurigheid van je apparaat achteruit gaat als je een grote cap gebruikt, het ding moet dan namelijk eerst nog opladen zogauw hij het signaal begint te ontvangen, en staat nog te ontladen als het signaal al geweest is.
Een ding wat ik echter niet snap aan jouw tekeningen Damoke, is waarom de echo van je speaker in amplitude toe- en afneemt? Je stuurt toch een constant signaal voor een bepaalde tijd?
Makes sense dat een PIC vanaf een bepaalde spanning omspringt, maar dat is toch wat riskant dan als ik het goed versta? Ik bedoel, je kan de gevoeligheid helemaal niet regelen.Verwijderd schreef op 16 juli 2004 @ 16:29:
Die PIC heeft in feite aan elke pin van een poort een schmitt-trigger zitten ja, vanaf een bepaald voltage wordt de pin als '1' uitgelezen ipv '0'. Het probleem van het ding direct aan de PIC hangen is dat je niet precies weet bij welk voltage het ding 'omschakelt'.
Als het ding zo'n signaal binnen krijgt als wat je hierboven tekende dan ligt het helemaal aan de waarde van de gebruikte condensator of je een (min of meer) constant signaal, een gedemoduleerde golf, of het rauwe signaal krijgt (of iets er tussenin). Bedenk wel dat de nauwkeurigheid van je apparaat achteruit gaat als je een grote cap gebruikt, het ding moet dan namelijk eerst nog opladen zogauw hij het signaal begint te ontvangen, en staat nog te ontladen als het signaal al geweest is.
Een ding wat ik echter niet snap aan jouw tekeningen Damoke, is waarom de echo van je speaker in amplitude toe- en afneemt? Je stuurt toch een constant signaal voor een bepaalde tijd?
De tekening is een gevolg van een post van Sprite_tm. Hij zei dat je geen constant sinussignaal krijgt maar een in sterkte aan en afzwellend signaal. Waarom weet ik niet exact, ik dacht eigenlijk ook zelf dat het een normaal sinussignaal zou zijn.
Misschien komt Sprite_tm nog wel eens langs en kan hij ons inlichten
Edit: zoiets dus [blauw is na Schmitt, rood is na diode (zonder condensator)]:

Trouwens ivm voorgestelde schakeling nog even vermelden dat de MAX232 er uit moet en vervang door de voorgestelde schakeling. Dit is echter maar een detail uiteraard.
[ Voor 5% gewijzigd door Verwijderd op 16-07-2004 16:57 ]
Verwijderd
Het programma zou dan zoiets worden:
- Stuur een puls
- Wacht eventueel een vooraf ingestelde tijd om echo's vanaf de parabool etc te elimineren
- Begin met tellen
- Zogauw de sensor ingang hoog wordt, stuur de gegevens (draaihoek, temperatuur, en echo-tijd) naar de PC
- Blijf nog even 'hangen' totdat je minimaal een hele trillingstijd geen signaal meer binnen hebt gekregen
Opzich zou je met een beetje programmeerwerk ook nog wel het precieze einde van de golf kunnen vinden (onthou steeds laatste tijdstip waarop je een puls zag 'verdwijnen'). Maar ik zou dus inderdaad geen cap tussen mic & schmitt-trigger zetten, dit is het meest precieze wat je kunt krijgen
Het wordt nog wel wat rekenwerk om het aantal loops dat het ding telt tussen de twee pulsen om te zetten in (bijvoorbeeld) milliseconden, maar dat zou geen probleem moeten zijn. Voordeel van assembly tov C is dat je exact weet hoe lang elke instructie duurt (kijk maar in de datasheet).
Het makkelijkste zou natuurlijk zijn als de PIC wel even intern het converteren naar milliseconden afhandelt, aangezien je dan een universeel programma op de PC krijgt wat ook eventueel met andere hardware/firmware kan werken
Of je bakt het aantal ms per 'tel' in de PIC in (en nog een vast aantal ms wat er altijd bij zal komen omdat hij niet precies vanaf het begin begint met tellen etc) en stuurt dat mee naar het programma zodat die alle berekeningen doet.
Hoop dat ik een beetje duidelijk ben, heb soms wel beetje na moeten denken over hoe ik alle info in 1 zin kreeg
http://eje-electronics.nl/tweakers/radar2.png
De schmitt trigger is in dit schema officieel inverterend, iuk kon geen normale vinden. In de grafieken dus niet inverterend. Denk dus het bolletje na het driehoekje ff weg
Damoke: een puls is niet een puls, maar een stoot van, zeg 1 mS, aan 38khz geluid.
Dus de condensators zijn wel nodig. ik hoop dat je dat leert uit mn tekening.
Een schmitt trigger knalt ook pas om als hij +- 1/2 vd voedingsspanning heeft, dus 2,5v. Bij jou schiet de trigger al om op het moment dat je de golf ziet.
[ Voor 56% gewijzigd door 3lmowww op 16-07-2004 18:14 ]
Je tekening verduidelijkt wel maar zorgt ook voor een paar vragen.3lmowww schreef op 16 juli 2004 @ 18:09:
Je moet het zien dat als je de schakeling zo opbouwd je deze signalen hebt. Het is niet helemaal zo, maar zo kan je zien wat welke onderdelen doen.
http://eje-electronics.nl/tweakers/radar2.png
De schmitt trigger is in dit schema officieel inverterend, iuk kon geen normale vinden. In de grafieken dus niet inverterend. Denk dus het bolletje na het driehoekje ff weg
Damoke: een puls is niet een puls, maar een stoot van, zeg 1 mS, aan 38khz geluid.
Dus de condensators zijn wel nodig. ik hoop dat je dat leert uit mn tekening.
Een schmitt trigger knalt ook pas om als hij +- 1/2 vd voedingsspanning heeft, dus 2,5v. Bij jou schiet de trigger al om op het moment dat je de golf ziet.
Ik snap niet waarom die condensator toch nodig is. Als je die weg laat krijg je toch bij benadering mijn figuur?
Bovendien zit je dan niet met extra tijd metingen, hiermee bedoel ik op het einde van het signaal zal de condensator er voor zorgen dat het signaal zacht uitdooft. De trigger zal dan ook "te lang" een signaal sturen.
Wat wel in het voordeel spreekt van deze methode is de veel langer tijdsduur van het signaal. Dat maakt meten wat makkelijker en exacter. Dit is echter ook relatief want als ik mij niet misreken kan met de korte meting van 1/2 golf de frequentie nog tot 1/100 bepaald worden met een kristal van 40Mhz.
Bestaan er trouwens manieren om een signaal te verhogen? Hiermee bedoel ik de golf in de y-richting naar boven verschuiven zodat de Schmitt-trigger omklikt van zodra het origineel signaal begint.
Ik wil wel nog duidelijk maken dat ik het hiermee niet beter wil weten of zo. Ik schrijf mijn bedenkingen op in hoop dat we zo tot het best mogelijke systeem komen.
Tenslotte nog een beetje woordverklaring
Volledig eens met dit idee. De exacte details voor het programma komen er later ongetwijfeld wel als de onderdelen definitief vastliggen en het pcb af is.Verwijderd schreef op 16 juli 2004 @ 17:19:
Ik sluit me aan bij Damoke, geen cap tussen mic en PIC
Het programma zou dan zoiets worden:
- Stuur een puls
- Wacht eventueel een vooraf ingestelde tijd om echo's vanaf de parabool etc te elimineren
- Begin met tellen
- Zogauw de sensor ingang hoog wordt, stuur de gegevens (draaihoek, temperatuur, en echo-tijd) naar de PC
- Blijf nog even 'hangen' totdat je minimaal een hele trillingstijd geen signaal meer binnen hebt gekregen
Opzich zou je met een beetje programmeerwerk ook nog wel het precieze einde van de golf kunnen vinden (onthou steeds laatste tijdstip waarop je een puls zag 'verdwijnen'). Maar ik zou dus inderdaad geen cap tussen mic & schmitt-trigger zetten, dit is het meest precieze wat je kunt krijgen
Het wordt nog wel wat rekenwerk om het aantal loops dat het ding telt tussen de twee pulsen om te zetten in (bijvoorbeeld) milliseconden, maar dat zou geen probleem moeten zijn. Voordeel van assembly tov C is dat je exact weet hoe lang elke instructie duurt (kijk maar in de datasheet).
Het makkelijkste zou natuurlijk zijn als de PIC wel even intern het converteren naar milliseconden afhandelt, aangezien je dan een universeel programma op de PC krijgt wat ook eventueel met andere hardware/firmware kan werken
Of je bakt het aantal ms per 'tel' in de PIC in (en nog een vast aantal ms wat er altijd bij zal komen omdat hij niet precies vanaf het begin begint met tellen etc) en stuurt dat mee naar het programma zodat die alle berekeningen doet.
Hoop dat ik een beetje duidelijk ben, heb soms wel beetje na moeten denken over hoe ik alle info in 1 zin kreeg
Qua rekenwerk dacht ik zelf om de omzetting naar ms te laten doen door de pic, door een vaste waarde van het kristal mee te geven in het programma. Uiteraard moeten we dan wel een goeie frequentie voor het kristal kiezen (floating point vermijden) maar dat zal zo wel geen probleem zijn.
Ook even nog vertellen dat ook de temperatuur van de I2C moet doorgestuurd worden. Die temperatuursensor zit nog niet in het vorige ontwerp dus vermeld ik het maar even voor de zekerheid.
Een groot deel nam ik uiteraard gewoon over van Hopeloosje, enkel de MAX232 heb ik vervangen door de schakeling en ik heb een I2C toegevoegd. Verder enkel nog de condensators weg gedaan en een Schmitt trigger geplaatst in de plaats.
Trouwens, over die Schmitt trigger: op de meeste sites lees ik dat die trigger standaard hoog staat en laag gaat eens een bepaald niveau overschreden wordt, dat in tegenstelling tot wat hier altijd staat. (en dus ook belangrijk voor het programma, dan moet de tijd laag gemeten worden, of een NOT-poort ertussen gestoken worden)
/me ontdekt weer wat
Ik was net wat op Microchip aan het lezen en wat zag deze jongen? De PIC16F628 werkt met 2 ingebouwde comparators. En toevallig is het mogelijk om die poorten te gebruiken voor de receiver. Als we op de V in- de ground aansluiten en op de V in+ het signaal van de receiver is het ook in orde. De V in- van 0V zorgt ervoor dat enkel positieve spanning gemeten wordt. Bovendien doet die comparator wel zoals in de tekeningen hierboven, in tegenstelling tot de Schmitt trigger. Zo zou ik het doen...
[ Voor 29% gewijzigd door Verwijderd op 16-07-2004 22:52 ]
Verwijderd
Verwijderd schreef op 16 juli 2004 @ 21:19:
Trouwens, over die Schmitt trigger: op de meeste sites lees ik dat die trigger standaard hoog staat en laag gaat eens een bepaald niveau overschreden wordt, dat in tegenstelling tot wat hier altijd staat. (en dus ook belangrijk voor het programma, dan moet de tijd laag gemeten worden, of een NOT-poort ertussen gestoken worden)
3lmowww schreef op 16 juli 2004 @ 18:09:
De schmitt trigger is in dit schema officieel inverterend, iuk kon geen normale vinden. In de grafieken dus niet inverterend. Denk dus het bolletje na het driehoekje ff weg
Het lijkt me trouwens beter als de radar doet wat de computer vraagt: computer geeft hoek ed, en de radar draait ernaartoe en gaat meten. Temperatuur hoef je in een hoop applicaties maar 1 of 2 keer te meten, dus dat kan een apart commando worden.
OK, ik stel voor:3lmowww schreef op 17 juli 2004 @ 00:14:
Damoke, het lijkt me wel handig om die condensators ertussen te houden. een pic heeft ook sample tijd nodigen al helemaal als je langere periodes wilt meten.
Het lijkt me trouwens beter als de radar doet wat de computer vraagt: computer geeft hoek ed, en de radar draait ernaartoe en gaat meten. Temperatuur hoef je in een hoop applicaties maar 1 of 2 keer te meten, dus dat kan een apart commando worden.
diode en condensator blijven gebruikt. Hierdoor zijn we:
a. zeker dat er geen ruis door de micro komt
b. gerust dat de tijdsduur lang genoeg is om deftige metingen te doen
we gebruiken geen Schmitt-trigger, maar in plaats gebruiken we 1 van de 2 comparators ingebouwd in de 16F628. Die doet ook dienst als interrupt. Het vernieuwde schema upload ik straks nog.
Het vernieuwde schema dus: hier
De sonar zou ik niet laten doen wat de computer hem opdraagt. Ik zou de sonar zo autonoom mogelijk willen houden. Dus draaien etc doet hij zelf, ook al is er geen link met de PC. De temperatuur kan inderdaad maar enkele keren gemeten worden, de vraag is dan alleen of het veel verschil uit zal maken in stroomverbruik.
[ Voor 4% gewijzigd door Verwijderd op 17-07-2004 17:53 . Reden: Schema uploaden ]
als je een script maakt dat de sonar dit doet (C = comp, s = S, gezien over de seriele interface (bijvoorbeeld)):
C: read_temp
S: 25,4
C: read_degree_30
S: 1,204m
C: read_degree_20
S: 0,094m
Zo kan je ook grotere stappen (bijvoorbeeld aan de achterkant van je robot) minder precies (in hoeken dan) meten, en ook alles goed in de gaten houden.
Nog een mogelijkheid is om hem modes te geven...
[ Voor 5% gewijzigd door 3lmowww op 17-07-2004 17:58 ]
Ik had zelf een systeem zoals je in oude films wel eens ziet in gedachten. Dit is het beste plaatje dat ik kon vinden (jammer genoeg geen animatie):3lmowww schreef op 17 juli 2004 @ 17:57:
Is het handig om de sonar helemaal automatisch te laten werken? dan moet je iig ook een config erin doen. Als je alleen maar een hoek van 30 graden nodig hebt, is het zonde om iedere keer alle waardes die overbodig zijn te communiceren.
als je een script maakt dat de sonar dit doet (C = comp, s = S, gezien over de seriele interface (bijvoorbeeld)):
C: read_temp
S: 25,4
C: read_degree_30
S: 1,204m
C: read_degree_20
S: 0,094m
Zo kan je ook grotere stappen (bijvoorbeeld aan de achterkant van je robot) minder precies (in hoeken dan) meten, en ook alles goed in de gaten houden.
Nog een mogelijkheid is om hem modes te geven...
Je kent het wel, een groene streep die ronddraait op dat scherm en blips geeft als het iets vindt. Zo een systeem had ik zelf ook in gedachten, dus hiervoor moet de sonar continu volledig ronddraaien.
Bovendien is het inbouwen van volledig ronddraaien volgens mij niet zo moeilijk.
Als we zoiets doen is het systeem ook wat beter aan te passen naar zin. Je kan bv makkelijk een LCD aansluiten dan en de sonar zonder pc laten werken.
Voor die redenen zou ik dus het draaien door de sonar laten doen. Enige probleem is dat volledig ronddraaien. Zoals al aangeduid werd kan dat niet zomaar zonder in probemen te komen met kabels. Momenteel is mijn enige idee nogal moeilijk uit te leggen. Toch even proberen: de kabels zouden normaal in elkaar draaien na verloop van tijd. Als je de kabels beperkt tot het deel dat effectief ronddraait kom je dit niet tegen. Het overgangsgedeelte tussen vast en roterend stuk voorzie je van geleidende ringen. Die ringen maken contact met de kabels maar bewegen zelf niet. Van die ringen gaat dan een kabel weg naar de DB9 connector. Het enige probleem hiermee is waarschijnlijk de prijs en bovendien denk ik dat er te veel verlies op het signaal zit met zo'n ring...Andere manier is de sonar rond laten draaien en dan weer terug elke keer, maar dat is wat minder mooi.
Verwijderd
Verder over die modi: we gaan in die PIC gewoon een functie om te draaien, een functie om te meten, en een functie om te communiceren inbouwen. Die modi zijn dan enorm simpel te maken.
elektrotechniek is leuk (nog wel). ik ga dus weer verder met leuke dingen ontwerpen. amd 2200+ 256mb 333mhz,gf4 440mx, 120gb,16X dvd. jarr-url
Zoals voorheen al gezegd: sonar biljft zo autonoom mogelijk dus draaien doet hij zelf.
PCB wordt in 2 delen opgesplits, het deel dat essentieel is voor de sonar zelf (dus mic en luidspreker) zitten in de parabool zelf. Daaruit komen de nodige kabel die naar de voet van de sonar gaan. In die voet zit al de rest van de apparatuur die berekening en zo doen. Hierdoor zit de batterij ook in de voet wat mooier is.
De sonar zelf draait rondjes van 360° maar wisselt af van richting. Dus eerst wijzerszin en daarna tegenwijzerszin, zo is er geen probleem meer en blijft het allemaal redelijk mooi. Programmatorisch misschien iets uitdagender maar volgens mij niet overkomelijk.
Damoke: Je vroeg me af waarom het signaal van de receiver een toe- en afnemend aspect heeft. Dit zit zo: Zo'n piezo-receivertje heeft een kleine bandbreedte waarop 'ie resoneert. Bekijk het maar als een kristallen glas: die heeft ook een resonantiefrequentie, die hoor je als je er een tik tegenaangeeft. Beetje abstrakter: Stel je voor, je hebt 2 kristallen glazen, naast elkaar. Je geeft tegen 1 een tik zodat 'ie een toon gaat opwekken. De ander gaat 'meetrillen', eerst niet zo heel veel maar hoe langer hoe meer. Als je het eerste glas weghaalt (transmitter wort uitgezet) zal het glas nog een tijdlang doortrillen, maar steeds zachter. Zo werkt dat ook met die piezo-elementen. Het voordeel van dat effect is trouwens dat zo'n ding alleen bij die ene frequentie gaat trillen, en omdat die normaliter in de natuur nooit voorkomt is je ontvangst erg storingsongevoelig.
Verder lees ik hier allerlei verhalen over PCBs ontwerpen en motor-aansturingen enzo: Als je toch al niet zoveel kennis hebt van electronica, waarom begin je dan zo moeilijk? Probeer eerst eens een simpel 1-op-1 afstandssensortje op een breadboard of experimenteerplaat te zetten, breidt dat dan later uit naar een snelheidssensor en knal er als laatste een stappenmotor in. Op deze manier kan je stukken van je code en hardware testen als ze klein zijn, wat ellenlange bughuntingsessies voorkomt.
En ten derde: Het lijkt mij geen goed idee om de uitgang van de receiver met een diode-rc-netwerkje op een schmitt-trigger aan te sluiten: ten eerste raak je daardoor je frequentie-info en daarmee je snelheidsdata kwijt, bovendien heb je nu nog geen idee hoeveel volt er uit die receiver komt en of de schmitt-trigger daar wel op reageert. Het lijkt me handiger dat je een comparator pakt (=opampje met instelbare spanning aan de inverterende ingang en het signaal aan de niet-inverterende ingang).
En ten vierde: Ik ben nog steeds van mening dat we een avr moeten gebruiken
[ Voor 6% gewijzigd door Sprite_tm op 17-07-2004 23:19 ]
Relaxen und watchen das blinkenlichten. | Laatste project: Ikea Frekvens oog
/me hoopt dat Sprite_tm een prettige vakantie gehad heeftSprite_tm schreef op 17 juli 2004 @ 23:16:
Traldiedal, ik kom net terug van de vakantie en heb alles niet helemaal doorgelezen dus schop me maar als ik blaat:
Damoke: Je vroeg me af waarom het signaal van de receiver een toe- en afnemend aspect heeft. Dit zit zo: Zo'n piezo-receivertje heeft een kleine bandbreedte waarop 'ie resoneert. Bekijk het maar als een kristallen glas: die heeft ook een resonantiefrequentie, die hoor je als je er een tik tegenaangeeft. Beetje abstrakter: Stel je voor, je hebt 2 kristallen glazen, naast elkaar. Je geeft tegen 1 een tik zodat 'ie een toon gaat opwekken. De ander gaat 'meetrillen', eerst niet zo heel veel maar hoe langer hoe meer. Als je het eerste glas weghaalt (transmitter wort uitgezet) zal het glas nog een tijdlang doortrillen, maar steeds zachter. Zo werkt dat ook met die piezo-elementen. Het voordeel van dat effect is trouwens dat zo'n ding alleen bij die ene frequentie gaat trillen, en omdat die normaliter in de natuur nooit voorkomt is je ontvangst erg storingsongevoelig.
Verder lees ik hier allerlei verhalen over PCBs ontwerpen en motor-aansturingen enzo: Als je toch al niet zoveel kennis hebt van electronica, waarom begin je dan zo moeilijk? Probeer eerst eens een simpel 1-op-1 afstandssensortje op een breadboard of experimenteerplaat te zetten, breidt dat dan later uit naar een snelheidssensor en knal er als laatste een stappenmotor in. Op deze manier kan je stukken van je code en hardware testen als ze klein zijn, wat ellenlange bughuntingsessies voorkomt.
En ten derde: Het lijkt mij geen goed idee om de uitgang van de receiver met een diode-rc-netwerkje op een schmitt-trigger aan te sluiten: ten eerste raak je daardoor je frequentie-info en daarmee je snelheidsdata kwijt, bovendien heb je nu nog geen idee hoeveel volt er uit die receiver komt en of de schmitt-trigger daar wel op reageert. Het lijkt me handiger dat je een comparator pakt (=opampje met instelbare spanning aan de inverterende ingang en het signaal aan de niet-inverterende ingang).
En ten vierde: Ik ben nog steeds van mening dat we een avr moeten gebruiken
1. OK, dus door resonantie trilt de receiver een beetje mee op die frequentie, en trilt nog een tijd na. Inderdaad gaat dat dan wat samenspelen met het ontvangen signaal en zwevingen veroorzaken. Maar maakt dit iets van verschil uit voor de constructie? De diode en cap zorgen er voor dat het uiteindelijke signaal toch nog redelijk stabiel blijft. Nadien gebruiken we de ingebouwde comparator die vanaf een zekere minimumspanning (hoog genoeg om het resonantie-effect uit te sluiten) een logische 1 zendt. Frequentie-bepaling gebeurt op basis van tijdsduur van ontvangen golf en die van uitgezonden golf. (zie post bovenaan p.5 denk ik, van mezelf die hierover gaat).
2. Uiteraard neem ik het stap voor stap aan. Eerste stap is de schakeling maken. Eens die definitief is bestel ik alle onderdelen samen met een testbordje. Hierop test ik eerst wat basisdingen uit om te zien of alle theorien kloppen. Eens dat allemaal OK is is de volgende stap het schrijven van de software. Die test ik dan ook op het bordje. Pas daarna komt de effectieve ontwikkeling van de PCB('s) zodat het systeem in de sonar kan gebouwd worden.
3. Hoewel ik niet denk dat de frequentie-info verdwijnt (zie 1. met uitleg hoe we die bepalen) gebruiken we een comparator hoor. Dat staat in de posts hierboven en staat ook in het vernieuwde schema. Het signaal komt er binnen en anderzijds ook een minimumspanning (iets hoger dan 0V, om te zorgen dat simpele resonantie geen trigger kan worden). Het signaal dat uit de comparator komt is een logische 1 als de minimumspanning overschreden wordt (dus er is een signaal) en speelt ook voor interrupt.
4. Ik denk dat het toch de PIC zal worden, sorry
Verwijderd
Over het puntje van de frequentie info: Je moet wel een enorm snelle PIC/AVR hebben om een beetje nuttige frequentie-info te hebben, de trillingstijd bedraagt 0,000025 sec, en aangezien je alleen de top kunt meten krijg je (als er niks beweegt) een puls binnen die 0,0000125 sec duurt. Voor een beetje snelheidsmeting mbv Doppler zou je dan toch wel een afwijking van ca. 0,0000005 sec kunnen meten (schatting, misschien is het zelfs nog minder, heb er weinig verstand van). Dat betekent dat je met een snelheid van 2MHz de ingang moet controleren, en pulsen tellen. Nee, dan lijkt me de methode van de totale lengte van het ontvangen geluid meten en daarmee berekeningen uitvoeren toch handiger.
Ik bedenk me net, eigenlijk hebben we voor de ontvanger een circuit nodig dat vanaf het begin van de meting de sterkste puls van de ontvanger meet, en zogauw de puls van de ontvanger zwakker wordt dan die sterkste puls moet hij de verbinding naar de ontvanger afkappen tot de volgende meting. Zo voorkom je een compromis tussen afstand en precisie. Natuurlijk moet het ding wel een bepaalde tolerantie hebben voordat hij de puls afkapt, want het signaal van de ontvanger is niet helemaal 100% perfect.
Voordat we hiermee beginnen zullen we eerst ff moeten kijken of het wel allemaal nodig is om zo'n schema te bouwen, dit is echt pas een 'finishing touch'. Maar ben gewoon ff mn ingeving aan het spuien voordat ik hem vergeet
Ik proberen te volgen wat je bedoelt. Waarom hij net mee moet resoneren snap ik niet. Ik veronderstel dat het iets te maken heeft met het feit dat hij signalen met bijna gelijke frequentie dan versterkt en zo? (zwevingen) Hoe dan ook, wat ik bedoelde is eigenlijk dat we moeten zorgen dat die resonantie op zich niet voldoende mag zijn om als signaal opgevangen te worden. Hiermee bedoel ik: op het ogenblik dat de luidspreker een signaal uitzendt zal de microfoon al mee beginnen trillen op dezelfde frequentie en dus al een signaal uitsturen. Als we daar niets voor voorzien dan vangt de PIC dit op als een inkomend signaal, wat dus niet mag. Wat is dus bedoel met 'uitsluiten' is dat we er gewoon voor moeten zorgen dat enkel resonantie niet voldoende is voor de interrupt. Ik hoop dat ik hier zo wat duidelijk in ben.Verwijderd schreef op 18 juli 2004 @ 03:39:
In je post hierboven Damoke, zeg je 'om het resonantie-effect uit te sluiten'. Ik weet niet of het aan je bewoording ligt of dat het je nog niet helemaal duidelijk is hoe die ontvanger werkt, maar ik kan het niet laten om het toch nog even goed uit te leggen: die ontvanger *moet* mee gaan resoneren, op dat moment gaat hij pas een signaal afgeven. Het grote voordeel daarvan is dat hij maar 1 frequentie kan ontvangen en zoals sprite-tm al zegt, is hij zo vrij ongevoelig voor storing. Maar dat effect is dus wenselijk. Het effect dat níet wenselijk is, is dat het ding nog eventjes natrilt nadat het signaal ophoudt. Je zult die comparator dus handmatig moeten afstellen denk ik; hoe hoger het referentievoltage, hoe preciezer hij wordt, hoe lager, hoe groter de grootste meetbare afstand (omdat het geluid zachter wordt naarmate de afstand groter wordt).
Over het puntje van de frequentie info: Je moet wel een enorm snelle PIC/AVR hebben om een beetje nuttige frequentie-info te hebben, de trillingstijd bedraagt 0,000025 sec, en aangezien je alleen de top kunt meten krijg je (als er niks beweegt) een puls binnen die 0,0000125 sec duurt. Voor een beetje snelheidsmeting mbv Doppler zou je dan toch wel een afwijking van ca. 0,0000005 sec kunnen meten (schatting, misschien is het zelfs nog minder, heb er weinig verstand van). Dat betekent dat je met een snelheid van 2MHz de ingang moet controleren, en pulsen tellen. Nee, dan lijkt me de methode van de totale lengte van het ontvangen geluid meten en daarmee berekeningen uitvoeren toch handiger.
Ik bedenk me net, eigenlijk hebben we voor de ontvanger een circuit nodig dat vanaf het begin van de meting de sterkste puls van de ontvanger meet, en zogauw de puls van de ontvanger zwakker wordt dan die sterkste puls moet hij de verbinding naar de ontvanger afkappen tot de volgende meting. Zo voorkom je een compromis tussen afstand en precisie. Natuurlijk moet het ding wel een bepaalde tolerantie hebben voordat hij de puls afkapt, want het signaal van de ontvanger is niet helemaal 100% perfect.
Voordat we hiermee beginnen zullen we eerst ff moeten kijken of het wel allemaal nodig is om zo'n schema te bouwen, dit is echt pas een 'finishing touch'. Maar ben gewoon ff mn ingeving aan het spuien voordat ik hem vergeet
Over de metingen ben ik het akkoord. Ik had het gisteren berekend en met een PIC aan 10Mhz konden we nog ongeveer tot 2 cijfers na de komma exact meten op die manier, dus dat viel eigenlijk nog wel mee. Maar ik ga er ook mee akkoord dat we best het volledige signaal blijven meten, daarom heb ik de cap en diode laten staan in het nieuwe schema.
Je bedenking kan ik niet echt volgen. Kan je dat wat verduidelijken?
Het schema bouwen is inderdaad een beetje vroeg. Als we het nu echter maken hebben we iets om naar op te bouwen tijdens het testen van alles en bovendien een goed idee wat er allemaal moet worden besteld.
Verwijderd
Ja die vleermuizen hebben er last van...maar zoals ik al zei, dit project heeft voor mij geen praktisch nut. Het moet niet voor iets dienen, het gaan gewoon om het kunnen maken ervan. Die sonar draait dus niet continu, hoogstens een paar uurtjes overdag en dan vliegen hier geen vleermuizen in de omgeving.Verwijderd schreef op 18 juli 2004 @ 10:47:
hoezo zou je zo graag een sonar willen maken die maar 5 meter ver komt kan je beter een kabeltje gebruiken. Ipv de buitenlucht te vevuilen met je sonar spul wat moeten de vleermuizen er wel niet van denken?
Verwijderd
En nog wat uitleg over dat filteren van 'natrillingen':

Ik denk dat het plaatje redelijk voorzich spreekt. Alles na de oranje lijn moet worden afgekapt door het filter omdat het natrillingen zijn van de mic. Dit kan het filter weten doordat de gemeten amplitude op dat moment lager is dan de hoogst gemeten amplitude van de totale meting.
In het plaatje heb ik natuurlijk een ideale situatie getekend, in werkelijkheid is de gemeten amplitude geen perfect rechte lijn en zal het filter pas na een aantal 'natrillingen' kunnen ontdekken dat het echte signaal is afgelopen. Ook heb ik totaal geen idee hoe je dit met electronica in elkaar zou moeten zetten. Maar het gaat om het idee
[ Voor 7% gewijzigd door Verwijderd op 18-07-2004 14:52 ]
OK, ik denk dat ik het nu volledig begrijp. Enkel een signaal op de juiste frequentie resoneert en zorgt dat de mic een signaal afgeeft doordat de resonantie-amplitude hoog genoeg is. Ik had er echter geen rekening mee gehouden dat de mic pas vanaf een bepaalde amplitude signaal doorlaat. Daarom sprak ik dus over dat 'uitsluiten' omdat ik dacht dat een lage amplitude (bv: de amplitude die ontstaat door meetrillen van de mic als de speaker uitzendt) ook doorgelaten zou worden. Als dat het geval was mocht de minimum-spanning voor de comparator niet op 0V staan want dan zou je in de problemen komen. Gelukkig blijkt die mic dus ook wat te filteren en pas vanaf een amplitude die hoog genoeg is door te laten, waardoor mijn bedenkingen overbodig worden.Verwijderd schreef op 18 juli 2004 @ 14:49:
Damoke: Bij de microfoon komen (natuurlijk) een heleboel verschillende geluiden en frequenties binnen. Maar het probleem is dat we alleen een 40khz signaal willen ontvangen. Dus wat hebben de slimme makers van de mic gedaan? Ze hebben gezorgd dat de microfoon op precies 40khz gaat resoneren. Zoals je weet is de amplitude van een resonerend object veel groter dan de amplitude van dat zelfde object, als hij niet resoneert (maar slechts een klein beetje trilt door een willekeurige andere frequentie). Het resultaat is dat de mic op 40khz een sterk signaal afgeeft, en op andere frequenties een erg zwak of onmeetbaar signaal.
En nog wat uitleg over dat filteren van 'natrillingen':
[afbeelding]
Ik denk dat het plaatje redelijk voorzich spreekt. Alles na de oranje lijn moet worden afgekapt door het filter omdat het natrillingen zijn van de mic. Dit kan het filter weten doordat de gemeten amplitude op dat moment lager is dan de hoogst gemeten amplitude van de totale meting.
In het plaatje heb ik natuurlijk een ideale situatie getekend, in werkelijkheid is de gemeten amplitude geen perfect rechte lijn en zal het filter pas na een aantal 'natrillingen' kunnen ontdekken dat het echte signaal is afgelopen. Ook heb ik totaal geen idee hoe je dit met electronica in elkaar zou moeten zetten. Maar het gaat om het idee
I.v.m. die afbeelding van je. Ik snap wat je bedoelt maar weet ook niet hoe dat met elektronica kan. Ik stel voor dat we gewoon de minimumspanning (ik onderstel hier wel dat de mic een spanning doorstuurt die evenredig is met de amplitude op dat ogenblik, dus ook zo een sinusvorm als in je afbeelding) voor de comparator op de helft van de maximum-amplitude instellen. (eigenlijk de helft van de maximumspanning). Als je op je tekening kijkt begin je dan wel 'x' ms te laat te meten, maar je meet achteraf ook terug 'x' ms te lang, waardoor je een relatief exacte meting overhoudt. Om dit te realiseren kunnen we gebruiken maken van interne referentie voltages in de pic. Het is wel wat zoeken om de beste spanning te vinden hiervoor, maar mits wat testen met een stilstaand object (waar je uitgezonden even lang moet zijn als je ontvangen) moet dit wel lukken (tenzij er betere methodes zijn uiteraard)
Verwijderd
Dat was eigenlijk meer een logische veronderstelling. Ik maakte uit je uitleg op dat die resonantie gebruikt wordt om duidelijk onderscheid te maken tussen de juiste frequentie en alle andere frequenties. Daar die mic's specifiek ontworpen worden om te reageren op een bepaalde frequentie ging ik er heel de tijd van uit dat die ook maar signaal zouden doorsturen als ze effectief die frequentie opvangen (en dus ook wanneer de amplitude hoog genoeg is). Die veronderstelling was dus nergens op gebaseerd maar een logische veronderstelling die verkeerd blijktVerwijderd schreef op 18 juli 2004 @ 15:37:
Ik weet trouwens niet waar je vandaan haalt dat de mic pas vanaf een bepaalde amplitude signaal doorlaat, maar het signaal dat hij afgeeft als hij resoneert is tov het signaal dat hij afgeeft bij een willekeurige frequentie zó veel sterker dat het makkelijk te onderscheiden is.
Dus als ik nu heel het verhaal probeer samen te vatten naar praktisch bruikbare woorden komt het hierop neer:
Blijven gebruik maken van diode en cap om zo de hele tijdsduur te meten EN de comparator instellen dat hij vanaf 'max. spanning'/2 reageert.
De tijd dat het uiteindelijke signaal dat in de PIC toekomt dan hoog is komt overeen met de volledige tijdsduur van het ontvangen signaal.
Klopt dit zo wat
Verwijderd
En ik gok dat er geen component bepaalt die een spanning kan halveren?Verwijderd schreef op 18 juli 2004 @ 16:01:
Dat zal wel ongeveer kloppen ja, het enige probleem waar je tegenop loopt is dat 'max. spanning' niet vast staat... hoe verder weg het gemeten object, des te zwakker het signaal van de mic.
1. Ik vraag me af of er veel verschil is tussen het volledig meten van het signaal of meten tot dat de amplitude daalt. Als het over redelijk lange periodes gaat, dan is hier inderdaad een verschil. Maar we praten hier over signalen die maar enkele miliseconden duren. Ik vraag me af of de uitdoving die door de cap ontstaat dan eigenlijk wel veel verschil uit maakt en zelf wel te meten valt. We kunnen ook de duur van het signaal lang genoeg maken zodat die ontlading amper iets uitmaakt. (bv: als je signaal 1 minuut uitgezonden wordt, dan is een extra ontlading van een paar ms onbelangrijk. Dit is natuurlijk onrealistisch maar het illustreert wat ik bedoel)
2. We kunnen ook het signaal kort genoeg maken om ervoor te zorgen dat er maar 1 maximum ontstaat. Daardoor kunnen we heel de trilling meten (ipv tot wanneer de amplitude afneemt) en gewoon delen door 2 om een goeie benadering te krijgen. Probleem is dat hiermee het signaal heel kort wordt, dus meetfouten veel meespelen en een deling die fout nog verergert.
Fouten, opmerkingen?
Verwijderd
Om 2 redenen. Ten eerste is het de bedoeling om huis-tuin-keuken te blijven, dus een massa verschillende ic's is niet aan te raden. Daarom ook dat we de max232 laten vallen hebben en ook geen aparte motor-driver gebruikt hebben. 1 PIC is voldoende hopelijk voor dit project.Verwijderd schreef op 18 juli 2004 @ 22:25:
ik heb ook nog niet alles gelezen, maar waarom gaan jullie voor een supersnelle uC om te kunnen tellen? volgens mij is het goedkoper om een extern teller-ic te nemen, die kosten weinig en zijn snel. de uC kan hem dan uitlezen...
Bovendien moet er zeker een pic aanwezig zijn. Uitzenden van het signaal, berekeningen, draaien van motor,... moet allemaal door de sonar zelf gedaan worden en heeft dus een pic of gelijkaardig nodig. Tot op heden ben ik nog geen enkele pic tegengekomen die geen ingebouwde timer heeft. Bovendien hoeft die zelf niet supersnel te zijn om deftige metingen te kunnen doen. Alles zit dus al in de PIC zelf, die nodig is voor andere redenen, waarom zouden we er dan niet handig gebruik van maken
Verwijderd

Zoals je ziet is er op die figuur maar 1 maximumpiek (de resonantie-amplitude) te vinden. Die staat bovendien ook nog net in het midden tussen de 2 dalen van de blauwe lijn. Dit effect bekom je door een te spelen met de lengte van het signaal. Is het signaal te kort dan zal nooit de resonantie-amplitude bereikt worden, is ze te lang (zoals in jou figuur) dan wordt ze enkele opeenvolgende keren bereikt. Als ze net lang genoeg is is er maar 1 keer een maximum. Dat maximum bevindt zich dat exact in het midden tussen begin en eind. Je kan dan dus het hele signaal meten (hier dus tussen de 2 dalen) en dan de helft daarvan bepalen, dat geeft de correcte tijd aan.
Groot probleem is dat de lengte van het signaal exact gekozen moet worden en waarschijnlijk relatief kort zal zijn, wat meten moeilijk maakt.
Ik denk dat het dus best is om met manier 1 te werken. De duur van het signaal lang genoeg maken zodanig dat het uitsterven van het signaal amper nog iets uitmaakt in de uiteindelijke meting.
Die signaallengte zijn bv 25 pulsjes @ 40Khz, als hij te lang doet over aanzwellen cq afzwakken kan je dat compenseren in de firmware.
40000Hz = 0,000025 S/trilling
340 * 0,000025 = 0,0085m aan golflengte
Dus 8,5mm. Dat keer 25 = 212,5mm aan totale lengte van je puls (in de lucht).
Ik snap je probleem niet met het aanzwellen ed? Wat daar niet goed aan kan gaan, ook snap ik het belang van de lengte van de puls niet.
Het probleem zit hem in het feit dat wanneer de microfoon niets meer ontvangt de condensator nog een tijdje nodig heeft om te ontladen. Voor de comparator is dat ontladen nog sterk genoeg om een logische 1 te blijven sturen.3lmowww schreef op 19 juli 2004 @ 09:18:
Damoke, bedenk wel dat je je sonar nog kan ijken eh?
Die signaallengte zijn bv 25 pulsjes @ 40Khz, als hij te lang doet over aanzwellen cq afzwakken kan je dat compenseren in de firmware.
40000Hz = 0,000025 S/trilling
340 * 0,000025 = 0,0085m aan golflengte
Dus 8,5mm. Dat keer 25 = 212,5mm aan totale lengte van je puls (in de lucht).
Ik snap je probleem niet met het aanzwellen ed? Wat daar niet goed aan kan gaan, ook snap ik het belang van de lengte van de puls niet.
Het is nu dus zoeken naar een manier om die extra tijdsmeting zo goed mogelijk te elimineren. Hiervoor zijn 2 mogelijkheden tot op heden:
1. Een manier zoeken om de meting te stoppen zodra de amplitude terug begint te dalen (want: dalen = einde signaal micro)
2. De lengte van het signaal zo lang maken dat dat ontladen amper verschil uitmaakt en dus gewoon meegerekend mag worden.
Ik denk dat 2 de beste oplossing zal zijn.
Het belang van de lengte van de puls bestaat in het berekenen van de frequentie van het ontvangen signaal. Je uitgezonden signaal, daar weet je alles over. Je kan de golflengte vinden en ook vinden hoeveel keer (stel 'n') je een volledige golf verstuurt (dus 1 sinusperiode). Dat aantal keer blijft constant. Dus als je het geluid ontvangt weet je ook dat in die tijdsperiode 'n' keer een sinusvorm doorlopen werd. Op basis van de tijdsduur van het ontvangen signaal en de snelheid van het geluid kan je daaruit de golflengte van je ontvangen signaal vinden en dus ook de frequentie. Daarom is het zo belangrijk om een exacte meting te doen van het ontvangen signaal (elke afwijking zal de snelheidsberekening weer wat meer verstoren)
En daarnaast heeft de lengte van je puls er niets mee te maken hoe lang de condensator er over doet om te ontladen. Hij laad en ontlaadt per positieve amplitude. Dus als de mic 30 pulsen ontvangt, laad en ontlaadt de condensator dus ook 30 keer...
De lengte van de puls heeft niets te maken met de duur van het ontladen. Maar zoals ik als voorbeeld gaf:3lmowww schreef op 19 juli 2004 @ 11:21:
Het klinkt allemaal heel lastig, maar die condesator heeft toch een vaste ontladinsgtijd, of, iig bekende.
En daarnaast heeft de lengte van je puls er niets mee te maken hoe lang de condensator er over doet om te ontladen. Hij laad en ontlaadt per positieve amplitude. Dus als de mic 30 pulsen ontvangt, laad en ontlaadt de condensator dus ook 30 keer...
Situatie 1: je hebt een puls die 1ms duurt. Ontladen van de condensator (na wegvallen van het signaal) duurt ook 1ms. Als je dan geen rekening houdt met de ontlading van de condensator dan meet je dus een tijdsduur van 2ms. Dat is een fout van 100% wat enorm veel is.
Situatie 2: je hebt een puls die 1min duurt. Ontladen van de condensator (na wegvallen van het signaal) duurt 1ms. Als je geen rekening houdt met de ontlading meet je een tijdsduur van 1min en 1ms. Dat is amper een merkbare fout.
Daarom spreek ik over de legnte van de puls om meetfouten te verhelpen. Als de ontladingstijd van de condensator gekend is (en onafhankelijk is van zijn lading, want die varieert natuurlijk elke keer) dan is het inderdaad redelijk eenvoudig op te lossen.
Nog voor de volledigheid. Ik weet dat de condensator eigenlijk bij elke puls ontlaad, als ik het hier heb over ontladen van de condensator bedoel ik eigenlijk de allerlaatste ontlading. Dat is de ontlading die voorkomt als de laatste puls verdwenen is, de ontlading die er dus te veel aan is zogezegd.
je meet de tijd tussen het verzenden en ontvangen van de eerste of laatste puls uit je trein. Daar komt idd bij de tijd van het ontladen van de condensator, maar die kan je dus compenseren.
Misschien is het handiger (om de laad cyculs van de elco gelijk te houden) om een versterker dmv opamp/schmitt meteen na de mic te zetten, zodat je een 40Khz blokgolf overhoud met topwaarde van 5V. Als je daar de elco in zet weet je zeer precies de ontladingstijd. Dit zou evt. direct naar de PIC kunnen.
Nog even over het verlengen van de puls: Ook als je een puls van een minuut uitzend is er 1mS in uitsterf tijd bijgekomen, en de tijd tussen uitsterven van uitgezonden en ontvangen signaal meet je. Dus maakt die verlenging van die trein geen drol uit, wordt alleen moeilijker te tellen.
Ik denk ook dat dat het beste is, als je tenminste de minimumspanning voor die versterker kan bepalen (ruis mag niet omgezet worden naar 5V uiteraard). Dan kennen we inderdaad de ontladingstijd van de condensator en is de berekening veel doenbaarder. Kan je wat meer info posten over die opamp/schmitt (wat het niet doet en hoe de schakeling er uit ziet)3lmowww schreef op 19 juli 2004 @ 11:58:
Misschien is het handiger (om de laad cyculs van de elco gelijk te houden) om een versterker dmv opamp/schmitt meteen na de mic te zetten, zodat je een 40Khz blokgolf overhoud met topwaarde van 5V. Als je daar de elco in zet weet je zeer precies de ontladingstijd. Dit zou evt. direct naar de PIC kunnen.
[ Voor 8% gewijzigd door Verwijderd op 19-07-2004 12:20 ]
Verwijderd
Eigenlijk heeft 3lmowww wel gelijk wb het ijken, we zetten de comparator gewoon zo dicht mogelijk bij de 0v (zodat hij net geen valse pulsen gaat geven), zodat, hoe zwak het signaal ook, het hele signaal van begin tot einde (inclusief 'ontladingstijd') gemeten wordt. De uitdooftijd lijkt me min of meer constant, dus daarvoor kun je best compenseren. Desnoods zetten we later de afwijking in een grafiekje en verzinnen we een formule om ervoor te compenseren (de verhouding tussen afstand en ontladingstijd zal ongeveer constant zijn omdat bij gelijke afstand de signaalsterkte ongeveer gelijk zal zijn, en bij gelijke signaalsterkte de condensator evenveel moet ontladen aan het einde). Het is iig makkelijker dan dmv hardware alle afwijkingen eruit te gaan halen.
Akkoord , zo doen we het. We houden dus hetzelfde idee als voorheen en compenseren programmatorisch voor de ontladingstijd.Verwijderd schreef op 19 juli 2004 @ 14:17:
Damoke, je zegt dat als er 1 trilling met de maximumamplitude is deze precies in het midden ligt, maar dat hoeft volgens mij helemaal niet zo te zijn. Stel dat de microfoon er 1ms doet om zijn hoogste amplitude te bereiken, maar dat de condensator+mic ervoor zorgen dat de uitdooftijd 2ms is... dan zit je maximum dus op 1/3 van de totale tijd.
Eigenlijk heeft 3lmowww wel gelijk wb het ijken, we zetten de comparator gewoon zo dicht mogelijk bij de 0v (zodat hij net geen valse pulsen gaat geven), zodat, hoe zwak het signaal ook, het hele signaal van begin tot einde (inclusief 'ontladingstijd') gemeten wordt. De uitdooftijd lijkt me min of meer constant, dus daarvoor kun je best compenseren. Desnoods zetten we later de afwijking in een grafiekje en verzinnen we een formule om ervoor te compenseren (de verhouding tussen afstand en ontladingstijd zal ongeveer constant zijn omdat bij gelijke afstand de signaalsterkte ongeveer gelijk zal zijn, en bij gelijke signaalsterkte de condensator evenveel moet ontladen aan het einde). Het is iig makkelijker dan dmv hardware alle afwijkingen eruit te gaan halen.
Even bedenking wel over dat compenseren:
Ik hoop ook dat die uitdooftijd min of meer constant te veronderstellen is voor de afstanden die we met de sonar maar willen bereiken. De formule om het te compenseren zou namelijk wel eens heel ingewikkeld kunnen worden. Volgens mij is de ontladingstijd recht evenredig met de lading. Die lading wordt bepaald door de amplitude van de trilling.
Die trilling op zijn beurt is een samenstelling van 2 gedempte trillingen. Een gedempte trilling kent een exponentieel verval van amplitude. De ontladingstijd zou dan dus recht evenredig zijn met de samenstelling van 2 gedempte trillingen (waarin ook nog eens zwevingen ontstaan door licht verschil in frequentie)
Verwijderd
Een amp gebruiken die vanaf het begin van de meting steeds sterker gaat versterken. Echo's van nabije objecten komen snel terug en zijn sterk, en hoe verder het object, hoe langer de echo erover doet om bij de ontvanger te komen en hoe zwakker het signaal. Dus om het gelijk te houden heb je zo'n programmeerbare amp nodig die dus steeds sterker gaat versterken.
-edit-
hm, die datasheet geeft niet echt veel duidelijkheid, op de laatste bladzijde staat een grafiekje met volt uitgezet tegen dB, maar het voltage gaat van microvolts tot 10 volt, en ik heb geen idee hoe hard het geluid zal zijn dat bij de mic aankomt...
[ Voor 25% gewijzigd door Verwijderd op 19-07-2004 19:37 ]
Hoe komt het eigenlijk dat html bij mij niet werkt en bij anderen wel? Ik spreek hier over volgende code: <font color=blue>test</font> komt bij mij gewoon als tekst in mijn post. Daarintegen zijn er mensen in het Doom III topic die deze code perfect gebruiken zonder dat ze mod zijn of wat dan ook (zelf iemand die vandaag pas geregistreerd is gebruikt het)
[ Voor 44% gewijzigd door Verwijderd op 19-07-2004 21:40 ]
Laten we die programmeerbare versterker maar even zitten nog. Wordt iets TE ingewikkeld
Het is dat iets waar ik op wacht. Momenteel heb ik al wat zitten lezen over amps maar nog niet echt wijzer uit geraakt. Daarom wacht ik nog op wat uitleg over hoe die amp net moet werken en in de schakeling past. Als dat gedaan is denk ik dat de grote lijnen wel voldoende uitgezet zijn en dan ga ik bij Conrad op zoek naar alle artikelen voor de schakeling. Hebben ze bij Conrad trouwens stappenmotors? Ik vond er geen toen ik erop zocht maar dat wil ntl nog niets zeggen. Ik zou die namelijk ook meteen bestellen (naar België kost dat 9 euro transport bijna, dus liefst zo veel mogelijk in een keer laten overkomen)3lmowww schreef op 21 juli 2004 @ 09:45:
Wel iet idd, maar de programmeerbaarheid mag nog even achterwege gelaten worden.
Conrad is wel heeel erg prijzig...
[ Voor 18% gewijzigd door 3lmowww op 21-07-2004 18:21 ]
Wow, dat is tof, ik laat je dan zeker nog wat weten...Ik ging bij Conrad bestellen omdat die toch redelijk veel spullen hebben en hier in Belgie mij geen goed alternatief bekend is.3lmowww schreef op 21 juli 2004 @ 18:21:
Hoezo ga je bij conrad bestellen? mail me ff je lijstje, kijk ik wat ik voor je kan doen via mn bedrijf.
Conrad is wel heeel erg prijzig...
Maar voor we kunnen bestellen moet er toch iets met die amp aangevangen worden vrees ik...
Verwijderd
De kreet RADAR staat voor niets anders dan RAdio Direction And Ranging.Cassettebandje schreef op 13 juli 2004 @ 11:46:
[...]
ga jij ff met een pic meten hoe snel geluid terugkomt, ik denk dat ie daar niet snel genoeg voor is (correct me if i'm wrong)
ik heb op school ook eens met een radar gespeeld en toen hebben ze uitgelegd dat het apparaat een signaal uitzendt met een frequentie die oploopt. Door het verschil in uitgezonden en ontvangen frequentie te meten kun je de afstand bepalen. Het verschil in frequentie kun je bepalen door de signalen op te tellen en de frequentie van de eerste harmonische te bepalen, dat is het verschil in frequentie. Dat zal dan wel laag genoeg zijn om met een pic te kunnen meten.
Dat is meer analoog werk, maar ik denk dat je hier meer success mee behaalt dan met alleen een pic.
Oftewel je bepaalt richting en afstand. Hoe je dit meet kan je op meerdere manieren bereiken.
De meest bekende methode is gewoon een puls uitsturen en kijken wanneer je een echo ontvangt. Tijdsvershil tussen zenden en ontvangen is de afstand keer 2. ( heen en terug weg )
Bij een Doppler RADAR bepaal je de frequentie verandering van je ontvangen signaal tenopzichte van je verzonden signaal zodat je een snelheid kan bepalen.
De beruchte flitskasten langs de weg.
Dan kan je ook nog allerlei andere technieken hebben waar mee je het zelfde bereikt. Maar zover heb ik me nog niet in de radars verdiept.
Verwijderd
Waarom zou je super nauwkeurige motoren moeten kopen. De meeste stappenmotoren zijn toch zeker wel 100 stappen per om wenteling 200 in halfstep mode.Verwijderd schreef op 16 juli 2004 @ 08:55:
[...]
De keuze voor een MAX232 ligt niet per sé vast. Maar uit vorige berichten versta ik toch goed dat een MAX232 nodig is, of uit links op internet een MAX233. Een van die twee zal er dus in moeten komen om aan seriele communicatie te kunnen doen.
De aparte IC voor de motor heeft 2 redenen. Naar wat ik op internet gelezen heb kan je met de IC die ik voorstelde tot 1/8 stepping doen, heel mooi als je niet te veel geld hebt om superexacte motoren te kopen.
De Hoek waar je je parabool met de opnemer in plaatst heeft al een grotere openings hoek dan de stappenmotor draait per stap.
Verwijderd
Je weet wanneer je begonnen bent je puls uit te zenden.Verwijderd schreef op 19 juli 2004 @ 09:45:
[...]
Het belang van de lengte van de puls bestaat in het berekenen van de frequentie van het ontvangen signaal. Je uitgezonden signaal, daar weet je alles over. Je kan de golflengte vinden en ook vinden hoeveel keer (stel 'n') je een volledige golf verstuurt (dus 1 sinusperiode). Dat aantal keer blijft constant. Dus als je het geluid ontvangt weet je ook dat in die tijdsperiode 'n' keer een sinusvorm doorlopen werd. Op basis van de tijdsduur van het ontvangen signaal en de snelheid van het geluid kan je daaruit de golflengte van je ontvangen signaal vinden en dus ook de frequentie. Daarom is het zo belangrijk om een exacte meting te doen van het ontvangen signaal (elke afwijking zal de snelheidsberekening weer wat meer verstoren)
Je kan door middel van testen bepalen hoe snel je ontvanger het signaal detecteerd. Deze tijd is contstant (misshien een beetje afhankelijk van de de sterkte van je echo) en is te verwerken in je berekening.
Als je weet dat je ontvanger 4 sinussen nodig heeft om het te detecteren is je afstand dus simpel sommetje.
Even snel en simpel wat reken werk gedaan.
Even golflengte van 40kHz op 1cm gesteld
object op 1m
afstand die signaal aflegt is 100cm heen en 100cm terug is 200cm
t(een golf) is 25microseconde
t(reflectie) = 200* 25us = 5000us
Stel dat je 4 golven nodig hebt om te detecteren dat je een reflectie ontvangt.
100us
100/5000 = 0,02 procent afwijking.
Waarom zou je dan zeker willen weten dat je alle golven hebt ontvangen?
Verwijderd
Ik zag een hoop commentaar dat de geen die het topic starte nog niet veel ervaring had met het ontwikkelingen van schakelingen en projecten.
Ik vind het opzich prima dat ie het probeert. Dapper zelfs. Verder is er in het bedrijfsleven een kreet voor mensen die weten wat ze willen, maar het niet zelf kunnen bouwen.
dat noemen ze een manager
En je bent nu een beetje ouwe koeien uit de sloot aan het halen. Alles waar je iets over zegt, hebben we het al over gehjad...
Verwijderd
Ik ben gewend om op forums per bericht te reageren.
De Edit functie zal ik de volgende keer gebruiken. Aangezien het aantal posts hier niet snel loopt.
In mijn beleving is het zeker in een fase waar nog een hoop te veranderen valt aan een ontwerp, altijd lonend om meererde ideeen en meningen te verwerken.
Een hoop van de opmerkingen die maakte zijn zaken waar ik al eerder overnagedacht heb voor ik ooit dit topic las. Ik zag gewoon een hoop dingen waarvan ik het gevoel heb dat het op het moment onnodig ingewikkeld gemaakt word in het begin.
IK weet niet hoever men is met het bouwen en of het alleen nog een gedachten experiment is. Maar een proefschakeling bouwen en eens op een scoop kijken wat je signaal doet is misschien wel een idee.
Ik houd dit topic wel in de gaten, ben erg benieuwd wat er uit komt.
Maar mocht ik nog dingen zien of ideeen hebben houd ik me mond wel verder
Maar in je posts kwam ik een serie dingen tgegen die allang op de vorige bladzijdes besproken zijn.
Hoe dan ook blijven we vast zitten bij het stuk van de amp die nodig is. Ik raak er zelf niet wijs uit dus wat hulp op dat vlak zou welkom zijn. Eens die amp er in verwerkt is en zo kan ik beginnen de aankooplijst op te stellen en beginnen experimenteren.
The Idea is not to arrive at the grave, safely in a well preserved body, but to slide in sideways at 400 miles an hour screaming of pure joy
Maar wat een supercool project. Als er iets is waar ik mee kan helpen als n00b zijnde, lemme know.
sonar is voor het menselijke oor onhoorbaar maar kat/hond kunnen dit wel horen.Damoke schreef op zaterdag 10 juli 2004 @ 12:42
Waarom net een sonar
Omdat een sonar het enige is dat aan alle voorwaarden kan voldoen.
Een radar maken is illegaal heb ik ondertussen geleerd. Dus dat valt af, want GoT doet uiteraard (en gelukkig) niet mee aan illegale praktijken.
Een lidar is niet illegaal, maar is wel hinderlijk. Ik denk niet dat mijn kat er mee zou kunnen lachen om elke minuut eens verblind te worden door een laserstraal. Bovendien denk ik dat sonar minder vatbaar is voor storingen (mist kan een lidar nogal eens in de war brengen denk ik) en makkelijker een groot bereik kan halen.
die zal dat ook niet fijn vinden.
verder heeft sonar ook last van bijgeluiden zoals piepende remmen en last van water (waarschijnlijk ook mist) .
The one, the only, the original ICW