Buggfix Plus
Aktuellt datum och tid: 17.30 2019-03-18

Alla tidsangivelser är UTC + 1 timme




Svara på tråd  [ 21 inlägg ]  Gå till sida 1, 2  Nästa
Författare Meddelande
InläggPostat: 10.52 2019-01-23 
Användarvisningsbild

Blev medlem: 05.43 2013-02-13
Inlägg: 310
Hej!

Jag har en motorstyrning på 0-5V. Där 2.5V är stillastående.
Och 0V är fram, 5V är tillbaka.

Jag kan ju köra motorn åt ena hållet med en knapp.
Jag skulle vilja att min andra knapp ger t.ex. 0.2V på samma utgång.

Så att jag med två knappar kan köra fram och tillbaka.
En snabb googling så verkar det skilja lite hur folk gör. Vissa sätter komponenter efter Arduino utgången
och sänker spänningen på så vis. Men som jag förstår det så ska det gå att sänka spänningen på själva Arduinons utgång? :humm:

Någon som har en bra kod, eller guide för detta? :roll:

Motorstyrningen har en egen volt ut som man kan manipulera med.
Så i nuläget ligger den på ca 2.5V så att motorn står still om jag inte skickar ut något från Arduinon.
Så eventuellt behöver jag kanske ha en minusvolt från Arduinon för att få ner volten så att maskinen kan backa.
Alternativt att man har en konstant spänning från Arduinon som håller motorn still? Vilket kanske är mer riskabelt?


Upp
 Profil  
 
InläggPostat: 11.28 2019-01-23 

Blev medlem: 01.01 2006-03-02
Inlägg: 7334
Ort: Vänersborg
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


Upp
 Profil  
 
InläggPostat: 12.06 2019-01-23 
Användarvisningsbild

Blev medlem: 14.52 2005-01-10
Inlägg: 23645
Ort: Kristinehamn
Alternativt kan man koppla ihop två utgångar med ett par motstånd, t.ex. 4,7k från varje utgång och andra ändan kopplat ihop.
Om du lägger ut '00' på de utgångar är spänningen i samlingspunkten 0V.
Om du lägger ut '01' eller '10' är spänningen 2,5V.
Om du lägger ut '11' blir spänningen 5V.


Upp
 Profil  
 
InläggPostat: 08.32 2019-01-24 
Användarvisningsbild

Blev medlem: 16.33 2012-07-08
Inlägg: 956
fosfor skrev:
... kanske ha en minusvolt från Arduinon för att få ner volten så att maskinen kan backa.

Volt är en enhet. Du kan ha en minusspänning (som mäts i Volt), och du kan få ner en spänning (som mäts i Volt).

EDIT:
Fick ett surt PM om att jag är språkpolis. Icke. Teknikpolis, kanske.


Upp
 Profil  
 
InläggPostat: 10.57 2019-01-24 
Användarvisningsbild

Blev medlem: 05.43 2013-02-13
Inlägg: 310
Icecap:
Ser ut att vara ett enkelt och effektivt alternativ!
Att helt enkelt manipulera med Volten efter Arduinon, och inte via kod eller PWM.
Ska börja testa lite varianter! :)

Wedge:
Vad menar du? :humm:


bearing:
Det där ser intressant ut! Men jag förstår inte riktigt hur man skulle kunna ändra spänningen över kondensatorn?
Har du en förklaring för låta säga en 6 åring hur det fungerar rent fysiskt? :shock: :)


Upp
 Profil  
 
InläggPostat: 11.18 2019-01-24 

Blev medlem: 01.01 2006-03-02
Inlägg: 7334
Ort: Vänersborg
PWM på denna 5V-matade Arduino innebär att utgången växlar mellan 0V och 5V med en viss frekvens.
När utgången sätts till 5V börjar spänningen på kondensatorn öka
När utgången sätts till 0V börjar spänningen på kondensatorn minska

Bild
(här är matningsspänningen 3.3V, men principen är densamma)

Detta ger ett rippel, men medelspänningen är samma som 5V * pulsbreddsförhållandet. Om utgången växlar väldigt ofta (med hög frekvens), och/eller resistor/kondensator är stora, blir ripplet helt försumbart, och kondensatorn kommer anta en nästan ren likspänning, som är samma som medelspänningen (5V * pulsbreddsförhållandet).

Bild

Bilderna kommer härifrån, där du kan läsa mer:
https://www.allaboutcircuits.com/techni ... g-voltage/


Upp
 Profil  
 
InläggPostat: 11.23 2019-01-24 
EF Sponsor

Blev medlem: 13.21 2003-06-02
Inlägg: 19432
Ort: Östergötland
Wedge: Jag har sett till att inte svara alls i tråden, just för att slippa få den stämpeln.

Då svarar jag inte på grundfrågan heller.


Upp
 Profil  
 
InläggPostat: 12.42 2019-01-24 

Blev medlem: 15.42 2006-08-31
Inlägg: 4874
Ort: Jamtland
Tråkigt är det när folk inte får uttrycka sig på ett korrekt sätt.
Förstår inte varför det är så fel att korrigera misstag!


Upp
 Profil  
 
InläggPostat: 16.49 2019-01-24 
Användarvisningsbild

Blev medlem: 05.43 2013-02-13
Inlägg: 310
För min del (jag som vill ha hjälp) så får ni gärna uttrycka er hur korrekt som helst.
Sen om jag förstår allt är en annan femma :)
Men från mig får ni inga arga e-mail iaf.

