Doel:€250.00
Donaties:€50.00

Per saldo:€-200.00

Steun ons nu!

Laatst bijgewerkt
op 03-01-2024

Vacature: secretaris bestuur
Algemeen

De stichting

Recente berichten

Marklin Telexkoppelingen blijven hangen door MRdirect
Vandaag om 15:33:14
Zoekfunctie ? door VAM65
Vandaag om 15:22:08
Onlangs gespot - gefotografeerd, de foto's door Keska
Vandaag om 14:48:26
Werps Soldeerworkshop door Marco Staartjes
Vandaag om 14:47:12
Geluid NS Mat'46 vs NS Mat'54 door Peter Kleton
Vandaag om 14:27:30
De (3d) knutsels van Ronald. door MaraNCS
Vandaag om 14:25:44
FFA koelwagen door Duoblock
Vandaag om 14:19:55
Bentheimer Eisenbahn, gisteren, vandaag en morgen. door Hans Reints
Vandaag om 14:03:01
De IJmuider spoorlijn - korte geschiedenis en plaatjes door sncf231e
Vandaag om 13:45:43
Piko NS 2015 stroomafname probleem door Rick
Vandaag om 13:24:51
Punt- en hartstukken door 1200blauw
Vandaag om 13:12:58
welk jaar ging Marklin OVP voor wagons van blauw naar wit door Bahn-AG
Vandaag om 12:42:50
US diorama in H0 door moonlicht
Vandaag om 12:40:54
Doornvliet door raymond erdtsieck
Vandaag om 12:23:03
U-vorm beperkte ruimte (H0 C-rails) door eitreb
Vandaag om 12:06:06
Leids spoor (voorheen Blauwpoortsbrug) door gdh
Vandaag om 11:55:50
7 april De Karel on tour door NL-modelspoor
Vandaag om 11:51:04
NS Tals wagons (kalktrein) door Arjan6511
Vandaag om 11:41:59
Ombouw/Pimpen Bolle neuzen door bollen neus
Vandaag om 11:19:47
Beekdaelen in H0 door VulcanRaven
Vandaag om 11:00:45
Stroomdetectie bij goederenwagens door henk
Vandaag om 10:32:03
MARDEC, de Multifunctionele ARduino dcc DECoder. door NTeering
Vandaag om 10:23:47
nieuw te leggen sporen passend maken door Jelmer
Vandaag om 10:05:07
MSV Post B, even voorstellen... door Rsd1000
Vandaag om 10:01:44
30 maart Modelspoorbeurs Houten & HCC Kennisdag door Jelmer
Vandaag om 09:52:49
Mijn eerste H0-modeltreinbaan in aanbouw door DJV
Vandaag om 09:42:59
Bouw van materieel 40 treinstellen door Pauldg
Vandaag om 07:52:09
NS 8400 van Werps door MathynK
Vandaag om 07:05:15
Al mijn goede ideeën... door bask185
28 maart 2024, 23:12:12
Gebruik je Arduino zonder te "programmeren" ;) door bask185
28 maart 2024, 22:51:58
  

Auteur Topic: Status van de Arduino zelf naar uitgang zetten?  (gelezen 4143 keer)

Ronald1974

  • Gast
Status van de Arduino zelf naar uitgang zetten?
« Gepost op: 15 mei 2019, 16:20:01 »
Ik wil op mijn untility paneel een led laten branden zodat ik kan zien dat de Arduino goed functioneert.
Een klein beetje vergelijkbaar met een PLC waar het run lampje brand.

Het gaat dus om de status dat de Arduino goed functioneert, niet zo zeer de code (programma).
Is daar een stukje code voor beschikbaar welke dit mogelijk maakt.
« Laatst bewerkt op: 16 mei 2019, 17:47:36 door Bert van Gelder »

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Status van de Arduino zelf naar uitgang zetten ?
« Reactie #1 Gepost op: 15 mei 2019, 16:42:47 »
Dan kan je toch gewoon een ledje aan een pin hangen en deze in setup() HIGH maken?


Timo
Verzonden vanaf mijn desktop met Firefox

Ronald1974

  • Gast
Re: Status van de Arduino zelf naar uitgang zetten ?
« Reactie #2 Gepost op: 15 mei 2019, 17:51:47 »
Timo,

