Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Stromzählermodul PZEM-004T auslesen
Gehe zu Seite 1, 2, 3, 4  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
eeg-grimm



Anmeldungsdatum: 19.04.2006
Beiträge: 46
Wohnort: Herzogenaurach

BeitragVerfasst am: 05.12.2017, 13:08    Titel: Stromzählermodul PZEM-004T auslesen Antworten mit Zitat

Hallo Jungs,


möchte das Stromzählermodul PZEM-004T (PZEM-004) das die Chinesen an jeder Ecke im Internet verkaufen mit QBasic auslesen.

Das soll mit 9600 gehen so mein erster Eindruck.

Über die serielle Schnittstelle RS232 oder an LPT1.

Hat von euch jemand so was bereits mal gemacht ?
Oder kann mir Tips geben wie ich das am besten machen kann.
Im Netz habe ich noch nichts vernünftiges gefunden mit in Basic.


http://wiki.bernardino.org/index.php/Electric_monitoring_and_communication_module_power_energy_meter


https://translate.google.com/translate?sl=en&tl=de&u=http%3A%2F%2Fwiki.bernardino.org%2Findex.php%2FElectric_monitoring_and_communication_module_power_energy_meter


Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5900
Wohnort: Deutschland

BeitragVerfasst am: 05.12.2017, 15:35    Titel: TTL-zu-RS232 oder TTL-zu-USB, OPEN COM Antworten mit Zitat

Hallo,

wenn ich den Wiki-Artikel richtig verstehe, bräuchtest du erst mal einen TTL-zu-PC-Interface-Umsetzer, um den Sensor direkt mit dem PC ansprechen / auslesen zu können.

Wenn die serielle Schnittstelle (RS232 -> COM-Port) OK ist, d. h. dein PC noch einen entsprechenden Anschluss hat, könnte man ggf. einen MAX232-Pegelwandler verwenden:
http://www.elektronik-magazin.de/page/der-pegelumsetzer-max232-15

Es gibt aber auch "intelligente" Komponenten, die von TTL nach USB umsetzen können. Da wird dann ein virtueller COM-Port simuliert. Bei diesen USB-Connectoren fällt mir zumindest immer FTDI als erstes ein:
http://www.ftdichip.com/Products/Cables/USBTTLSerial.htm

Die parallele Centronics-Schnittstelle (LPT) würde ich außen vor lassen.

Wenn du es schaffst, von der TTL-Schnittstelle der Platine zu RS232/COM oder USB zu kommen, solltest du das Gerät mit OPEN COM in FreeBASIC ansprechen können. Das Protokoll, das im Wiki beschrieben ist, ließe sich dann auch umsetzen.

Viele Grüße!
Sebastian


PS: Meine persönliche Laien-Meinung zu Elektronikthemen wird stets ohne Garantie geäußert. Alle deine Basteleien nur auf eigene Gefahr. Insbesondere mit Netzspannung am besten gar nicht hantieren. Oder nur auf eigene Gefahr, wenn du wirklich weißt, was du tust.
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 846
Wohnort: Ruhrpott

BeitragVerfasst am: 06.12.2017, 11:14    Titel: Antworten mit Zitat

Sebastian hat Folgendes geschrieben:
Die parallele Centronics-Schnittstelle (LPT) würde ich außen vor lassen.
Nicht unbedingt. Man könnte das RS232 - Signal auch softwaremäßig nachbauen (doch, das geht!) und dann über den Parallelport schicken (natürlich nur, wenn der PC noch sowas hat). Dann bräuchte man überhaupt keinen Wandler.

Ansonsten würde ich auch einen TTL-nach-USB - Wandler empfehlen, das erspart auch die Treiberprobleme beim Schnittstellenzugriff mit Windows >= XP.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
St_W



Anmeldungsdatum: 22.07.2007
Beiträge: 924
Wohnort: Austria

BeitragVerfasst am: 08.12.2017, 04:44    Titel: Antworten mit Zitat