By the way.
Jag har nu mixat och donat här en hel del och inte fått allt att lira riktigt.

Jag har två utgångar från Arduinon, den ena går framåt, den andra ska gå bakåt.
Framåt fungerar i nuläget, inte bakåt. Framåt fungerar för den ger de 5V som den ska ge till motorstyrningen för att den ska gå framåt.
5V framåt
2.5V still
0V eller typ 0.3V är bakåt.

Motorstyrningen har ju bara en enda ingång, det ligger en 2.5V spänning på, en så kallad WIPER signal.
Som är som en slags säkerhetsgrej plus att den ser till att motorn bara står still när den ska stå still och inga knappar trycks.
Kruxet är ju att jag vill Sänka spänningen vid min andra kanal ut från Arduinon, så att den på något sätt dumpar spänningen
som ligger på ingången för motorstyrningen. Vilket visat sig vara lite knepigt att göra med knapptryckningen.
Jag hittade en PNP transistor (2N4403 -40V/0.6V) som jag med hjälp av ett vridmotstånd lyckats få den att dumpa spänningen
såpass mycket att motorn sakta rullar bakåt, men inte fått det att fungera med knapptryckning.

Jag är nybörjare på sånt här och känner att jag är både förvirrad men endå hyffsat nära lösningen.
Vilka komponenter behöver jag på andra kanalen för att sänka ner spänningen såpass att motorsignalen får mindre än 2.5V (så att den börjar rulla bakåt)?


Senast redigerad av fosfor 16.51 2019-01-24, redigerad totalt 2 gånger.

Upp
 Profil  
 
InläggPostat: 16.50 2019-01-24 
Användarvisningsbild

Blev medlem: 05.43 2013-02-13
Inlägg: 310
Icecap:
Skulle du ha lust att förklara din modell lite närmre?
Det där med att "lägger ut 11" osv.


Upp
 Profil  
 
InläggPostat: 17.06 2019-01-24 
Användarvisningsbild

Blev medlem: 18.06 2010-05-17
Inlägg: 8794
Ort: Växjö/Alvesta
En ganska relevant fråga är, behöver du kunna styra motorns hastighet, eller räcker det med "full fram" och "full bak"?

Dvs, du behöver bara kunna sänka till 0V resp. höja till 5V, inget där emellan? (Mer än den 2,5V som motorstyrningen ger ut)

I så fall är det bara att koppla arduinons utgång direkt till motorstyrningen utan någonting däremellan.

Så kör du framåt med
Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
pinMode(PIN_NR, OUTPUT);
digitalWrite(PIN_NR, HIGH);


Bakåt med
Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
pinMode(PIN_NR, OUTPUT);
digitalWrite(PIN_NR, LOW);


Och stoppar motorn med
Kod: [Expandera/Minimera] [Hämta] (Untitled.txt)
pinMode(PIN_NR, INPUT);


Upp
 Profil  
 
InläggPostat: 17.34 2019-01-24 
Tidigare soundbrigade
Användarvisningsbild

Blev medlem: 21.44 2006-08-23
Inlägg: 18928
Ort: Vänersborg
fosfor skrev:
Wedge:
Vad menar du? :humm:

Wedge menar att du troligen vill sänka SPÄNNINGEN på Arduinons utsignal från XXX Volt till YYY Volt, inte sänka volten.

Spänningen är namnet på den fysikaliska funktionen men Volt är själva sorten.
Jämför:
Ström - Ampere
Resistans - Ohm
Kapacitans - Farad
Temperatur - Grader Celcius/Kelvin
Fart - km/h
...


Upp
 Profil  
 
InläggPostat: 19.03 2019-01-24 

Blev medlem: 13.28 2010-06-06
Inlägg: 314
Då får jag som språkpolis rätta Wedge och huggbävern.
Enheterna volt, ampere mm ska skrivas med små bokstäver medan förkortningarna ska skrivas med stora bokstäver, V och A.


Upp
 Profil  
 
InläggPostat: 19.22 2019-01-24 
Tidigare soundbrigade
Användarvisningsbild

Blev medlem: 21.44 2006-08-23
Inlägg: 18928
Ort: Vänersborg
Bra! Rätt ska vara rätt.

En sak till om volt. Volt ät ju en väldefinierad storhet -https://en.wikipedia.org/wiki/Volt, vilket betyder att en volt är en volt, varken mer eller mindre. Ska man öka eller sänka 'volten' får man härja med de tanter och farbröder som står bakom definitioner av storheter och be dem anpassa 1 volt så den blir mindre eller större än den volt vi har idag.


Upp
 Profil  
 
InläggPostat: 20.53 2019-01-24 
EF Sponsor

Blev medlem: 13.21 2003-06-02
Inlägg: 19432
Ort: Östergötland
Nej, storheten är spänning. Volt är enheten.


Upp
 Profil  
 
Visa inlägg nyare än:  Sortera efter  
Svara på tråd  [ 21 inlägg ]  Gå till sida 1, 2  Nästa

Alla tidsangivelser är UTC + 1 timme


Vilka är online

Användare som besöker denna kategori: Krille Krokodil, Shimonu och 3 gäster


Du kan inte skapa nya trådar i denna kategori
Du kan inte svara på trådar i denna kategori
Du kan inte redigera dina inlägg i denna kategori
Du kan inte ta bort dina inlägg i denna kategori
Du kan inte bifoga filer i denna kategori

Sök efter:
Hoppa till:  
   
Drivs av phpBB® Forum Software © phpBB Group
Swedish translation by Peetra & phpBB Sweden © 2006-2010