Forum: Mikrocontroller und Digitale Elektronik PI 4 mit PIC18F Kommunikation


von Daniel E. (everyday_fun69)


Lesenswert?

Hallo in die Runde, mein Raspi 4 soll zukünftig die Netzleistungen vom 
Modbus TC/ IP abholen und an einen PIC18F senden. Welcher PIC es werden 
soll ist noch offen..

Welche Schnittstelle die EINFACH am PIC zu programmieren ist würdet ihr 
nehmen ?

I2C
SPI
USB
??

Vielen Dank schon mal.

von Luca E. (derlucae98)


Lesenswert?

UART

von Rahul D. (rahul)


Lesenswert?

Daniel E. schrieb:
> an einen PIC18F senden.
Warum?
Was kann der, was ein Raspberry Pi nicht kann?
Bzw. warum nicht einem Pic mit einer Ethernet-Schnittstelle ausrüsten?

von Daniel E. (everyday_fun69)


Lesenswert?

Rahul D. schrieb:
> Daniel E. schrieb:
>> an einen PIC18F senden.
> Warum?
> Was kann der, was ein Raspberry Pi nicht kann?
> Bzw. warum nicht einem Pic mit einer Ethernet-Schnittstelle ausrüsten?

Ethernet ist mir bekannter Maßen mit PIC für nicht Experten nicht so 
einfach

PIC18F kann ich ganz gut „ohne Ethernet“

Thema Gab es schon mal..

Beitrag "PIC18 Modbus TCP"

Ich brauch eine einfache und für mich !! umsetzbare Lösung, zur Not mal 
hier oder den Arbeitskollegen mit einer Frage betteln aber nicht 
komplett Ethernet lernen

Für dem PI 4 gibts ja Beispiele im Netz

Danke

von Rahul D. (rahul)


Lesenswert?

Daniel E. schrieb:
> Ich brauch eine einfache und für mich !! umsetzbare Lösung, zur Not mal
> hier oder den Arbeitskollegen mit einer Frage betteln aber nicht
> komplett Ethernet lernen
So kompliziert ist das auch nicht.
Bei der richtigen Wahl des Controllers, gibt es auch entsprechende 
Beispiele.
Da fällt der (genau dieser) PIC dann aber wohl raus.

> Für dem PI 4 gibts ja Beispiele im Netz
Ja. Damit ist noch nicht die Frage beantwortet, warum du einen Pic an 
ein Raspberry Pi anbinden willst.
Brauchst du den als I/O-Baustein?

von Daniel E. (everyday_fun69)


Lesenswert?

> Da fällt der (genau dieser) PIC dann aber wohl raus.
>

Welcher wäre es den da ? Ein PIC32F

>> Für dem PI 4 gibts ja Beispiele im Netz
> Ja. Damit ist noch nicht die Frage beantwortet, warum du einen Pic an
> ein Raspberry Pi anbinden willst.
> Brauchst du den als I/O-Baustein?

Der PI 4 soll nur die Leistung, Spannungen am Anschlusspunkt vom 
Homemanager lesen und zum PIC weiterleiten/ kommunizieren

Das ist alles was er soll.

Danke

von Rahul D. (rahul)


Lesenswert?

Daniel E. schrieb:
> Der PI 4 soll nur die Leistung, Spannungen am Anschlusspunkt vom
> Homemanager lesen und zum PIC weiterleiten/ kommunizieren
>
> Das ist alles was er soll.

Mit Kanonen auf Spatzen schießen, nur um den geliebten PIC zu nutzen - 
super Konzept.
Und wieder einer Frage ausgewichen: Was soll der PIC überhaupt machen?

von Frank K. (fchk)


Lesenswert?

Daniel E. schrieb:
> Hallo in die Runde, mein Raspi 4 soll zukünftig die Netzleistungen vom
> Modbus TC/ IP abholen und an einen PIC18F senden. Welcher PIC es werden
> soll ist noch offen..
>
> Welche Schnittstelle die EINFACH am PIC zu programmieren ist würdet ihr
> nehmen ?

Für Modbus bietet sich UART mit RS485 an. Dann kannst Du einen 
käuflichen Modbus/TCP auf Modbus/RTU (seriell RS485) Umsetzer nehmen und 
das Modbus-Protokoll direkt auf dem PIC verarbeiten. Modbus/RTU ist ein 
wenig unterschiedlich zu Modbus/TCP, bei dem das TCP bereits die 
korrekte Übertragung sicherstellt. Bei Modbus/RTU fällt der Ethernet 
Header weg, und es kommt am Ende eine Prüfsumme dazu.

