Doel:€250.00
Donaties:€107.00

Per saldo:€-143.00

Steun ons nu!

Laatst bijgewerkt
op 17-06-2019
Algemeen

De stichting

Recente berichten

BNLS-actie: Artitec DAF SRV door Edsko Hekman
Vandaag om 18:35:57
Wie herkent deze sfeervolle beschrijving? door spock
Vandaag om 18:32:30
Projekt 083-338 door Eric B
Vandaag om 18:28:32
Van Swarzach naar Swarzburg door nkob
Vandaag om 18:20:05
Mijn eerste H0-modeltreinbaan in aanbouw door tijgernootje
Vandaag om 17:46:55
NCS 7/8 tot NS 61 62 Maffei lok in spoor 0 door JaJo
Vandaag om 17:41:50
Vitrinekast ipv baan door steven346
Vandaag om 17:37:56
Roco Fccpps door VAM65
Vandaag om 17:33:22
Exacttrain, SBB Gbs, een nieuwe variant. door Arnold van Heyst
Vandaag om 17:30:46
'even voorstellen’ uit Las Vegas door thonis
Vandaag om 17:20:09
Demontage Electrotren 1300 door hmmglaser
Vandaag om 17:03:19
Baanbouw met Ecos besturing genaamd: Giessenstad Rbf door Esufreak
Vandaag om 15:58:58
Modulebaan, waar kun je schaduwstation maken, en andere vragen. door rjr
Vandaag om 15:27:34
De bouw van Rehausen. door Lobomotion69
Vandaag om 15:14:40
Atlas Reko DDR tram 'T59' gesuperd door Roy van Dijk
Vandaag om 14:52:58
De bouw van mijn modelbaan in Thailand door phdirk
Vandaag om 13:42:30
ARBED-A Wagens, wie heeft hier meer info over?? door Solvognen
Vandaag om 13:42:10
Raadplaatje door Klaas Zondervan
Vandaag om 13:04:00
Tips voor een natuurgetrouwe modelbaan door Eric B
Vandaag om 10:25:42
25 jaar geleden door Arjan6511
Vandaag om 10:18:17
Onlangs gespot - gefotografeerd, de foto's door Eric B
Vandaag om 10:18:03
Spoor op industrieterrein Lage Weide door NS264
Vandaag om 09:38:51
Een secundair lijntje in de Puy de Dome en de (Haute) Loire anno 1968 door Karben
Vandaag om 09:09:20
VERPLAATST: Marklin 39978 Motorwagen serie VT 98.9, loopt vast op wissels. door Bert van Gelder
Vandaag om 00:44:49
Kleinste Modelbahnen ter wereld door Bjor
17 juni 2019, 23:41:26
NS modelbaan Hoekdam H0 door Reinier Z.
17 juni 2019, 23:32:30
Intellibox II door Bahn-AG
17 juni 2019, 22:52:56
Toon hier je nieuwe (model-) spooraanwinst(en)... door Eric B
17 juni 2019, 22:44:01
Tandwielen van as Rocomotortje afkrijgen door Fritsprt
17 juni 2019, 19:56:18
Geknoei in 0 door Ronald Koerts
17 juni 2019, 19:33:22
  

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

Ronald Hofmeester

  • Offline Offline
  • Berichten: 614
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 »
Met vriendelijke groet Ronald

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4409
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

Ronald Hofmeester

  • Offline Offline
  • Berichten: 614
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 »
Met vriendelijke groet Ronald

spock

  • Offline Offline
  • Berichten: 249
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: 4409
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

Ronald Hofmeester

  • Offline Offline
  • Berichten: 614
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.

Met vriendelijke groet Ronald

meino

  • Offline Offline
  • Berichten: 424
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

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3350
  • 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.

Ronald Hofmeester

  • Offline Offline
  • Berichten: 614
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 »
Met vriendelijke groet Ronald

Klaas Zondervan

  • Offline Offline
  • Berichten: 17069
    • 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.
Spoorbaan "Uit en Thuis" in aanbouw.

gvandersel

  • HCC!m maar toch Selectrix (RMX)
  • Offline Offline
  • Berichten: 3350
  • 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: 4409
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

Ronald Hofmeester

  • Offline Offline
  • Berichten: 614
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.



Met vriendelijke groet Ronald

Timo

  • Team encyclopedie
  • Offline Offline
  • Berichten: 4409
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

Ronald Hofmeester

  • Offline Offline
  • Berichten: 614
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.
Met vriendelijke groet Ronald