tweede lokatie bibliotheken en geen communicatie na updates.

IDE gerelateerde berichten
Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

tweede lokatie bibliotheken en geen communicatie na updates.

Berichtdoor Frans53! » 13 Okt 2023, 16:13

Ik heb denk ik best een gecompliceerd probleem. Het zijn er twee, die niets met elkaar te maken hebben, maar toch samen mijn huidige probleem oplevert.

1.
Na een update van arduino én een update van windows 10, waarna ik meerdere arduinoboards opnieuw heb gecompileerd vanwege andere opties, deed ineens mijn communicatie tussen die boards niets meer. De communicatie wordt gevormd door een RS485 én een softwareSerial bibliotheek.
De genoemde updates en de herprogrammering van de boards vonden op dezelfde middag plaats op 11-10-2023.

Ik ben voor wat betreft de arduino updates teruggegaan naar eerdere versies. Die heb ik kunnen localiseren, dus die zijn OKE. Dit gaf geen verbetering.

Voor wat betreft windows10 kan ik niet lokaliseren.

Uiteindelijk heb ik de IDE opnieuw geinstalleerd. Dit gaf geen verbetering. Wel heb ik gekozen voor de oudere versie, omdat die me beter bevalt.
Maar door die her-installatie kom ik gelijk met het tweede probleem:

2.
De tweede lokatie van mijn bibliotheken wordt niet gevonden.

De arduino-eigen bibliotheken staan ergens in de root van arduino.

De tweede lokatie, waar alle zelf gedownloade bibliotheken staan, staan bij mij in .../documenten/arduino/libraries.
Het probleem is, dat het IDE deze lokatie niet meer vindt. Voorheen ging het prima, maar sinds de her-installatie gaat dit fout.
Ik kan ook nergens vinden waar ik die 2e lokatie kan opgeven.

--
Wie kan mij hiermee helpen:
1. om mijn communicatie terug te krijgen.
2. om de tweede lokatie van de bibliotheken terug te laten vinden.

Groetjes,
Frans.

Advertisement

Berichten: 62
Geregistreerd: 05 Feb 2023, 13:30

Re: tweede lokatie bibliotheken en geen communicatie na upda

Berichtdoor sterretjeToo » 15 Okt 2023, 05:09

Frans53! schreef:2.
De tweede lokatie van mijn bibliotheken wordt niet gevonden.

De arduino-eigen bibliotheken staan ergens in de root van arduino.

De tweede lokatie, waar alle zelf gedownloade bibliotheken staan, staan bij mij in .../documenten/arduino/libraries.
Het probleem is, dat het IDE deze lokatie niet meer vindt. Voorheen ging het prima, maar sinds de her-installatie gaat dit fout.
Ik kan ook nergens vinden waar ik die 2e lokatie kan opgeven.


Ik gebruik een engelstalige versie van de IDE. De IDE kijkt in de directory die is opgegeven in file → preferences (bestand → voorkeuren ?). In jouw geval zou die directory .../documenten/arduino/ moeten zijn.

Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Re: tweede lokatie bibliotheken en geen communicatie na upda

Berichtdoor Frans53! » 15 Okt 2023, 19:47

Bedankt sterretje,

Het werkt nu.

Ik dacht dus dat /libraries er ook bij moest staan in het pad, maar dat is dus niet zo.

In ieder geval is er één deel nu opgelost.

Groeten,
Frans.

Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Re: tweede lokatie bibliotheken en geen communicatie na upda

Berichtdoor Frans53! » 15 Okt 2023, 20:07

Nog even een aanvulling geval 1.:

Kan het zijn dat de bedoelde update van Adafruit BusIO de boel op de achtergrond in de war kan sturen? Want in dat geval zou het terugzetten naar een oudere versie niets uitrichten, als uitsluitend die update iets op de achtergrond verkeert doet. (achtergrond bedoel ik bijvoorbeeld in softwareSerial)

Wie weet....
Groeten,
Frans.

Berichten: 62
Geregistreerd: 05 Feb 2023, 13:30

Re: tweede lokatie bibliotheken en geen communicatie na upda

Berichtdoor sterretjeToo » 16 Okt 2023, 07:02

