29. januar 2007 - 10:49Der er
12 kommentarer og 2 løsninger
ADC til input på PC's seriel port
Jeg er igang med et mindre projekt, hvor jeg har en analog spændning, som jeg skal have lavet om til et serielt signal, som skal sendes til en computers seriel port, hvor et C++ program skal læse det signal.
Problemet er bare, at jeg ikke ved så meget om seriel kommunikation.
Kan det lade sig gøre?
ADC'en skal vel sende bit'en med en hvis sample rate, hvor hurtig? eller kan computeren klare det, hvis bare sample rate ligger i et vist interval?
en ADC alne kan ikke gøre det, så skal du udlæse det fra LPT porten (hvilket er meget nemmere), skal det være via RS232 skal du have en RS232 convertil til TTL converter og en ADC med port til seriel udlæsning, hvor du med en ADC til par. udlæsning kan sætte den direkte på LPTporten.
maxim har en kreds max232 samplerate og seriel udlæsnings hastighed har ikke direkte noget med hinanden at gøre, men kan have det alligevel, det kommer an på hvor ofte du skal udlæse en værdi.
Jeg ville bruge en microcontroller (MCU) f.eks. en PIC med indbygget ADC og UART, så skal du bare have en RS232 level converter og skrive et program til MCUen og have mulighed for at programmere den, så er du kørende. Jeg tror du får svært ved at finde en ADC med asynkron seriel udlæsning, medmindre du køber et færdigt system!
Umiddelbart virker det som en løsning. Tror I den ville kunne løse mit problem? den er lidt dyr, men jeg vil meget gerne holde fast i den serielle løsning. I stedet for at gå over til en mikrocontroller, eller brug af LPT porten
Nej, konverteren er ikke en løsning, så er en ADC med parallel udlæsning meget bedre at benytte. Hurtig forklaring mht. synkrone/asynkrone serielle signaler: Et serielt signal betyder at databittene udlæses én efter én fra samme kilde (ledning), derfor er man nødt til at vide, hvornår der er skiftet til en ny databit på dataledningen. I det synkrone tilfælde har man et signal mere, som skal skiftes hver gang man vil læse en ny bit (sådan fungerer mange ICer med seriel udlæsning). Ved asynkron seriel kommunikation bliver dataen skiftet ved en bestemt frekvens (baudrate), dette kræver man er enige om baudraten i begge ender, så man kan time aflæsningen rigtigt, dette styres ofte af noget der hedder en UART.
det er også en mulighed, men det er meget nemmere timingsmæssigt at benytte direkte udslæsning via LPT porten, problemet her er bare maks kabel afstand, en RS232 (evt RS484 er det ikek det den hedder ?) kan være meget længere.
Rene-petersen -> du mener altså at 'dimsen' som jeg fandt ville fungere?
Det er et skoleprojekt, så det gør ikke noget at det giver lidt problemer, derfor holder vi os også til RS232 løsningen så længe der er mulighed for det. (har dermed som tidligere sagt, mulighed for at gøre det trådløst, det er en computer der skal kommunikere med noget elektronik ude i et drivhus)
jeg skal ikke kunne sige om du kan bruge den,har aldrig rodet med udlæsning via seriel porten, men i princippet ja så vil den virke (jeg har selv altid benyttet lpt porten, under 9X da den er meget nemmere at arbejde med til projekter hvor man har elektronikken lige ved siden af)
Jeg tror det ender med at vi køber 'dimsen', så må vi lære lidt mere om, hvordan vi fortæller paralelporten at der kommer nyt data. (man studerer jo for at lære)
t-bee -> smider du ikke også et svar, så kan I dele point'ene
Vi kommer til at lave en del elektronik alligevel, det store spørgsmål er mere hvordan vi kommunikerer med det.
Men nu får vi af se, kunne være vi skulle benytte en PIC som vi også har været inde på. Men i øjeblikket er dette vores foretrukne løsning
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.