Vraag:
Een Arduino aansluiten op een 12V TTY
Aaron
2010-05-21 21:39:31 UTC
view on stackexchange narkive permalink

Ik heb een DSC-1555 alarmsysteem dat ik probeer aan te sluiten op een Arduino-Mega, het probleem dat ik ben tegengekomen is dat de DSC 12v TTL naar de console gebruikt en de Arduino 5v TTL gebruikt.

Ik gokte gewoon om wat weerstanden te gebruiken, maar ik wil het dubbel controleren voordat ik het probeer.

Wat betekent TTY? Bedoel je TTL?
Ik dacht om de een of andere reden aan unix, de seriële uitgang naar de alarmmumpad is waar ik aan dacht.
Het probleem dat u noemt, is een hardwareprobleem (niet-overeenkomende logische niveaus) en geen softwareprobleem. Dus ik zou in dit geval niet naar het systeem verwijzen als een TTY.
Een TTY is een teletype. Ik denk dat het hier RS232 oftewel seriële poort betekent, 12V is daarvoor de standaardspanning.
Drie antwoorden:
J. Polfer
2010-05-21 21:52:10 UTC
view on stackexchange narkive permalink

Je moet de 12V-niveaus van de DSC-1555 alarmsystemen omzetten naar iets dat de Arduino aankan.

Zonder voorkennis te hebben over hoe de seriële hardware van de DSC-1555 werkt, is er niet veel dat ik kan zeggen. Ik zou het gegevensblad in handen krijgen en meer informatie krijgen.

Is het RS-232C (of een andere revisie) compatibel? Als dit het geval is, moet u een 12 V RS-232 -> 5 V lijnomvormer aanschaffen. Je zou kunnen proberen de spanning met weerstanden te verlagen tot iets dat de Arduino aankan, maar dit is vol problemen, aangezien de signalen waarschijnlijk worden omgekeerd en mogelijk buiten het bereik liggen dat de CMOS-chip aankan, wat mogelijk schade kan veroorzaken. Als het RS-232-compatibel is, neem dan een converter en u zult veel minder hoofdpijn hebben.

Ik weet het niet zeker, ik ben vrij nieuw in hardware-elektronica, dus dit project is misschien te boven mijn hoofd. Toch bedankt
@Aaron - Aangezien de DSC-1555 een apparaat voor huisbeveiliging / automatisering is, vind je misschien wat meer tips / hulp op een doe-het-zelf-thuisbeveiligings- of domoticasysteem, omdat ze misschien meer weten over hoe de DSC-1555 werkt. De mensen hier houden zich voornamelijk bezig met elektronica en ingebedde dingen, maar niet met specifieke details.
@Aaron - Nog een gedachte - probeer het numpad aan te sluiten op een seriële poort van een pc en gebruik een terminalemulator die op die poort draait met verschillende opties (baudrate, bits, pariteit, stroomregeling, enz.) Om te zien of je gegevens eruit kunt halen . Mogelijk moet u een nulmodem gebruiken om de twee met elkaar te verbinden, aangezien de TX / RX-lijnen mogelijk moeten worden verwisseld.
Als het RS232 is, gebruik dan een MAX232 als niveau-omzetter.
JustJeff
2010-05-22 03:13:43 UTC
view on stackexchange narkive permalink

Het is een beetje onduidelijk waar je precies mee te maken hebt, maar als het erop aankomt 12V RS-232-niveaus in & uit een Arduino (of een andere 5V-logica) te halen, is dat niet zo moeilijk.

Normale RS-232-niveaus zijn gespecificeerd op -3V tot -12V voor de 'markering'-toestand (logisch' 1 ') en + 3V tot +12 V voor de' ruimte'-toestand (logisch '0') . Een typisch apparaat dekt niet dat hele bereik, een seriële pc-poort kan u bijvoorbeeld een -11,5V-markering en een + 11,2V-ruimte geven, terwijl een ander apparaat u -9 en +9 kan geven.

TTL-niveaus aan de andere kant zijn gespecificeerd op logica 0 is minder dan 0,8 V en logica 1 is meer dan 2,4 V, hoewel logica '1' met CMOS-apparaten zo dicht mogelijk bij de voeding wil zijn rail als je die kunt krijgen.

Er zijn een aantal chips die wisselen tussen 5V logische niveaus en +/- 12V RS-232, die vrij goedkoop zijn en zelfs werken zonder een extra 12V voeding. U kunt delen bekijken zoals die van Maxim.

Christopher Biggs
2010-05-30 13:42:21 UTC
view on stackexchange narkive permalink

"Echte" seriële poorten gebruiken de EIA-RS232-standaard van +/- 12v volt, waardoor behoorlijk lange kabels mogelijk zijn. Veel ingebedde apparatuur gebruikt de logische TTL-niveaus van 0 / 5v, omdat dit veel eenvoudiger is maar slechts een meter of zo kan worden gebruikt. Soms kun je vals spelen en TTL-uitgangen verbinden met een RS232-ingang, ook al is dit in strijd met de RS332-specificatie. Ik zou echter niet aanraden om de andere kant op te gaan en 12v aan te sluiten op een weerloze uC die 5v verwacht.

De reden voor het gebruik van 12v en -12v is ruisimmuniteit --- 5v seriële lijnen werken alleen over korte afstanden voordat de ruis het signaal overweldigt, terwijl RS232 tot 10 meter of meer kan lopen.

Traditioneel hebben de lijndrivers / ontvangers die worden gebruikt om TTL naar RS232 te converteren, +/- 12V stroom nodig. Dit is de belangrijkste reden waarom er een -12v-lijn op een pc-voeding zit. Voor systemen met alleen 5v is de Maxim MAX232 de standaard standaard voor RS232-interfacing - deze chip gebruikt condensatorlaadpompen om +/- 12v te genereren uit een enkele 5v-voeding.

Als je niet aan het doen bent bij het bouwen van een MAX232-interfacecircuit kun je er een kopen die vooraf is gebouwd bij futurlec voor ongeveer $ 5: http://futurlec.com/Mini_RS232_TTL_5V.shtml

Ik kan een work-alike bieden enkelzijdige PCB-layout voor een TTL<-> RS232-converter, als iemand geïnteresseerd is, zoals ik er een tijdje geleden een heb gebouwd om te gebruiken bij het prototypen van serieel gekoppelde projecten.



Deze Q&A is automatisch vertaald vanuit de Engelse taal.De originele inhoud is beschikbaar op stackexchange, waarvoor we bedanken voor de cc by-sa 2.0-licentie waaronder het wordt gedistribueerd.
Loading...