USB aansluiten aan GPIO RaspberryPi 3

Hoi iedereen,

even mijn situatie uitleggen. Momenteel heb ik een relaytje dat mijn werkt op de usb poort van mijn TV. Als ik mijn TV aanschakel zal ook dat relaytje aantrekken en zo mijn versterker aanzetten. Het geluid van de TV loopt dan via de versterker naar mijn boxen.

Nu is het nadeel wel dat ik altijd mijn TV moet aanzetten om die versterker aan te krijgen. Dus daarom dacht ik om de GPIO van mijn openHab systeem, dat draait op een Rpi 3, aan te spreken.
Als hij op zijn ingangen ziet dat de TV aanstaat, kan hij de versterker ook aanzetten. Bijkomend kan ik ook individueel de versterker aanzetten, ook als mijn tv uit staat. Handig!

Mijn vraag is, kan ik zomaar die 3,3V aan de GPIO hangen van de PI? Moet daar niet ergens een weerstandje of zo tussen?

Hensz

Golden Member

Je kunt ook een schakelaar parallel aan de relaiscontacten zetten.

Don't Panic!
benleentje

Golden Member

Mijn vraag is, kan ik zomaar die 3,3V aan de GPIO hangen van de PI? Moet daar niet ergens een weerstandje of zo tussen?

Uit een USB poort komt 5V en dan de signalen op D+ en D- geen idee welke spanning dat is.

Op Rpi kan je gewoon 3,3V zetten dat ook wel ongeveer zijn maximum.
Voor een spanning hoger dan 3,6V moet je 2 weerstanden gebruiken om een spanningsdeler te maken en dan moet een spanning van 5V ook kunnen.
https://nl.wikipedia.org/wiki/Spanningsdeler

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.
fripster

Golden Member

Anubis, let op!

Dit relais wat je hebt is waarschijnlijk een 'dom' relais dat aantrekt als er 5V op de USB aansluiting van de TV komt als je hem aanzet. Zo'n USB aansluiting kan een paar honderd mA leveren en daarom kun je dit zo doen.

MAAR! als je het zelfde relais wil sturen met een GPIO uit een RasPi, dan is dat niet een aansluiting waar zomaar een paar honderd mA uit mag worden getrokken... dan is je mooie RasPi gauw stuk

Hier zal absoluut een transistor tussenmoeten om het relais te kunnen sturen. Het relais zal niet kunnen worden gevoed uit de RasPi.. dus je moet dan ook nog voeding ergens vandaan halen.

Just my two cents.

Eens een wirehead,altijd een wirehead.... gopher://fripster.ydns.eu

Als dat relais zo'n Chinees printje is met een optocoupler kan dat wel aan een pin van de Raspi.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Ingangen (en uitgangen) van microcontrollers zijn kwetsbaar.
Modernere microcontrollers hebben fijnere structuren, en zijn daarmee kwetsbaarder. De maximale klokfrequentie waarop een microcontroller kan werken (20MHz of lager voor oude "technologien") is een zeer grove indicatie.

Dingen aansluiten die op dezelfde print zitten en dezelfde voeding hebben is normaliter wel OK, maar op het moment dat er een connector op zit en bedrading naar "iets anders" dan is dit niet meer voldoende.

Vanaf dat moment moet je veel meer rekening houden met EMC, ESD, overbelasting, (per ongeluk) omgepoolde spanning en meer...

Rechtstreeks een draadje aansluiten zal waarschijnlijk wel werken, zeker in het begin, maar het is erg amateuristisch en niet erg betrouwbaar. Een simplele serie weerstand tussen een paar honderd Ohm en een paar kilo Ohm geeft al een forse verbetering. Dat kun je nog verder uitbreiden met een TVS diode of een condensator om te filteren. Als de ingangspanning hoger is kan je de schakelinivo's aanpassen door een spanningsdeler te maken met een tweede weerstand.

Ook verder filteren in software is een veel gebruikte techniek om het geheel betrouwbaarder te maken.

fripster

Golden Member

Een IO pin mag maximaal een paar mA sinken of sourcen. Niet meer! Dat is nooit genoeg voor een relais spoel. Dus er MOET een actieve component zijn (optocoupler, transistor) om dit te doen.

Eens een wirehead,altijd een wirehead.... gopher://fripster.ydns.eu

kan je niet beter die GPIo gebruiken om dmv een Infra-rood ledje je versterker uit standby te halen?

(emulatie "poweron/poweroff code" van de afstandsbediening?)

Dag iedereen,

Bedankt voor jullie talrijke antwoorden! Ik zat dus op het juiste
spoor ivm het zomaar aansluiten van de GPIO.

Ik zal eerst mijn huiswerk eens goed maken en kijken wat voor soort relaytje ik daar nu juist had tussen gestoken. Ik zal dan ook eens meten welke spanning er uit de USB poort komt. Ben ik hierin juist dat voor de ingang het volstaat om te werken met een spanningsdeler, maar voor de uitgang best werk met een transistor?

Ik heb al iets anders aan de uitgang hangen die werkt met een transistor+weerstandje en dat werkt al jaren goed, dus ik kan dat eventueel kopiëren.

Jullie opmerkingen zijn bijzonder waardevol en ik kom zeker nog tot jullie terug met wat meer detail over hoe ik het precies verder aanpak.

Extra suggesties over het emuleren van IR is leuk, echter de versterker is eigenlijke en digitale kaart zonder veel periferie aan (geen eigenlijk).

Ondertussen het relay nog eens goed bekeken. Het wordt inderdaad gevoed met 5V als de TV aan staat. Ik heb gezien dat deze dan wordt verlaagt met een zenerdiode naar (ik vermoed) 3,3V. Ik zag overigens ook nog enkele smd componenten waarvan ik denk dat er een transistor tussen zit.
Ik heb het niet heel erg goed kunnen bekijken daar alles nog aan elkaar vast hangt. Maar als ik mij goed herinner is dat nog een relay dat ik gebruikt had voor één van de arduino projectjes.

Bijkomend vraagje, is ipv een spanningsdeler een zener ook geen goed idee? Eentje van 3,3V bijvoorbeeld?

Hensz

Golden Member

Je moet ergens de voeding voor het relais vandaan halen, dat zou van de (3,3V-)voeding van de Pi zelf kunnen zijn. Verder heb je behalve de stuurtransistor en een blusdiode niks meer nodig.
Misschien is het beter om de voeding van de USB-kant van die Pi te betrekken. Dan zou je een serieweerstand de juiste spanning voor de spoel moeten kunnen maken, hij is dan onderdeel van zijn eigen spanningdeler.

Werkt alleen goed met dát relais, een ander relais kan weer een andere spoelweerstand hebben.

Don't Panic!

Op 30 november 2021 17:46:17 schreef benleentje:
Uit een USB poort komt 5V en dan de signalen op D+ en D- geen idee welke spanning dat is.

De signaalniveaus horen 3.3V nominaal te zijn. (ik denk formeel: "min: 3.0V max 3.6V". )

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
Hensz

Golden Member

Ik denk dat TS alleen de voeding van de USB (als signaal) gebruikt en de D+ en D- met rust laat. Toch?

Don't Panic!
marcob

Golden Member

Waarom je versterker niet schakelen via een ESP8266 relais bordje.
https://www.tinytronics.nl/shop/nl/schakelaars/relais/5v-relais-module…

Vanuit je openHab is dit wel te regelen. Dan heb je niks te maken met je kwetsbaarheid van je PI GPIO poorten.

Zit je TV op je netwerk, dan bestaat de kans groot dat je via die weg kunt zien of je TV aan of uit staat. Ik kan in Home Assistant zien of mijn Philips TV aan of uit staat. Ook m'n Ziggo box trouwens. Jouw OpenHab moet dat ook wel kunnen.

People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years