So einen Umsetzer kann man sich auch leicht selber programmieren, aber 
es gibt das auch fertig zu kaufen, und in der Industrie wird sowas auch 
eingesetzt.

Wenn Du das ganze nicht nur für Dich selber machen willst, solltest Du 
das genau so machen. Dann kann wer anders auch einfach ein anderes 
Modbus-Gerät anschließen.

Es gäbe noch Modbus/Ascii, aber das verwendet heutzutage niemand mehr. 
Das war nützlich, als Kommunikationsstrecken noch 7-bittig waren, oder 
5-Bit Baudot. Das Zeug kommt ja aus den 70'er Jahren.

fchk

von Jens P. (picler)


Lesenswert?

Daniel E. schrieb:
> Welcher wäre es den da ? Ein PIC32F

PIC24 wäre so eine Option. Die Programmierung entspricht in etwa dem 
PIC18, er hat aber mehr Ressourcen füt Ethernet. Gibt es auch Beispiele 
bei Microchip.

Was natürlich immer noch nicht die Frage beantwortet, warum ein Pi was 
an den PIC schickt, was er nicht selber kann.

von Daniel E. (everyday_fun69)


Lesenswert?

Rahul D. schrieb:
> Daniel E. schrieb:
>> Der PI 4 soll nur die Leistung, Spannungen am Anschlusspunkt vom
>> Homemanager lesen und zum PIC weiterleiten/ kommunizieren
>>
>> Das ist alles was er soll.
>
> Mit Kanonen auf Spatzen schießen, nur um den geliebten PIC zu nutzen -
> super Konzept.
> Und wieder einer Frage ausgewichen: Was soll der PIC überhaupt machen?


Der Pic + LCD soll einen einem Trafo mit Gleichrichter und 
Tiefsetzsteller betrieben werden, einen Akku tagsüber bei Überschuss 
laden und am Abend/ über Nacht über eine weiteren Tiefsetzsteller einen 
Mikrowechselrichter 600 oder 1000 W maximal stromgeregelt versorgen, so 
dass es ein Nulleinspeisung wird…

: Bearbeitet durch User
von Daniel E. (everyday_fun69)


Lesenswert?

>
> Für Modbus bietet sich UART mit RS485 an. Dann kannst Du einen
> käuflichen Modbus/TCP auf Modbus/RTU (seriell RS485) Umsetzer nehmen und
> das Modbus-Protokoll direkt auf dem PIC verarbeiten. Modbus/RTU ist ein
> wenig unterschiedlich zu Modbus/TCP, bei dem das TCP bereits die
> korrekte Übertragung sicherstellt. Bei Modbus/RTU fällt der Ethernet
> Header weg, und es kommt am Ende eine Prüfsumme dazu.
>
> So einen Umsetzer kann man sich auch leicht selber programmieren, aber
> es gibt das auch fertig zu kaufen, und in der Industrie wird sowas auch
> eingesetzt.

> fchk


So ein Adapter/ Konverter kostet auch, 80 Euro wenn ich richtig gesucht 
habe ..
Da macht es auch mein PI4, meine Meinung

Entweder diese Lösung oder keine, weil PIC und Ethernet wird bei mir 
alleine nichts 🤷‍♂️

von Rahul D. (rahul)


Lesenswert?

Daniel E. schrieb:
> Der Pic + LCD soll einen einem Trafo mit Gleichrichter und
> Tiefsetzsteller betrieben werden, einen Akku tagsüber bei Überschuss
> laden und am Abend/ über Nacht über eine weiteren Tiefsetzsteller einen
> Mikrowechselrichter 600 oder 1000 W maximal stromgeregelt versorgen, so
> dass es ein Nulleinspeisung wird…

Schwere Geburt...
Und das bekommst du (alleine) hin?

Daniel E. schrieb:
> So ein Adapter/ Konverter kostet auch, 80 Euro wenn ich richtig gesucht
> habe ..
> Da macht es auch mein PI4, meine Meinung
>
> Entweder diese Lösung oder keine, weil PIC und Ethernet wird bei mir
> alleine nichts 🤷‍♂️