grindstone hat Folgendes geschrieben:
Ansonsten würde ich auch einen TTL-nach-USB - Wandler empfehlen [...]
Das würde ich auch, zumal du ja ohnehin schon beim Chinesen (AliExpress nehme ich an?) einkaufst. Da gibt es sowas zum Spottpreis inkl. Versand, z.B.:
https://de.aliexpress.com/item/1pcs-USB-to-TTL-converter-UART-module-CH340G-CH340-3-3V-5V-switch/32668180966.html

Softwareseitig sollte die Ansteuerung mit FreeBasic leicht umsetzbar sein. Zum Thema COM gibt es auch schon einige Themen hier, z.B.:
https://forum.qbasic.at/viewtopic.php?p=106896
https://forum.qbasic.at/viewtopic.php?p=107957
_________________
Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
eeg-grimm



Anmeldungsdatum: 19.04.2006
Beiträge: 46
Wohnort: Herzogenaurach

BeitragVerfasst am: 14.12.2017, 14:57    Titel: Antworten mit Zitat

Hallo Leute,

ich möchte die Datenübertragung über den COM1 vom PC machen und mit einem RS232 Pegelwandler.
Mal eine grundsätzliche Überlegung, brauch ich eigentlich einen Pegelwandler, wenn ich vom COM1 komme (TX) und auch wieder reingehe (RX) ?
Das Messmodul PZEM-004T hat ja an TX und RX je einen Optokoppler, siehe Foto.
https://s14-eu5.ixquick.com/cgi-bin/serveimage?url=https%3A%2F%2Fimg.fasttechcdn.com%2F730%2F7305101%2F7305101-7.jpg&sp=2e541484b5286efc3ed49789a17163fc

<<<<<<<<<<<<<<<<<<<<<

Wie müsste den das senden der Hex Sachen dann in Qbasic-Programm aussehen, wenn ich die Spannung abfragen möchte mit B4 C0 A8 01 01 00 1E
Also erst mal das absenden an das Messmodul, welcher Messwert zurückgesendet werden soll.

<<<<<<<<<<<<<<<<<<<<<<<<

„das Gerät mit OPEN COM in FreeBASIC ansprechen“
Ich habe QBasic 4.5 auf dem PC müsste doch auch gehen oder soll ich auf FreeBASIC um-schwenken.

<<<<<<<<<<<<<<<<<<<<<<

Hallo Sebastian,

bist du etwas im Bereich der „Erneuerbaren Energie“ unterwegs, wenn ich mir so das mit „Die 4. Revolution“ betrachte.
Ich komm auch aus der Hobby-Ecke „Erneuerbaren Energie“ und bin da auch unterwegs.

Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5900
Wohnort: Deutschland

BeitragVerfasst am: 14.12.2017, 16:47    Titel: Antworten mit Zitat

Hallo,

mit QBasic unter DOS oder Windows 3.1/9x funktioniert die Schnittstellenkommunikation meiner Erfahrung nach einwandfrei.

FreeBASIC hätte den Vorteil, dass es auch auf Windows 7/10 bzw. 64-Bit-Windows mit moderner PC-Hardware funktionieren würde, also etwas zukunftssicherer.

Zitat:
Mal eine grundsätzliche Überlegung, brauch ich eigentlich einen Pegelwandler, wenn ich vom COM1 komme (TX) und auch wieder reingehe (RX) ?

Meiner Meinung nach ja. Auf der Platine sieht man klein über dem Stecker ja auch die Beschriftung TTL. Der COM-Port (RS232) arbeitet mit anderen Spannungsniveaus.
https://de.wikipedia.org/wiki/Logikpegel#Standardwerte

Zitat:
Qbasic-Programm aussehen, wenn ich die Spannung abfragen möchte mit B4 C0 A8 01 01 00 1E

Falls nicht jemand anderes schneller ist, kann ich dir dazu bei Gelegenheit einen Code-Schnipsel schreiben. lächeln

Zitat:
bist du etwas im Bereich der „Erneuerbaren Energie“ unterwegs, wenn ich mir so das mit „Die 4. Revolution“ betrachte.
Ich komm auch aus der Hobby-Ecke „Erneuerbaren Energie“ und bin da auch unterwegs.

Ja, ich find das Thema auch sehr interessant und sympathisch. lächeln Ich hab vor ein paar Jahren z. B. auch mit PV-Modulen experimentiert. Aber ich find das Thema auch politisch, wirtschaftlich und gesellschaftlich sehr wichtig. Ich glaub schon, dass das die Zukunft ist.

