Sänka Volt utgångssignal på Arduino Mega

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
GeekJoan
Admin
Inlägg: 10642
Blev medlem: 26 maj 2003, 15:59:27
Ort: Solna

Re: Sänka Volt utgångssignal på Arduino Mega

Inlägg av GeekJoan »

5.3 http://elektronikforumet.com/forum/view ... =2&t=18141
Ta det via PM om ni absolut känner att ni måste.
Användarvisningsbild
Icecap
Inlägg: 26106
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: Sänka Volt utgångssignal på Arduino Mega

Inlägg av Icecap »

Fosfor: jag skrev ju att om du använder 2 digitala utgångar kan du lägga två seriekopplade motstånd mellan dom.

Om du skriver "00" (alltså '0' till den ena utgång och '0' på den andra) blir spänningen i punkten där motstånden sitter ihop 0V.

Skickar du ut "10" eller "01" (alltså '1' på ena utgången och '0' på andra utgången) blir spänningen 2,5V.

Skickar du ut "11" (alltså '1' på båda utgångar) blir spänningen 5V.
Senast redigerad av Icecap 29 januari 2019, 16:54:34, redigerad totalt 1 gång.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Sänka Volt utgångssignal på Arduino Mega

Inlägg av fosfor »

Icepap:

Ahaaaaa... Det där lät ganska fiffigt ju.
Ska ta och testa det nu när jag är igång igen.
Återkommer med resultat.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Sänka Volt utgångssignal på Arduino Mega

Inlägg av fosfor »

bearing skrev:Det är inte svårt alls. Du behöver koppla ett lågpassfilter (t.ex. en resistor och en kondensator) till en PWM-utgång på din Arduino ("analog utgång"). Då kan programmet ändra spänningen över kondensatorn. Sen kopplar du bara från kondensatorn till ingången på din motorstyrning.

Här är koden:
analogWrite(pinne, pulsbredd);

pinne är numret på en utgång på din Arduino som kan ge PWM ("analog")
pulsbredd är ett nummer mellan 0 och 255, där 0 ger 0V, 255 ger 5V, och 127 ger 2,5V.

Lågpassfiltret kan t.ex. vara 10k och 10uf. PWM-frekvensen är ca 500Hz.

Ifall ingången på motorkontrollern har en betydande impedans kan du behöva köra med ett mindre motstånd, vilket kräver högre switchfrekvens. Då kan du använda detta bibliotek:
https://www.avdweb.nl/arduino/adc-dac/fast-pwm-dac

Sitter just nu och pular med koden för att göra den till PWM efter ditt exempel.

Det jag undrar lite är lågpassfiltret, räcker det med att sätta komponenterna i series?
Eller ska signalen gå in till "mitten" av kondingen och motstånden, kondingen till minus och
motståndet leder vidare till motorstyrningen?
Användarvisningsbild
adent
Inlägg: 4094
Blev medlem: 27 november 2008, 22:56:23
Ort: Utanför Jönköping
Kontakt:

Re: Sänka Volt utgångssignal på Arduino Mega

Inlägg av adent »

Strunt i texten i inlägget, men första bilden visar ett typiskt lågpassfilter:

In till vänster, ut till höger.

https://gamla.pluggakuten.se/forumserve ... pid=614749

Kondensatorn fungerar som ett "batteri" som sakta laddas via motståndet och bibehåller ungefär samma spänning även om inspänningen ändras från 0V till 5V hela tiden.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: Sänka Volt utgångssignal på Arduino Mega

Inlägg av fosfor »

Har nu gjort om koden enligt Bearing's instruktion, och även lagt till ett lågpassfilter.

Det fungerar super-bra. Det var lite spänningstweak i Curtisen och i koden bara.
Nu går den i fullt ös åt antingen ena eller andra hållet.

Ett litet krux är bara det att motorstyrningen/Curtisen gnäller i stillastående läge över "throttle fault".
Pga dess High signal inte körs in i Wipern, vilket verkar vara någon slags kontrollfunktion den har på sig själv.
Jag kopplade ur denna ledning för att dess spänning ställer till det med inkommande spänning från Arduinon.
Men med lite tweak så kan man kanske få dessa att lira tillsammans.

Men det är ett stort steg framåt att det fungerar nu.
Så ett jättetack för tipsen. :bravo:
Skriv svar