Bejelentkezés
Felhasználónév:
Jelszó:
 
 
 
Regisztráció
Elfelejtett jelszó
Fórum témák
Fórum » Szervó vezérlés
Szervó vezérlés
Témaindító: Frankye, idő: Júl 1, 2014
Témakörök:

Lapozás       16/16
(#59898) diginewl válasza diginewl hozzászólására (#59841) Válasz Jún 27, 2018
Hogy visszatérjünk a szervókhoz
Sok-sok segítség után működik a 8 csatornás lépcsőzetes bekapcsolás. Azaz egy 16F628-as pic egymás után 0,5-0,5sec különbséggel bekapcsol 8 led-et.
A PIC kimenete GND-re húz, és ott is marad egészen kikapcsolásig.
Hogyan tudom ezzel egy FET-en keresztül a szervót bekapcsolni?
Jó ehhez az N-es fet? (olyanom egy darab van: irf540-es, de azzal nem működik)
Vagy P-s kellene? A pic kimenete és a fet gate közé tegyek valamit?

Vagy inkább csináljam meg tranzisztorral?
(#59899) etwg válasza diginewl hozzászólására (#59898) Válasz Jún 27, 2018
Inkább szerintem N-FET lenne jobb és a szervok - lábát kapcsolnád. De még ahhoz is kell egy inverter, mert neked amikor be kell kapcsolni a szervot magas szint kellene. Vagy a programot irod át vagy beraksz a PIC meg a FET köze egy invertert.
(#59900) diginewl válasza etwg hozzászólására (#59899) Válasz Jún 27, 2018
Írtam: N-es fet-em van.
Át tudom írni a programot! A fet akkor lesz aktív, ha "eltűnik" a GND?
A szervó Nulla/gnd lábát tudom így a fet-el kapcsolni?
(#59901) etwg válasza diginewl hozzászólására (#59900) Válasz Jún 27, 2018
Kb igy kell a szervo gnd lábát kapcsolni.
Az R3 képviseli itt a szervot.

IMG_3393.JPG
 
(#59908) diginewl válasza etwg hozzászólására (#59901) Válasz Jún 27, 2018
Kipróbáltam...
Amikor bekapcsol a fet a szervó moccan egyet.
Nagyobbat mint ha csak simán áram alá kerülne +5V és jel közé tett ellenállással.
Kisebbet, mint ha nem lenne a +5V és jel között ellenállás.

Érdekes. Arra számítottam, hogy ugyanaz lesz, mintha hidegindítás lenne, de nem.
(#59912) etwg válasza etwg hozzászólására (#59891) Válasz Jún 27, 2018
Megtaláltuk a hibát ( két sort elirtam ami a stackot tette tönkre....

Ide raktam az eredményt....
(#59918) diginewl válasza diginewl hozzászólására (#59908) Válasz Jún 28, 2018
Mennyire eszement dolog a szervót egy motor driver IC-ről bekapcsolni? Ilyennel?
L9110S Ez peak-ben tud 1,5A-t is, folyamatosan meg 800mA-t.
Ez mindkét kimenetét kapcsolja +/- egyszerre, azaz olyan mintha hidegindítás lenne.
Vélemény?
(#59919) etwg válasza diginewl hozzászólására (#59918) Válasz Jún 28, 2018
Nem hiszem, hogy jobb eredményt adna. Már a kollégák kivesézték mi a mocorgás oka ( ugy látszik ez természetes velejároja az ilyen kapcsolásnak). Azon semilyen extra kapcsolás nem segithet, mert az magában a szervoban keletkezik, és ott amire a szervokat tervezték ez fel sem merül mint gond.
(#59921) proba válasza diginewl hozzászólására (#59918) Válasz Jún 28, 2018
Azt is kalkuláld bele, a vezérlő láb sem a semmibe lóg. Amilyen szerencséd van azon keresztül is kap némi áramot, a tápfeszültségeit hiába veszed el, a teljes áramtalanítás nem történik meg. Ha a + vagy a - láb megszakítása nem oldja meg a gondod akkor biztonságosan a hídmeghajtó sem. ( mellékesen azon keresztül még kevésbé stabil a tápja.) Ha nem kerül semmibe kipróbálhatod, de kevés reményt fűzök hozzá.
(#59922) diginewl válasza proba hozzászólására (#59921) Válasz Jún 28, 2018
Igen.
Érdekes ezeknek a szervóknak a "lelki" világa.
SG9/Towepro szervókkal kapcsolatban:
1; +5V és a jel között nincs semmi: bekapcsoláskor - ahogy Piltdowman topiktárs is írta megy egy nagyot.
2; A +5V és a jel között van ellenállás. 4,7K-at használtam.
Ha +5V, jel rajta van a tápon, és mellé kapcsolom a nullát - kissebbet moccan.
Ha a GND, van fixen kötve, és mellé kapcsolom a +5V-ot akkor kisebbet moccan.
3; Ha egyszerre kapcsolom a +5V-ot és a GND-t (pl: két áramkörös relével), és rajta van az ellenállás a +5V és jel között, akkor szinte semmit sem moccan, vagy alig észlelhetőt.

Érdekes, hogy mind a kettő betáplálásnak egyszerre kell létrejönnie, akkor moccan nagyon nagyon picit a szervó induláskor.
Ki érti ezt?

És még egy adalék:
Ha a szervóvezérlő bekapcsoláskor nem ad semmi jelet a szervónak (a Geert Úr 16 csatornás vezérlője ilyen), akkor a szervóvezérlővel (PIC) együtt bekapcsolt szervó szintén nem moccan meg. Itt is fel van húzva a +5V-ra a jel egy ellenállással, de itt csak a GND-t vagy a +5V-ot kapcsolom csak, nem mind a kettőt. Azaz itt elég egy egyáramkörös relé.... Pedig a PIC semmi jelet nem ad ki a szervó felé....vagy mégis? Csak ügyesen?
(#59923) etwg válasza diginewl hozzászólására (#59922) Válasz Jún 28, 2018
Idézet:
„Érdekes, hogy mind a kettő betáplálásnak egyszerre kell létrejönnie, akkor moccan nagyon nagyon picit a szervó induláskor.
Ki érti ezt? ”
Proba kolléga irta, hogy a vezérlö bemeneten (3.láb) is kaphat áramot, ami szintén kibillentheti az egyensulybol.

Hogy mit ad ki a PIC azt csak szkoppal tudnád megvizsgálni. Elég ha van ott egy pillanatnyi átmeneti állapot és már is feltöltödhet a szervoban valamilyen kondi, ami megmoccantja a mechanizmust, mielött az beáll egyensulyba.
(#59924) diginewl válasza diginewl hozzászólására (#59922) Válasz Jún 28, 2018
Helyzetjelentés: a 16 csatornás szervóvezérlőbe, most bekötöttem 8 szervót. Mivel nincs több alkatrészem (várom a postát) eddig ezzel tudtam terheléses próbát csinálni: a nyolc szervó meg sem nyikkan amikor bekapcsolom őket egy ilyen tápsorról:
19V3A tápegység -> 12Vfeszstab ic. 3A semmi kondenzátorral -> 5v DC/DC converter 2A....
Nem omlik össze a rendszer
Szóval meglátom mi lesz, ha megjön a többi alkatrész, akkor ki tudom próbálni a 16 szervót együtt.
(#59926) piltdownman válasza diginewl hozzászólására (#59717) Válasz Jún 29, 2018
Átírtam a „4 szervo asm”-t.,(Égetésnél az ID:ABCD.)
(Mivel ide nem tudom, hogy kell kitenni, elküldtem privátban.)

Fogsz 4db SG90-et, mindegyik bemenetét felkötöd 1k-val a tápra.
Ki-be kapcsolgatod a tápot, és megnézed, hogy ugrál-e.
Ha nem mozdul, akkor bekötöd a PIC12F629 ezzel az sw-vel
Ez kb. 2 sec-ig nem csinál semmit, ezalatt a szervok nem mozdulhatnak meg.
Utána úgy működik,mint az eredeti.
Jelentést kérek.
(#59927) piltdownman válasza diginewl hozzászólására (#59782) Válasz Jún 29, 2018
A 16 csatornás sw-ben benne van az EEPROM kezelés, más kérdés, hogy miért nem működik.
Ennek kiderítéséhez meg kell érteni az sw-t, különös tekintettel a DDC parancs kezelésre,
mert ha jól értem, ez indítja el az EEPROM írást.
Bötűről bötűre át kell rágni, de gyorsabb berántani egy emulátorba és lekövetni.

(Az itt közölt részlet csak az indításnál fut le, az EERAM-ból másol át 48byte-ot a h’20’-tól kezdödő címekre, ahol 16 beállási kezdő ill végérték és –gondolom- az átállási gyorsaság van letárolva.)
(#59929) etwg válasza piltdownman hozzászólására (#59927) Válasz Jún 29, 2018
Nicsak, te sem tudsz aludni???
(#59933) diginewl válasza diginewl hozzászólására (#59924) Válasz Jún 29, 2018
Ma valami csoda hatására nem meghozta a posta a háló ellenállásokat.
Íme az eredmény:
- Egy időzítő PIC, ami beállíthatóan kapcsol egy relét.
- Egy 16 csatornás analóg vezérlésű szervóvezérlő. (ez lesz majd összeházasítva kettő PACO-féle fényjelződekóderrel, így DCC-ről is tud majd menni a cucc - ehhez már simán hozzá tudok tenni egy visszajelentést, és egy szívpolarizálást.... fullextrás rendszer lesz ám! Diginewl álmodozik.)

Táp: 3,2A 19V DC kapcs üzemű őslelet táp.
Egy 3A-es 5V dc-dc konverter zizzenés nélkül elindítja a 16 szervót. Kellett egy külön másik Dc-Dc 5V konverter az időzítő PIC-nek, mert mindig újraindult, amikor a relé kattant...

Kipróbáltam PC-tápról is ugyanezt. Ha az 5V-os ágba tettem bele a szervó, és az időzítő kört is, akkor az időzítő, mindig lehalt, pedig a táp 25A +5V-ot tud. Azaz a szervók, irtózatos áramot rántanak le, főleg így 16-an. Ezért tettem bele az időzítőt, ha több ilyen egységet szeretnék, akkor azok más-más időpontban éledjenek.

Itt a mesém vége, tovább nem borzollak Benneteket a hülyeségeimmel. Köszönöm a Segítségeket!!!

WP_20180629_...jpg
 
(#59934) diginewl válasza diginewl hozzászólására (#59933) Válasz Jún 29, 2018
Közben megoldottam egy dc-dc konverterrel. Egy dióda a pic időzítő felé, utána egy kondi. Így is szépen megy egy 3A-es 5v-os DC-DC konverterről az egész
(#59935) piltdownman válasza piltdownman hozzászólására (#59926) Válasz Jún 30, 2018
Így gondoltam.
A PIC-et nem rakod be a foglalatba és kapcsolgatod a +5V-ot.
Ha nem mozdulnak, a módosított sw-s PIC-el próbáld ki.

4_servo.pdf
 
(#59940) diginewl válasza piltdownman hozzászólására (#59935) Válasz Júl 1, 2018
Üdv!
Ma, igen(!) kimentem a bútoroshoz a műhelybe hozzá, összevadásztam a bútorlapokat nála, így tudok végre dolgozni. Elegem volt belőle, hogy egy hete csak ígérgeti, hogy elkészül a szabással...
Az elektronika most - elnézést - pihen, mert ez fontosabb, hogy készen legyen már.
Ha kipróbáltam a HEX-et jelentkezem. Addig türelmet kérek.

Még közben egy kérdés: mi ez az ID: ABCD?
Idézet:
„Égetésnél az ID:ABCD”
Ez utolsó érték a HEX-ben az OSCAL-értéke?
(#59944) piltdownman válasza diginewl hozzászólására (#59940) Válasz Júl 2, 2018
Nem. Az OSCAL az h’3fff’ címen van, h’34xy’ formában, ahol xy a calibrációs érték
és egy PIC kiolvasásakor a „PICKit2” sw „Program Memory” ablakának utolsó szava.
A „User ID” a h’2000’-h’2003’ címeken van és az sw bal felső részen látható.
Arra jó, hogy égetés előtt még egyszer meg lehessen győződni, hogy a megfelelő
hex file van importálva ill. olvasáskor lehet a file-t azonosítni.
(#59952) Frankye válasza piltdownman hozzászólására (#59944) Válasz Júl 3, 2018
Ez utóbbit én sem tudtam!
(#60072) diginewl válasza piltdownman hozzászólására (#59935) Válasz Júl 20, 2018
Nu. Köszönöm a Türelmet!
Kipróbáltam. Van benn egy kis gikszer...mire rájöttem.
Szervón rajta a +5V/jel között az ellenállás.
Bekapcsolás után nincs nyikkanás, csak az a nagyon mini-mini ami ha rajta van az ellenállás akkor adja. Eddig OK.

A trükk utána jön. Kb 2 PERC-ig a PIC refrakter, azaz nem csinál semmit. Utána nyikkant egyet a szervón - ez már látható - mértékű ugrás. És attól a pillanattól reagál a PIC a külső DCC parancsra.

Így egyenlőre ez így ebben a formában mégsem működik.

Már előkészültem a 16 csatornás szervóvezérlő áramkörével, az időzítőjével, áramellátásával. Azzal fogok továbblépni. Tervben van egy 16 csatornás dcc/analóg vezérléssel is működő egység, ahol a szervó állásnak megfelelően tud kapcsolni relét, állapotot visszajelenteni stb. Szóval számomra egy fullextrás vezérlőt készítgetek. Ha elkészül, és még létezünk, bemutatom majd.

(#60101) piltdownman válasza diginewl hozzászólására (#60072) Válasz Júl 25, 2018
Nem tudom, miért áll két percig. Lehet, hogy a nagy meleg miatt egy átmeneti hex-et küldtem,
de most átírtam és leégettem ill. meg is néztem ezt (ID:ABC0):
Oservo.hex

3sec-ig nem csinál semmit, majd elindul az eredeti program.
(Ha az egyik szervó helyett egy ledet raksz be a kimenet és a föld közé, az 3 sec-ig ég,
majd elalszik.)
A 3 sec letelte után mind a négy kimeneten kb. 0,5 sec-ig megjelenik egy 20ms periódus
idejű, kb. 8ms hosszú pulzusokból álló sorozat, (ez a default), emiatt mozdulnak meg
betanítás nélkül a szervók.
Leírnád, hogy milyen központi vezérlőt használsz, és hogyan tanítod be a végállásokat? Kösz.
(#60104) diginewl válasza piltdownman hozzászólására (#60101) Válasz Júl 27, 2018
Jelentkezem, ha ki tudtam próbálni az új hex-et!
Köszönöm, hogy foglalkozol vele.
Központ: Nanox-s88
Betanítás: multimaussal.
(#60122) diginewl válasza piltdownman hozzászólására (#60101) Válasz Aug 11, 2018
Kedves Piltdownman!

Kipróbáltam. Ez így tökéletes lett!
Bekapcsoláskor nincs/minimális nyikkanás az ellenállás miatt. Kb 2másodperc múlva működik a PIC. Szervója válogatja: van amelyik egy nagyon picit megmoccan, van amelyik nem.
Newl
(#60175) diginewl hozzászólása Válasz Aug 25, 2018
Tisztelt Fórumtársak!
Kéretik elővenni kezeket, és száj elé tenni, nem hangosan nevetni.
Gyakorlatban is működőképes, analóg/dcc 16 csatornás szervóvezérlőmet szeretném bemutatni nektek.
Egy 19V-os 3A-es tápról egyszerre tudja az összes szervót mozgatni, és közben ellát a terepasztalon 3 haladó mozdonyt is árammal a táp.
Induláskor a szervók nem nyikkannak meg - a tápot nem rántják meg. A szervók egyesével egy potenciométer tekergetésével állíthatók a két kívánt pozícióba.
Kettő PIC 16F628-as paco 8kimeneteses unisemaf átprogramozott fényjelző dekóder hajtja a DCC felől végre a szervó állítást. A két pic külön-külön programozható más-más címre. Kapott egy szívpolarizáló kimenetet mindegyik szervó, de ezt a kimenetet akár visszajelentésre is lehet használni.
A szervók bekapcsolása késleltetve történik 1/2/3 másodperc beállítható (másik PIC-el)
Végre sikerült összehoznom egy működőképes vezérlőt úgy, hogy a szervóbeállítás is kb 10-20 másodperc alatt megvan, nem kell gombokkal szöszmötölni.
A NYÁK-ot persze több rendben is elrajzoltam, ezért állnak furcsán pl. az ULN mezők A lényeg számomra, hogy MŰKÖDIK.
Köszönet az Itteni segítségért, és Geert Úrnak Hollandiába.

WP_20180819_...jpg

WP_20180819_...jpg
 
(#60497) diginewl válasza diginewl hozzászólására (#60175) Válasz Nov 14, 2018
Ismét én...
Elkészült a következő szervóvezérlő verzióm, mely "szintén" nem tökéletes. Ebből fakadóan a következő már az lesz.
Ez 2*8 csatornás akart lenni. Azaz 8 dcc váltójelet tud fogadni, de azt két külön szervó kimenetre teszi rá. Optocsatolóval leválasztott bemenet a szervővezérlő felé, és a szabvány kínai relémodul felé kimenet (lásd képet). Szívpolarizációhoz.

Az áramkör működik... csak a 16F887-es Geert úr programja tréfált meg. A pic ugyanis felejt. Az első 8 szervókimenet pozícióit szépen megjegyzi, a második 8-as csoportban a legtöbb esteben nem tárolódik le a pozíció. Kikapcsolás után elfelejti. Ezen a magam módján tudok segíteni. (az első nyolc értékek kiolvasom pickit2 íróval, és átírom a másikba. Így megint van 8 csatorna ami felprogramozható. Kicsit nyakatekert de DIY-ben működik)


WP_20181114_...jpg

WP_20181114_...jpg
 
(#60499) Frankye válasza diginewl hozzászólására (#60497) Válasz Nov 15, 2018
Ha a programot tudod módosítani, akkor az EEPROM-ba el tudod menteni az értékeket a szoftverből. Persze, ha csak hex fájlod van (nincs meg a forráskód asm-ben), akkor ez a lehetőség kilőve.
(#60501) diginewl válasza Frankye hozzászólására (#60499) Válasz Nov 15, 2018
Itt van
ASM kód

Igen? Mit írjak benne át?

(#60503) diginewl válasza diginewl hozzászólására (#60501) Válasz Nov 15, 2018
Képzeljétek el MŰKÖDIK!!! MIND a 16 csatorna!!! Nem felejt!!!!

Azt hiszem rájöttem mi volt eddig a baja a PIC-nek!
Most MINDEN kimenetét tudom programozni!
Eddig azt a hibát követtem el, hogy egyszerre kettő vagy több szervót programoztam vele egyszerre. (mert ugye az idő pénz)

Most vettem a fáradtságot, és külön, külön álltam neki a szervóknak új, és új pozíciót adni.
Így minden pozíciót lementett!!!!
Hahaj!
(#60506) Frankye válasza diginewl hozzászólására (#60503) Válasz Nov 16, 2018
Nos, ez esetben gratulálok a helyes megfejtéshez, és ha nem haragszol, nem állok neki átböngészni a forráskódot...
Lapozás       16/16
Frissek
  2018. Dec, 11. Kedd
19:08:35
  Jelenleg 20 fő olvassa az oldalt
Hirdetés