Sida 1 av 1

r/c-servokontroll med pic

Postat: 17 september 2007, 10:02:58
av beavy-o
Tja!

Sitter och funderar lite på vad man skulle kunna göra för skoj då jag just nu läser en kurs om enchipsdatorer. Vi använder en PIC18F452 i kursen.

Iden jag hade var att skriva ett litet program som låter mig styra ett antal r/c-servon mha en vridpott per servo.
Tanken är alltså att jag läser av det binära värdet för varje vridpott i tur och ordning och baserat på detta skickar ut pulser i varierande längd till sevona.

Gjorde en snabb skiss på hur jag tänkte, men insåg när jag höll på med denna att det kanske inte är så jättelätt att få tag i en 64-ingångars demultiplexer :P Det uppenbara vore ju att växla vilken ingång man läser av innan man a/d-omvandlar, men hur gör jag det på ett vettigt sätt? måste ju gå relativt snabbt också då styrsignalen till servona ligger runt 50-100 Hz.

Bild
en liten skiss

Mycket tacksam för svar :)

Postat: 17 september 2007, 10:11:58
av danei
Enligt en snabb koll på ELFA har du 8 A/D kanaler på den. Så du behöver varken mux eller externa A/D omvandlare

Postat: 17 september 2007, 10:13:40
av Gimbal
Precis min tanke.

Postat: 17 september 2007, 10:17:26
av beavy-o
Aha... Men då var ju det problemet löst :P haha.

Tack för hjälpen :)

*går och läser datablad*

Postat: 17 september 2007, 10:29:51
av sodjan
> *går och läser datablad*

Nu ??

> Så du behöver varken mux eller externa A/D omvandlare

Dessutom har många "lösa" A/D omvandlare egen MUX (4 eller 8
ingångar är ganska vanligt), samt serie (I2C eller SPI) interface,
så hela designen var helt fel i alla fall...

Ett alternativ till pottarna skulle kunna vara att skicka
positionsdata via USART (från en PC t.ex).

Postat: 17 september 2007, 10:43:49
av beavy-o
sodjan skrev:> *går och läser datablad*

Nu ??

> Så du behöver varken mux eller externa A/D omvandlare

Dessutom har många "lösa" A/D omvandlare egen MUX (4 eller 8
ingångar är ganska vanligt), samt serie (I2C eller SPI) interface,
så hela designen var helt fel i alla fall...

Ett alternativ till pottarna skulle kunna vara att skicka
positionsdata via USART (från en PC t.ex).
Njae, tänkte vänta med det till efter lunch om jag ska vara ärlig :)

Jag hade inte läst på så värst mycket på den PIC vi ska använda, allt är på planeringsstadiet just nu(därför lade jag inte tråden i projektforumet), jag borde naturligtvis läst på mer innan jag började rita scheman och grejer. Å andra sidan så gör ju inbyggda d/a allt så mycket lättare för mig :)

Vad jag i slutändan ska styra servona med har jag inte kommit fram till än. Jag tänkte bara att nån enkel lösning med t.ex vridpottar kan vara lämpligt att börja med.

tack för svaren :)

Postat: 17 september 2007, 10:48:58
av danei
Vad har D/A:n med saken att göra? När du läst databladet kan du ju fortsätta med forumets regler.

Postat: 17 september 2007, 10:51:55
av sodjan
R/C Servostyrning är helt klart ett bra område att börja i.
Själv pulsgenereringen är lagom svårt att koda, och att något
faktiskt rör på sig gör det hela mycket roligare.

Tips, många på forumet tänker på annat än just *R/C* servon
när man bara talar om "servostyrning"...

> då jag just nu läser en kurs om enchipsdatorer.

Har du någon info om kursen ?
Är det något skolan har satt ihop själv eller finns det
t.ex någon website med mer info ? 18F452 är inte alls
någon dålig processor, men hör kanske inte till de
modernaste i dag (vilket inte spelar någon större roll)...

> Vad har D/A:n med saken att göra?

Såja, lung nu... Säker bara ett litet skriv/stav fel... :-)

Postat: 17 september 2007, 11:21:37
av beavy-o
Har hunnit labba lite, så har ganska bra kläm på själva programmeringen tror jag. Det har helt enkelt inte varit aktuellt med a/d tidigare därför var jag inte medveten om att det fanns i den aktuella mikrokontrollern :)

sodjan: Det finns en ganska ouppdaterad kurshemsida här. http://kdb-5.liu.se/liu/lith/studiehand ... kod=TNYT34

kursen kräver inte att jag gör nåt avancerat, tänkte bara det vore coolt att bygga nåt som rör sig, precis som du sa. Blinkande lysdioder osv är ju kul om man bara ska lära sig principen, men nu råkar jag ändå ha ett par servon liggandes :)

danei: vad har mux med saken att göra? :P Nävars. Ja jo... d/a menade jag. Har inte besökt forumet på ett tag och glömde därför att inte citera föregående post.

Postat: 17 september 2007, 11:41:42
av sodjan
OK.
Länken till kursen är död...

http://www.itn.liu.se/utbildning/kurser ... ode=TNE019

Postat: 17 september 2007, 12:36:37
av Icecap
Och på min hemsida finns det schema + program till en RC-servo styrenhet med 12 servo-utgånger och UART ingång. Finns under "Freebies".

Jag skulle tro att den är ganska enkel att porta till en annan processor med A/D inbyggd.