Viele Grüße!
Sebastian
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
eeg-grimm



Anmeldungsdatum: 19.04.2006
Beiträge: 46
Wohnort: Herzogenaurach

BeitragVerfasst am: 15.12.2017, 12:48    Titel: Antworten mit Zitat

Hallo,

Ich warte ja noch auf die Teile aus China (PZEM-004T)

Wenn die da sind versuche ich das mal selber zu realisieren, wobei das mit den „OPEN COM…“ nicht gerade mein Spezialgebiet ist.

#

„COM-Port (RS232) arbeitet mit anderen Spannungsniveaus“
Da müsste man eben den Vorwiderstand vom Optokoppler anpassen am TX Eingang auf dem Messmodul.

Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5900
Wohnort: Deutschland

BeitragVerfasst am: 15.12.2017, 15:22    Titel: Antworten mit Zitat

Zitat:
„COM-Port (RS232) arbeitet mit anderen Spannungsniveaus“
Da müsste man eben den Vorwiderstand vom Optokoppler anpassen am TX Eingang auf dem Messmodul.

Ich glaube, mit Widerständen als Spannungsteiler - meinst du das? - kommt man da nicht weit.

Du müsstest ja auch aus dem TTL-Low-Pegel einen deutlich negativen in Bezug auf GND erzeugen für den RS232-Low-Pegel. Von deinem Bauteil bekommst du vermutlich 0V (Low) und 5V (High), für den COM-Port brauchst du -12V (Low) und 12V (High). (Wobei RS232 die Spannungsintervalle relativ tolerant beschreibt.)

Speziell dafür gibt es ja z. B. den MAX232. Der kostet bei Reichelt momentan 39 Cent. Von daher würde ich mir da gar nicht so groß Gedanken machen, ob und wie man sowas mit diskreten Bauteilen nachbauen kann. lächeln
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 846
Wohnort: Ruhrpott

BeitragVerfasst am: 16.12.2017, 00:21    Titel: Antworten mit Zitat

Das Problem bei einer direkten Verbindung von RS232 mit TTL sind weniger die Spannungen (die meisten Schnittstellen sollen 0V/5V akzeptieren) als die inverse Logik. Bei RS232 entspricht eine logische "1" einem Spannungspegel von -12V, eine logische "0" einem Spannungspegel von +12V. Das Signal muß also auf jeden Fall invertiert werden.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5900
Wohnort: Deutschland

BeitragVerfasst am: 16.12.2017, 02:30    Titel: Daten mit OPEN COM senden und empfangen Antworten mit Zitat

Oh, richtig, ja!

Ich habe bei meinen AVR-Basteleien einfach immer einen MAX232, MAX485 oder SN75176 benutzt und damit war die Sache mit der Anbindung erledigt. lächeln

@eeg-grimm: Was hältst du hiervon? Ist allerdings ungetestet.
Code:
' Code-Schnipsel ohne Funktionsgarantie. Verwendung nur auf eigene Gefahr!

Declare Function getHexString( Daten As String ) As String

' TODO: Hier Parameter einstellen:
Const COMPortParameter = "COM1:9600,N,8,1,ME,CS0,DS0,RS"

' Kommandos hinterlegen:
Dim KommandoA As String = Chr( &HB0, &HC0, &HA8, &H01, &H01, &H00 )

