[VB]400Hz pulsen? Welke timer?

Pagina: 1
Acties:

  • ND863
  • Registratie: September 2001
  • Laatst online: 09-07-2022

ND863

Forget aircraft - Fly Airbus

Topicstarter
Ik heb hier een half progje atm, en daar moet 400 maal per seconde een waarde 1 en 0 worden. De timer valt bij voorbaat al af, en daarbij komt ook nog eens dat de timer functie van VB niet heel nauwkeurig is.

Hoe zorg ik ervoor dat ik de 400hz haal?

ja je leest het toch egt goed, 400HZ ja :)

To be, or not to be a FRUITVLIEG!??


Verwijderd

Waar stuur je het signaal naartoe?

Een com poort heeft een buffer waarvan je de baudrate op bijv 800 kan instellen

  • ND863
  • Registratie: September 2001
  • Laatst online: 09-07-2022

ND863

Forget aircraft - Fly Airbus

Topicstarter
Verwijderd schreef op 01 februari 2003 @ 22:50:
Waar stuur je het signaal naartoe?

Een com poort heeft een buffer waarvan je de baudrate op bijv 800 kan instellen
Hij moet idd naar de COM poort :)
De baudrate staat dmv OPENCOM ingesteld op 1200. Maar wat houd die baudrate precies in dan? (iets met datasnelheid? :? :7)

To be, or not to be a FRUITVLIEG!??


Verwijderd

ND schreef op 02 February 2003 @ 00:01:
[...]

Hij moet idd naar de COM poort :)
De baudrate staat dmv OPENCOM ingesteld op 1200. Maar wat houd die baudrate precies in dan? (iets met datasnelheid? :? :7)
baudrate == aantal bits perseconde

Dus 1200 baud = 1200 bits = 150 byte = 0,146 kilobyte = 0,000146 megabyte per seconde.

Ruim voldoende om te kunnen meten, maar de nauwkeurigheid zul je nooit halen. Sinds Windows 95 kun je de compoort niet meer direct via het BIOS benaderen maar handeld Windows de communicatie voor je af.
De informatie gaat eerst naar buffer(s) en wordt pas verzonden als de vorige waarde verzonden is.... dat kun jij niet garanderen en dus zal je nooit precies 400 Hz krijgen.
Je kunt denk ik beter een geluidskaart nemen met een AD converter.

  • ND863
  • Registratie: September 2001
  • Laatst online: 09-07-2022

ND863

Forget aircraft - Fly Airbus

Topicstarter
Verwijderd schreef op 02 February 2003 @ 09:20:
[...]


baudrate == aantal bits perseconde

Dus 1200 baud = 1200 bits = 150 byte = 0,146 kilobyte = 0,000146 megabyte per seconde.

Ruim voldoende om te kunnen meten, maar de nauwkeurigheid zul je nooit halen. Sinds Windows 95 kun je de compoort niet meer direct via het BIOS benaderen maar handeld Windows de communicatie voor je af.
De informatie gaat eerst naar buffer(s) en wordt pas verzonden als de vorige waarde verzonden is.... dat kun jij niet garanderen en dus zal je nooit precies 400 Hz krijgen.
Je kunt denk ik beter een geluidskaart nemen met een AD converter.
Het is niet om te meten, maar om de com-poort aan te sturen, maar dan heb ik nog steeds die nauwkeurigheid niet. Ik ga ff opzoek naar een andere oplossing :)

To be, or not to be a FRUITVLIEG!??


Verwijderd

ND schreef op 02 februari 2003 @ 10:46:
[...]

Het is niet om te meten, maar om de com-poort aan te sturen, maar dan heb ik nog steeds die nauwkeurigheid niet. Ik ga ff opzoek naar een andere oplossing :)
Leg anders even uit wat je precies wilt gaan doen :)
Is een geluidskaart echt geen optie?

  • ND863
  • Registratie: September 2001
  • Laatst online: 09-07-2022

ND863

Forget aircraft - Fly Airbus

Topicstarter
Verwijderd schreef op 02 February 2003 @ 11:32:
[...]


Leg anders even uit wat je precies wilt gaan doen :)
Is een geluidskaart echt geen optie?
Er moet een PWM signaal uit de com-poort komen :) Die dus softwarematig te regelen is. :)
Maar, ik snap niet wat je bedoeld met de geluidskaart?

To be, or not to be a FRUITVLIEG!??


Verwijderd

ND schreef op 02 February 2003 @ 11:42:
[...]

Er moet een PWM signaal uit de com-poort komen :) Die dus softwarematig te regelen is. :)
Maar, ik snap niet wat je bedoeld met de geluidskaart?
Nou, dat kun je toch perfect regelen met een geluidskaart? 400 Hz kan je tot op de Hz nauwkeurig instellen....
Dan alleen nog een transistortje oid aan de uitgang van de geluidskaart hangen en je bent klaar.

vb:

Afbeeldingslocatie: http://www.wvopzeeland.com/glofjes.jpg

je krijgt dan de onderste blokgolf op de uitgang van je geluidskaart, en dan dus 400 blokgolfen per seconde -> aan/uit

snappie?

  • ND863
  • Registratie: September 2001
  • Laatst online: 09-07-2022

ND863

Forget aircraft - Fly Airbus

Topicstarter
Verwijderd schreef op 02 February 2003 @ 11:51:
[...]


Nou, dat kun je toch perfect regelen met een geluidskaart? 400 Hz kan je tot op de Hz nauwkeurig instellen....
Dan alleen nog een transistortje oid aan de uitgang van de geluidskaart hangen en je bent klaar.

vb:

[afbeelding]

je krijgt dan de onderste blokgolf op de uitgang van je geluidskaart, en dan dus 400 blokgolfen per seconde -> aan/uit

snappie?
_/-\o_ nou snap ik em! Dus in feite laat je een 'toon' afspelen, die dan een transistor aanstuurt?
Maarrr..............ik heb (nog) geen flauw idee hoe ik met Visual Basic een geluidskaart aanstuur.
En ik heb geen output meer over..........

Of ik heb et verkeerd begrepen :7

Ik kan natuurlijk ook een externe pulser op basis van een NE555 gebruiken, en deze de frequentie laten sturen (met digitale potmeter). Dan is het Visual Basic progje dus zo gemaakt.........en nu klinkt deze topic geschikter voor CM&E :7)

Stel, dat ik via VB d COM poort wel 400x per seconde laat schakelen, de afwijking word dan toch steeds groter namate windows meer te doen heeft? (gamen etc)

To be, or not to be a FRUITVLIEG!??


Verwijderd

ND schreef op 02 February 2003 @ 12:08:
[...]

_/-\o_ nou snap ik em! Dus in feite laat je een 'toon' afspelen, die dan een transistor aanstuurt?
Maarrr..............ik heb (nog) geen flauw idee hoe ik met Visual Basic een geluidskaart aanstuur.
En ik heb geen output meer over..........

Of ik heb et verkeerd begrepen :7

Ik kan natuurlijk ook een externe pulser op basis van een NE555 gebruiken, en deze de frequentie laten sturen (met digitale potmeter). Dan is het Visual Basic progje dus zo gemaakt.........en nu klinkt deze topic geschikter voor CM&E :7)

Stel, dat ik via VB d COM poort wel 400x per seconde laat schakelen, de afwijking word dan toch steeds groter namate windows meer te doen heeft? (gamen etc)
Dat laatste is natuurlijk helemaal leip.
Want je timer kan inderdaad langzamer / niet lopen op het moment dat je pc full load heeft. Met een externe timer heb je daar helemaal geen last van. Je zou alleen moeten kijken hoe je zo'n digitale potmeter instelt, daar heb ik namelijk nog nooit mee gewerkt. Maar ik denk dat een 8-bits versie meer dan genoeg is.

De iets minder lastige optie is om toch de geluidskaart te gebruiken. Die kun je gewoon aansturen door een wav'je of iets dergelijks te outputten. Ik weet niet hoe dat in VC++ gaat, in C++ Builder is het iets met PlaySound...

Veel suc6 !

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Toverstaf: Een Wave-je af laten spelen is geen optie, aangezien hij de frequentie wil laten varieren... Of je moet in VB een manier zien te vinden om de pitch van het Wave-je te kunnen laten varieren, maar da's alleen moeilijk doen gok ik...

Maar een externe timer lijkt me niet eens zo heel erg moeilijk hoor... Je hebt wel spannings-afhankelijke timers en als je dan een DAC gebruikt om die spanning te regelen, dan zit je al goed AFAIK :)

  • ND863
  • Registratie: September 2001
  • Laatst online: 09-07-2022

ND863

Forget aircraft - Fly Airbus

Topicstarter
wavjes afspelen is geen optie. :) Het word dus met een externe timer, ofwel gestuurd dmv een digitale potmeter, of via een spanningsgestuurde timer. Dat laatste ga ik ff zoeken :)

Thanks voor de hulp!

To be, or not to be a FRUITVLIEG!??


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Een spannings-gestuurde timer is volgens mij zo gemaakt met een simpele 555 hoor... Kweet het zelf ook niet uit m'n hoofd, maar ben hem zeker eens tegengekomen in een oude elektuur...

  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 18:20

johnwoo

3S-GTE

Verwijderd schreef op 02 February 2003 @ 09:20:
[...]


baudrate == aantal bits perseconde

Dus 1200 baud = 1200 bits = 150 byte = 0,146 kilobyte = 0,000146 megabyte per seconde.
[...]
Niet helemaal waar. In 99% van de gevallen, en zeker tegenwoordig, gaat het inderdaad wel op, maar als je bijv in tribits gaat versturen, dan klopt het al niet meer :) Baudrate is dus niet per definitie gelijk aan bits per seconde.

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 23-08 21:39
Eeeh, de gemiddelde geluidskaart heeft toch gewoon een synthesizer? Lijkt me dat je die gewoon kan gebruiken als frequentiegenerator.
Probeer ff een Google zou ik zeggen :D

[ Voor 30% gewijzigd door bartvb op 03-02-2003 12:26 ]

Pagina: 1