Polohovací zařízení

ostatní motory, vřetena, regulace, snímaní otáček a jiné
ledvinap
Příspěvky: 792
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

6. 9. 2011, 2:58

aleshonsa píše: To mě napadlo také, ale proč to neurčují prostě podle polarity přívodu proudu. Jedině, že by to bylo pro zpětnou kontrolu.
On je jeste problem s rusenim. Pokud bys mel jen jeden senzor a pokud bude tercik na hrane, tak bude senzor generovat falesne pulzy. Kazdy pulz bys vyhodnotil jako otoceni terciku. Pokud mas kvadraturni modulaci, tak je falesny puls vyhodnoceny jako krok dopredu a krok zpet, takze pozice zustane spravna (s chybou max jeden krok).
- A bude na to stačit Arduino Duemilanove nebo Uno?
Podivej se na tento shield, mozna by ti usetril dost prace: http://blushingboy.net/p/motorShieldV3/" onclick="window.open(this.href);return false;
- Ok, takže 2 drátky jsou vstup 12V (běhá to celé na 12V) - jeden pro vlastní senzor a jeden pro zesilovač, a jeden je výstup?
S temi 12V bych byl hoodne opatrny. Zkusil bych najit na optozavorach oznaceni a vyhledal datasheet, ale je velmi pravdepodobne, ze napajeni bude jen 5V.
popopepe
Příspěvky: 133
Registrován: 10. 10. 2010, 3:28
Bydliště: Ml. Boleslav

6. 9. 2011, 3:07

aleshonsa píše:
popopepe píše:Já bych na to šel trochu od lesa.
Na řízení motoru určitě H-bridge. Pokud k motoru připojíš plné napájecí napětí, tak poskočí kupředu, ale o kolik je věcí náhody. To samé po odpojení.
Takže určitě PWM, pro plynulý rozběh a doběh.
Ten H-bridge řídit tou Atmega (arduino či jiné).
Druhý čítač Atmega připojit na hodinový krystal, a máš k dispozici opravdové hodiny. Nebo nějaký obvod reálného času.
Na nějakém vstupu Atmega číst ty pulsy z dekodéru, tím víš o kolik se co posunulo. Pokud počítáš s otáčkami řádu jednotek za minutu, tak ta atmega bude naprostou většinu svého času spát :-). Nejlépe připojit ty pulsy přes přerušení.
Pak pár tlačítek pro rychloposuv, dopředu, zpět, zadání hodnot atd.
Jeden LCD displej. Na něm zobrazovat, co potřebuješ, a hlavně co zadáváš.
Protože budeš mít k dipozici reálný čas, není problém korigovat dráhu podle uplynulého času plně automaticky.
Co dál... naprogramovat to :-)
Otáčky řádu jednotek za minutu jsou až na výstupu z převodovky - je to rychlost otáčení vlastních os dalekohledu. Převodovka je několikastupňová a je hodně do pomala a vlastní motorky točí poměrně rychle (zatím nevím kolik, to nakonec zjistím, až změřím výstup ze senzorů) a na každém plechovém kotoučku co prochází senzorem je odhadem tak 20 segmentů (to ještě spočítám), takže kdyby motorek točil řekněme 50 o/s tak je výstup ze senzoru 1000 pulsů/s. Ten kotouček je samozřejmě hned na rotoru motorku.
Jinak v podstatě tak nějak si představuji, že by ovládání mohlo vypadat.
To je fakt, s těmi otáčkami. Ale cca 1000 pulsů za vteřinu není žádný problém. Ale asi bych pro jistotu použil nějaké externí I2C RTC, aby se Atmega nemusela o čas starat vůbec, a až ho bude program potřebovat, tak si do toho RTC pro čas sáhne.
ledvinap
Příspěvky: 792
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

6. 9. 2011, 3:30

popopepe píše:Ale asi bych pro jistotu použil nějaké externí I2C RTC, aby se Atmega nemusela o čas starat vůbec, a až ho bude program potřebovat, tak si do toho RTC pro čas sáhne.
Externi RTC je temer zbytecne. Jedina prinos by byl, ze bys mel cas i po odpojeni napajeni, ale to stejne nevyuzijes. Po ustaveni dalekohledu budes muset stejne kalibrovat podle nejake referencni hvezdy.
Presnost casu te take moc nemusi trapit, nepresnost mechaniky bude daleko vetsi nez jakykoli krystal. Jen to neni na pouziti interniho RC oscilatoru.
Od hodin si spust nejaky casovac a od nej v interruptu pocitat cas, treba s rozlisenim 1mS. Veskere casy se snaz udrzet relativni, proste zacinat od nuly pri zapnuti a dat si pozor na preteceni promennych (pri pouziti vhodnych operaci se preteceni vubec neprojevi).
Uživatelský avatar
robokop
Site Admin
Příspěvky: 22952
Registrován: 10. 7. 2006, 12:12
Bydliště: Praha
Kontaktovat uživatele:

