Forum: Mikrocontroller und Digitale Elektronik PIC18 Modbus TCP


von Daniel (Gast)


Lesenswert?

Hallo in die Runde,

Wie hoch schätzt ihr zeitlich den Programmieraufwand für einen PIC18F 
oder anderen PIC ab, der im LAN am SMA Sunnyboy lauscht und die 
momentane Leistung abfragt ?

Sagen wir, die Hardware wäre fertig und nur noch zu programmieren?

Braucht ihr mehr Information? Wenn ja, bitte melden.

Danke an alle.

von Frank K. (fchk)


Lesenswert?

MODBUS ist recht primitiv. Bei MODBUS/TCP brauchst Du nicht mal eine 
Prüfsumme, weil sich der TCP/IP-Stack darum kümmert. Das lässt sich 
locker innerhalb eines Tages implementieren, wenn das Basissystem mit 
TCP/IP-Stack bereits läuft.

Als Plattform nimmst Du entweder einen PIC18F67J60 mit eingebautem 
Ethernet, wenn es unbedingt ein PIC18F sein muss, oder einen PIC32 mit 
eingebautem MAC plus externem PHY. Von anderen PIC18F rate ich ab.

fchk

von Daniel (Gast)


Lesenswert?

Hallo Frank, danke für dein Feedback !

Ich denke das Olimex Board hier sollte gut für Übungen geeignet sein.

https://www.digikey.de/de/products/detail/olimex-ltd/PIC-WEB/3471394?utm_adgroup=General&utm_source=google&utm_medium=cpc&utm_campaign=Smart%20Shopping_Product_Zombie%20SKUs&utm_term=&productid=3471394&gclid=Cj0KCQiAmpyRBhC-ARIsABs2EAoAL6G3_N2FZdD0ZwXIwX__9ItWbQc__L21jIEPN4T12OjrkGHjFFgaAmOBEALw_wcB

Ich bin gleich ganz ehrlich und verstehe von dem Netzwerkgedöns NICHTS. 
Einen PIC hab ich aber schon mit ADC, Timer und Interrupts zum laufen 
gebracht.

Meine Idee/ Vorstellung wäre ein Open Source Projekt draus zu machen, da 
ich denke das diese Anwendungen noch für andere Leute interessiert sein 
könnte.

Sprich der PIC holt vom Bus die aktuelle Leistung ab und steuert eine 
Last(ein) (Heizstab im Puffer oder WW Speicher), so dass die mehr als 
70% Solarenergie verheizt werden oder eine NUlleinspeisung entsteht.

Testen kann ich und die Hardware bauen auch.

Was meint ihr, ist so was hier in dieser Form machbar ? Bin auf eure 
Meinungen gespannt.

@Moderator
Kann der Betreff im Post noch geändert werden, würde mich zukünftig auch 
mit meinem Login einloggen.

Danke an alle.

von Frank K. (fchk)


Lesenswert?

Machbar ist das, aber ohne Not solltest Du das nicht so machen. Du wirst 
eine alte Version der Microchip Librariues for Applications brauchen, 
dazu wahrscheinlich noch einen alten Compiler, und mit 4k RAM wird das 
auch nicht ganz einfach.

Ein PIC32 wäre einfacher zu programmieren.

Oder sowas wie ein Pi oder ein Beaglebone oder so.

fchk

von N. M. (mani)


Lesenswert?

Frank K. schrieb:
> Oder sowas wie ein Pi oder ein Beaglebone oder so.

Wenn der TO evtl sowieso schon ein NAS, ein PC oder ein Raspi laufen hat 
wäre evtl das hier interessant:
https://github.com/SBFspot/SBFspot

Datenbank ist scheinbar nur optional.
Sieht relativ einfach aus. Könnte in ein paar Stunden laufen ohne selbst 
all zu viel schreiben zu müssen.
Wäre dann wahrscheinlich nur noch der Aufruf um die Daten auszulesen, 
evtl Parsen und dann deine Steuerung drüber die du möchtest um die 
Energie zu verbraten.

: Bearbeitet durch User
von Daniel (Gast)


Lesenswert?

Hallo und danke für Feedback.

Wie würde es hiermit für einen PIC32F aussehen ?

https://de.rs-online.com/web/p/entwicklungstools-kommunikation-und-drahtlos/1762094?cm_mmc=DE-PLA-DS3A-_-google-_-CSS_DE_DE_Raspberry_Pi_%26_Arduino_und_Entwicklungstools_Whoop-_-(DE:Whoop!)+Entwicklungstools+Kommunikation+und+Drahtlos-_-1762094&matchtype=&pla-402461624357&gclid=EAIaIQobChMIx__kseO49gIVGhoGAB0TSQzvEAYYAiABEgJtwPD_BwE&gclsrc=aw.ds

Einen Pi habe ich da liegen. Persönlich glaube ich, mit dem PIC32 komme 
ich besser.....

Mit dem vorhandenen PICKit3 sollte das Programmieren möglich sein nach 
meiner Recherche.?

Fehlen nur noch Leute, welche Zeit und Lust hierzu haben.
Ist das hierüber machbar oder soll ich es gleich vergessen? Was meint 
ihr ?

Danke.

von Frank K. (fchk)


Lesenswert?

Daniel schrieb:

> 
https://de.rs-online.com/web/p/entwicklungstools-kommunikation-und-drahtlos/1762094?cm_mmc=DE-PLA-DS3A-_-google-_-CSS_DE_DE_Raspberry_Pi_%26_Arduino_und_Entwicklungstools_Whoop-_-(DE:Whoop!)+Entwicklungstools+Kommunikation+und+Drahtlos-_-1762094&matchtype=&pla-402461624357&gclid=EAIaIQobChMIx__kseO49gIVGhoGAB0TSQzvEAYYAiABEgJtwPD_BwE&gclsrc=aw.ds

Das ist nur ein PHY-Modul für ein PIC32 Evalboard. Da ist kein Prozessor 
drauf.

> Einen Pi habe ich da liegen. Persönlich glaube ich, mit dem PIC32 komme
> ich besser.....

Für den Pi gibt es eine Modbus-Bibliothek, die Du einfach so benutzen 
kannst.

https://libmodbus.org/

> Mit dem vorhandenen PICKit3 sollte das Programmieren möglich sein nach
> meiner Recherche.?

Ja, das kann alle PICs.

> Fehlen nur noch Leute, welche Zeit und Lust hierzu haben.

Selten so gelacht. Das wirst Du selber machen müssen.

fchk

von Rüdiger B. (rbruns)


Lesenswert?

Wenn du eine Pi hast solltest du dir z.B. mal FHEM ansehen, ist eine 
Basis für die Hausautomatisierung und ziemlich einfach. Modbus ist auch 
schon dabei, sowol Ethernet als auch RS485 für die Abfrage der 
Einspeisung über einen Zähler nach dem Hauptzähler.

von Michael O. (michael_o)


Lesenswert?

Das PICkit 3 kann nicht mehr alles Prozessoren. Daher darf ,man die 
Sammlung nun auf PICkit 4 und/oder ICD4 erweitern.

MfG
Michael

von Ingo S. (schicki)


Lesenswert?

Hallo Zusammen,

ich bin da ganz bei Frank. Ich hätte noch ein paar Protoboards mit einem 
PIC18F97J60 dem großen Bruder von dem F67 da.

Als AddOn wären ein ein
- MCP79411 RTC und Speicher
- LM75 Temperatur Sensor
- Ethernet Interface
- RS-485 bzw. RS-232 Interface

da. Ein paar Beispiele hätte ich noch da.

Bei neuen Projekten setze ich den PIC32MX795F512L ein. Die PIC18F sind 
eben auch mit dem Speicher auch nicht mehr so ganz zeitgemäß.

Viele Grüße
Ingo

von Pete K. (pete77)


Lesenswert?

Ich hab das bei meinem alten Sunnyboy hiermit gemacht:
http://www.hi-flying.com/pw11

Der neue Sunnyboy hat ja WLAN eingebaut.
Visualisiert wird mit HomeAssistant auf einem Raspi4.

: Bearbeitet durch User
von Daniel (Gast)


Lesenswert?

Grüße, ich werde wohl den Pi versuchen zum Laufen bringen. Der hat ja 
auch PWM und Modbus, Beispiele gibts da auch im Netz.

Wünscht mir Glück 😉.

von Rüdiger B. (rbruns)


Lesenswert?

Kauf dir 2 USB-RS485 Adapter einen für den PI und den anderen für deinen 
PC zum Debuggen.

von Daniel (Gast)


Lesenswert?

Rüdiger B. schrieb:
> Kauf dir 2 USB-RS485 Adapter einen für den PI und den anderen für
> deinen PC zum Debuggen.

Versteh grad nicht…? Als Entwicklungshilfe zur Fehlersuche oder für was? 
Danke

von N. M. (mani)


Lesenswert?

Daniel schrieb:
> Versteh grad nicht…? Als Entwicklungshilfe zur Fehlersuche oder für was?
> Danke

Wahrscheinlich war so sein Gedanke.
Je nach dem wo du kaufst und was es kostet kannst du natürlich gleich 
ein paar nehmen (die China Teile funktionieren nicht immer alle).

Ansonsten brauchst du das meiner Meinung nach nicht unbedingt. Du kannst 
dir ja auch den Datenstrom auf der Console ausgeben lassen.

Und wenn du ein fertiges Script nimmst sollte es ja sowieso Out of the 
Box funktionieren. Also A/B vertauscht Mal ausgenommen.

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.