SDG4046 - jednoduchý analogový STEP/DIR generátor

Uživatelský avatar
Thomeeque
Příspěvky: 8846
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

6. 5. 2012, 1:37

Ahoj,

včera jsem si dal odpočinkový den co se nimrání v jemné mechanice týče a vytvořil něco, co jsem plánoval už dlouho - jednoduchý generátorek STEP/DIR pulsů, který mi umožní točit krokáčema i bez otravného bootování písíčka a to prosím pěkně i s akcelerací :). Není to nic až tak světoborného, ale někoho by to myslím (zejména asi svojí jednoduchostí a rychlopostavitelností) mohlo přecijen zaumjmout případně inspirovat, takže si to zde dovolím nabídnout (zatím jsem toto fórum jen vysával, tak je to i takový první drobný revanš :)):

Obrázek
(pokud nevidíš obrázek kompletní, klikni zde)

Funkci je asi nejlépe vidět na videu níže, nicméně shrnu hlavní fičury:

- směrová tlačítka (S_LEFT / S_RIGHT) pro ovládání ve stylu MACH3 joggingu či pro jemné krokování
- on-off-on přepínač (S_CONT) pro permanentní chod (původně jsem ho na schematu nazval S_PERM, ale rozmyslel jsem si to :mrgreen:)
- plynule nastavitelná frekvence krokování (POT_FREQ)
- nastavitelné plynulé zrychlení (TRIM_ACC)
- dva módy zastavení (S_MODE): okamžité či plynulé (zde je v mém obvodu jedna dost zásadní chyba, kdo jí vidí už teď, má bod ;))

Obvod využívá luxusní VCO obvodu 4046 (plus je ještě využit PHASE COMPARATOR 1 coby invertující buffer), samotný step generátor včetně akce/dekce-lerace sestává ze šesti součástek, diodová logika přidává ovládání a změnu směru a pak už je tam jen signalizační LEDka (ještě by se asi slušelo filtrovat napájecí napětí kondíkem mezi zemí a +5VDC).

Tak, jak to vidíte na schématu, to má při napájení 5.4V:

- klidový proud 2.2µA
- provozní proud 3.8~7.5mA (podle nastavené frekvence a směru)
- frekvenční rozsah 0~20kHz (pro šťastné majitele micro-stepujících driverů je to určitě málo, rozšíření je ale jen o zmenšení hodnoty C1, teoretické maximum je podle 4046 datasheetu při napájení 5V je min. 400, typ. 800 kHz, zatím jsem neověřoval).

Ke zmíněné chybě: pomalé zastavení funguje správně jen v chodu doleva, v chodu doprava je motor po puštění tlačítka roztáčen v protisměru (neboť dojde ke změně hodnoty na výstupu DIR), což je myslím trochu v rozporu s myšlenkou plynulého zastavení :mrgreen: Nejjednodušeji by to bylo opravitelné asi změnou filozofie ovládání (jeden ovladací prvek pro chod, druhý pro směr - zapojení by se dokonce ještě zjednodušilo, odpadla by diodová logika), trochu složitěji asi nějakým klopákem, zatím jsem to neřešil, protože to pro mě momentálně není nijak zásadní (nesnažil jsem se vytvořit perfektní manuální kontroler, spíš takovou jednoduchou rychlopomůcku, tomu odpovídá i provedení :)). Drobných nedokonalostí se najde více, ale platí o nich to samé.

DEMONSTRAČNÍ VIDEÍČKO

Popisek k videu:

Obrázek
(pokud nevidíš obrázek kompletní, klikni zde)

Pár dalších fotek..

Hezký zbytek neděle, T.
Naposledy upravil(a) Thomeeque dne 14. 5. 2012, 10:31, celkem upraveno 8 x.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
packa
Příspěvky: 6930
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

6. 5. 2012, 1:49

zdravím určitě to může být pro někoho dost užitečné ale přílohu máš blbě vloženou a schema se tak zobrazuje neúplné a to moc lidem nepomůže
Uživatelský avatar
Thomeeque
Příspěvky: 8846
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

6. 5. 2012, 2:02

packa píše:zdravím určitě to může být pro někoho dost užitečné ale přílohu máš blbě vloženou a schema se tak zobrazuje neúplné a to moc lidem nepomůže
Aha, díky za upozornění! Myslím, že chyba není tak úplně na mojí straně (engine fóra linkované obrázky bez varování ořezává, pokud se mu v okně browseru nevejdou na šířku do layoutu), nicméně učinil jsem odvetná opatření :)
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
packa
Příspěvky: 6930
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

6. 5. 2012, 3:21

