Sisällysluettelo:

Yksinkertainen ja halpa analoginen digitaalimuunnin: 5 vaihetta
Yksinkertainen ja halpa analoginen digitaalimuunnin: 5 vaihetta

Video: Yksinkertainen ja halpa analoginen digitaalimuunnin: 5 vaihetta

Video: Yksinkertainen ja halpa analoginen digitaalimuunnin: 5 vaihetta
Video: LDmicro 10: Incubator Temperature Regulator (Microcontroller PLC Ladder Programming with LDmicro) 2024, Marraskuu
Anonim
Yksinkertainen ja halpa analoginen digitaalimuunnin
Yksinkertainen ja halpa analoginen digitaalimuunnin
Yksinkertainen ja halpa analoginen digitaalimuunnin
Yksinkertainen ja halpa analoginen digitaalimuunnin
Yksinkertainen ja halpa analoginen digitaalimuunnin
Yksinkertainen ja halpa analoginen digitaalimuunnin
Yksinkertainen ja halpa analoginen digitaalimuunnin
Yksinkertainen ja halpa analoginen digitaalimuunnin

Aikoista, jolloin ADC oli kallista ja harvinaista, tulee laitteisto-ohjelmistoratkaisu tietokoneiden tiedonhankintaan. IBM-yhteensopivan vanhan joystick-portin perusteella tekniikka, jolla monostabiili multivibraattori laukaistaan resistiivinen muunnin (termistori, valokenno, venymämittari jne.) Ja lasketaan sen jälkeen kuinka monta jaksoa se kuluu ennen kuin monivibraattorin ulostulo nousee. helppo toteuttaa useimmilla tietokonealustoilla ja useimmilla kielillä. VisualBasic- ja Qbasic -mallitiedostot näytetään.

Vaihe 1: Joystick -portti

Ohjaussauvan portti
Ohjaussauvan portti

Vuosien ajan monissa IBM: n kanssa yhteensopivissa PC -tietokoneissa oli ohjaussauvaportti, jossa oli X -akseli, Y -akseli ja A- ja B -painikkeiden signaalitapit. Pieneen DB-15-liittimeen pääsee osoitteista 200h & 201h. Joystick itse oli vain kaksi potentiometriä ja kaksi painiketta. Tietokoneen emolevyn sisällä oli kaksi uudelleenkäynnistettävää monostabiilia multivibraattoria (lyhyt RMM), joissa on kiinteät kondensaattorit ja IN/OUT -nastat. RC -aikavakio asetettiin potentiaalimittareilla ja kondensaattoreilla. Jos haluat aloittaa signaalin muuntamisen, kirjoita KIRJOITA portin osoitteeseen 200h ja aloita sitten laskeminen, kunnes saat hieman KORKEA tekemällä LUE portin osoitteeseen 200h. Tämä voidaan toteuttaa millä tahansa kielellä (perus, pascal, c).

Vaihe 2: Joystick -portti VB: ssä

Joystick -portti VB: ssä
Joystick -portti VB: ssä

Tämä on esimerkkikoodi, jota käytin roskakorin ohjaussauvan testaamiseen: Private Sub Timer1_Timer () Dim V, H As Integer Out & H201, & HFF for H = 1 to 3000 If (Inp (& H201) and & H1) / & H1 = 0 then Exit For Seuraava H Horizontal. Text = H Out & H201, & HFF for V = 1 to 3000 If (Inp (& H201) and & H2) / & H2 = 0 Exit for Next V Vertical. Teksti = V If (Inp (& H201) and & H10) / & H10 = 0 Sitten muoto 1. FillColor = & HFF If (Inp (& H201) Ja & H20) / & H10 = 0 Sitten Shape2. FillColor = & HFF If (Inp (& H201) Ja & H10) / & H10 = 1 Sitten Shape1. FillColor = & HC0C0C0 If (Inp (& H201) Ja & H20) / & H20 = 1 Sitten Shape2. FillColor = & HC0C0C0 Shape3. Left = H Shape3. Top = VEnd Sub Ohjelma toimii vain, jos tietokoneeseen on liitetty oikea ohjaussauva. Vaaka- ja pystysuuntaiset tekstiruudut näyttävät arvon, joka liittyy tikun X- ja Y -liikkeisiin. Myös neliö liikkuu isomman laatikon sisällä liikkeiden edustamiseksi. Painamalla A- ja B -näppäimiä voit lukea harmaat ympyrät. Esimerkkikokoeltu EXE -tiedosto, lähdekoodi ja INPOUT32. DLL -kirjasto ovat. RAR -tiedostossa.

Vaihe 3: Toteuta se käyttämällä rinnakkaisporttia DOS: n alla

Toteuta se käyttämällä rinnakkaisporttia DOS: n alla
Toteuta se käyttämällä rinnakkaisporttia DOS: n alla

74 LS 123 on se, mitä käytin saadakseni saman järjestelmän kuin joystick -portti. Siinä on kaksi RMM: ää. PDF -tiedostossa näet tietolomakkeen ja yksinkertaisen piirin, joka liitetään rinnakkaisporttiin. Olen Qbasic -fani (koska se on laajalti saatavilla), joten koodi on kirjoitettu siihen. Toimenpide on sama kuin VB-näytteessä: LPTdata = & H378 LPTstatus = LPTdata + 1: LPTcontrol = LPTdata + 2YMAXX = 500SCREEN 2LINE (9, 1)-(630, 170),, B, & H3333VIEW (10, 2)- (629, 169) WINDOW (0, YMAXX)-(620, 0) MAXX = 620DIM D (MAXX) WHEE INKEY $ = "" OUT LPTcontrol, & H1 OUT LPTcontrol, & H0 FOR Y = 1-YMAXX IF (INP (LPTstatus)) JA & H10) / & H10 = 1 NÄYTÄ SEURAAVA Y SIJAINTI 23, 1 TULOSTA KÄYTTÖÄ "####"; Y LINE (0, 0) - (MAXX, YMAXX), 0, BF FOR I = 1 - MAXX LINE (I, D (I - 1)) - (I, D (I)) D (I - 1) = D (I) SEURAAVA TUNNUS (MAXX) = YWEND Yhtä lähtötappia käytetään MMR: n laukaisuun ja yhtä tulotappia sen ulostulon lukemiseen.

Vaihe 4: Piirin kiinnittäminen LPT: hen

Piirin liittäminen LPT: hen
Piirin liittäminen LPT: hen
Piirin liittäminen LPT: hen
Piirin liittäminen LPT: hen
Piirin liittäminen LPT: hen
Piirin liittäminen LPT: hen

Järjestelmä on toteutettu puoliksi laitteistona ja puoliksi ohjelmistona. Muuttuvan vastuksen muuntamista aikaviiveeksi käytetään sitten pulssien laskemiseen, ja tämä luku on haluttu arvo. Qbasic -tiedosto piirtää signaalin näytölle ja vieritä sitä sitten oikealle.

Vaihe 5: Käytä sitä

Tämä on yleinen IC, mutta myös muita monostabileja voidaan käyttää. Monet ihmiset, jotka asuvat paikoissa, joissa ADC on vaikea löytää, saattavat haluta käyttää tätä piiriä kouluprojektina lämpötilan tai minkä tahansa muun asian kuvaamiseen niin kauan kuin voit saada MMR: n muuttamaan viiveensä, kun anturi tekee.

Suositeltava: