Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Servoreverz s ATtiny85
Jdi na stránku Předchozí  1, 2, 3, 4  Další
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
samec



Založen: Dec 19, 2017
Příspěvky: 4212

PříspěvekZaslal: út květen 14 2024, 22:44    Předmět: Citovat

Celeron napsal(a):
No a co tím vyřešíš? Systém clock poběží na 32 a nebo 64 MHz?
Nie. Ale nameráš pulz s 8x lepšou presnosťou.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17909
Bydliště: Nový Bydžov

PříspěvekZaslal: st květen 15 2024, 16:51    Předmět: Citovat

Ale za jakou cenu? Spočítej si, kolik osmibitovej časovač při plnění 32 nebo 64 MHz je schopnej naměřit dobu. Další komplikace, dělat z toho 16 nebo 24 bitovej časovač s přerušením od přetečení časovače a přičítat +1 do proměnný.

Jinak dnes mi kámoš půjčil fabrickej servoreverz z Ali. Je na tom taky nějakej SMD osminohej procák menší než ATtiny25. Nepoužitelný, na digitálech to škube stejně jako škubala první verze mě. Ten code od Ellecta je proti tomu naprosto klidnej.

Já mám hotovo.



IMG_20240515_172718.jpg
 Komentář:
 Velikost:  253.66 kB
 Zobrazeno:  23 krát

IMG_20240515_172718.jpg



_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mahoney



Založen: Oct 26, 2019
Příspěvky: 385

PříspěvekZaslal: st květen 15 2024, 16:59    Předmět: Citovat

Mimochodem je to vlastnoat mnoha serv, že se chvějou kolem středové polohy.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17909
Bydliště: Nový Bydžov

PříspěvekZaslal: st květen 15 2024, 17:09    Předmět: Citovat

Mahoney napsal(a):
Mimochodem je to vlastnoat mnoha serv, že se chvějou kolem středové polohy.

No jenže pokud servo na vstupu je v klidu a druhý stejný za reverzem cuká a po prohození se to nepřestěhuje, tak to servem není. A digitály v neutrálu nechvějou ale pískaj nebo hrajou. To chvění je vlastností analogů ale tohle není chvění ale nepravidelný cukání.

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
JirkaZ



Založen: Feb 26, 2021
Příspěvky: 2862

PříspěvekZaslal: st květen 15 2024, 19:41    Předmět: Citovat

Jak mám chápat výkřik "já mám hotovo"?

Zkusil jsi tu 555?

_________________
Kdo chce, hledá způsob;
kdo ne - hledá důvod.

Ze dvou možností často volím tu třetí.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
bdn



Založen: Jan 16, 2020
Příspěvky: 469

PříspěvekZaslal: st květen 15 2024, 20:35    Předmět: Citovat

U těchto 8 pinových MCU jsou možnosti ladění omezené, takže přijde vhod osciloskop a testovat kód postupně.
1/ vyzkoušel bych si pouze část "zápis" na "výstupní pin" viz. kód níže (*) a sledoval osciloskpem
2/ část "čtení" délky pulsu na PCINT0 bych si nejprve odladil na jiném hw např. na UNO atmega328 výpisem na Serial port.
3/ jakmile by fungovalo 1/ a 2/ potom kódy spojit dohromady...

(* příklad testu zapis do vystupu)
kód:

/* globalni promnenné pro test code */
uint16_t test_ms, test_ms_mem;
uint16_t test_x = 800;
uint16_t test_x_min = 800;
uint16_t test_x_max = 2200;

/* test code, kazdou 1 sekundu zvedne test_x o inkrement */
test_ms = (uint16_t) millis();
if ((test_ms - test_ms_mem)>=1000)
{
   test_ms_mem = test_ms;

   //
   uint16_t outputPulse = map( test_x, 800, 2200, 2200, 800); // Reverz mapa
   myServo.writeMicroseconds(outputPulse);   // řízení reverzovaného serva
   //

   test_x = test_x + 50;
   if(test_x > test_x_max)
   {
      test_x = test_x_min;
   }
}

- ono TCNT0 bude Arduinem interně použitý pro millis(), TCNT1 bude interně použitý v knihovně Servo::writeMicroseconds(uint16_t value).
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17909
Bydliště: Nový Bydžov

PříspěvekZaslal: st květen 15 2024, 21:52    Předmět: Citovat

JirkaZ napsal(a):
Jak mám chápat výkřik "já mám hotovo"?

Zkusil jsi tu 555?


Tak snad na fotce vidíš, že to mám hotový. A proč bych zkoušel 555, když tohle chodí dokonale? A pokud se zrychlí strojový hodiny přes PPL na 16,5MHz, tak nelze rozeznat podle zvuku, který servo je normál a který revez.

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
JirkaZ



Založen: Feb 26, 2021
Příspěvky: 2862

PříspěvekZaslal: st květen 15 2024, 23:03    Předmět: Citovat

A jak mám asi na té fotce poznat, že jsi to dělal a co je uvnitř (notabene když je ta fotka u textu o půjčeném zařízení)?

Možná jsem to měl nějakým zázrakem pochopit ze slov "ten code od Ellecta je proti tomu naprosto klidnej", ale žádného Ellecta tu nějak nenacházím.

No prostě mi chybí křišťálová koule a/nebo dekodér kryptosdělení.

_________________
Kdo chce, hledá způsob;
kdo ne - hledá důvod.

Ze dvou možností často volím tu třetí.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17909
Bydliště: Nový Bydžov

PříspěvekZaslal: čt květen 16 2024, 17:42    Předmět: Citovat

To mě těší, že jsi na fotce nepoznal, že je to bastl a né profi výroba. To potěší. Laughing A k tomu ellectovi. Nezmínil ses tady o zapojení reverzu na RC-mánii? Ale možná že v tom mám chaos. Embarassed
_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
JirkaZ



Založen: Feb 26, 2021
Příspěvky: 2862

PříspěvekZaslal: čt květen 16 2024, 20:05    Předmět: Citovat

Hm, na RCmanii je ellet (nikoliv ellect), ale v tom příspěvku o reversech (co tu uváděl pepik9) má řešení s 555, nikoliv nějaký "code".

Takže Tvoje kryptosdělení pokračuje Wink

Hele, v podstatě o nic nejde, já mám jen rád jasno alespoň v základních věcech...

No a jako bonus by mě možná docela zajímalo, který že to konkrétní postup byl nakonec úspěšný. Tentokrát opravdu, bez kryptování Wink

_________________
Kdo chce, hledá způsob;
kdo ne - hledá důvod.

Ze dvou možností často volím tu třetí.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17909
Bydliště: Nový Bydžov

PříspěvekZaslal: pá květen 17 2024, 0:06    Předmět: Citovat

No zatím to vyřešený do úplný spokojenosti není. I když na stole to s digitálama Emax bylo téměř neznatelný, tak po montáži do modelu vlivem přepákování na cca 2-2,5 násobek už to je na odtokovce vztlakovek vidět jako nepravidelný cukání asi 1 mm. Možná jsou KTS digitál serva rychlejší a přesnější a taky násobně dražší než Emaxy a víc se to projevuje. Horší je, že tomu nepomáhá ani "digitální" filtrace, zkusil jsem dělat průměr ze tří měření, nejvzdálenější hodnotu zahodit, udělat znovu průměr ze dvou a to vystavit na port. Lepší ale stále trochu znát.
Problém prostě je, že vzorkování je 1uS a na servu se už 3-4uS projeví pohybem. Bylo by potřeba zrychlit vzorkování ale není to tak jednoduchý, tenhle prcek má proti ATmegám jen osmibitový časovače. A ten stačí jen s malou rezervou při plnění 1us tak akorát na servoimpulz s maximální dýlkou 2,2ms.

Dnes jsem na nepájivým poli našťouchal ten reverz s TL5555. Chodí to ale taky je na reverzovaným servu vidět a slyšet nepatrnej pravidelnej pohyb. Řekl bych, že tohle je zase interference opakovacího rámce 20ms s 50-kou v síti. Jestli jen v dílně a venku to nebude jsem zatím nezkusil.

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
JirkaZ



Založen: Feb 26, 2021
Příspěvky: 2862

PříspěvekZaslal: pá květen 17 2024, 9:35    Předmět: Citovat

Znova opakuju: nesnažil bych se být průkopníkem slepých uliček a na takovýto problém bych nenasazoval (jak je dnes obecným úchylným zvykem) stovky tisíc a víc transistorů v podobě MCU.

Jinými slovy udělal bych to "analogově", ať už s 555 nebo jinak.

Klíčové věci k ohlídání jsou zhruba tyto:

• stabilizace napájení (nějakým LDO)

• filtrace téhož (včetně třeba blokování průniku rušení tlumivkami)

• stínění celého zařízení

• pokud možno malé pracovní impedance

• stabilní prvky, zejména časovací C

• provedení zemí, nevést silovou zem od serva přes signálové obvody reverzátoru

_________________
Kdo chce, hledá způsob;
kdo ne - hledá důvod.

Ze dvou možností často volím tu třetí.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Atlan



Založen: May 10, 2004
Příspěvky: 4511
Bydliště: Košice

PříspěvekZaslal: ne květen 19 2024, 19:46    Předmět: Citovat

Pouzit nieco rychlejsie? Napr ch32v003 5v cip bezi do 48Mhz priklady na nete su.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Celeron



Založen: Apr 02, 2011
Příspěvky: 17909
Bydliště: Nový Bydžov

PříspěvekZaslal: po květen 20 2024, 9:33    Předmět: Citovat

Jo, kámoš mě slíbil půjčit vývojovou desku s ARM STM32F103, která má přes PPL takt 72 MHz. Smile Přímo kanón na vrabce. Wink Ale klon se dá sehnat za cenu ATtiny85 a Arduino IDE má pro něj podporu.
Tak už jen se v příštím životě naučit, jak se tam hejbá s registrama od PPL, časovačů, přerušení a PWM a musí to makat jak víno. Very Happy

_________________
Jirka

Proč mi nemůže všechno chodit hned ?!!
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nostalcomp



Založen: Nov 09, 2022
Příspěvky: 91

PříspěvekZaslal: út květen 21 2024, 12:31    Předmět: Citovat

A nebylo by lepší to napsat v assembleru? Ta ATTINY na 8 MHz to přece musí dát. Přeci mi nechcete tvrdit, že na zpracování standardního servosignálu, jehož parametry byly stanoveny dávno před přistáním Apolla na Měsíci, potřebujete 32-bitovej CPU.

U toho Arduino jazyka bych se zvysoka vykašlal na použití funkce map. Už jsem si s ní párkrát naběhl. Pokud jsou intervaly pevně daný, je lepší udělat přepočet ručně. Zde stačí (3000-pulseLenght). Map je šílenost pro amatéry. Použití té servoknihovny je taky naprostá zbytečnost.

Na náběžnou na vstupu bych začal odpočítávat 3 ms (pokud se bavíme o standardních servopulsech 1-2 ms). Na sestupnou na vstupu bych vytáhnul servovýstup na H a po dočítání těch 3 ms bych ho shodil na L. To je v podstatě přímá analogie tomu obvodovému řešení, nebo výpočtu (3000-pulseLenght). Celerone promiň, ale ten program v prvním příspěvku s map a servoknihovnou je normálně vopičárna Smile



servoreverz.jpg
 Komentář:
Reverzace servopulsu
 Velikost:  33.77 kB
 Zobrazeno:  3 krát

servoreverz.jpg


Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3, 4  Další
Strana 2 z 4

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.28 sekund