1 945 läst ·
10 svar
2k läst
10 svar
Styra resistans med Arduino
Jag behöver styra en resistans med Arduino. Gärna steglöst, men huvudkravet är att jag kan åstadkomma åtminstone ett tiotal olika fasta resistansvärden + frånläge och att den ska gå till frånläget när strömförsörjningen till arduinon slås av.
(Jag vill alltså koppla ihop kabel A och kabel B genom valfritt motstånd. Spänningen ligger runt 12V.)
Vad behöver jag för komponenter för att åstadkomma detta på ett smidigt sätt?
(Jag vill alltså koppla ihop kabel A och kabel B genom valfritt motstånd. Spänningen ligger runt 12V.)
Vad behöver jag för komponenter för att åstadkomma detta på ett smidigt sätt?
Vad skall det vara till? Måste det vara potentialfritt? Det finns digitala potentiometrar där du styr resistansvärdet via SPI. Jag är inte säker på att de klarar 12V dock.
https://www.elfa.se/sv/halvledare/d...igitala-potentiometrar/c/cat-DNAV_PL_01040102
För ett begränsat antal värden går det att lösa med små reläer och ett antal fasta resistanser. Lämpligen binärt arrangerade så att du kan få 15 värden med 4 reläer.
Sedan finns det läsningar med att använda transistorer. Sök på "voltage controlled resistor". Den lösningen blir inte potentialfri. Du kan använda en PWM och ett filter för att få en variabel spänning från arduinon.
https://www.elfa.se/sv/halvledare/d...igitala-potentiometrar/c/cat-DNAV_PL_01040102
För ett begränsat antal värden går det att lösa med små reläer och ett antal fasta resistanser. Lämpligen binärt arrangerade så att du kan få 15 värden med 4 reläer.
Sedan finns det läsningar med att använda transistorer. Sök på "voltage controlled resistor". Den lösningen blir inte potentialfri. Du kan använda en PWM och ett filter för att få en variabel spänning från arduinon.
Den ska användas till (ett försök till) extern styrning av en bilstereo, kopplas via 3,5mm-uttag. I princip som denna lånade bild. (Fast den delen märkt "shift" klarar jag mig nog utan och det kommer att vara lite andra resistanser.) Hur det ser ut inne i stereon är tyvärr okänt.
Vid lite eftertanke så kanske det inte handlar om 12V heller, kan ju vara lägre, jag får mäta upp det.
Om man använder en digital potentiometer så antar jag att den måste seriekopplas med en brytare för att kunna bryta kretsen helt?
Vad är det för typ av relä man bör använda som brytare? Något i stil med https://www.kjell.com/se/sortiment/...er/luxorparts-relamodul-for-arduino-4x-p87879 ?
(Min erfarenhet av elektronikbyggen är rätt begränsad som ni märker.)

Vid lite eftertanke så kanske det inte handlar om 12V heller, kan ju vara lägre, jag får mäta upp det.
Om man använder en digital potentiometer så antar jag att den måste seriekopplas med en brytare för att kunna bryta kretsen helt?
Vad är det för typ av relä man bör använda som brytare? Något i stil med https://www.kjell.com/se/sortiment/...er/luxorparts-relamodul-for-arduino-4x-p87879 ?
(Min erfarenhet av elektronikbyggen är rätt begränsad som ni märker.)

Sådana här reläer borde du kunna driva direkt från arduinons utgångar.
https://www.elfa.se/sv/signalrelae-...5&page=2&origPos=32&origPageSize=50&simi=97.0
Jag gissar att yttersta polen i 3,5mm proppen är ansluten till signaljord. Det måste verifieras, men om så är fallet så kan du ersätta knapparna i ditt schema med småsignaltransistorer kopplade till arduinon. Billigare, kompaktare och för denna tillämpning bättre än reläer.
https://www.elfa.se/sv/signalrelae-...5&page=2&origPos=32&origPageSize=50&simi=97.0
Jag gissar att yttersta polen i 3,5mm proppen är ansluten till signaljord. Det måste verifieras, men om så är fallet så kan du ersätta knapparna i ditt schema med småsignaltransistorer kopplade till arduinon. Billigare, kompaktare och för denna tillämpning bättre än reläer.
Medlem
· Västerbottens län
· 18 047 inlägg
Ersätt brytarna med NPN transistorer tex BC 547.
Endera använder du 10 utportar på aurdino eller en avkodare en av 16 ur CMOS serien CD4514 och använder 4 pinnar från Aurdinon.
Man kan använda 4 transistorer och binärt viktade motstånd men det är lite svårt att hitta rätta värden då serierna är "logaritmiska", fast om man går på E196 serien så går det nog.
Protte
Endera använder du 10 utportar på aurdino eller en avkodare en av 16 ur CMOS serien CD4514 och använder 4 pinnar från Aurdinon.
Man kan använda 4 transistorer och binärt viktade motstånd men det är lite svårt att hitta rätta värden då serierna är "logaritmiska", fast om man går på E196 serien så går det nog.
Protte
Nu har jag kontrollmätt lite. Yttersta polen är jordad, de andra två ligger på 3,3 volt. Jag gjorde även ett manuellt test med några olika motstånd för att verifiera att stereon går att styra som jag tänkt och det gick bra.
Vid lite eftertanke så klarar jag mig med sex olika signaler och eftersom stereon har ett "learning mode" så går det att välja motstånden lite halvfritt, så jag försöker nog snåla lite på gpio-pinnarna.
Den där hc4066 verkar ju intressant. Om jag fattar rätt så ansluter jag på Arduinosidan
lus, jord och 1-4 gpio-pinnar som styr på/av för mina stereokopplingar. Stämmer det?
Om man ska köra på transistorer, hur väljer man dessa? (Arduinons gpio ger väl fem volt tror jag.) Sen bör man väl se till att koppla så det ligger ett motstånd i serie med transistorn också för att inte gpio-pinnen ska bli överbelastad?
Vid lite eftertanke så klarar jag mig med sex olika signaler och eftersom stereon har ett "learning mode" så går det att välja motstånden lite halvfritt, så jag försöker nog snåla lite på gpio-pinnarna.
Den där hc4066 verkar ju intressant. Om jag fattar rätt så ansluter jag på Arduinosidan
Om man ska köra på transistorer, hur väljer man dessa? (Arduinons gpio ger väl fem volt tror jag.) Sen bör man väl se till att koppla så det ligger ett motstånd i serie med transistorn också för att inte gpio-pinnen ska bli överbelastad?
Jag har begränsad erfarenhet av arduino. Vilken arduino skall du använda? Eftersom det är 3,3V borde det gå att koppla motstånden mot processorpinnarna utan transistor. Enklast blir det om utgångarna på arduinon kan konfigureras som open drain. Går inte det så kan du konfigurera alla pinnar som ingångar utom den som du skall dra låg.
Ett sätt att spara på processorpinnar är att använda en adressavkodare som prototypen föreslår. Det finns till exempel 74hc238 med vars hjälp du kan få ut en av åtta utgångar och använda tre processorpinnar. I det faller behöver du externa transistorer. Vilken NPN småsignaltransistor du väljer är inte så kinkigt. Du behöver mycket riktigt ett seriemotstånd på basen. Alternativt kan du välja en N-kanal MOSFET småsignaltransistor med logiknivåer. Då behöver du inte ett seriemotstånd.
Vill du ha fler pinnar ut utan att behöva fler pinnar från processorn kan du använda två eller flera seriella shiftregister. Exempelvis 74HC165. Transistorerna kopplas då på samma sätt som med adressavkodaren.
Det borde även gå att göra en lösning som innebär endast en processorpinne, ett motstånd och en kondensator. Då pulsar du processorpinnen för att åstadkomma olika spänningar. Den lösningen kräver minst hårdvara och minst antal processorpinnar. Men den kräver mer mjukvara och experimenterande för att få att fungera.
Finns det en analog utgång på processorn så kan det givetvis lösas med ännu mindre hårdvara.
Ett sätt att spara på processorpinnar är att använda en adressavkodare som prototypen föreslår. Det finns till exempel 74hc238 med vars hjälp du kan få ut en av åtta utgångar och använda tre processorpinnar. I det faller behöver du externa transistorer. Vilken NPN småsignaltransistor du väljer är inte så kinkigt. Du behöver mycket riktigt ett seriemotstånd på basen. Alternativt kan du välja en N-kanal MOSFET småsignaltransistor med logiknivåer. Då behöver du inte ett seriemotstånd.
Vill du ha fler pinnar ut utan att behöva fler pinnar från processorn kan du använda två eller flera seriella shiftregister. Exempelvis 74HC165. Transistorerna kopplas då på samma sätt som med adressavkodaren.
Det borde även gå att göra en lösning som innebär endast en processorpinne, ett motstånd och en kondensator. Då pulsar du processorpinnen för att åstadkomma olika spänningar. Den lösningen kräver minst hårdvara och minst antal processorpinnar. Men den kräver mer mjukvara och experimenterande för att få att fungera.
Finns det en analog utgång på processorn så kan det givetvis lösas med ännu mindre hårdvara.
Klicka här för att svara
