Welkom  

   

Mijn Menu  

   

What's Up  

za mei 18 @12:00AM
ZF Pinkstertrip 2024
   

Wedstrijd  

Geen evenementen
   
   
   
   
   
   
   
   
   
   
   
   
   
   
Welkom, Gasten
De mogelijkheden om zelf te knutselen/ontwikkelen met de nieuwste generatie mini-PC's is eindeloos. Omdat er diverse fraaie initiatieven lopen die best wat eigen plek behoeven, bundelen we onze kennis in deze categorie.

Onderwerp: Arduino project aan boord

Arduino project aan boord 11 mei 2020 13:45 #1158558

TS hier:
@roozeboos zeilprutser; ik begrijp wat jullie zeggen. Ik begrijp het theoretische verschil tussen controller en processor, ik heb tenslotte een HTS eletrotechniek opleiding achter de rug afgestudeerd in informatica, zoals dat toen nog heette.
In de volksmond word eea door elkaar gebruikt om toch hetzelfde te duiden. Pas als je het gaat bestellen moet je goed opletten ;-)
Ik waardeer jullie bijdragen tenzeerste, omdat imo jullie er meer kaas van hebben gegeten dan ikzelf. Daarom is dit een mooi projectje (voor mij). Dus bijdrage aan het project door te blijven posten; bekvechten hebben we andere draadjes voor. Nu elkaar de hand weer schudden en vrolijk verder met wat ons plezier geeft.

En ja WiFi tzt staat ook op de future feature list... dus wie weet; maar eerst de must haves invullen.
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 11 mei 2020 13:51 #1158564

  • ErikSnel
  • ErikSnel's Profielfoto
  • Offline
  • Admin
  • Berichten: 7038
Mannen, luister naar Jazz die het perfect weergeeft: ga door met goede inhoudelijke bijdragen, hou beide op met bekvechten! Ik heb alle (nu al 8 :-( ) betreffende berichten verwijderd...
Team Zeilersforum.nl

“One impossible thing at a time” - Jean Juc Picard

Leukothea, Seahorse, 30m schoener, Defender 27. Friendship 28, Victoire 34 en nu Sigma 41 Star of Earendil
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 11 mei 2020 13:52 #1158565

Als jij het maar snapt Yazz, daar gaat het om.
als ik jou was zou ik wel eerst kijken naar de Wrover. Scheelt allicht dubbel werk.
Zeker als je ook wifi wil gaan doen.

Ik heb verschillende printplaatjes ontworpen waar hij op zit, als je dat zoekt maar even PB
Ontwerper van de RoosMux, en andere apparaatjes.
www.viax.nl

It's been said that a boat is a vessel continually looking for ways to sink itself..
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 11 mei 2020 14:03 #1158571

@H2O; goed om te weten van die ESP32. WiFi staat op de featurelist.
Als pro werk ik elke dag met MoSCow , dat zit op het ruggemerg na 35 jaar :-) De MEGA heeft aardig wat I/O poorten digitaal in ieder geval die niet door de display worden gebruikt.naar 4 seriële poorten en I2C en SCL
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 11 mei 2020 14:07 #1158572

@roozeboos; thks! ik hou het zeker even in het achterhoofd. Nu eerst de skills even ontroesten :-)
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 11 mei 2020 16:16 #1158629

  • H2O
  • H2O's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 1299
Yazz schreef :
@H2O; goed om te weten van die ESP32. WiFi staat op de featurelist.
Als pro werk ik elke dag met MoSCow , dat zit op het ruggemerg na 35 jaar :-) De MEGA heeft aardig wat I/O poorten digitaal in ieder geval die niet door de display worden gebruikt.naar 4 seriële poorten en I2C en SCL
Het is zelfs in hobby projecten goed om je requirements goed te prioriteren. "Featuritis" kruipt er vooral met dingen die je zelf ontwikkelt makkelijk in ;)