' COM-Port oeffnen:
Print "Versuche COM-Port zu oeffnen: "; COMPortParameter
If ( Open Com ( COMPortParameter For Binary As #1 ) <> 0 ) Then
    Print "Der COM-Port konnte leider nicht geoeffnet werden."
    GetKey
    End 1
End If

Print
Print "COM-Port geoeffnet."
Print "Bitte [Leertaste] druecken zum Senden des Befehls und [Esc] zum Beenden."
Print

Dim As String Tastatur="", Datenpuffer=""

Do
    ' Hat das angeschlossene Geraet inzwischen Daten gesendet?
    If Loc( 1 ) > 0 Then
        Datenpuffer = Space( Loc( 1 ) )
        Get #1, , Datenpuffer
        Print "Daten empfangen! Hex-Ansicht: ";
        Color 10
        Print getHexString( Datenpuffer )
        Color 7
    End If
    ' Hat der Benutzer eine Taste gedrueckt?
    Tastatur = Inkey
    If( Tastatur = Chr(32) ) Then 'Leertaste
        Print "Sende Daten! Hex-Ansicht: ";
        Color 12
        Print getHexString( KommandoA )
        Color 7
        Put #1, , KommandoA
    End If
    Sleep 1
Loop Until Tastatur = Chr(27) 'Escape

Print
Print "Schliesse Schnittstelle..."

' Schnittstelle schliessen:
Close #1

Print "Programm beendet."

GetKey
End 0



' String mit irgendwelchen Daten in Hex-Form ausgeben, um auch nicht-druckbare
' Zeichen einfach lesen zu koennen.
Function getHexString( Daten As String ) As String
    Dim Laenge As Integer = Len( Daten )
    If( Laenge < 1 ) Then
        Return ""
    End If
    Dim HexAusgabe As String = ""
    For i As Integer = 1 To Laenge
        HexAusgabe &= Hex( Asc( Mid( Daten, i, 1 ) ), 2 ) & " "
    Next i
    Return HexAusgabe
End Function

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
eeg-grimm



Anmeldungsdatum: 19.04.2006
Beiträge: 46
Wohnort: Herzogenaurach

BeitragVerfasst am: 18.12.2017, 15:38    Titel: Antworten mit Zitat

Hallo Sebastian,

deine Programmvorschau ist natürlich auf einer anderen Ebene als mein Hobby Programmierung.
Da muss ich noch etwas daran arbeiten bis ich alles genau verstanden habe was du da gemacht hast.

Die Leistungsmessmodule (PZEM-004T) sind eingetroffen nur die RS232 Pegelwandler noch nicht (dachte eigentlich das ich noch einen habe).

Muss ich deine Programmvorschau in QBasic mit Hand abtippen oder kann ich das irgendwie kopieren.
Hab das nicht geschafft die Programmvorschlag in QBasic einzufügen.

######################

Noch einige Fragen zu FreeBASIC.
Ist die Programmieroberfläche immer in Englisch gibt’s die auch in Deutsch ?

Welche ist die Aktuelle Version von FreeBASIC, 1.05.0 ? und brauch ich noch was anderes an Programmen die ich herunter laden muss?

Was hat das mit den IDE, IDEs auf sich.

Bei der Übersicht zum „Befehlsreferenz“

https://www.freebasic-portal.de/befehlsreferenz/

Da sehen ja nur die Wörter und wo ist die Erklärung was die genau machen.

Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4208
Wohnort: ~/

BeitragVerfasst am: 18.12.2017, 18:47    Titel: Antworten mit Zitat

Zu den Fragen zu FreeBASIC:
Der fbc ist ein Compiler, der FreeBASIC-Quellcode in ein ausführbares Programm umwandelt. Die Sprache selbst ist in englisch (englische Schlüsselwörter), bringt aber selbst noch keine Programmieroberfläche mit; in welcher Sprache die Programmieroberfläche vorliegt, ist also zunächst einmal offen. Prinzipiell kannst du den Quellcode mit jedem beliebigen Texteditor erstellen und dann über die Eingabeaufforderung compilieren.

Etwas einfacher wird das mit einer IDE (Integrated Development Environment - integrierte Entwicklungsumgebung), die zum einen als Texteditor für den Quellcode dient, zum anderen eine eingebaute Funktionalität zum Compilieren besitzt und dann in der Regel auch noch viele andere Optionen bietet, die das Leben des Programmierers einfacher machen. Für FreeBASIC gibt es da zum Beispiel diese hier:
https://www.freebasic-portal.de/downloads/ides-fuer-freebasic/
Beliebt sind vor allem FBEdit und FBIde (die ich beide nicht kenne, da ich aus der Linux-Ecke komme; ich verwende Geany). In welcher Sprache diese Entwicklungsumgebung bereit steht, hängt vom jeweiligen Programm ab. Wichtig ist halt zu wissen, dass die IDE nicht der Compiler ist und umgekehrt; beide Komponenten können getrennt voneinander ausgetauscht werden.

Die aktuelle FreeBASIC-Version ist 1.05.0. Zum Compiler brauchst du, wie oben beschrieben, auf jeden Fall noch einen Texteditor dazu (ein Textedtor ist in der Regel beim Betriebssystem immer mit dabei), wobei das Leben mit einer IDE noch einmal deutlich einfacher werden kann.

Die Frage nach der Befehlsreferenz verstehe ich jetzt nicht ganz - in der Referenznavigation bekommst du eine Liste mit allen Schlüsselwörtern, und die verlinken auf die jeweilige Beschreibungsseite zum Schlüsselwort.

Zitat:
Muss ich deine Programmvorschau in QBasic mit Hand abtippen oder kann ich das irgendwie kopieren.
Hab das nicht geschafft die Programmvorschlag in QBasic einzufügen.

Auch für QBasic kannst du den Quelltext mit einem beliebigen Texteditor (-> Notepad) erstellen und speichern - an die Endung ".bas" denken - und dann die Datei mit der QBasic-Umgebung öffnen.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
grindstone



Anmeldungsdatum: 03.10.2010
Beiträge: 846
Wohnort: Ruhrpott

BeitragVerfasst am: 18.12.2017, 19:35    Titel: Antworten mit Zitat

Zitat:
Muss ich deine Programmvorschau in QBasic mit Hand abtippen oder kann ich das irgendwie kopieren.
Hab das nicht geschafft die Programmvorschlag in QBasic einzufügen.
Das wirst du mit dem eingebauten QB - Editor auch nicht schaffen, da dieser als reines DOS - Program keinen Zugriff auf die Windows - Zwischenablage hat. Es gibt aber einen ganz einfachen Workaround: Notepad öffnen, Quelltext markieren und über die Zwischenablage ins Notepad kopieren, Text mit der Endung ".bas" abspeichern und diese Datei dann mit dem QB - Editor öffnen.

Als IDE benutze ich persönlich FbEdit, die sich -unter anderem- auch auf Deutsch einstellen lässt.

Gruß
grindstone
_________________
For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1855
Wohnort: D59192

BeitragVerfasst am: 19.12.2017, 17:39    Titel: Antworten mit Zitat

Hi,
ich habe mir auch den PZEM-004T und ein TTL zu Serial USB Adapter bestellt.
Die nächsten Wochen werden die Teile aber noch auf dem Versandweg sein.
Nach einigen Recherchen im Internet bin ich aber verunsichert was die elektrische Sicherheit betrifft.
Es soll an den Optokopplern nicht mal 0,5mm Abstand zu Netzleitern geben?
Mal abwarten!
Die Aufbereitung der Empfangsdaten ist etwas tricki,
hier hab ich es mal so simuliert dass man es auch in QBasic übertragen kann:

Code:
Dim x As String
Dim As UByte D0 =&HA0 ,D1=&H00, D2=&HE6, D3 =&H02, D4=&H00, D5=&H88
If D5=((D0+D1+D2+D3+D4)And &Hff) Then Print "Pruefsumme Ok ";
x= Str((D1*256)+D2)+"."+Str(D3)
Dim As Single volt= Val(x)
Print volt;"V"

D0 =&HA1: D1=&H00: D2=&H11: D3=&H20: D4=&H00: D5=&HD2
If D5=((D0+D1+D2+D3+D4)And &Hff) Then Print "Pruefsumme Ok ";
x= Str((D1*256)+D2)+"."+Str(D3)
Dim As Single ampere= Val(x)
Print ampere;"A"

D0 =&HA2: D1=&H08: D2=&H98: D3=&H00: D4=&H00: D5=&H42
If D5=((D0+D1+D2+D3+D4)And &Hff) Then Print "Pruefsumme Ok ";
x= Str((D1*256)+D2)+"."+Str(D3)
Dim As Single watt= Val(x)
Print watt;"W"

D0 =&HA3: D1=&H01: D2=&H86: D3=&H9f: D4=&H00: D5=&HC9
If D5=((D0+D1+D2+D3+D4)And &Hff) Then Print "Pruefsumme Ok ";
x= Str((D1*65536)+(D2*256)+D3)+"."+Str(D4)
Dim As Single kWh= Val(x)
Print kWh;"kWh"

GetKey

_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
eeg-grimm



Anmeldungsdatum: 19.04.2006
Beiträge: 46
Wohnort: Herzogenaurach

BeitragVerfasst am: 20.12.2017, 01:10    Titel: Antworten mit Zitat

Hallo Sebastian,
Hallo volta,

bei euren Programmvorschlag muss ich die Segel streichen, das ist zu komplex für mich.

Da muss ich zugeben das ich da echt auf Hilfe angewiesen bin.

Sebastian,
bereits bei deinem Programm kommt gleich eine „Fehlermeldung“ und ich hab keinen Plan wo der Fehler ist.
Hab aber auch noch kein Messmodul und RS232 Pegelwandler am CON1.

Hab mal ein Foto gemacht.
http://up.picr.de/31284375sn.jpg


Hallo volta,
du schreibst:
„Es soll an den Optokopplern nicht mal 0,5mm Abstand zu Netzleitern geben?“

Nicht der Optokopplern ist das Problem, die Platinenleiterbahnen gehen bis auf ca. 0,2mm an die Optokopplerkontakte.

Das kenne ich eigentlich anders, das soll eigentlich immer gut Abstand sein, in China gegen die Uhren vermutlich etwas anders.
In dem Foto sieht man das die „Kupferlatte“ voll die Optokoppler „Überbrückt“ nur die Mini Abstände der Leiterbahnabstände trennt.
http://up.picr.de/31284517rk.jpg


Zu deinen Programmvorschlag kann ich gemeindlich nichts sagen, nur das die Messwerte nacheinander abfragst.
Wie das ganze jetzt in einem USB Anschluss am PC zusammenarbeitet und welcher USB das ist muss ich erst noch mal überblicken.

Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5900
Wohnort: Deutschland

BeitragVerfasst am: 20.12.2017, 01:22    Titel: Antworten mit Zitat

Hallo,

ahh, tut mir Leid, dass ich's nicht dabeigeschrieben habe: Das Beispielprogramm von mir ist für FreeBASIC gewesen.
Hätte immerhin den Vorteil, dass du's ganz normal unter Windows 7 usw. als Windows-Anwendung ausführen könntest.

Falls du's mal mit FreeBASIC ausprobierst, müsstest du in der Konstante COMPortParameter ggf. noch die COM-Port-Nummer an dein System anpassen. Wenn du einen USB-Adapter o.ä. verwendest, bekommst du womöglich einen virtuellen COM3 oder COM4 oder so.

Für QBasic würde es im Prinzip ähnlich funktionieren, aber da müsste man an der Syntax ein paar Sachen ändern.

Viele Grüße!
Sebastian
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
eeg-grimm



Anmeldungsdatum: 19.04.2006
Beiträge: 46
Wohnort: Herzogenaurach

BeitragVerfasst am: 20.12.2017, 09:14    Titel: Antworten mit Zitat

Hallo Sebastian,

O.K. wenn das für FreeBASIC ist dann ist das eine andere Baustelle und da werde ich auch den „Zement“ und das „Gerüst“ u.s.w. nicht finden das ich von der QBasic Baustelle kenne.

Da muss ich eben noch eine FreeBASIC Baustelle auf machen.

Hab das auch gemacht, ist aber etwas verwirrend was man jetzt genau alles braucht und vor allen wie dann das Endergebnis aussehen muss im FreeBASIC Verzeichnis wo sich alles da-rin abspielen soll, alles was man mit FreeBASIC macht.

Ich hab jetzt im Verzeichnis von FreeBASIC.
FreeBASIC-Version 1.05.0. (für 32bit)
Brauch ich jetzt noch FBIde 0.4.6r4 ?

Die Beschreibung von „nemored“ ist für mich etwas verwirrend verschiedene Varianten, Möglichkeiten in einer Beschreibung.

Ich hab ja für meine QBasic Sachen in der Werkstatt einen XP Rechner stehen nur ist wie Du sagst ein Einsatz in Windows 7 u.s.w. eigentlich erstrebenswert um auch den Anschluss nicht zu verpassen.

Ich würde mal vorschlagen wir bleiben erst mal bei FreeBASIC bei der Problemlösung, um das auch Leute zugänglich zu machen die keinen XP-Rechner haben.
FreeBASIC läuft ja auch auf XP, so hab ich das verstanden.

Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
eeg-grimm



Anmeldungsdatum: 19.04.2006
Beiträge: 46
Wohnort: Herzogenaurach

BeitragVerfasst am: 20.12.2017, 10:12    Titel: Antworten mit Zitat

Nachtrag
Einige meiner Lieblings Befehle als Hobbyprogrammierer werden bei FreeBASIC nicht mehr unterstützt, GOSUB, RETURN, ON...GOSUB usw. da werde ich mich ziemlich umstellen müssen.

Wenn das FreeBASIC Programm durch den Computer läuft auf einem 32bit PC und das Programm soll auf einem 64bit PC ausgeführt werden soll ist das O.K. ?

Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1855
Wohnort: D59192

BeitragVerfasst am: 20.12.2017, 13:32    Titel: Antworten mit Zitat

Hi,
Zitat:
Nicht der Optokopplern ist das Problem, die Platinenleiterbahnen gehen bis auf ca. 0,2mm an die Optokopplerkontakte.
Ja, das meinte ich. Leider habe ich noch keinen Schaltplan von dem PZEM-004T gefunden.
Vermutlich wird die Spannungsversorgung aus dem 230V Anschluss bezogen.
Die 5V sind nur noch für die Optokoppler nötig.
Wenn die umgebene Kupferauflage mit Netzanschluss verbunden ist kann es bei Lötspritzern
zu unangenehmen kribbeln am PC kommen.
Zitat:
Zu deinen Programmvorschlag kann ich gemeindlich nichts sagen, nur das die Messwerte nacheinander abfragst.
Wie das ganze jetzt in einem USB Anschluss am PC zusammenarbeitet und welcher USB das ist muss ich erst noch mal überblicken.
Das Beispielprogramm von mir hat nichts mit USB zu tun.
Beim 'TTL zu Serial USB Adapter' wird ein virtueller Com-Port gebildet, den ich dann genau so
wie eine normale Serielle programmieren muss.
Zitat:
Da muss ich eben noch eine FreeBASIC Baustelle auf machen.
Im FreeBASIC-Portal findest du alles zu FB:
https://www.freebasic-portal.de/tutorials/was-man-fuer-fb-braucht-3.html
https://www.freebasic-portal.de/tutorials/installation-einrichtung-freebasic-4.html
Zitat:
Wenn das FreeBASIC Programm durch den Computer läuft auf einem 32bit PC und das Programm soll auf einem 64bit PC ausgeführt werden soll ist das O.K. ?
In Windows 64Bit laufen 32Bit Programme problemlos.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
eeg-grimm



Anmeldungsdatum: 19.04.2006
Beiträge: 46
Wohnort: Herzogenaurach

BeitragVerfasst am: 20.12.2017, 15:31    Titel: Antworten mit Zitat

Hallo volta,

auf der Platine ist ja das IC SD3004 verbaut und das Datenblatt und auch ein Schaltplan ist im Netz, der Schalplan vom kompletten PZEN-004T oder auch vom PZEN-004 nicht, auch noch nicht gefunden.

http://www.sdicmicro.com/DataSheet/SD3004%20datasheet%20v0.2c.pdf

Zitat:
„Beim 'TTL zu Serial USB Adapter' wird ein virtueller Com-Port gebildet, den ich dann genau so wie eine normale Serielle programmieren muss.“

Das ist ja klar, nur hab ich noch nichts über USB gemacht in Programmen, immer nur CON1 bei QBasic.
Bei COM ist ja die Nummer auch einem 9 Pin Stecker „verbunden“ der am PC ist und nur mit diesem COM-Stecker geht das.
Im und am PC sind aber 3 bis 5 USB Buchsen zum Einstecken.
Wird da automatisch die USB Buchse erkannt wo das PZEN-004T hängt ? so wie wenn ich eine z.B. Camara einstecke ?

Gruß
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2, 3, 4  Weiter
Seite 1 von 4

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz