Ovládanie troch stupňov motora

Dotazy na technické problémy, vlastní řešení technických problémů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
kubo23
Příspěvky: 5
Registrován: 18 dub 2014, 00:00

Ovládanie troch stupňov motora

#1 Příspěvek od kubo23 »

Potrebujem navrhnúť ovládanie motora s relé s nasledovnou funkciou:
Mám k dispozícii 4 tlačítka a 4 relé. Napájacie napätie 5V.

Stlačením Tl 1 sa zapne relé 1 opätovným stlačením sa vypne.
Stlačením Tl 2 sa zapne relé 2 opätovným stlačením sa vypne.
Stlačením Tl 3 sa zapne relé 3 opätovným stlačením sa vypne.

Ak je niektoré relé zopnuté aktivácia druhého ho musí rozopnúť.
Napr. relé 1 je zopnuté, stlačenie tlačidla 2 rozopne relé jedna a zopne relé 2. atd.

Tlačidlo Tl 4 zopne relé 4 opätovne stlačenie rozopne relé 4. nezávisle na predchádzajúcich troch relé. Teda ON/OFF.

Ešte ma napadlo že by bolo vhodné mať signalizáciu každého zopnutého relé LEDkou.
Uživatelský avatar
forbidden
Příspěvky: 9442
Registrován: 14 úno 2005, 00:00
Bydliště: Brno (JN89GF)
Kontaktovat uživatele:

#2 Příspěvek od forbidden »

Buď složitě poskládat z klopných obvodů a pár hradel, anebo jedno mcu a je vyřešeno.
Uživatelský avatar
kubo23
Příspěvky: 5
Registrován: 18 dub 2014, 00:00

#3 Příspěvek od kubo23 »

Potrebujem niekoho kto by mi to navrhol. Zapojenie a soft pre MCU.
S klopakami by som to zvládol ale MCU by bolo jednoduchšie pre prípadné úpravy.

Ďakujem.
Uživatelský avatar
Honza_dy
Příspěvky: 2172
Registrován: 20 srp 2004, 00:00
Bydliště: Brno-venkov

#4 Příspěvek od Honza_dy »

S picaxe to zvládneš sám.
Uživatelský avatar
kubo23
Příspěvky: 5
Registrován: 18 dub 2014, 00:00

#5 Příspěvek od kubo23 »

Vedel by mi niekto napísať ten software v picaxe?
Nemám žiadne skúsenosti s mikrokontolérmi a potrebujem súrne rozchodiť ten motor. Určite budem mať problémy so zákmitami tlačítka a bohvie čo ešte.
Ďakujem.
Uživatelský avatar
nekmil
Příspěvky: 787
Registrován: 06 bře 2005, 00:00
Bydliště: Havířov

#6 Příspěvek od nekmil »

Schéma by mohlo vypadat asi takto.
Program bych nějak "splácal".
Máš to jak naprogramovat ?

http://profi.edisk.cz/stahnout-soubor/9 ... .67KB.html
http://profi.edisk.cz/stahnout-soubor/2 ... .26KB.html

P.S. s EAGLEm to skutečně neumím :D
Uživatelský avatar
bu2520
Příspěvky: 4923
Registrován: 16 črc 2007, 00:00
Bydliště: u HK

#7 Příspěvek od bu2520 »

myslím, že by stačily 3 bistabilní relé s dvěma přepínacími kontakty.
Uživatelský avatar
kubo23
Příspěvky: 5
Registrován: 18 dub 2014, 00:00

#8 Příspěvek od kubo23 »

Ďakujem za odpoveď.
Tak to to by mohlo byť s tým atmelom. Napájanie mám len 5V takže to by sa len upravilo na 5V relé. A čo sa týka toho programu. Mohol by si mi to priamo naprogramovať aj do atmelu? Do Havířova to nemám ďaleko. Odbehnem.
Uživatelský avatar
nekmil
Příspěvky: 787
Registrován: 06 bře 2005, 00:00
Bydliště: Havířov

#9 Příspěvek od nekmil »

Program jsem "napsal" tak aby byl co nejjednodušší a lehce pochopitelný.
Nepoužil jsem tedy žádná přerušení.
V simulátoru funguje.
Odzkoušeno na vývojové desce s ATmega644 na 16MHz a vzhledem k rychlosti hodin jsem to musel trochu upravit. S Attiny 2313(4313) na 1MHz
by zřejmě fungoval i původní program.

'(
-----------------------------------------------------------------------------
name: prepinac_rele.bas
copyright: (c)4-2014, nekmil@cbox.cz
Micro: Attiny 4313
BASCOM-AVR:2.0.7.7
-----------------------------------------------------------------------------
Fuse ponechat v továrním nastavení tzn.
vnitřní RC oscilátor 8 MHz a dělička 8-mi
tzn. procesor jede na 1 MHz
')
$regfile = "attiny4313.dat"
$crystal = 1e6 ' crystal frequency 1MHz
$hwstack = 42 ' default HW stack
$swstack = 32 ' default SW stack
$framesize = 24

'konfigurace výstupů
Config Portb.0 = Output
Config Portb.1 = Output
Config Portb.2 = Output
Config Portb.3 = Output

'výstupům přiřadíme jméno
rele_1 Alias Portb.0 'Vystup1
rele_2 Alias Portb.1 'Vystup2
rele_3 Alias Portb.2 'Vystup3
rele_4 Alias Portb.3 'Vystup4
'--------------------------------------------------
'konfigurace vstupů
Config Pind.0 = Input 'tlačítko 1
Config Pind.1 = Input 'tlačítko 2
Config Pind.2 = Input 'tlačítko 3
Config Pind.3 = Input 'tlačítko 4

Portd.0 = 1 'nastavit pull-up
Portd.1 = 1 'nastavit pull-up
Portd.2 = 1 'nastavit pull-up
Portd.3 = 1 'nastavit pull-up
'vstupum přiřadíme jméno
tlacitko_1 Alias Pind.0
tlacitko_2 Alias Pind.1
tlacitko_3 Alias Pind.2
tlacitko_4 Alias Pind.3

const on=1
const off=0
'config DEBOUNCE=30
'config Debounce zde nepoužito
'default hodnota jest tedy 25 ms


'hlavní program
'--------------------------------------------------
do
Debounce tlacitko_1 , 0 , r1 , Sub
Debounce tlacitko_2 , 0 , r2 , Sub
Debounce tlacitko_3 , 0 , r3 , Sub
Debounce tlacitko_4 , 0 , r4 , Sub
loop
'--------------------------------------------------
'ovládání rele_1
r1:
if rele_1= on then
rele_1=off
else
rele_1=on
rele_2=off
rele_3=off
end IF
return
'-----------
'ovládání rele_2
r2:
if rele_2= on then
rele_2=off
else
rele_2=on
rele_1=off
rele_3=off
end IF
return
'-----------
'ovládání rele_3
r3:
if rele_3= on then
rele_3=off
else
rele_3=on
rele_2=off
rele_1=off
end IF
return
'-----------
'ovládání rele_4
r4:
if rele_4= on then
rele_4=off
else
rele_4=on
end IF
return
Odpovědět

Zpět na „Poradna“