PWM som "svajar" - Arduino & Motorkontroller

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

PWM som "svajar" - Arduino & Motorkontroller

Inlägg av fosfor »

Hej!

Jag har en Arduino med PWM signal ut till motor, 0-5V. :mrgreen:

Curtis motorkontrollern kör åt ena hållet på 0V eller nära 0V, står still vid 2.5 och kör åt andra hållet på 5V eller nära 5V.
Testar jag med labbaggregatet så går motorn bra i alla hastigheter, sakta som snabbt.

Men från Arduino fungerar bara de snabba hastigheterna.
När jag kör sakta så "pulserar", "flukturerar" eller "svajar" den i hastigheten (i brist på bättre beskrivning).
Alltså den växlar ganska snabbt mellan gå snabbt och att gå långsamt.

Jag misstänker att det har något med det som är mellan Arduinon och motorkontrollern att göra, och att något måste göras
för att få spänningssignalen mer stabil till motorkontrollern?

Just nu går PWM från Arduinon till + på en 25V 10uF kondensator (vars minus går till GND), sedan vidare via ett 4.7k Ohm
motstånd, som i sin tur går till motorkontrollern.

När jag mäter med multimetern så flukturerar spänning knappt något, typ 0.002V bara, så den ser "stabil" ut.
Men endå så går det inte få motorn att åka långsamt utan att den varierar i hastighet.

Vad har jag missat? :roll:
Senast redigerad av fosfor 8 april 2019, 13:11:14, redigerad totalt 1 gång.
bearing
Inlägg: 11229
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av bearing »

fosfor skrev:Vad har jag missat? :roll:
Att motståndet i lågpassfiltret ska gå från Arduinon till kondensatorn, inte från kondensatorn till motorcontrollern. Det skadar iofs inte att ha ett till motstånd till motorcontrollern också.
fosfor skrev:När jag mäter med multimetern så flukturerar spänning knappt något, typ 0.002V bara, så den ser "stabil" ut.
Multimeters filterar normalt mätningarna genom att mäta många gånger och ta ett medelvärde.
Om du vill veta hur spänningen verkligen ser ut, och inte har ett oscilloskop, kan du använda din Arduino (eller en annan) som ett oscilloskop med hjälp av Serial Plotter.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av fosfor »

Aha, ja... så var det ju.. tack!

Men nu hände det något annat rätt knäppt.

Om jag trycker "fram snabbt" (4.4V) bara kort på knappen så rejsar den istället bakåt nån sekund?! :doh:
Detta händer oavsett om jag kör fram/tillbaka snabbt/långsamt, trycker jag på knappen bara kort, så rejsar den bakåt kort.
Håller jag in knappen kör den som den ska, tills jag släpper knappen, så rejsar den bakåt igen en kort sekund?!!?

Är det "restkraften" i kondingen som ställer till det?

Att köra långsamt fungerar nu väldigt smooth, förutsatt att jag håller in knappen.
bearing
Inlägg: 11229
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av bearing »

Det beror antagligen på ditt program. Som sagts tidigare så stänger du ju t.ex. av genom att sätta PWM-utgången till låg, vilket ju betyder full back. Med det snabba filtret som du hade förut så fick du kanske en så låg spänning direkt att controllern tycker att den är orimlig (gissning), och stänger av direkt. Nu med ett långsamt filter så får du full back ett ögonblick innan spänningen anses orimlig (om det nu är därför motorn stannar och inte fortsätter med full back).

2.5V betyder ju "stå still", inte 0V.
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av fosfor »

Jag testade att sätta i en annan kondensator

En 2.2uF 61V
(som fick ersätta 10uF 25V)

Och simsallabim så fungerar det nu precis som det ska :)
Användarvisningsbild
Icecap
Inlägg: 26105
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av Icecap »

Alltså ett programfel helt enkelt.
bearing
Inlägg: 11229
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av bearing »

fosfor skrev:Och simsallabim så fungerar det nu precis som det ska :)
Tack vare mjukvaran i controllern, förmodligen.
svanted
Inlägg: 5082
Blev medlem: 30 augusti 2010, 21:20:38
Ort: Umeå

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av svanted »

är det en PWM motorcontroller?
ska den ha en PWM signal?
då är det dumt med konding på signalen.
perra_e
Inlägg: 983
Blev medlem: 13 februari 2009, 16:26:53
Ort: Jönköping

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av perra_e »

Inte enligt första inlägget
”Curtis motorkontrollern kör åt ena hållet på 0V eller nära 0V, står still vid 2.5 och kör åt andra hållet på 5V eller nära 5V. Testar jag med labbaggregatet så går motorn bra i alla hastigheter, sakta som snabbt.”
Användarvisningsbild
fosfor
Inlägg: 453
Blev medlem: 13 februari 2013, 05:43:15
Kontakt:

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av fosfor »

