arduino bezpecny vystup

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
samec
Příspěvky: 3692
Registrován: 19 pro 2017, 01:00

arduino bezpecny vystup

#1 Příspěvek 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
Naposledy upravil(a) samec dne 01 srp 2022, 12:33, celkem upraveno 1 x.

Uživatelský avatar
bdn
Příspěvky: 436
Registrován: 16 led 2020, 01:00

#2 Příspěvek 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á...

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#3 Příspěvek 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.

Uživatelský avatar
samec
Příspěvky: 3692
Registrován: 19 pro 2017, 01:00

#4 Příspěvek 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í.

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#5 Příspěvek 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.

Uživatelský avatar
kiklhorn
Příspěvky: 58
Registrován: 05 čer 2021, 02:00

#6 Příspěvek od kiklhorn »

z procáku bych dal 10k proti zemi a vyhodil ten 1k z báze na zem.

Uživatelský avatar
Kvicala_r
Příspěvky: 3221
Registrován: 19 led 2005, 01:00
Bydliště: Haná / N.J.

#7 Příspěvek 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)

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#8 Příspěvek 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.

Uživatelský avatar
Cowley
Příspěvky: 3087
Registrován: 04 úno 2005, 01:00

#9 Příspěvek 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.

Uživatelský avatar
nokijec
Příspěvky: 287
Registrován: 01 úno 2011, 01:00

#10 Příspěvek od nokijec »

Zkus tranzistor PNP a ovládej to logickou 0.

Uživatelský avatar
pocitujlasku
Příspěvky: 1757
Registrován: 12 pro 2005, 01:00

#11 Příspěvek 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
No vidis, a tak si sa bal

Uživatelský avatar
samec
Příspěvky: 3692
Registrován: 19 pro 2017, 01:00

#12 Příspěvek 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.

termit256
Příspěvky: 10071
Registrován: 06 pro 2007, 01:00

#13 Příspěvek 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.

Uživatelský avatar
pocitujlasku
Příspěvky: 1757
Registrován: 12 pro 2005, 01:00

#14 Příspěvek 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.
No vidis, a tak si sa bal

Uživatelský avatar
samec
Příspěvky: 3692
Registrován: 19 pro 2017, 01:00

#15 Příspěvek 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.

Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“