Ik denk dat je met de Mega2560 prima uit de voeten kan voorlopig. Mocht je later meer willen dan is er gelukkig nog een hele wereld te ontdekken. Succes met je project!
Laatst bewerkt: 11 mei 2020 16:19 door H2O.
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 11 mei 2020 17:10 #1158652

  • 3Noreen
  • 3Noreen's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 13359
Leuk project. Mijn aannames waren duidelijk niet juist. Het een en ander gaat me ook boven mijn pet. Maar zover er op ZF verslag van komt ga ik het zeker volgen. Keep up the good work !
You will have to take my last can of fossil fuel from my cold, dead hands ;-)
Laatst bewerkt: 11 mei 2020 17:10 door 3Noreen.
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 14 mei 2020 16:11 #1159909

Na wat zwoegen heb ik een eerste MVP (Minimal Valuable Product ) draaien die de 9DoF uitleest voor de heading en waarbij wordt gecorrigeerd voor tilt en pitch. Daarnaast worden in de oude niet MEA0183 compatibele berichten netje omgezet.
Mijn eerste object georiënteerde aanpak leidde tot een gebrek aan geheugen voor de variabelen (90% bezet) terwijl het TFT scherm nog ontbreekt. Dat moest dus anders en een oude wijsheid dat OO en embedded niet goed samengaan, bleek waar al te (z)waar.

Terug naar de tekentafel draait het nu wellliswaar met 2 classes maar gewoon in een loop met een ISR voor de MPU9250. IN het screenshot zijn de op basis van de MPU9250 gegenereerde HDG berichten als ook de omgesmurfde DBK, XOD berichten voor de BATT. Daarnaast zijn van alle $II talker ID berichten de checksum berekend....
Het concept werkt dus.


Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 14 mei 2020 16:36 #1159936

Blijft de heading goed met sensor onder helling ?
Ontwerper van de RoosMux, en andere apparaatjes.
www.viax.nl

It's been said that a boat is a vessel continually looking for ways to sink itself..
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 14 mei 2020 16:37 #1159937

  • H2O
  • H2O's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 1299
Mooi dat je nu al je eerste resultaat hebt. Aan de andere kant: misschien toch maar sparen voor een ESP32 en dan leren te leven met wat minder I/O pinnen :)

Programmeren van embedded spul vergt zeker een andere manier van denken en misschien voor sommige dingen een wat meer klassieke (niet-OO) aanpak. Die technieken zal je vanzelf gaan ontwikkelen en beheersen als je verder komt.
Laatst bewerkt: 14 mei 2020 16:38 door H2O.
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 14 mei 2020 16:42 #1159941

@roozeboos; ik zie duidelijk verschil tussen niet en wel gefilterde heading waarden. Alles valt en staat bij goede calibratie waarden van de MPU sensor. Die heb ik nu maar een beetje met de Franse slag gedaan. Hoe goed e de filtering is moet ik nog onderzoeken, maar de eerste resultaten lijken te werken.
Zie de discussie met code hier. Die code heb ik gebruikt. Het was nog lastig om de juiste include files te vinden....
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 14 mei 2020 16:51 #1159949

Ik probeer altijd maar de functies klein en compact te houden. Beetje OO stijl.
Het voordeel is dat het eenvoudig te testen is. En overzichtelijk.
Uiteindelijk is het een kwestie van doorzetten, en doorzetten en doorzetten..

Deze sensor goed krijgen is nogal een klus lijkt me.
Als je het werkend hebt kunnen we er misschien wel een productje van maken.
Ontwerper van de RoosMux, en andere apparaatjes.
www.viax.nl

It's been said that a boat is a vessel continually looking for ways to sink itself..
Laatst bewerkt: 14 mei 2020 16:52 door Account op verzoek verwijderd 13.
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 14 mei 2020 17:00 #1159954

  • 3Noreen
  • 3Noreen's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 13359
Yazz schreef :
@roozeboos; ik zie duidelijk verschil tussen niet en wel gefilterde heading waarden. Alles valt en staat bij goede calibratie waarden van de MPU sensor. Die heb ik nu maar een beetje met de Franse slag gedaan. Hoe goed e de filtering is moet ik nog onderzoeken, maar de eerste resultaten lijken te werken.
Zie de discussie met code hier. Die code heb ik gebruikt. Het was nog lastig om de juiste include files te vinden....

