Arduino Mega slimme meter uitlezen met Solarmeter Harold65

Arduino specifieke Software
Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor shooter » 22 Jul 2019, 15:28

sorry overheen gelezen, maar kijk maar eens naar de verschillen op de site.
paul deelen
shooter@home.nl

Advertisement

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 22 Jul 2019, 15:46

Ja, dat weet ik. Op de Mega zit hij op pin 19 en op de Leonardo op pin 0. Dat heb ik ook zo. De Mega draait nu met oude Solarmeter software van Harold en een kleine aanpassing van Koepel om gas te meten.
Koepel heeft een P1 test sketch en P1 vertrager sketch gemaakt. De P1 test sketch werkt op de Mega maar niet op de Leonardo. Serial1 is bij de Mega pin 19 en bij de Leonardo pin 0. Hier ga ik ook naar toe vanaf het IC. Enige verschil is dat ik op de Mega mooi alle getallen zie voorbij komen elke seconde en bij de Leonardo alleen maar de melding dat de sketch loopt maar geen getallen.

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 23 Jul 2019, 11:55

Goedemorgen allemaal, ik had gehoopt iets meer tips te krijgen. Ondertussen ben ik op deze website https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide gaan kijken.

Via deze website heb van boven naar beneden de stappen doorlopen tot aan de test sketch met het knipperen van de rx en tx led. Ik heb hierdoor ook de juiste driver kunnen installeren zodat nu mijn laptop daadwerkelijk een SparkFun Pro Micro aan de com poort ziet.

Toch weer terugkomend op dit stukje code waar ik dan met mijn Jan Klootjes verstand naar zit te kijken en mij afvraag wat die pin 13 nu eigenlijk is want ik zie deze pin 13 namelijk niet op de foto, wel zie ik als ik door tel pin RST op plek 12 maar pin 10 zit weer aan de onderkant bij pin 16. Dus als je die pin 10 meeneemt in de telling dan zou pin RST weer pin 13 zijn.

Code: Alles selecteren
// Maak pin 13 hoog, die is misschien verbonden met het RTS signaal.
  // Bijvoorbeeld als iemand de "P1 poort vertrager" met pin 13 heeft gebruikt.
  pinMode( 13, OUTPUT);
  digitalWrite( 13, HIGH);
}


Test 3:
Juiste driver SparkFun Pro Micro en juiste board SparkFun Pro Micro met de sketch P1 tester uitesten. Helaas geen succes, precies hetzelfde als hiervoor. Alleen maar de melding dat de sketch loopt zonder getallen.

Test 4:
Wat ik ook verwarrend vind is dat de P1 tester code zegt:
Werking
// -------
// De 115200 8N1 seriele data van de P1 poort wordt ingelezen op pin 0 (is TX 0 van de SparkFun Pro Micro).
// bij een Leonardo of anders de RX pin van Serial1 bij een Mega 2560 (dat is RX pin 19).
// Vanzelfsprekend het signaal van de P1 poort inverteren zodat het
// een normaal serieel signaal wordt met idle hoog en startbit laag.
// In de seriele monitor wordt het telegram weergegeven.
// Ze de seriele monitor ook op 115200 baud !

Worden hier boven nu de RX en de TX door elkaar gehaald of is het een typfout?
Volgens afbeelding is pin 0 de RX1 en pin 1 is TX0. Ik zit met mijn draadje op TX0 of te wel TX1. Zit het hier in dan?

Dus test 4 is draadje op RX0 oftewel RX1 zetten. Dit is een succes :D De P1 tester werkt als een tierelier. Ik zie ook de rode led knipperen dat er data loopt :D en de Arduino monitor laat nu netjes alle regels zien. Pfffff zo kan het fout gaan dus :o
Bijlagen
Pro Micro Pinout.png
Pro Micro Pinout.png (247.2 KiB) 5988 keer bekeken

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 23 Jul 2019, 13:06

Je raadt het misschien al?
Test 5:
Nu de P1 tester sketch werkt kunnen we de P1 verslomer sketch erin zetten en de baudrate van de Solarmeter sketch op 9600 baudrate zetten. Zo gezegd zo gedaan!
SparkFun Pro Micro naar Mega:
- Pin 0 = RX0/RX1 naar pin 2 van IC 7804
- Pin 9 naar de Mega pin RX 19
- 5 Volt aan elkaar knopen
- Ground aan elkaar knopen
Yeah, het werkt zoals ik het kan beoordelen. Ik zie geen led meer kippenren op de SparkFun Pro Micro maar wel op de Mega. In de webbrowser van Solarmeter zie ik de getallen veranderen dus dat houd volgens mij in dat er data in de Mega komt en het verstuurd naar het net/PVOutput.
Vandaag maar eens aankijken en of ik ook van die rare powerpieken af ben die te zijn in PVOutput.

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 23 Jul 2019, 18:18

So far so good 8-) Ik zie ook geen vreemde pieken in PVOutput meer. De getallen kloppen in de webbrouwser van Solarmeter die nu op een baudrate van 9600 draait :D Het lijkt er op dat wat Koepel gemaakt heeft werkt wat inhoud dat iedereen verder kan met Solarmeter van Harold.

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor Koepel » 23 Jul 2019, 18:44

De labels op het printje "RXI" en "TXO" is alleen maar om verwarring te zaaien en het leven moeilijker te maken :x
Het is trouwens een "I" (van knullige labels) en een "O" (van teveel gezopen). Misschien bedoelen ze "Input" en "Output" ? Iemand had vast teveel gezopen toen hij die knullige labels bedacht.

Pin 0 is RX en pin 1 is TX.

Ik ging er van uit dat al die boardjes dezelfde bootloader hebben, en dat het mogelijk is om jouw boardje ook als "Leonardo" of "Micro" te gebruiken. Uit jouw beschrijving kan ik niet lezen of dat echt zo is.

Dus het werkt :?: Dat valt ook tegen zeg :!: Nu duurt het nog langer voordat je overstapt op iets beters :lol:

Als je een dag de "Tester" laat lopen, dan kun je zien hoeveel telegrammen er verkeerd gaan via de checksum berekening. Als het goed is zijn ze allemaal in orde.

O ja, die pin 13. Ik heb een printje om het signaal van de P1-poort te inverteren met een transistor. Daar zit ook RTS signaal op, die 5V nodig heeft. Bij een sketch heb ik pin 13 aan de RTS verbonden. Dus dat heb ik in de volgende test nog even meegenomen omdat ik (en misschien anderen) die nog aan RTS hebben zitten.
De meesten hebben RTS gewoon vast aan 5V, dus dan kan dat met die pin 13 uit de sketch gehaald worden.

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 23 Jul 2019, 19:02

Hé Koepel, goed hè dat jouw sketch werkt. Ik ga zeker nu niet over op iets anders. Ik ben hier zo blij mee als een klein kind. Klopt het dat de Pro Micro nu niet met zijn tx of rx led knippert?

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor Koepel » 23 Jul 2019, 20:35

Als er niets naar de seriële monitor gestuurd of ontvangen wordt, dan blijven die ledjes uit.

Bij de Pro Micro heet de seriële verbinding naar de computer "SerialUSB", en daar zijn de ledjes rx en tx voor.
Om compatible te zijn met andere boards, mag de naam "Serial" gebruikt worden in plaats van de naam "SerialUSB".

Gebruikers-avatar
Berichten: 117
Geregistreerd: 10 Jun 2019, 12:16
Woonplaats: Amsterdam

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor master64nl » 23 Jul 2019, 20:54

Dus als ik die liedjes wil laten knipperen wanneer er data loopt.moet ik er zeker iets bij zetten in de sketch?

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: Arduino Mega slimme meter uitlezen met Solarmeter Harold

Berichtdoor Koepel » 23 Jul 2019, 21:10

Ja, je mag die ledjes gewoon gebruiken als "SerialUSB" of "Serial" niet gebruikt wordt.

Hun pin nummer is LED_BUILTIN_RX en LED_BUILTIN_TX.
Let op: LOW is aan en HIGH is uit.
Als er toch iets gedaan wordt met "SerialUSB" of "Serial", dan knipperen ze en kunnen daarna uit blijven. Maar er gaat niets stuk, dus dat geeft niets.

Eerst in setup():
Code: Alles selecteren
pinMode( LED_BUILTIN_RX, OUTPUT);
pinMode( LED_BUILTIN_TX, OUTPUT);


En dan bijvoorbeeld:
Code: Alles selecteren
digitalWrite( LED_BUILTIN_RX, LOW);  // LOW = aan zetten


Kijken of er een telegram binnenkomt, dat kan natuurlijk. Bijvoorbeeld aanzetten als de beginnende '/' is gevonden en uitzetten bij de afsluitende '!'.
Maar kijken of het vertraagde telegram goed wordt afgeleverd aan de Mega, dat kan niet. Het wordt gewoon verstuurd, of het nu aankomt bij de Mega of niet.

VorigeVolgende

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: axuypepafa, azojonovebo, ebaqamu en 19 gasten