Stránka 1 z 3
arduino bezpecny vystup
Napsal: 01 srp 2022, 10:18
od samec
Pouzil som na ovladanie dvoch rele výstupy 12 a 13, lebo boli najblizsie (arduino nano). Po zapnuti alebo v̶y̶p̶n̶u̶t̶i̶ po resete jedno rele na krátko zopne. Zrejme bootloader nieco skúša. Podľa datašitu by všetky výstupy mali byť po reštarte v stave vysokej impedancie. Ktoré výstupy z Arduina je bezpečné používať? Ako najjednoduchšie zabrániť nechcenému zopnutiu relé?
EDIT:
iné som myslel, iné som písal
Napsal: 01 srp 2022, 12:04
od bdn
To vypadá na hardwerový problém. Při rozepnutí / sepnutí jde špička rušení vzduchem nebo po vodičích. Schéma + fotka napoví. Obecně se dělají rozmístění součástek na DPS tak, že rušivé věci jsou na opačném konci než senzitivní věci...
Jinak atmega328 má bity, ze kterých lze zjistit příčinu resetu... watchdog atd...
edit1: jak píšeš, bezprostředně po zapnutí jsou výstupy ve stavu Hi-Z/vysoká impedance, do té doby než bootloader předá řízení aplikaci. Pro některé tranzistory/vstupní obvody i toto stačí pro "sepnutí" relátka. Připoj osciloskop a hned uvidíš, kdy porucha nastane a jak dlouho trvá...
Napsal: 01 srp 2022, 12:34
od termit256
Netusim jak to mas zapojene, ale pro zacatek bych zkusil dat z baze nebo gate tranzistoru spinajiciho relatko odpor na gnd jez se tam presne pro zabraneni tohohle dava. Pricin to muze mit spoustu a jestli ti tohle pomuze, nema vyznam je dal resit.
Napsal: 01 srp 2022, 17:09
od samec
Tranzistor MMBT2222A, z procaku 1kΩ na bázu a z bázy 1kΩ na GND.
Pin D12 je zároveň MISO, D13 je zároveň SCK a oba sú vyvedené aj na ICSP. Neviem teraz, ktorý z nich to robí, ale myslím, že po reštarte tam bootloader čosi hľadá. Asi budem musieť použiť iný pin. Len neviem ktorý pin je bezpečný bez prekvapení.
Napsal: 01 srp 2022, 17:27
od termit256
Ty odpory zapoj opacne, takhle to mas delic.
Nejlepsi bude nepouzivat to zmrsene arduino ktere si dela kdovi co, nemas nad tim co provadi zadny prehled.
Napsal: 01 srp 2022, 18:23
od kiklhorn
z procáku bych dal 10k proti zemi a vyhodil ten 1k z báze na zem.
Napsal: 01 srp 2022, 19:00
od Kvicala_r
Ten výstup je tak tolernatní, že povolí ho tahat zátěží na Vbe-sat? Já věřím, že ten seriový odpor tam má opodstatnění.
Klidně bych mu blokoval ještě za tím seriovým odporem bázi nějakou malou keramikou (desítky nF)
Napsal: 01 srp 2022, 19:04
od termit256
Samozrejme seriovy odpor do baze musi nechat, my se bavili o prohozeni odporu k zemi z baze na pin MCU. Kapacitu na relatko bych urcite nedaval, krom toho ze tam nema zadny vyznam, bude jen zpomalovat nabeh napeti na civce a tim i prubeh spinani.
Napsal: 01 srp 2022, 19:44
od Cowley
U jiného systému jsem nakonec zapojil ještě "řízené" plus pro relé, které "naběhlo" až po 2s chodu mikroprocesoru + zdroje.
Sice takové drbání, ale zatím OK.
Napsal: 01 srp 2022, 19:44
od nokijec
Zkus tranzistor PNP a ovládej to logickou 0.
Napsal: 01 srp 2022, 23:28
od pocitujlasku
u mcu byva zvykom spinat log. 0, prave preto, ze vacsina pinov po starte je " v lufte" - u atmega je ako input pin.
pin 13 sa mi zda, ze arduino pouziva pre led.
bezpecne piny mas v arduino dokumentacii, ja som nieco podobne riesil u esp a pomohlo dat odpor na - aby pin mal definovanu uroven a az sw ho davam do log. 1
Napsal: 01 srp 2022, 23:44
od samec
Potreboval som časovač spúšťaný kombináciou štyroch vstupov. Procesor som použil, aby to bolo čo najjednoduchšie s minimom súčiastok. Takže žiaden ďalší časovač tam dávať nebudem. Keby som vedel, že k relatkám budem potrebovať aj tranzistory, tak by som tam rovno dal optotriaky a ušetril by som si pol dňa môjho voľného času. A s ďalšími problémami sa z výkendovky stala popri práci výše dvoj-týždňová záležitosť. Je smutné, že nikde na internete nie sú pokope informácie k praktickej realizácii obvodov s Arduinom.
Napsal: 02 srp 2022, 00:10
od termit256
Kdyz vyhodis to zparchantele arduino, tak zjistis ze neni zadny duvod, aby vystupy byly v nedefinovanem stavu dyl nez par mikrosekund po resetu, coz ti zadne rele nesepne. A veskere informace najdes v datasheetu daneho mcu.
Napsal: 02 srp 2022, 08:56
od pocitujlasku
spinat rele tranzistorom a mat vzdy vystupy v definovanom stave je hadam zaklad.
a k arduinu nepotrebujes samostatne zapojenie, ono je to len obycajny atmega, alebo iny mcu obaleny napajanim a prevodnikom. cize pren plati to, co plati pre dany mcu.
Napsal: 02 srp 2022, 10:13
od samec
pocitujlasku píše:bezpecne piny mas v arduino dokumentacii,
Kde? Hľadal som, ale nič relevantne k Arduinu som nenašiel.
Problém robil pin 13, ten s LED. Prespájkoval som ho na pin 14(A0). Zdá sa, že teraz to funguje.
Viem, že existujú tisíce rôznych špeciálnych úplne najperfektnejších procesorov, ale ja nechcem strácať čas hľadaním vhodného procesora a potom strácať čas hľadaním informácií k nemu a potom to zložito navrhovať a odlaďovať. Potrebujem jednoduché, ľahko dostupné, univerzálne, overené, lacné riešenie, ktoré len vytiahnem zo šuflíka a na počkanie zapojím a naprogramujem. A ak nebude v šuflíku, tak zabehnem do najbližšej predajne so súčiastkami. A keď sa mi to po desiatich rokoch dostane naspäť do rúk s požiadavkou na zmenu funkcionality, tak to znova na počkanie preprogramujem. Preto Arduino.