Vooropgesteld dat ik je niet wil bekritiseren. Maar puur uit nieuwsgierigheid. Zie je een nut in het koppelen van rate of turn en magnetische heading ?
You will have to take my last can of fossil fuel from my cold, dead hands ;-)
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 14 mei 2020 17:02 #1159956

  • H2O
  • H2O's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 1299
Werk je met de Arduino IDE of in een andere omgeving? En welke MPU9250 library gebruik je nu?

Er zijn er flink wat beschikbaar en het heeft voordelen om een library te gebruiken die beschikbaar is vanuit de IDE (zoals de Bolder Flight Systems library die in jouw link gebruikt wordt). Dan hoef je in ieder geval niet meer naar includes te zoeken ;-)
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 14 mei 2020 18:20 #1160003

@3Noreen; ROT zie ik persoonlijk als weinig toegevoegde waarde. Heading daarentegen , of het ontbrekend daarvan speelt mij nu parten in de TimeZero app. Mijn boordnetwerk meet het niet, maar geeft 0 door. De app denkt dan dat de heading 0 is en plot daarop de heading koers. Dat is vervelend dus heb ik besloten dat te kunnen manipuleren.. Daarnaast ben ik nieuwsgierig naar de nauwkeurigheid van een elektronisch kompas vs een traditioneel kompas.

@H20: Er zijn idd veel include-files voor de MPU9250, allemaal met verschillende implementaties en wel of niet volledig, nodeloos complex of minder complex.. Het probleem daarbij is dat al die libraries MPU9250 heten, dus is het lastig om overzicht te houden welke waar bij hoort.... P.S. Ik gebruik inu id de library van Bolderflight
Laatst bewerkt: 14 mei 2020 18:23 door Account op verzoek verwijderd 10.
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 14 mei 2020 18:34 #1160009

Ik ben ook eens bezig geweest, een jaar of drie terug ofzo. Ook met een library. Maar kreeg het niet goed aan de praat.
Het probleem van de nauwkeurigheid en wat de library moet oplossen is dat als je de sensor kantelt bij dezelfde heading de gegenereerde heading gelijk moet blijven.
Op je stabiele buro gaat het altijd goed, maar de boot beweegt natuurlijk continue.
Ontwerper van de RoosMux, en andere apparaatjes.
www.viax.nl

It's been said that a boat is a vessel continually looking for ways to sink itself..
Laatst bewerkt: 14 mei 2020 18:34 door Account op verzoek verwijderd 13.
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 14 mei 2020 18:44 #1160019

@roozeboos; klopt zo'n IMU is zeer gevoelig voor titl en pitch. Maar uiteindelijk met complexe goneometrie kan je compenseren. De jongens(en meisjes?) die veel met drones doen hebben daar belangrijk werk in verricht en daar pluk ik nu de vruchten van... Ik heb een hoop geleerd de afgelopen avonden ;-)
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 14 mei 2020 22:01 #1160133

  • Aswin
  • Aswin's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 655
@Yazz,

Dat heb je snel gedaan. Het verbaast me wel dat je al tegen geheugenbeperkingen aanloopt. Een 9DOF filter kost wel wat rekenkracht maar niet zo heel veel geheugen. Heb je veel statische strings? Dan kan je overwegen deze in het programmageheugen te zetten, zoek op progmem. Doubles kosten ook veel ruimte.
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 15 mei 2020 04:47 #1160143

@Aswin; het tekort doet zich voor in het dynamische geheugen niet in het programma geheugen. Daar is genoeg van op de Arduino(256K). Er worden nu veel strings gebruikt, dus valt nog wel te optimaliseren. Maar nu eerst het geheel compleet werkend maken als ik de essentiële onderdelen binnen heb. Qua software ben ik aardig op weg :-)
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 15 mei 2020 22:07 #1160567

  • primeur
  • primeur's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 244
Je kan het zo overzetten op een ESP8266 (nodemcu of esp12e)
compatibel, meer geheugen, sneller, zuiniger en goedkoper

En met een Nextion touchscreen nog een eenvoudige mooie UI eraan maken
Laatst bewerkt: 15 mei 2020 22:20 door primeur.
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 15 mei 2020 23:43 #1160578

  • Aswin
  • Aswin's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 655
Yazz schreef :
@Aswin; het tekort doet zich voor in het dynamische geheugen niet in het programma geheugen. Daar is genoeg van op de Arduino(256K). Er worden nu veel strings gebruikt, dus valt nog wel te optimaliseren. Maar nu eerst het geheel compleet werkend maken als ik de essentiële onderdelen binnen heb. Qua software ben ik aardig op weg :-)
Dat is ook wat ik bedoel. Met progmem kan je een compiler instrueren dat de string in het grogrammegeheugen opgelagen moet worden. Zo maak je ruimte vrij in het dynamisch geheugen.
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 16 mei 2020 05:55 #1160588

@Aswin; als newby op de Arduino moet ik nog uitzoeken wat PROGMEM doet. Stond niet in mijn MoSCoW lijstje ;-) Maar staat op Could have....(maar kan zomaar een must have worden :-) )
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 16 mei 2020 07:26 #1160620

  • 3Noreen
  • 3Noreen's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 13359
Yazz schreef :
@Aswin; als newby op de Arduino moet ik nog uitzoeken wat PROGMEM doet. Stond niet in mijn MoSCoW lijstje ;-) Maar staat op Could have....(maar kan zomaar een must have worden :-) )

Kun je die strings in preprocessor directives definiëren ? Of zijn het toch echte variabelen ?
You will have to take my last can of fossil fuel from my cold, dead hands ;-)
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 16 mei 2020 07:43 #1160630

@Noreen; er worden zeker een reeks in de preprocessor gedefinieerd zoals #define _HDG "$IIHDG" . Maar voor het parsen, de stack( die ik gebruik als een buffer) worden best wel wat echte variabelen gebruikt. En een String object gebruikt best wat bytes itt een array van characters.
Maar voor nu denk ik dat het moet lukken. Optimization is de volgende stap als de MVP werkt.
Alleen ingelogde leden kunnen reageren.

Arduino project aan boord 16 mei 2020 12:14 #1160752

  • Aswin
  • Aswin's Profielfoto
  • Offline
  • Gebruiker
  • Berichten: 655
Hi Yazz. Gebruik bij voorkeur niet het String object in Arduino, dat is een draak om mee te werken. Beter gewoon een character array gebruiken.

Hierbij een korte uitleg over het opslaan van strings (character array's) in het programmageheugen.

1 Bij de declaratie van een variabele instueer je met behulp van de directive progmem de compiler dat de variabele in het programmageheugen opgeslagen moet worden.
const char t0[] PROGMEM = "$STIO4,%1c,%1c,%1i*00\r\n";
const char t1[] PROGMEM = "$STIO4,%1c,S,0*00\r\n";
const char t2[] PROGMEM = "Totaal verbruik";
const char t3[] PROGMEM = "Verbruik";
const char t4[] PROGMEM = "uit \xff aan";
De variable moeten constanten zijn want je kunt het programmageheugen niet schrijven vanuit het programma zelf.

2 Je definieert een string als buffer omdat je de progmem variabelen ook niet direct kunt gebruiken en je ze voor gebruik eerst naar de buffer moet kopieren.
char textBuffer[20];

3 Als je een string wilt gebruiken kopieer je deze naar de textBuffer met strcpy_P. Daar kan je evt nog eea manipuleren. Vervolgens gebruik je de buffer.
strcpy_P(textBuffer,t0);
Serial.println(textBuffer);
Laatst bewerkt: 16 mei 2020 12:25 door Aswin.
Alleen ingelogde leden kunnen reageren.
Tijd voor maken pagina: 0.250 seconden
Gemaakt door Kunena
   
   
   
   
© Zeilersforum.nl