6. 9. 2011, 3:36

atmega32 ma tusim prave na realnej cas vstup na externi krystal 32.768kHz a jeden oscilator primo na toto uzpusobeny ze se to navoli jako vstup
tj. pak se jen nastavi prescaler podle toho jak casto ma generovat preruseni treba 1/s

pri pouziti hlavniho krystalu napr 8MHz to samozrejme jde udelat presne taky ale ty pocty nevychazeji tak priznive a ty periody jsou chlupate a musi se s tim pocitat
Vsechna prava na chyby vyhrazena (E)
ledvinap
Příspěvky: 792
Registrován: 8. 11. 2009, 4:40
Bydliště: Plzen

6. 9. 2011, 3:46

robokop píše:atmega32 ma tusim prave na realnej cas vstup na externi krystal 32.768kHz a jeden oscilator primo na toto uzpusobeny ze se to navoli jako vstup
tj. pak se jen nastavi prescaler podle toho jak casto ma generovat preruseni treba 1/s

pri pouziti hlavniho krystalu napr 8MHz to samozrejme jde udelat presne taky ale ty pocty nevychazeji tak priznive a ty periody jsou chlupate a musi se s tim pocitat
Osobne na mega32 vetsinou pouzivam 32k krystal a podle neho kalibruju interni RC oscilator. Clovek usetri 2 kondenzatory (ale myslim, ze mega32A uz je potrebuje), trochu na spotrebe a misto na desce. Jen to spotrebuje jeden citac.
aleshonsa
Příspěvky: 2955
Registrován: 30. 8. 2011, 3:18
Bydliště: Praha

6. 9. 2011, 4:19

ledvinap píše:
popopepe píše:Ale asi bych pro jistotu použil nějaké externí I2C RTC, aby se Atmega nemusela o čas starat vůbec, a až ho bude program potřebovat, tak si do toho RTC pro čas sáhne.
Externi RTC je temer zbytecne. Jedina prinos by byl, ze bys mel cas i po odpojeni napajeni, ale to stejne nevyuzijes. Po ustaveni dalekohledu budes muset stejne kalibrovat podle nejake referencni hvezdy.
Presnost casu te take moc nemusi trapit, nepresnost mechaniky bude daleko vetsi nez jakykoli krystal. Jen to neni na pouziti interniho RC oscilatoru.
Od hodin si spust nejaky casovac a od nej v interruptu pocitat cas, treba s rozlisenim 1mS. Veskere casy se snaz udrzet relativni, proste zacinat od nuly pri zapnuti a dat si pozor na preteceni promennych (pri pouziti vhodnych operaci se preteceni vubec neprojevi).
Jestliže není dalekohled na pevno umístěn v kopuli nebo pozorovacím domečku, musí se po každé částečně znovu seřizovat. Jediné co se dá nastavit jednou provždy je zdvih polární osy (za předpokladu, že jsem s dalekohledem stále cca na stejném místě) a kalibrace rektascenze. Azimut polární osy se pak už musí nastavit podle toho, jak dalekohled zrovna stojí. Kalibraci souřadnic bych řešil asi takto:
1. Po skončení pozorování, než se vypne elektřina, by se dalekohled parkoval na konkrétní souřadnice, nebo by si je vůbec mohl pamatovat v trvalé paměti. Ty by pak při opětovné oživení rovnou naskočily. Azimut polární osy by se pak nastavil takto - Najdu si deklinaci a podle času aktuální rektascenzi jasné hvězdy nebo planety, dalekohled na tyto souřadnice navedu a pak upravím azimut polární osy natočením dalekohledu na hvězdu/planetu.
2. Dalekohled si žádné nastavení souřadnic pamatovat nebude. Nejprve se bude muset metodou pro to určenou nastavit azimut polární osy - když je správně nastavený zdvih tak už je to o 1/2 méně práce. Pak bych dalekohled namířil na hvězdu a její aktuální souřadnice použil pro nastavení rektascenze a deklinace. Metoda v bodě 1 je samozřejmě nejjednodušší, ale prvotní kalibraci stejně budu muset dělat touto metodou a pak to bude záloha pro případ, že by se kalibrace rozhodila.

Aktuální čas jako takový v podstatě ani v systému nepotřebuju - stačí mi znát jen přírůstek času od určitého okamžiku kdy spustím hodinový strojek pro sledování aktuální rektascenze. Jediné co je dobré mít na panelu hodiny z toho důvodu, že když mam někde poznamenanou rektascenzi objektu třeba kolik je v 0:00:00 tak podle aktuálního času si dokážu dopočítat kolik momentálně je. Ale když budu mít puštěný notebook, tak hodiny nepotřebuju, protože si aktuální souřadnice najdu v atlasu.
S pozdravem
Ing. Aleš Honsa
Odpovědět

Zpět na „Ostatní elektromotory“