Svenskt Modellflyg



                

Bläddrar i: Allmänt/Tips / Elektronik - läsa av servosignal analogt
2017-02-03 21:13:42
Elektronik - läsa av servosignal analogt    
hbi
hans@birgander.se
Till alla elektroniknördar där ute, jag vet att ni finns :)
Jag håller på med ett Arduinoprojekt till modellflyget där jag skulle vilja läsa av en servo signal på en av mina analoga ingångar (jag vet PWM finns, men alla digitala ingångar är upptagna).
I detta projektet bryr jag mig bara om att att läsa av max eller min värden, kommer att använda en on-off switch på kanalen.
Som bonus, kan jag få signalen in till Arduinon att vara max 3.3 Volt vore det bra. Då kan man använda lite mer avancerade Arduino bord.
Förslag mottages tacksamt, gärna med elschema :)
Mvh. Hans
---------
"If flying was the language of man, Soaring would be its poetry..."
---------
Min enkla blogg: http://termikhatt.wordpress.com/
Välkommen till vår FB grupp; RC Segelflyg i Skåne http://www.facebook.com/home.php?sk=group_199879063370395

2017-02-03 21:57:12
RE: Elektronik - läsa av servosignal analogt    
Dix
Skicka mail
Men? Minns jag helt fel eller kan du inte konf:a om en analog ingång till digital? Har bestämt för mig att jag gjorde det när jag kodade Aircombat-klockan (ett projekt jag fixade med för nåt år sen).

En snabb googling gav t.ex. den här sidan: AnalogInputPins

Men det här har du säkert redan tänkt på? Och det är säkert nåt jag missat i din fråga?

Sen frågan om digital high voltage, jag är rätt säker på att de flesta kort som sitter på en Arduino tolkar allt över typ 1V som HIGH, men jag kan ju ha fel.

Läs gärna 3-3v-digital-signal-as-input för mer info.

Så du borde kunna alltså kunna lösa detta väldigt enkelt utan extern hårdvara, endast mha lite simpel programmering? Men som sagt, jag kan ju ha missförstått dina frågor helt. Annars hoppas jag att det gav lite stöd och hjälp.

Lycka till!

/Dix

2017-02-03 22:07:59
RE: Elektronik - läsa av servosignal analogt    
Dix
Skicka mail
Aha jaja, får skylla på att det är sent på kvällen, du vill så klart få ner "servosignalen" från sina 4,8-6V till 3.3 som du driver Arduinot med.

Nu måste jag erkänna att jag är extremt rostig, har inte skruvat elektronik på 2år, men 1-2 dioder i serie innan signalen går in i Arduinon borde väl ge spänningsfall nock? Två kiseldioder med spänningsfall 2x1.1V = 2.2V i spänningsfall om du driver med 4.8V (4.8-2.2 = 2.6V) eller tre kiseldioder om du driver med 6V (6-3.3 = 2.7V).

Har inte super-kollat spec:en men typ nåt sånt här borde väl funka? Diod

Hehe, inser att jag kanske är mer till onytta än hjälp just nu, men kanske gav detta nån liten hjälp iaf?

/Dix

2017-02-03 22:15:32
RE: Elektronik - läsa av servosignal analogt    
reparatörn
Skicka mail
Jadu Hans,

Gammalt skrutt kan bli jobbigt det med....på 70-talet förekom konstruktionsartiklar i åtminstone RCM på ett sådant bygge. Jag vet, för jag byggde en själv efter just artikeln i RCM. Men jag har nu inte en susning om när det var, och exakt vilken tidning det var. Men......kanske kanske att AoH hade någon artikel om just en sådan pryl, sannolikt då 70-talet där med. Annars gäller eBay. En ACE R/C "Datamaster" skulle kanske vara vad Du söker. Problemet är att ACE R/C lade ner verksamheten för en 30 år sedan eller så. ACE R/C finns kvar på samma adress, men nu med ny ägare. Tror det är Hi-Tec, är inte säker.

Ett problem är att den spänning "grunkan" behöver vanligtvis var 4V eller mer. IC kretsar som jobbade på c:a 3V fanns givetvis, men var väl inte direkt vanliga. Hittar Du någon konstruktionsartikel bör Du definitivt kolla upp den drivspänning IC'n behöver.

Jag har nog inte mer info än så här. Det blir till att söka igenom ett stort antal gamla tidningar om Du vill få tag på en viss artikel, och då ser jag hellre att Du gör det än jag....för det här kommer att ta tid.

Douglas

"Han är galen Lew. Han bygger leksaksflygplan". Kapten Frank Towns (Jimmy Stewart) i den första filmen "Flight of the Phoenix".

2017-02-04 00:30:15
RE: Elektronik - läsa av servosignal analogt    
hbi
hans@birgander.se
Hej Dix
Visste faktiskt inte det om att Analog pinnarna även kan funka som digitale.
Enda problemet är att det bara verkar funka för Atmega-bestyckade bord.
Men väljer man ett Amtel bord, så kan man ju också välja ett med fler portar, så det löser ju problemet där.
Lite idéer att jobba med, tack.
Om det finns någon annan som har en lösning med några komponenter så är det fortfarande intressant :)

