12 Thermoelemente an Arduino Mega

Der Mega hat 54 digitale I/Os (davon 15 PWM Kanäle) und 16 AD-Eingänge. Das sollte reichen.
12 AD für Strommessung
12 PWM für Heizungssteuerung
3 SPI Pins und
12 Digitale Ausgänge für die ChipSelects der MAX6675
und 3 SPI Pins für die MAX

Sinn der SPI ist, dass ALLE MAX6675 zusammen an der gleichen Schnittstelle hängen, sich also Clock und Datenleitungen teilen. Über das Chipselect Signal wird dann ausgewählt, welcher Baustein angesprochen wird.

Das könnte dann z.B. so aussehen:

guntherb:
Der Mega hat 54 digitale I/Os (davon 15 PWM Kanäle) und 16 AD-Eingänge. Das sollte reichen.
12 AD für Strommessung
12 PWM für Heizungssteuerung
3 SPI Pins und
12 Digitale Ausgänge für die ChipSelects der MAX6675
und 3 SPI Pins für die MAX

Sinn der SPI ist, dass ALLE MAX6675 zusammen an der gleichen Schnittstelle hängen, sich also Clock und Datenleitungen teilen. Über das Chipselect Signal wird dann ausgewählt, welcher Baustein angesprochen wird.

Das könnte dann z.B. so aussehen:

Ich fasse zusammen:

MAX350 völlig überflüssig...
ich brauche lediglich die 12 Module und schließe sie reihum so an wie von dir skizziert?

TW1993:
MAX350 völlig überflüssig...
ich brauche lediglich die 12 Module und schließe sie reihum so an wie von dir skizziert?

Richtig. :slight_smile:

Zwei letzte Fragen bezüglich dieses Moduls (schäme mich ja schon fast das ich das frag...^^)

Ist Vdd oder Vss an meine Versorgungsspannung respektive GND anzuschließen?

Edit:
Hab Vdd an die 5V und Vss an GND

Würde dies gerne mit Simulink lösen, habe nämlich bisher alles darin gemacht.

hat jmd von euch Erfahrung darin Mit SPI und Simulink bezüglich des Arduino?

Edit2:

habe einen Schaltplan für das ganze angehängt, würde ich so "TÜV" bekommen?

U4 hat keine Masse, sonst ist mir nichts aufgefallen.

Mein Rat: Nimm erstmal 2 ICs und versuche die auf dem Steckbrett zum Laufen zu bringen. Versuche dafür eine Software zu entwickeln, die so strukturiert ist, dass du einfach von 2 auf 12 erweitern kannst.

Hi

U4 hat kein Vss

Meinen TÜV hättest Du hiermit trotzdem erhalten - das Fehlerchen wird wohl nur im Plan sein und selbst wenn nicht, wirst Du Diesen selber finden.

MfG

guntherb:
U4 hat keine Masse, sonst ist mir nichts aufgefallen.

Mein Rat: Nimm erstmal 2 ICs und versuche die auf dem Steckbrett zum Laufen zu bringen. Versuche dafür eine Software zu entwickeln, die so strukturiert ist, dass du einfach von 2 auf 12 erweitern kannst.

Werde ich auch machen, aber leider kommen die Module einfach nicht an ...-.-

Kurz zum Thema Strom messen und Leistungsberechnung ob ich hier auf dem Holzweg bin oder nicht....

  1. die analogen Pins haben einen 10-Bit-A/D-Wandler oder?
  2. Um meine Leistung im Endeffekt zu messen muss ich diese ja ausrechnen über die Spannung vom OP und dem Strom des Shunts...
  3. In Bezug auf zweitens habe ich folgende Schritte zum rechnen:

Mir fehlt einfach der Überblick der Rechnung. Will das ganze ja in Simulink machen (habe da vom analogpin das ganze auf einen Data converter von dort in einen Block zur Rechnung und dann in den nächsten Block zur Leistungsbestimmung) Lade das gern hoch noch wenn ihr wollt?

Meine Spannung vom OP muss ich ja über den A/D-Wandler berechnen um meine Stromstärke im späteren Verlauf zu berechnen. mir fehlt da nur der Überblick wie ich das anstellen soll...

Als nächstes; folgt die Einbeziehung meines Verstärkungsfaktors (102,7/2,7=38 als Verstärkungsfaktor) um die Richtige Spannung zu bekommen oder nicht?

Daraufhin dann diese Spannung durch den Shunt-Widerstand und dann schlussendlich meine Leistung aus U=24V mal den gemessenen Strom

Brauch ich den Convert-Block oder kann ich direkt in den Function-Block und Rechnen?

TW1993:
Ist Vdd oder Vss an meine Versorgungsspannung respektive GND anzuschließen?

D und S stehen für Drain und Source. Wenn man sich dann die Source-Schaltung (analog zur Emitter-Schaltung ansieht), sieht man woher das kommt

Möchtest du Simulink zu programmieren verwenden? oder zum berechen der Größen?

die Berechnung kannst du ausserhalb machen:
Zwischenablage02.jpg
Mit den Werten kannst du spielen.
Aber es kommt raus: 1 Bit am AD-Wandler entspricht 0,1065 W

Die entsprechende Codezeile schrumpft zu:
float watt = analogRead(A2)*0.1065;

Du kannst es auch etwas benutzerfreundlicher machen, in dem du die Berechnung dem Compiler überläßt:

const float R_shunt = 0.1;
const float R1 = 2.7;
const float R2 = 27;
const float faktor = 24.0/(R_shunt/R1*(R1+R2)/5*1024);

void setup() {}

void loop() {
  int watt = analogRead(A2)*faktor;
}

kostet kein bißchen mehr Speicher, kann aber ggf leichter angepasst werden.

Achtung: wenn du die Heizung mit PWM steuern willst, wird das mit dem Messen komplizierter, weil du den Messzeitpunkt mit der PWM synchronisieren musst.
Für Heizungen brauchst du aber meist keine PWM, weil die sehr träge sind. (hängt von deinem System ab)

Möchtest du Simulink zu programmieren verwenden? oder zum berechen der Größen?

sowohl als auch, finde das recht angenehm mit den Bausteinen dort :slight_smile:

ich zeige dir einfach mein Blockschaltbild vllt kannst du mir ja sagen ob das so geht für das auslesen des und messen/berechnen der Leistung

aber deine Berechnungen (die Rechnung für faktor = 24.0/(R_shunt/R1*(R1+R2)/5*1024) ) könnte ich so in meine vorhandenen Blöcke einlesen und dann alles berechnen oder nicht ?

TW1993:
könnte ich so in meine vorhandenen Blöcke einlesen und dann alles berechnen oder nicht ?

Kann ich nicht beurteilen.
Ich weiß, dass bei uns in der Firma die Softwareentwickler Simulink verwenden um komplexe Regler und Abläufe zu programmieren (Wir reden hier von Megabytes an Code). Simulink für etwas einzusetzen, was man mit einer einzigen Codezeile erledigen kann, finde ich etwas übertrieben.