ok to už jde ještě bys moh hodit návrh tištáku :wink:
Uživatelský avatar
Thomeeque
Příspěvky: 8846
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

6. 5. 2012, 3:55

packa píše:ok to už jde ještě bys moh hodit návrh tištáku :wink:
Jo, to by asi bylo hezký, ale návrh tištáku bohužel zatím neexistuje, já to spáchal na kousku univerzálu :roll: uvidíme časem, no..
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
Thomeeque
Příspěvky: 8846
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

10. 5. 2012, 3:53

Ahoj,

tak jsem obvod apgrejdl na v2 (ověřeno zatím pouze na nepájivym poli):

Obrázek
(pokud nevidíš obrázek kompletní, klikni zde)
  • plynulé zastavení (FLUENT STOP) už by mělo fachat v obou směrech (přidán klopák 4013 pro uchování posledního stavu DIR)
  • přidán R5 pro změnu minimální frekvence POT_FREQ (jak je vidět na videu v prvním postu, na prvních cca 20% dráhy je už frekvence tak nízká, že se tam prakticky nic neděje, R5 umožňuje tuto oblast "přeskočit"), s hodnotou možno experimentovat, pro plný rozsah od 0Hz nahraď drátovou propojkou
  • z řídící logiky se mi podařilo vykostit dvě diody (fachalo by takto asi i u v1)
  • přidány filtrační kondíky C3 a C4
  • R4 zmenšen na 330R (při použití standardní LEDky je 1k moc)
Navrhl jsem i ten plošňák. Je to pojato tak, aby to bylo pokud možno univerzální, akceleraci je možno řešit trimrem nebo poťákem, pokud nehodláte pájet switche na PCB, je možno PCB odspoda zkrátit, pokud preferujete připojení ke zbytku světa přes pinheader, je s tím také počítáno (pokud vám stačí PADy, není potřeba zapojovat ty dva vlnité jumpery a samozřejmě ani JP1 ;)), pokud byste potřebovali invertovat směr, přerušte ve zúženém místě spoj vedoucí pod 4013kou k pinu 13 (Q) a připojte k pinu 12 (/Q).
Kdybyste to někdo stavěl, dejte pak prosím vědět.

T.

* SDG4046v2_layout_1200DPI.png + SDG4046v2_PCB_1200DPI.png + SDG4046v2_partlist.txt + SDG4046v2_Schema_1200DPI.png
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
.xxx.
Příspěvky: 433
Registrován: 29. 8. 2008, 9:24
Bydliště: cz

12. 5. 2012, 5:55

... pekny tod pocin, jeste by to chtelo

- pridat CW/CCW vystup
- pridat vstup pro koncaky, to by zvladla druha 1/2 4013
- pridat prez DIP nastavitelny scitac, který by sám reverzoval chod po urcitem počtu kroku + plynule nastavitelne start/stop ... člověk by ladil pouze rychlost/zrychleni/zpomaleni, bez nutnosti hlidat drahu
- vse hodit do SMD
Uživatelský avatar
Thomeeque
Příspěvky: 8846
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

12. 5. 2012, 6:55

Co myslíš tim CW/CCW výstupem? Laicky mi to přijde jen jako jiný termín pro DIR výstup, můžeš kdyžtak rozvinout?

Jinak díky za pochvalu a za podněty, jednoduchou podporu limitních switchů jsem zvažoval už u první verze, ale zatím jsem to nechal být. Myslím, že až mi bude CNC jezdit a já se začnu zase nudit, opět se k tomu vrátím a udělám si nějaký už trošku serióznější jogger pro všechny osy a tam už je ignorovat určitě nebudu. Přidání toho čítače už mi přijde trochu nad rámec, podobných specifických vychytávek by se asi dalo vymyslet spousta, pak by ale vznikl docela složitý moloch a nejsem si jistý, že by to každý ocenil. Nicméně pokud to chce někdo rozjet, vůbec mi to nebude vadit, naopak.

Přidání potenciometrů zvlášť pro akceleraci a zvlášť pro brždění by asi mělo začít přidáním pořádného integrátoru, což je zase další IO navíc. I tady by se dalo zaexperimentovat s rozdvojením větve s POT_ACC a přidáním diodového přepínání, ale otáčky by asi neklesaly úplně na nulu.

T.
Naposledy upravil(a) Thomeeque dne 12. 5. 2012, 10:02, celkem upraveno 1 x.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
packa
Příspěvky: 6930
Registrován: 7. 2. 2007, 6:42
Bydliště: Královehradecký kraj

12. 5. 2012, 7:47

Thomeeque píše:Co myslíš tim CW/CCW vystupem? Laicky mi to přijde jen jako jiný termín pro DIR výstup, můžeš kdyžtak rozvinout?

Jinak díky za pochvalu a za podněty, jednoduchou podporu limitních switchů jsem zvažoval už u první verze, ale zatím jsem to nechal být. Myslím, že až mi bude CNC jezdit a já se začnu zase nudit, opět se k tomu vrátím a udělám si nějaký už trošku serióznější jogger pro všechny osy a tam už je ignorovat určitě nebudu. Přidání toho čítače už mi přijde trochu nad rámec, podobných specifických vychytávek by se asi dalo vymyslet spousta, pak by ale vznikl docela složitý moloch a nejsem si jistý, že by to každý ocenil. Nicméně pokud to chce někdo rozjet, vůbec mi to nebude vadit, naopak.

Přidání zvláštního potenciometru pro akceleraci a pro brždění by asi mělo začít přidáním pořádného integrátoru, což je zase další IO navíc. I tady by se dalo zaexperimentovat s rozdvojením větve s POT_ACC a přidáním diodového přepínání, ale otáčky by asi neklesaly úplně na nulu.

T.
to už je pak spíš výhodnější nacpat to všechno do jednočilu a odpadne polovina součástek
takhle to splnuje základní požadavky a u toho bych skončil ,
Uživatelský avatar
Thomeeque
Příspěvky: 8846
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

14. 5. 2012, 9:53

packa píše:to už je pak spíš výhodnější nacpat to všechno do jednočipu a odpadne polovina součástek
Samotný oscilátor bych tam necpal, u něj je myslím analogovost dost zásadní výhodou, ale na nějaké pokročilejší funkce by to asi bylo výhodné spojení.
packa píše:takhle to splnuje základní požadavky a u toho bych skončil ,
Jj, méně je někdy více :)

T.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
Thomeeque
Příspěvky: 8846
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

17. 5. 2012, 12:43

Občas se stane, že mi nejede web(zdarma), odkud sem vše linkuji, třeba zrovna dneska, pro tyto případy přidávám to nejzásadnější i jako lokální přílohu:
verze 1: schema
verze 1: schema
verze 2: schema
verze 2: schema
SDG4046v2.pdf
verze 2: návod (schema, PCB, seznam součástek - tisková kvalita)
(411.59 KiB) Staženo 1296 x
SDG4046v2_Eagle.zip
verze 2: Eagle .sch & .brd
(65.95 KiB) Staženo 618 x
T.

PS: Web se rozjel zhruba dvě minuty potom, co jsem to sem postnul :)
Naposledy upravil(a) Thomeeque dne 28. 10. 2014, 6:39, celkem upraveno 1 x.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
Thomeeque
Příspěvky: 8846
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

31. 5. 2012, 2:00

Thomeeque píše:Co myslíš tim CW/CCW výstupem?
Tak už to vim (pletlo mě, že jsem termín CW/CCW ještě včera znal pouze z nějakých schémat jako alternativní pro označení výstupu DIR). OK, znamenalo by to zase nějakou logiku navíc, pokud by po tom někdo zatoužil a nevěděl jak, zkusíme vymyslet..

T.
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
Thomeeque
Příspěvky: 8846
Registrován: 30. 1. 2012, 10:20
Bydliště: Mimo ČR

5. 11. 2012, 4:00

Btw. včera jsem si v 4046 datasheetu všiml, že doporučené hodnoty pro odpory na pinech R1 a R2 jsou od 10k, čili by asi bylo vhodné tomu R3 (a potažmo C1) přizpůsobit, např. 10k a 2n2 (ačkoliv se současnými hodnotami jsem žádný problém nezaznamenal).
mimooborová naplavenina • kolowratský zázrak™ • NPS • GCU • HirthCalc • ncDP.ino
Uživatelský avatar
GeminiRacing
Příspěvky: 273
Registrován: 29. 11. 2011, 6:46
Bydliště: Trenčín - Slovakia
Kontaktovat uživatele:

12. 11. 2012, 9:25

krasny pocin toto.....vieme spravit nieco taketo s lacnym inkrementalnym rotacnym spinacom ?
Renault 5 Turbo in progress ;)

http://www.geminiracing.sk/" onclick="window.open(this.href);return false;
Uživatelský avatar
garulus
Příspěvky: 462
Registrován: 21. 8. 2009, 1:10
Bydliště: United Kingdom(England)
Kontaktovat uživatele:

12. 11. 2012, 9:40

Mozno pomoze toto:
http://arduino.cc/forum/index.php/topic,19748.0.html

Neskusal som,tak dufamze niekto vyskusa za mna :D
Přílohy
rotary encoder.png
Odpovědět

Zpět na „Ostatní elektronika“