Om jag inte använder en konding så kör den Väldigt ryckigt. Tvärnitar, startar, tvärnitar, startar.
Användarvisningsbild
PeterH
Inlägg: 8612
Blev medlem: 15 mars 2006, 15:57:10
Ort: Gävle/Valbo

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av PeterH »

Jag tolkar det som att din kontroller ska ha DC (0V - 2,5V - 5V) och inte PWM? Nu har ju inte Arduino inte någon D/A inbyggd utan detta måste lösas med just PWM vilket kanske inte är helt optimalt... En annan lite jobbigare lösning är att köra en extern D/A-modul (ex. med I2C kommunikation):vissla:

Edit: stavfel och lagt till länk till D/A-modul
Senast redigerad av PeterH 9 april 2019, 13:06:39, redigerad totalt 2 gånger.
Användarvisningsbild
Icecap
Inlägg: 26105
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av Icecap »

Med ett RC-lågpassfilter på en PWM-utgång kan man få något DC-liknande.

Men:
* Har man ställd in för låg PWM-frekvens blir det problem.
* Har man mjukvarufel som ställer till en yttergräns där det egentligen skulle vara mitten ger det problem.

Låt gå att TS inte har ett oscilloskop för att analysera signalerna, den typ instrument är inte så himla vanligt förekommande, men annars bär tråden ett kraftigt prägel av brist på exakt definition av beteende på styrsystemet, en brist på slutkontroll av mjukvaran, en brist på kontroll av de inställningar som bör vara säkerställd (t.ex. PWM-frekvens) och en brist på översikt.

Alltså en dålig projektplanering och genomföring, baserat på lösningar som har ändrats under vägens gång och som är (som bäst) hälften implementerad.

Jag ser hela tråden som en Proof-of-Concept och att det är dags att göra om och göra rätt vid att kolla allt igenom, rätta mjukvarufel osv.

Detta är inte en personlig kritik av TS, detta är vad man kan se MÅNGA gångar där olika lösningar testas, krav ställs, ändras och justeras - och detta är vad kallas "att lära". Och när man då har lärt sig av fel och brister (som det brukar vara abs. flest av) rensar man upp, ställer upp lösningsmodell, krav osv. och gör det "rätta" projekt klart.

Jag minns inte hur mycket och många gångar jag har suttit och testat på samma sätt - men när lärdomen är klar tar man den inhämtade vetande och applicerar varefter allting (oftast) fungerar. Vad jag kan se i mina anteckningar har jag använd ~1 år deltid på att fixa standardrutinerna till det styrkort med Renesas RX210 på som mitt förra jobb använder.

När jag bygger en grej som är annorlunda än vad jag brukar bygga planera jag att bygga två: en för att testa och undersöka med och en som ska fungera. Ibland kan jag bygga hälften och vänta med andra hälften till jag har koll på vad som kommer ur första hälft.
svanted
Inlägg: 5082
Blev medlem: 30 augusti 2010, 21:20:38
Ort: Umeå

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av svanted »

perra_e skrev:Inte enligt första inlägget
”Curtis motorkontrollern kör åt ena hållet på 0V eller nära 0V, står still vid 2.5 och kör åt andra hållet på 5V eller nära 5V. Testar jag med labbaggregatet så går motorn bra i alla hastigheter, sakta som snabbt.”

ajf-n, slarvläste jag nu igen, poäng till mig :)
det är väldigt svårt att filtrera bort allt rippel från PWM signalen ut från arduinon, utan att få problem med att spänningsändringarna blir långsamma.
och rippel in på motorcontroller kommer att ge det ut åckså.
bättre med en DAC för några kronor typ MCP4725 e.d.
bearing
Inlägg: 11229
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av bearing »

utan att få problem med att spänningsändringarna blir långsamma
Det är inte det som är problemet här. Han vill nog att ändringarna ska vara långsamma, så att motorn stannar "mjukt" (utan att behöva ha med detta i programmet). Jag har för övrigt föreslagit snabbare PWM i en annan tråd, och länkat till ett biblioteket för detta. Då kan ju filterkomponenterna ha kortare tidskonstant vid samma rippel, alltså inte lika långsamma. Men han verkar inte använda detta bibliotek, utan kör med original långsam pwm.

Finns massor med info om vad han gjort (och vad som föreslagits) i tidigare trådar. Det är över 10 olika trådar. En riktig röra har det blivit. Det hade så klart varit bättre med bara en lång tråd med all info och alla förslag i ett.
Användarvisningsbild
PeterH
Inlägg: 8612
Blev medlem: 15 mars 2006, 15:57:10
Ort: Gävle/Valbo

Re: PWM som "svajar" - Arduino & Motorkontroller

Inlägg av PeterH »

DAC:en jag länkade till kostar 51:- med frakt från Sverige, jag gissar att säljaren dessutom hänger här? 8) För dom pengarna är det ens lönt att strula med PWM i detta fall?
Skriv svar