Hjälp med radiostyrning

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
garagenisse
Inlägg: 24
Blev medlem: 31 augusti 2006, 21:34:59
Ort: Orust

Hjälp med radiostyrning

Inlägg av garagenisse »

Hej!

Jag har precis börjat koda lite PIC (16F648A) och har som mål att tolka min RC radio och skapa lite PWM pulser för mitt projekt, jag är tämligen grön på detta, iaf vad det gäller elektronik, programmering brukar inte va nåt problem.

Nu har jag dock kört fast lite, jag försökte koppla på min mottagare på min labbplatta, jag tog således bort kontakten för att få tag i stiften till spänningsmatningen som jag först mätt upp till att va 5V, jag satte sen stiften på min labbplatta.

Sen tog jag kontrolltråden till servot från mottagaren och koppla in den på RB4 på PIC'en.

När jag startar upp allt verkar det fint till en början, men slår jag på sändaren blir allt helt galet. Jag har en LED som blinkar när min huvudslinga kör i progget och den stannar i regel men det är lite hur som helst med det mesta så fort sändaren slås på.

Vad kan detta vara? Mäter jag på kontrollpinnen till servot så varierar spänningen mellan ca 0.20-0.34V vilket stämmer rätt bra tycker jag.

Har jag gjort fel när jag kopplar in mottagaren kanske? Kan jag låta bli att koppla + och - trådarna till servot från mottagaren, jag ser inte vad de skall va till för om jag bara är intresserad av kontrollsignalen.

Tar jag bort kontrolltråden från labbplattan börjar min LED blinka och progget snurrar tydligen. Sätter jag tillbaka den hänger det eller nåt.

Nåra tips?

mvh Andreas
limpan4all
Inlägg: 8445
Blev medlem: 15 april 2006, 18:57:29
Ort: Typ Nyköping

Inlägg av limpan4all »

Jag kan inte PIC, men det låter som om du har ställt RB4 som utgång och lagt den låg.
Annars så behövs bara GND pinnen från mottagaren och styrpinnen inget mera.
Men du kan också ta matningsspäningen från mottagaren om du vill det borde den orka.
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Bug i programmet, helt självklart... :-)

(Att det är självklart beror på att du inte visar någon kod...)
garagenisse
Inlägg: 24
Blev medlem: 31 augusti 2006, 21:34:59
Ort: Orust

Inlägg av garagenisse »

Hehe!!

Inga buggar här inte! Det är nåt elspök, det är jag säker på haha. Men jag lusläste manulen lite och hitta nåt som hett "Low Voltage Programming" på RB4 som slås av med Config bitarna, disable på den gjorde att mitt lab numera tål att sändaren slås på. Sen att min PWM kanal beter sig lite som den vill får jag nog ta, men med lite vilja kan man nog faktiskt se att det kommit fram nån slags signal här.

Jag tackar för input i vilket fall.

Mvh Andreas
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Aha, där ser man... :-)

Om du hade visat lite kod så hade det framgåt direkt att
du inte hade stängt av LVP... :-) :-)
garagenisse
Inlägg: 24
Blev medlem: 31 augusti 2006, 21:34:59
Ort: Orust

Inlägg av garagenisse »

Ok, nästa gång dunkar jag in 5 sidor C kod, det blir nog poppis ;-)

mvh Andreas
garagenisse
Inlägg: 24
Blev medlem: 31 augusti 2006, 21:34:59
Ort: Orust

Hej igen!

Inlägg av garagenisse »

Nu lirar min PWM rätt hyffsat, jag har en sak jag behöver reda ut. Jag har tidigare sagt att jag inte har nån direkt koll på elektronik och det här kanske bekräftar det rätt bra. Jag ansåg att 100% på min PWM kanal borde gett 5V på min RA0 pinne och har stört mig som attan på att jag bara får ca 4.3V. Nu läste jag återigen i databladet och ser under electrical specifications att det står nåt i stil med:

"Output High Voltage (IO ports excluding RA4): VDD - 0.7"

betyder detta i klarspråk att jag endast får 4.3V ut när jag sätter en etta på tex RA1 (använder givetvis sodjans 5V matning ;-). Samt:

"Output Low Voltage (IO ports): Max 0.6V"

betyder det i sin tur att jag får se logisk nolla som < 0.6V. Sen står det en (4) i databladet just för RA4 vad det gäller High Voltage med förtydligande:

"Includes OSC1 and OSC2 when configured as IO pins, CLKIN or CLKOUT"

Det förstår jag överhuvudtaget inte.


Om det nu är så här så är jag ju hyffsat färdig men mina PWM'er som styrs av RC'n och det är ju skitbra, nu till nästa grej.

Jag behöver nån form av H-brygga har jag förstått för att "kräma upp" det hela lite till ett par motorer, är det nån som har nån bra läsning ang. detta att rekommendera eller nån bra websidan kanske?

Mvh Andreas
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Inlägg av vfr »

Dom uppgifterna är vad utgången kan ligga på vid max belastning. Belastar du inte utgången utan buffrar den med OP-förstärkare t.ex så borde du få väldigt nära 5V iallafall.
garagenisse
Inlägg: 24
Blev medlem: 31 augusti 2006, 21:34:59
Ort: Orust

Inlägg av garagenisse »

Hej och tack för svaret!

Jag har satt en liten diod och ett 330ohm motstånd på den pinnen, jag tog bort denna och mätte och fick då ca 4,8V istället. Skall jag vara helt ärlig fattar jag inte varför, 5V är väl 5V, eller gör den lille dioden så mycket skillnad?

Jag får nog läsa på lite här för jag fattar nog inte det hela!

Mvh Andreas
Användarvisningsbild
Zyxel615
EF Sponsor
Inlägg: 1839
Blev medlem: 9 november 2005, 21:20:43
Ort: Kiruna

Inlägg av Zyxel615 »

Tja, 330 ohm... då blir det ungefär 15 mA vid 5V. För en stackars portpinne kan det antagligen påverka en del, vet inte vad de ska klara för ström men det står i databladet :)
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> "Output High Voltage (IO ports excluding RA4): VDD - 0.7"

Det är ett *MIN* värde !!

> "Output Low Voltage (IO ports): Max 0.6V"

*MAX* värde.

> Sen står det en (4) i databladet just för RA4...

Den lilla fyran borde stå utanför parentesen, det blir tydligare då, eller hur ?
Note 4 avser alltså inte RA4...

> eller gör den lille dioden så mycket skillnad?

Tja, en diod (beroende på typ) ger 0.5-0.7 V spänningsfall.

Vad är igentligen problemet ??

> Jag behöver nån form av H-brygga...

Som som du alltså ska driva från din PWM signal ?
Har du kollat på de PIC modeller som har PWM moduler med direkt
4-kanalig utgång för drivning av H-bryggor ?
Problemet är att om du har lite effekt i bryggan så måste du se till
att ha lämpligt deadband o.s.v för att inte få stora effektförluster
i dina switchtransistorer (antagligen MOSFETs).
garagenisse
Inlägg: 24
Blev medlem: 31 augusti 2006, 21:34:59
Ort: Orust

Inlägg av garagenisse »

Hej!

MIN värde var det ja, det såg ja, så vad betyder det då att jag mäter 4.8 utan nån diod eller motstånd, jag försöker ju här verifiera min RC avläsning och PWM generering och den borde tycker jag bli 5V utan last då, men jag får 4.8. Jag vill mest veta om det finns nån annan förklaring så jag skall debugga vidare eller om typ 0.2V är en fis i rymden i sammanhanget.

Ang. 4'an i databladet gäller den faktiskt just RA4, så här står det:

"IO Ports (Except RA4(4))" och den lilla fyran betyder enligt nedanstående fotnot:

"Includes OSC1 and OSC2 when configured as IO pins, CLKIN or CLKOUT"

fast fotnotsfyran står på fler ställen med, tja, det hela ser rätt skumt ut.

Problemet är att min simulering i MPLAB ser rätt fin ut, men verkligheten något annorlunda, det kan ju bero på att min RC anläggning inte riktigt följer spec, programfel (troligt), eller nåt annat som jag inte har koll på, det här är mest ett sätt att vidga mina vyer lite för vad som kan va knas.

Jag behöver väl nån form av H-brygga som jag skall driva från min(a) PWM signaler ja, sen vad det gäller deadband och all annan grekiska du snackar där så är jag inte alls med, det var det jag var ute efter, nån länk till nån bra läsning för att fatta detta med förstärkare lite som passar mitt ändamål.

Och ja, jag har kikat på andra PIC'ar med PWM'er, jag har en kanal men det är väl ingen sport att använda såna kretsar, rent av lite fuskit!!! Jag ser hellre att min 648A får svettas lite.

Ja, hoppas jag förtydligat mig lite då!

Mvh Andreas
pagge
EF Sponsor
Inlägg: 933
Blev medlem: 15 juni 2004, 00:15:08
Ort: Luleå
Kontakt:

Inlägg av pagge »

Hög är absolut inte 5V när, inte ens när det gäller 5V logik. Lite beroende på specificeras intervall, typ 3-5V = Hög (taget ur lften, står i datablad) , dvs alla spänningar i det området tolkas som hög. Omvänt kan en hög utsignal anta alla spänningar i det området beroende på vilket humör drivkretsen till utpinnen är på. Det duger inte ens att mäta upp det eftersom det säkerligen varierar med tempratur, ålder m.m. Det är en osäkerhet man får ta.

Generellt sett när det gäller CMOS logik t.ex. microkontrollers så är utgången väldigt nära hög om du inte lastar den dvs drar väldigt låg ström. Som Zyxel skrev så är 330 ohms motstånd INTE en väldigt lätt last.

Angående att förlita sig på mjukvara och inte ha hårvaruskydd mot shoot-trough (bägge fetar i ena 'benet' i H bryggan leder samtidigt) är att be om rykande fetar. Ungefär på samma sätt som att sätta sig på kyrktakets topp under åskväder är som att be om att bli nergrävd vid samma kyrkas fot. Jag försöker med en dåres envishet övertyga folk om detta och de tror mig aldrig, åtminståne inte förrän efter några rykande fetar :)

2-st halvbryggedrivare typ IR2103 från elfa ger dig både hårdvary skydd mot shoot-trough och snabba switchtider. Det är nog det snabbaste sättet att få en fungerande H brygga från en digital PWM signa.
garagenisse
Inlägg: 24
Blev medlem: 31 augusti 2006, 21:34:59
Ort: Orust

Inlägg av garagenisse »

Hej, tackar återigen för svar.

Jag måste komplettera lite här bara, det är nåt i det hela jag missar. En PWM är väl till för att reglera späningen genom att i princip slå av och på den. Så från 0% dutycykel är den av jämt, och vid 100% dutycykel på jämt, däremellan kanske den är på 1ms och av 1ms för tex 500hz PWM på 50% duty osv osv...

Denna spänning används väl i de flesta fall för att styra nån förstärkning av den varierande ström som uppstår i och med den varierande spänningen enligt ohms lag.

Om det är rätt uppfattat så här lång är det väl högst väsentligt att man kan lite på nivån på spänningen ut från PIC'en? Om jag får 3V som maxspänning blir det ju som en 5V's PWM på 60% duty eller har jag fått det helt om bakfoten?

Mvh Andreas
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> En PWM är väl till för att reglera späningen

Nej, normalt *inte*.

PWM används vanligtsvis för effektstyrning av t.ex motorer eller liknande.
D.v.s att man låter PWM utgången styra (t.ex) ett effektsteg som "driver"
lasten (motor, större lamp, värme-element eller vad det nu är).

Om "hög" råkar vara 5.0, 4.8 eller 4.6 är *komplett* ontressant, det viktiga
är att "hög" på ett säkert sätt kan driva drivsteget "on", så att säga...

Visst, man kan även använda PWM utgången som en "sneak-DAC", men
man ska inte tro att man för så speciellt bra värden.

> är det väl högst väsentligt att man kan lite på nivån på spänningen ut från PIC'en?

Det är i princip ointressant vilken spänning du har på pinnen så länge
den är "hög" (eller "låg") inom de marginaler som databladet anger.
Det är det enda du kan jämföra med !

Och när det gäller en PWM signal så är det viktiga DUTY CYCLE, inte nivåerna...

PWM utgången är en vanlig digital I/O pinne, och DET SOM STÅR I DATABLADET FÖR DESSA GÄLLER !!

> Ang. 4'an i databladet gäller den faktiskt just RA4,

*LÄS* vad jag skrev !! Fotnots-4'an sitter fel i databladet !
Den ska vara *utanför* parentesen, så här ungefär : "IO Ports (Except RA4) (4)"
Alltså, raden gäller alla I/O pinnar, utom RA4, och se även note-4.
Skriv svar