Frans53! schreef:Ik dacht dus dat /libraries er ook bij moest staan in het pad, maar dat is dus niet zo.

Het pad dat je opgeeft is het sketch boek; dit is de standaard locatie waar de IDE sketches wil opslaan. Het is dus niet, zoals je nu weet, de bibliotheek locatie.

Frans53! schreef:Kan het zijn dat de bedoelde update van Adafruit BusIO de boel op de achtergrond in de war kan sturen?

Het is niet erg waarschijnlijk dat die bibliotheek problemen veroorzaakt. Je kunt deze altijd terugdraaien; je moet misschien ook andere bibliotheken die daar van afhangen terug draaien maar dat moet je proberen. Als er een bug was in de bibliotheek was die zeer waarschijnlijk al lang geleden bekend; momenteel staat er slechts een (1) issue open voor de BusIO bibliotheek: https://github.com/adafruit/Adafruit_BusIO/issues

Het is naar mijn mening waarschijnlijker dat een update van een bibliotheek een probleem (bug) in je sketch heeft bloot gelegd; ik weet dat je dit niet wilt horen :)

Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Re: tweede lokatie bibliotheken en geen communicatie na upda

Berichtdoor Frans53! » 18 Okt 2023, 11:06

Sterretje, bedankt voor je reactie.

Dat ik eventueel om mijn oren wordt geslagen, ben ik wel gewend met het vinden van een goede programmering.
Ik zit midden in een project van het zelf bouwen van een weerstation, bestaande uit allemaal aparte stations. (Nano, MEGA2560, Nano 33 BLE) Deze zijn onderling verbonden met een netwerk, waarover de voeding loopt en natuurlijk de communicatie. Dit is eigenlijk nooit af; er is altijd wel ergens verbetering mogelijk. Maar het houdt me van de straat.

Zo heb ik meerdere varianten van die communicatie uitgeprobeerd. Zowizo heb ik daar softwareSerial bij nodig, en een goed protocol. Dat is de RS485 geworden, waarvan heel slechte maar ook heel goede varianten aan bibliotheken zijn te vinden.
En dan ineens....... is alle communicatie weg. Er gebeurde die middag verschillende dingen.
1. update windows10
2. 2 updates van arduino, bibliotheken die ik al heb, maar deze 2 gebruik ik niet in mijn project.
3. een paar kleine wijzigingen die niet gerelateerd zijn aan de communicatie, maar al wel op meerdere stations aangebracht. Deze updates heb ik teruggedraaid, maar zonder positief resultaat.
En dan weet ik niet bij welke van die 3 ik het moet zoeken.

Tja, weet jij het? ik helaas nog niet.
Ik moet van voren af aan de zaak weer opbouwen:
1. communicatie opbouwen met simpele hardware, RX en TX.
2. Kijken of het ook werkt op andere pinnen met softwareSerial.
3. implementeren van RS485.
Ik denk als ik me even een midagje kwaad maak, dat dit is uitgeprobeerd. En dan komt wel ergens het probleem boven tafel.

Ik houd je (en jullie, forum) op de hoogte.

Groet,
Frans.

Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Re: tweede lokatie bibliotheken en geen communicatie na upda

Berichtdoor Frans53! » 26 Okt 2023, 20:33

Even een update, zoals beloofd:

Ik kan nog steeds niet echt de vinger op de zere plek leggen. Dan gaat het ineens gedeeltelijk goed, nog wel met een soort van echo op de lijn, maar toch.
Op een ander moment is het weer helemaal knudde.

Ik heb nog eens documentatie van mezelf erop nageslagen. (jaja, ik houd redelijk goed diverse naslagwerken bij)
Ik gebruik al vanaf het begin een vorm van communicatie, waarin ik het ic MAX485 gebruik, wegens de lange 2-draadse leiding tot 1200 meter, die het ondersteunt.
Eigenlijk heb ik daar al vanaf het begin gedonder mee gehad. Ze fikken er regelmatig uit, worden zelfs erg heet, kan er een ei op bakken.
Dan ineens loopt de communicatie redelijk goed na het uitwisselen van deze IC's, op een ander moment blijven de problemen bestaan.
Dit heeft me al vele IC's gekost.
En nu heb ik er weer 100 besteld bij ome Ali, voor ongeveer 7 euro inclusief verzending. Nou, dan kan ik er wel even mee vooruit.

Nu ben ik veel bezig met arduino besturingen, maar ben ook nog electronicus op schoolniveau van de oude stempel.
Met de datasheet in de hand en heel wat denkwerk, kan ik er niet omheen dat ik exact de schema's moet volgen die daarin worden weergegeven.
Maar in de eerdere opzet van mijn communicatie werkte dat gewoon helemaal niet.

Sinds het voorjaar gebruik ik een RS485 bibliotheek van Nich Gammon. Die gaf me heel verrassende resultaten. Ineens kon ik duidelijk de datasheet volgen voor wat betreft electronisch opbouw. Maar ik bleef het probleem van het doorfikken houden.

Voor degene die hiermee bekend zijn ga ik nu verder.
Het datasheet heeft een duidelijke absolute maximum van de DI ingang van VCC+0,5. Nou, normaal gesproken zou dat geen probleem opleveren.
Ik denk zelf dat het bij mij duidelijk wél problemen oplevert.
Nou net op het heetst van de strijd, als de ic moet gaan leveren aan de A-B-lijn, dat ook nog eens zeer laagohmig is, zou de vcc spanning wel eens behoorlijk kunnen zakken tot te ver onder de spanning van DI, die gelevert wordt door arduino, en bovendien zeer hoogohmig (= geen belasting).
Want een lang dun spoor op de printplaat zou zomaar eens de boosdoener kunnen zijn.
Nu geeft het datasheet een buffer van 10uF en een ceramische condensator van 0,1uF aan. Dat heb ik uiteindelijk uitgeprobeerd. Dat lijkt redelijk te gaan.
Nou heb ik geen super osciloscoop, maar een klein kastje, waarop ik wat spanningen kan laten zien. Daarmee zie ik duidelijk effecten van die condensatoren. Ik kan helaas niet goed achterhalen wat de vcc aan rimpel aan het ic doet.
Als alternatief stuurt de arduino de DI aan via een transistor op vcc van het ic. Hierdoor kan de spanning van DI niet meer boven de vcc uitkomen.
Helaas kan ik het niet meer uitproberen, ik ben inmiddels door mijn MAX485's heen. Even een paar weken op Ali wachten.

Meteen hier nog een uitleg waarom de bilbliotheek van Nick Gammon, en niet van arduino.
uuhhh... dat zou een mooi item zijn in een los blog, doe ik dan ook.

Ik houd jullie weer op de hoogte.
Groetjes, Frans.

Berichten: 4085
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: tweede lokatie bibliotheken en geen communicatie na upda

Berichtdoor shooter » 27 Okt 2023, 11:59

ik heb nog wel een scoop voor je staan
verder is het belangrijk dat je overal netjes 5 Volt hebt staan, alhoewel rs485 is best wel robuust, dus eerst zeker weten dat je geen 2 zenders aan hebt staan en beveilg dat met een paar weerstanden zodat de stromen altijd onder het maximum zijn.
paul deelen
shooter@home.nl

Berichten: 65
Geregistreerd: 09 Jun 2020, 22:11
Woonplaats: Roosendaal

Re: tweede lokatie bibliotheken en geen communicatie na upda

Berichtdoor Frans53! » 30 Okt 2023, 21:42

Paul, bedankt voor je bericht.

Ik kondigde aan dat ik een aparte blog zou schrijven voor de RS485. Nou, daar was ik mee begonnen, maar werd na een x tijd eruit gegooid, uitgelogged dus. En toen was ik mijn blog kwijt.....

Daarin beschreef ik allerlei zaken waar ik tegenaan loop, maar ook, en dat was het mooie als je alles op een rijtje zet met het schrijven van een blog, dat ik ineens inzichten kreeg waarmee ik eigenlijk bezig ben.