Dat begrijp ik zelf ook wel dat je een pin hoog kan maken in de setup.
Kan ook de bestaande code uitbreiden met een stukje code welke de code vergelijkt/controleert en als deze goed is de uitgang hoog maakt.
Zo zijn er nog wel meer mogelijk heden.

Het gaat dus om de status dat de Arduino goed functioneert

Wil dus weten dat de hardware van de Arduino goed werkt.
En dit vertalen naar een uitgang.
Ga er vanuit dat als de Arduino is op gestart dat er intern een bit, byte of wat dan ook aanwezig is welke het uitvoeren van de code start.

Ben gewend dat je dit soort statussen uit een PLC of DCS systeem kan halen.

Een optie zou zijn als de arduino is gestart gaat de millis () teller lopen.
Een stukje code wat bijvoorbeeld om de minuut kijkt of deze teller 60000 miliseconden er bij heeft geteld.
Zolang dat gebeurd blijft de uitgang hoog.

Misschien is er iemand die weet hoe je (systeem) statussen kan verwerken in de code om een uitgang te sturen.

Welke adderss en welke bit van de ATmega328p moet ik hebben.
Kan het niet zo snel vinden in de datasheet.

« Laatst bewerkt op: 15 mei 2019, 18:31:46 door Ronald Hofmeester »

spock

  • Offline Offline
  • Berichten: 652
Re: Status van de Arduino zelf naar uitgang zetten ?
« Reactie #3 Gepost op: 15 mei 2019, 20:57:34 »
Hoi Ronald,

Ik vertaal de vraag "Wil dus weten dat de hardware van de Arduino goed werkt" naar "wil weten dat de Arduino niet is gecrashed (eg de  functie loop() wordt niet meer uitgevoerd".

Kijk hiervoor eens naar de voorbeelden van watchdog functionaliteit.

bv: https://forum.arduino.cc/index.php?topic=63651.0

Met een paar kleine aanpassingen kun je het daarmee maken

mvg spock




Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Status van de Arduino zelf naar uitgang zetten ?
« Reactie #4 Gepost op: 15 mei 2019, 23:06:47 »
Eigenlijk in het kort, nee dat kan niet. Niet zonder extra hardware.

Waarom ik met gewoon een pin hoog maken kwam is dat eigenlijk de enige check van de hardware is die je kunt doen (misschien samen met de brown out zo hoog mogelijk zetten). Immers betekend dat de voedingsspanning in orde is en de uC al best een waslijst aan taken heeft weten uit te voeren. Misschien nog Vcc inlezen maar dan houdt het ook wel op.

Extern zou je qua hardware nog kunnen kijken of de clock nog tick (dmv clock out aan te zetten).

Ophogen van millis() controleren is ook onzin. Er zit maar één processor in de Arduino (meeste dan) en zolang die überhaupt millis() weet uit te lezen zal millis zelf ook wel werken  ;D tenzij je interrupts voor lange tijd uit hebt gezet.

Watchdog zegt voor 99% ook niets over de hardware maar over de software. Maar aan de andere kant begin ik het idee te krijgen dat het toch de software is waar je bang voor bent. Goed, een normale Arduino is geen space grade chip of heeft geen fail safe, maar de kans dat de hardware zomaar stuk gaat (afgezien van de hele chip of uitgang op te blazen met ESD ofzo) is erg klein. Zou eerder inzetten op de jackpot winnen dan dat.

Dus ja, je kunt de watchdog gebruiken maar dat zal in 99,9% van de gevallen een programmeerfout van jou kant aangeven. En watchdog heeft eigenlijk ook alleen nut als je ook bijhoudt wanneer / hoe vaak deze heeft ingegrepen zodat je onderzoek kunt doen waar je probleem zit.

Een PLC heeft meerdere processors die (al naar gelang type en merk) bijvoorbeeld ook de uitgangen controleren (en eventueel overnemen), checksums doen op het geheugen en watchdogs om te kijken of de boel niet gecrashed is. Maar dat is eigenlijk higher level en dus op basis van meerdere processors. De atmega328 is maar een enkele. Dus nee, daar zijn geen status bitjes voor.

Maar goed, dan als wedervraag, waar ben je bang voor?


Timo
Verzonden vanaf mijn desktop met Firefox

Ronald1974

  • Gast
Re: Status van de Arduino zelf naar uitgang zetten ?
« Reactie #5 Gepost op: 16 mei 2019, 14:02:18 »
Hallo Timo,
Je vroeg het volgende.
Maar goed, dan als wedervraag, waar ben je bang voor?

Ik ben nergens bang voor, heb tot nu toe nog geen vast gelopen Arduino gehad.
Voor de modelspoorbaan maakt het niet veel uit of het ledje wat op het paneel brand tot stand is gekomen door een stukje code of juist de functie uit de ATmega328p wat blijkbaar niet aanwezig is.

Ben zelf zeer verrast wat je allemaal met een Arduino kan doen.
Mede door de vele libraries die beschikbaar zijn.

Er is een ON, RX, TX en een L (pin13) led onboard aanwezig maar geen LED code running/status oke.

Ga nu eerst even na denken wat ik ga doen, simpel weg bij de opstart (setup) de uitgang hoog maken.
Of een stukje code toevoegen of er geen foutieve bediening zijn (op het paneel) dan blijft de controle lamp (led) branden of ander gaat de led uit.
Dat is dan weer te volgen in het draadje Hoekdam.


meino

  • Offline Offline
  • Berichten: 2089
Re: Status van de Arduino zelf naar uitgang zetten ?
« Reactie #6 Gepost op: 16 mei 2019, 16:24:16 »
Ronald

je zou ook in de loop functie een ledje periodiek aan en uit kunnen zetten. Zolang het dan knippert weet je dat de loop functie in ieder geval nog steeds wordt aangeroepen en doorlopen.

Groet Meino
A clean desk is a sign of an empty mind

Kranenberg
De CanBus komt naar Kranenberg

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3602
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: Status van de Arduino zelf naar uitgang zetten?
« Reactie #7 Gepost op: 20 mei 2019, 15:18:31 »
Ik zou inderdaad doen wat Meino aanbeveelt. Laat een LED door de loop functie knipperen. Dit geeft een betere "bewaking" dan aan of uit. Want wat als toevallig je uitgang door een defect naar GND gaat en je LED dus blijft branden en de Arduino op hol slaat.

In een paranoide bui zou ik vermoedelijk brown-out en watchdog activeren en deze pen 13 (LED-BUILTIN) laten knipperen. Maar zoals gezegd in een paranoide bui. Er draaien verscheidene echte arduino's en een een groot aantal AVR'n (familie naam van de ATmega328) onder de baan hun werkzaamheden. Mochten ze ooit niet meer doen wat ze moeten doen gaat het op de baan mis en zal ik onder de baan duiken om naar de boosdoener te kijken.

Voorlopig leg ik deze verantwoordelijke taak bij mezelf al gedurende enige 10 tallen jaren tot volle tevredenheid.

Mijn advies is verspil je tijd en de pennen niet aan deze voorziening, want het is de moeite niet waard.

Groet,

Gerard van der Sel.

PS: met LPM kan je door je programma geheugen heen stappen en een CRC checksum maken. Hiermee kan je je programma zelf controleren. Hoe je de fout moet melden laat ik aan je eigen fantasie over, want wie zegt dat dat nog gebeurt bij een fout (Lees betoog van Timo maar goed).
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

Ronald1974

  • Gast
Re: Status van de Arduino zelf naar uitgang zetten?
« Reactie #8 Gepost op: 20 mei 2019, 19:41:12 »
Gerard,

Donderdag avond kreeg ik een idee, vrijdag even tijd vrij gemaakt en een klein stukje code aangevuld en ik heb een status melding.
In kort 7 schakelaars van het bedieningspaneel aangesloten op de arduino.
De arduino verzorgt de logica (vergelijking) voor de aansturing van vier armseinen (servo's).
Hierbij worden er vier bitjes gegenereerd, een vijfde bitje heb ik extra aan gemaakt deze vergelijkt of alle schakelaars in rust positie staan.
Als 1 van deze bitjes hoog is dan is de uitgang hoog status oke, ik heb 5 seconden de tijd om de schakelaars te bedienen in de goede stand zetten.
Gebeurt dit niet dan is er een bedienings fout en wordt de uitgang laag.
Op deze manier heb ik een simpele status melding met fout melding.
« Laatst bewerkt op: 20 mei 2019, 19:43:55 door Ronald Hofmeester »

Klaas Zondervan

  • Online Online
  • Berichten: 25182
    • Pagina van klaas
Re: Status van de Arduino zelf naar uitgang zetten?
« Reactie #9 Gepost op: 20 mei 2019, 20:07:05 »
Je kunt ook een echte watchdog maken. Als ik me niet vergis is dat een hardware timer die een led aan zet. Als de timer afloopt gaat de led uit. In je Arduino creëer je een uitgang die periodiek de timer een schop geeft zodat de led blijft branden.

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3602
  • Als het maar elektrisch is.
    • Homepage Gerard van der Sel
Re: Status van de Arduino zelf naar uitgang zetten?
« Reactie #10 Gepost op: 20 mei 2019, 20:21:49 »
@Ronald: Dat is niet wat ik begreep. Je controleert zo een beperkt deel van de functionaliteit. Als voor jou voldoende dan toepassen.

@Klaas: Watchdog is een speciale timers die programmatisch gereset word. Gebeurt dat niet op tijd, dan wordt de hele Arduino gereset. Er gaat dus geen hardware functionaliteit verloren.

Groet,

Gerard van der Sel.
Holzburg (IIIb/IVa) schaal N.
Kijk ook eens bij de bouw en lees de avonturen.

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Status van de Arduino zelf naar uitgang zetten?
« Reactie #11 Gepost op: 20 mei 2019, 20:27:21 »
@Ronald Hofmeester, daarmee controleer je toch alleen maar jezelf? Of jij de schakelaars goed zet? Of zie ik dat verkeerd? ???

Watchdog kan je volgens mij niet direct aan een pin koppelen. Maar je kan er wel een ISR mee triggeren (mits deze aan staan) of voor een chip reset zorgen en tijdens boot checken of dat door een watchdog reset kwam. Maar goed, daarmee controleer je dus vooral je geschreven code, niet de werking van de chip op hardware niveau.


Timo
Verzonden vanaf mijn desktop met Firefox

Ronald1974

  • Gast
Re: Status van de Arduino zelf naar uitgang zetten?
« Reactie #12 Gepost op: 20 mei 2019, 20:45:19 »
Heren,

Er is vanuit de hardware (chip) geen status van de chip beschikbaar welke visuele zijn of visuele gemaakt kunnen worden.

Ik controleer nu de werking van de software totaal 56 variabele.
Nee het is eigenlijk niet wat ik wilde, maar nu ik het gemaakt hebt en het werkt ben ik er blij mee.




Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4656
Re: Status van de Arduino zelf naar uitgang zetten?
« Reactie #13 Gepost op: 20 mei 2019, 22:06:48 »
Hoi Ronald,

Dat je er blij mee bent is natuurlijk het belangrijkste (y) Mijn bericht was ook niet als commentaar bedoelt. Maar echt als serieuze vraag wat je nu werkelijk controleert. Dat is me namelijk niet duidelijk. ???


Timo
Verzonden vanaf mijn desktop met Firefox

Ronald1974

  • Gast
Re: Status van de Arduino zelf naar uitgang zetten?
« Reactie #14 Gepost op: 21 mei 2019, 19:49:05 »
Hoi Timo,

Als ik het heel simpel redeneer als de code het programma goed werkt dan zal er niks aan de hand zijn met de Arduino.
Er is een ON, RX, TX en een L (pin13) led onboard aanwezig maar geen LED code running/status oke.
Het zou fijn zijn als zo iets aanwezig zou zijn.

@Ronald Hofmeester, daarmee controleer je toch alleen maar jezelf? Of jij de schakelaars goed zet? Of zie ik dat verkeerd?

Ik kijk onder andere naar de schakelaar standen, maar ook naar alle interlock's en voorwaarde en logica vergelijkingen.
Kijk naar wisselstand, rijweg en kan vervolgens het sein bedienen.
Als het sein is bediend treed er weer andere interlock's in werking.

Als alles goed werkt brand het status lampje bij fout of bedienings fout gaat na 5 seconden het lampje uit.
Bij het bedienen van de schakelaars heb je vijf seconden de tijd om dit te doen.