Wie stellst du dir denn die Umsetzung des Raspberry Pi auf PIC vor?
Der Modubus-TCP-Konverter muss sein Signal ja irgendwie an den PIC 
weiterleiten (egal, über welche Schnittstelle).
Oder gibt es da schon was fertiges?

Ist von den Sachen überhaupt schon was vorhanden?

von Frank K. (fchk)


Lesenswert?

Daniel E. schrieb:

> So ein Adapter/ Konverter kostet auch, 80 Euro wenn ich richtig gesucht
> habe ..

Du hast falsch gesucht. 51€ reichen.
https://www.amazon.de/dp/B0B4JNWF7N

> Da macht es auch mein PI4, meine Meinung

Dann solltest Du es aber standardkonform machen und nicht deinen eigenen 
Mist fabrizieren.

Modbus/RTU (seriell, Binärformat):
1
[Addr][Func][Data 1....n][CRC1][CRC2]

Modbus/TCP:
1
[TransIdH][TransIdL][00][00][00][06]{ff][Func][Data 1....n]

> Entweder diese Lösung oder keine, weil PIC und Ethernet wird bei mir
> alleine nichts 🤷‍♂️

Die noch nicht beantwortete Frage war, warum Du das nicht komplett auf 
dem Pi implementierst. Der könnte das im Prinzip auch alleine. Wenn Du 
das auf dem Pi nicht hinbekommst, wirst Du auch die Protokollumsetzung 
nicht hinbekommen, denke ich. Deswegen der Hint mit den fertigen 
Gateways.

fchk

von Bruno V. (bruno_v)


Lesenswert?

Uart ist zum Austausch selbst gefrickelter Daten das einfachste. 
Beliebige baudraten und Entfernungen möglich, da bidirektional und ohne 
clock-signal Problee (Doppelimpulse). In jedem uC vorhanden, simpelste 
Ansteuerung.

Das ganze protokollgebastel ist trotzdem viel Arbeit: Telegramm-Format, 
Checksumme, Interrupt - Task synchronisieren (fifos), Timeouts, 
Fehlererkennung und Behandlung, ...

Viele Designentscheidungen und Pitfalls. Ein fertiges Protokoll zu 
nehmen (z.b. modbus) oder eine Verbindung mit höheren Mechanismen (z.b. 
Can) ist da oft sinnvoll.

von Rahul D. (rahul)


Lesenswert?

Frank K. schrieb:
> Deswegen der Hint mit den fertigen
> Gateways.

Für python gibt es fertige Modbus-Libraries. Ob die auch TCP können, 
weiß ich nicht (sollte sich aber herausfinden lassen - "not my job at 
the moment").

Frank K. schrieb:
> Der könnte das im Prinzip auch alleine.

Falls irgendwas zeitkritisch-regelungstechnisch gemacht werden muss, 
wäre der PIC dafür geeignet. Für alles andere würde ich das Raspberry Pi 
verwenden.

von Daniel E. (everyday_fun69)


Lesenswert?

Für den PI 4 gibts das was fertiges für die SMA Umrichter…

Hab mit dem PIC18F schon paar Sachen umgesetzt, läuft stabil und 
Elektronik Kenntnis gibts bzw. auf Arbeit verfügbar bei den 
Leiterplatten/ Schaltungsdesignern…

Hätte auch Kollegen für die Software,  aber will möglichst alleine vom 
Fleck kommen, nur für den Notfall/ Backup eben

Wenn sich jemand hier findet auch als Open Source, aber das wird glaube 
ich nichts….

von Daniel E. (everyday_fun69)


Lesenswert?

Naja, nicht wirklich hier weiter gekommen..

Werde mich mit SPI probieren ..

von Bruno V. (bruno_v)


Lesenswert?

Daniel E. schrieb:
> Naja, nicht wirklich hier weiter gekommen..

Sind denn noch Fragen offen? Und warum SPI? Schließlich gab es hier 
nicht einen, der da irgendwelche Vorteile sieht (genauso wie I2C oder 
USB).

UART stand zwar nicht auf Deiner Liste, sollte aber in jedem Fall 
zwischen USB und SPI liegen.

von Daniel E. (everyday_fun69)


Lesenswert?

Geht auch anders, hab mit einem Aduino Mega und Ethernet Board 
Kommunikation zum Modbus aufgenommen und erfolgreich die 
Einspeiseleistung auf dem Serial Monitor zum Vorschein gebracht.

Sehr übersichtliches Programm, worauf man aufbauen kenn…

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.