Reparatören - orkar inte ens försöka mig på att bläddra i gamla tidningar - om jag ens skulle lyckas få tag på dem. I "västa" fall får jag helt enkelt bygga projektet på en Arduino Mega eller Due, men det hade varit trevligt att kunna behålla den på Uno
Mvh. Hans
---------
"If flying was the language of man, Soaring would be its poetry..."
---------
Min enkla blogg: http://termikhatt.wordpress.com/
Välkommen till vår FB grupp; RC Segelflyg i Skåne http://www.facebook.com/home.php?sk=group_199879063370395

2017-02-04 09:51:04
RE: Elektronik - läsa av servosignal analogt    
Gee_Bee
Skicka mail
Spänningen löser du genom att spänningsdela mellan två motstånd och en Zenerdiod som begrännsar till max 3V. Om du väljer 100 resp 200 Ohm så får du spänningsfallet 100/300x5V = 1,67V på ena och 200/300x5 = 3,33, sätt en Zener över den andra så stabiliseras spänningnen på max 3V på andra. Strömmen blir ca 15mA vilket borde vara Ok.
-------------------
Några av mina flygplan:
-Big Lazy Bee -- Scorpion F5J-400

2017-02-05 14:54:57
RE: Elektronik - läsa av servosignal analogt    
FDog
FDog47@gmail.com
Köpe versionen:
Från 5 V koppla 2,2k till 3,3 V zenerdiod,
ta ut signalen över zenerdioden till ingången på kortet.
Belastar signalen med ca 1 mA.

Junkbox versionen: (man tager vad man haver)
Spänningsfall över :
Kiseldiod (Si) 0,6-0,7 V
LED röd 1,7 V
LED grön 1,9 V
LED gul 1,8 V
Germaniumdiod 0,3 V
Schottydiod 0,2 V

Alla testade med 5 V och 2,2 kOhm, sen kan du kombinera som du vill,
testa med motstånd och mät över dioderna, vänder du en diod fel så blir det 5 V.

Jag tror inte att endast 2 dioder i serie fungerar
pga ingångarna hos Arduino är högohmiga.
Det bör gå lite ström genom dioderna för att få spänningasfallen enligt ovan.


MEN Arduino Reference för analogRead() specar
"5 volts / 1024 units or, .0049 volts (4.9 mV) per unit"
för att passa olika givare och anger inte något undantag
för olika kort.
Man borde ju kunna mata givarna med 5 V (eller finns det givare för 3,3 V)
men inget jag har testat.

Servosignalen är ju pulsad och du måste utvärdera pulslängden för on/off.
Tar lite tid.
Vill du ha en fast signal kan du surfa på "RC switch 4013"
som kan sköta det jobbet åt dig.
Programmässigt lite snabbare.
Beror på om det är tidskritiskt eller inte.

Berätta gärna lite mer om projektet.

2017-02-05 16:03:21
RE: Elektronik - läsa av servosignal analogt    
hbi
hans@birgander.se
Det är en Timeranläggning.
B-Basen koppas mot timern genom en RC anläggning istället för att skaffa en lång kabel. Så det är bara on-off som gäller för signalerna.
Idén jag har är att läsa av signalerna från mottagaren direkt på Arduinon med så lite elektronik som möjligt emellan
PWM ingångarna kan ju göra detta, tror redan jag har koden för det. Och om Martins förslag ovan om att använda Analoga pinnarna till 'digitala' Ut (eller in) så blir PWM ingångarna fria, det är annars ganska fullt kopplat på Unon :)

Iden med 3.3 volt är att kunna gå över på de nyare Arduino som Due, som ju bara kör 3.3v på sina pinnar. Det känns ju alltid lite tryggt att ha en snabbare processor om man nu mäter hundradelar. Visserligen loopar sketchen genom alla knappar och andra tester på 7ms nu och det utan de sista optimeringarna samt att jag ännu inte använder Interrupterna som finns. Ligger på att-göra-listan.

Fast när jag funderat lite till på detta känns det som att man lägger på ett nytt lager av komplexitet. 5V är ju en naturlig spänning för oss inom RC världen. Och 101an har ju mer kraft.

Sen hittade jag denna lilla sötnosen från Adafruit, som löser problemet yggliht billigt också :
https://www.adafruit.com/products/757

Tack i alla fall för all hjälp.
Planerar att skriva en liten historia och posta här när den är klar :)
Mvh. Hans
---------
"If flying was the language of man, Soaring would be its poetry..."
---------
Min enkla blogg: http://termikhatt.wordpress.com/
Välkommen till vår FB grupp; RC Segelflyg i Skåne http://www.facebook.com/home.php?sk=group_199879063370395