Ik zal proberen hier een kleine greep uit te halen.
De 5 volt, waar jij het over hebt, moet best wel rubuust zijn. Een condensatortje bij de RS485 ic, bij mij de MAX485, is echt niet genoeg. Als de chip moet zenden, stuurt het 2 lijnen, de A en de B lijn, aan, die zeer laagohmig zijn, 2x 120 ohm. Dus die in korte tijd veel energie moet leveren. Komt de VCC van het ic onder de aanstuurspanning van de datalijn, die vanuit de arduino komt, dan klapt de chip. En zo heb ik er velen gesloopt.
Ik heb nu weer 100 stuks in aankoop via ome Ali, kost geen dr... bijna niets. Kan ik weer experimenteren.

Volgens de datasheet van de MAX485 staat bij absolute maximum ratings, dat de transfer lijn (DI) niet boven de VCC +0,5 volt mag komen, maar ook niet onder de -0,5 volt. Beide grenzen waren bij mij heel erg / te krap. Gevolg is een vernielde IC, die best wel heet werd.

Maar hoe kwam ik dan buiten die absolute maximums. Nou, dan is een oscilloscoop, hoe klein ook, best wel handig. Daarop was duidelijk te zien dat de DI spanning piekjes heeft zowel positief als negatief. En tegelijkertijd dat de voeding op het ic daalde. Zowel de +5v lager, als de GND hoger. En bij een DI die best wel robuust is, en ook heel hoogohmig, waardoor die robuustheid ontstaat ten opzichte van de VCC op het ic.

Omdat ik de printplaten zelf bouw, heb ik te weinig rekening gehouden met de voedingssporen naar de MAX485 ic. Dit ben ik nu aan het aanpassen, door een draadshunt van de DC/DC converter, dat de 5 volt levert, naar de aansluitingen van het ic.

De gelijktijdigheid van het zenden is een ander verhaal. Die los ik al sinds jaar en dag op door een "bezetlijn" te hanteren. Een zender moet eerst die bezetlijn laag maken, voordat het zendt. Eenieder die wilt zenden, moet altijd eerst die bezetlijn checken. Alle bezetlijnen op elk station staat in serie met een weestand van 1k ohm. Hiermee voorkom je doorbranden van de IO poort van de arduino (proefondervinderlijk). Maar ook dat ging nogal eens mis. Ik had alle station om INPUT_PULLUP staan, waardoor de bezetlijn niet laag genoeg kwam om gedetecteerd te worden. Nu heb ik die PULLUP eruit gehaald en slechts 1x een pullup weerstand geplaatst in de bezetlijn. En dat gaat al een poosje goed.
Ooit heb ik een mix gehad van 2 stations die gelijktijdig verzonden, waardoor ik een datareeks zag, die exact als een ritssluiting in elkaar liep. Ik heb die dataoverdrachtt bewaard, want dat was best wel uniek.

Een andere manier van het voorkomen van gelijktijdigheid is een tijdsbepalend schema. Die heb ik toevalling vandaag gelezen. Op een tijdlijn krijgt elk station ergens gelegenheid op zijn data te verzenden.

Een eerste opzetje van het geheel is hoopvol. Weer fatsoenlijk datatransport.

Ik houd jullie op de hoogte.
Groetjes, Frans.

Berichten: 62
Geregistreerd: 05 Feb 2023, 13:30

Re: tweede lokatie bibliotheken en geen communicatie na upda

Berichtdoor sterretjeToo » 31 Okt 2023, 06:34

Frans53! schreef:De gelijktijdigheid van het zenden is een ander verhaal. Die los ik al sinds jaar en dag op door een "bezetlijn" te hanteren. Een zender moet eerst die bezetlijn laag maken, voordat het zendt. Eenieder die wilt zenden, moet altijd eerst die bezetlijn checken.


Ter informatie:

Je bent je ervan bewust dat er race condities kunnen zijn?

1) Bezet lijn is niet actief.
2) Zender 1 controleert of de bezet lijn actief is; lijn niet actief.
3) Zender 2 controleert of de bezet lijn actief is; zender 1 heeft de lijn nog niet geactiveerd dus lijn niet actief.
4) Beiden zien de bezet lijn als niet actief.
5) Zender 1 zet bezet lijn actief en begint te zenden
6) Zender 2 zet bezet lijn actief en begint te zenden

En dan heb je een probleem.

RS485 was bij mijn weten nooit bedoeld voor multi-master.

Volgende

Terug naar Arduino IDE

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast