Momenteel ben ik aan het proberen om dmv een arduino (zit te twijfelen tussen uno en mega ivm toekomstige uitbreidingen. Heb op beide geprobeerd of alles werkt) de P1 poort van mijn energie meter uit te lezen. De energie meter is een "Iskra ME382".
Ik dacht dat het niet al te moeilijk zou zijn. Ik heb de request pin aan een willekeurige vrije digitale pin van de arduino gehangen, ground aangesloten, en de Tx van de P1 poort aan een digitale poort met interrupt ondersteuning gehangen. Daarbij maak ik gebruik van SoftwareSerial met inverted logic om alles uit te lezen. (De meter output op 9600 baud.)
In een kleine test ging dit perfect, en ik dacht dan ook dat het erg makkelijk en snel zou worden om dit via netwerk door te sturen. Nu heb ik echter het probleem dat wanneer ik daadwerkelijk netwerk communicatie heb draaien, dat de data die van de meter komt corrupt is. Steeds willekeurige delen van het bericht raken corrupt (Sommige delen komen wel compleet door). Ik heb al gekeken of er poorten clashen, maar dit is niet het geval. Bijv op de uno gebruikt het ethernet shield poort 4 (SD select), poort 10 (eth select), en 11,12 en 13 voor SPI. Ik had om die reden mijn rx op 6 en mijn select op 7.
Nu dacht ik dat ik het probleem misschien kon omzeilen door zelf een inverter op het signaal te zetten en dan RX (poort 0) te gebruiken. Helaas lukt het me niet om een werkende inverter te maken. Ik heb dit schema geprobeerd:
waarbij ik ipv de BC574, een 2N2222 heb gebruikt. Dit aangezien ik de BC574 niet in huis had.
Ik kreeg echter totaal geen data door (alleen corrupte chars bij in/uit pluggen van de p1 poort). Bij dit schema loopt geel naar poort 8, maar deze heb ik naar 0 gedaan voor de hardware serial te gebruiken. Ook had ik ipv 5v poort 7 gebruikt.
Iemand enig idee hoe ik of de inverter of de software serial werkend kan krijgen? (Ik heb geen idee hoe het kan dat hij corrupte data doorkrijgt alleen tijdens netwerk gebruik
)
Alvast bedankt!
Ik dacht dat het niet al te moeilijk zou zijn. Ik heb de request pin aan een willekeurige vrije digitale pin van de arduino gehangen, ground aangesloten, en de Tx van de P1 poort aan een digitale poort met interrupt ondersteuning gehangen. Daarbij maak ik gebruik van SoftwareSerial met inverted logic om alles uit te lezen. (De meter output op 9600 baud.)
In een kleine test ging dit perfect, en ik dacht dan ook dat het erg makkelijk en snel zou worden om dit via netwerk door te sturen. Nu heb ik echter het probleem dat wanneer ik daadwerkelijk netwerk communicatie heb draaien, dat de data die van de meter komt corrupt is. Steeds willekeurige delen van het bericht raken corrupt (Sommige delen komen wel compleet door). Ik heb al gekeken of er poorten clashen, maar dit is niet het geval. Bijv op de uno gebruikt het ethernet shield poort 4 (SD select), poort 10 (eth select), en 11,12 en 13 voor SPI. Ik had om die reden mijn rx op 6 en mijn select op 7.
Nu dacht ik dat ik het probleem misschien kon omzeilen door zelf een inverter op het signaal te zetten en dan RX (poort 0) te gebruiken. Helaas lukt het me niet om een werkende inverter te maken. Ik heb dit schema geprobeerd:

Ik kreeg echter totaal geen data door (alleen corrupte chars bij in/uit pluggen van de p1 poort). Bij dit schema loopt geel naar poort 8, maar deze heb ik naar 0 gedaan voor de hardware serial te gebruiken. Ook had ik ipv 5v poort 7 gebruikt.
Iemand enig idee hoe ik of de inverter of de software serial werkend kan krijgen? (Ik heb geen idee hoe het kan dat hij corrupte data doorkrijgt alleen tijdens netwerk gebruik
Alvast bedankt!