Neueste Beiträge

#21
P
Projekte und Eigenbau / Aw: Platine und Programm für ...
Letzter Beitrag von pic18 - 11.05.2022, 09:45:57 CEST
Magst Du mal das Programm hochladen, dann würde ich mal darüber schauen. Mit der Betriebssicherheit ist es so eine Sache. Ich suche schon fast 10 Jahre einen Fehler in meiner Soft - bzw. Hardware. Mein Internetzugang mit dem ENC28J60 ist nach gewisser Zeit nicht mehr erreichbar. Ich habe es so gelöst, das ich alle 10 Minuten den Baustein resette was natürlich nicht die schöne Art ist. Jetzt habe ich mal testweise den Takt von der SPI Schnittstelle auf 1/16 gesetzt. Dies bringt aber offenbar auch keine Besserung.
#22
P
Projekte und Eigenbau / Aw: Platine und Programm für ...
Letzter Beitrag von picass - 10.05.2022, 17:44:00 CEST
Mit meinem Projekt ging es nicht so recht weiter. Die Hardware ist zwar komplett in der Garage eingebaut, aber die Software darauf hatte ich nur testweise in Betrieb genommen. Zum Einen traute ich dem Frieden noch nicht so recht, zum Anderen wollte ich erst noch warten, bis auch die Interrupt-Routinen eingearbeitet waren und das wiederum sollte die Betriebssicherheit erhöhen, rsp. herstellen. Dann ist da noch das ungelöste Prob, dass der Antriebsschlitten, mit dem das Tor an den Kettenantrieb gekoppelt ist, sich zu häufig aushakt und - ach ja - die Kette ist immer noch zu lang. Und dann kam der Krieg! :o
Das wurde mein persönlicher Krieg, mein Kampf mit den Tücken der Interrupt-Technik. Im Programm ist ein Sleep-Funktion vorgesehen, und da wollte der µC manchmal nicht rein, oder manchmal nicht mehr raus, manchmal übersprang er die elegant. Das hat mich graue Haare gekostet und das bei Glatze!

Seit 15 min bin ich durch das Toggeln einer LED überzeugt, dass der Endsieg...., ähm....., dass diese Runde nun an mich gegangen ist. Zumindest in meiner Simultan-Anlage in meinem Kellerlabor funktioniert das. Morgen der ultimative Test in der Garage.
Grüße, picass
#23
P
Projekte und Eigenbau / Aw: Zweidimensionales Feld in ...
Letzter Beitrag von pic18 - 09.05.2022, 18:44:24 CEST
Ich konnte das Feld leider nicht so initialisieren wie ich es wollte. Jetzt muss ich darauf achten, dass typedef enum test{..} und menu_txt[] zusammenpassen. Ansonsten funktioniert das Programm. Damit der Pic während der Menüauswahl noch die eigentliche Abläufe abarbeiten kann, werde ich das ganze im Hauptprogramm als Schleife (Automaten) immer wieder aufrufen. Um die einzelnen Schritte aufzuteilen werde ich evtl. noch eine zweite Ebene programmieren.
#24
avatar_Peter
ESP-32 Controller / NODE Red
Letzter Beitrag von Peter - 08.05.2022, 21:49:13 CEST
Hallo
Werde mich nun mal in den ESP-32 Controller einarbeiten. Da es den Controller auch schon
ein paar Jahre gibt, gibt es mitlerweile auch einige gute Compiler für den Controller.
Habe mich hier für den Compiler NODE RED entschieden. Dieser Editor läuft im Browser
Fenster und ist wie im Anhang zu sehen, grafisch gestalltet. Die paar Grafikbausteine, die
man dort sieht, fragen beim ESP-32 die Touchsensoren ab und geben im Browserfenster den Port dar
und geben die Portnummer über Lautsprechen am PC aus. Da es im Internet mehrere Tausende von diesen
Blockgrafiken gibt, kann man so doch ziemlich einfach ein Programm erstellen. Wie einfach das nachher ist, wird
sich noch zeigen, da ich noch ziemlich am Anfang bin mit dem Programm zurecht zu kommen. Natürlich steckt
hinter dem ganzen ein Code. Den man auch einsehen kann und ändern kann.
Aber mehr dazu wenn ich mehr weis.
Wenn sich einer mit dem ESP-32 auskennt, ist jede Art von Info Willkommen.
Wenn jemand sich auch mit dem ESP-32 beschäftigen möchte, so können wir hier auch Erfahrungen austauschen.
Das war zuerst einmal der Anfang und es werden bestimmt noch einige Beiträge dazu kommen.
#25
P
Projekte und Eigenbau / Aw: Platine und Programm für ...
Letzter Beitrag von pic18 - 06.05.2022, 11:33:36 CEST
Ich denke eine Abschirmung ist nicht notwendig. Du hast außerdem eine sehr niedrige Taktfrequenz und bist durch die Batterie weg vom Netz. Wichtig ist, das du keine fliegende Verdrahtung hast. Ich hatte noch nie ein Metallgehäuse benutzt, meine eine Schaltung werkelt schon über 10 Jahre.
#26
P
Compiler Software / Aw: Compiler XC8 in MPLAB X ...
Letzter Beitrag von picass - 06.05.2022, 11:26:08 CEST
Hallo Herbert!
Du hast es möglicherweise schon mal dargestellt, warum du so viele verschiedene MPLAB X Versionen installiert hast. Es mag Gründe geben, aber ohne die jetzt zu kennen würde ich es für eine gute Idee halten, eine einzige, für gut befundene Version nur noch zu verwenden. Gerade dann, wenn aus diversen Gründen Unsicherheiten bestehen, wird eine große Vielfalt an Versionen nicht zur Klärung beitragen. Die MPLAB X IDE bis Vers. 5.35 ist noch "die Alte", danach geht es mit der umgemodelten für eine fast neue Sprache weiter - zumindest beim Assembler-Programmieren ist das so.
Auch dies verstehe ich nicht: du klagst über das Anlegen neuer Projekte. Sowas mache ich ausgesprochen gerne und das geht bei mir innerhalb von Sekunden über die Bühne. Bevor ich in einem Programm was Neues ausprobieren will oder aber schlicht daran weiter arbeite, - zack, wird schnell 'ne Neue angelegt, damit das Alte für alle Fälle gesichert zur Verfügung steht, falls ich mich bei dem Neuen mal wieder verhauen sollte.

Du meinst die "Config Settings"? Nach meinen Erfahrungen braucht man in der Tat nicht alles, was da angeboten wird. Sehr vergröbert gesagt sind diejenigen Einstellungen, welche "vorne" liegen, sehr wichtig, die müssen sein. Je weiter man nach "hinten" gelangt, um so eher kann man was weglassen. In diversen Tutorials von Microchip himself, welche den kleinen Beispiel-Progs für das PICkit-Low-Demo-Board beigefügt sind/waren, ist da Vieles weg gelassen. Wenn du über ein gut funktionierendes Programm verfügst, dessen einwandfreie Funktion du rasch und ohne nennenswerten Aufwand überprüfen kannst, dann kannst du ja mal experimentieren mit diesen Settings, und z.B. mal "von hinten" anfangen und Diverses weglassen und schauen, ob es immer noch klappt.
#27
P
Projekte und Eigenbau / Aw: Platine und Programm für ...
Letzter Beitrag von picass - 06.05.2022, 11:10:18 CEST
Zitat von: Peter am 27.04.2022, 21:29:29 CESTWas hängt denn da für eine Stromversorgung dran ?
Lässt sich in einem Satz nicht beantworten:
- in der Einsatzversion wird letztlich ein Auto-Akku mit seinem extremst niedrigen Innenwiderstand die Elektronenquelle sein, aber ...... aber vorgesehen ist die Unterbringung der kleinen Empfangsplatine einige Meter davon entfernt, also möglichst dicht am Garagentor, in der stillen Hoffnung, dass der Empfang dort besser ist, als wenn die E-Platine hinten in der Garage an der sonstigen Elektronik und dem Akku verbaut ist.
- die hier demonstrierten wilden Schwinger wurden aber über mein Universal-Netzgerät mit Saft versorgt. Dieses U-NG ist ein stonealtes und besteht quasi fast nur aus einem LM317 mit 1,5 Meter langen Versorgungsstrippen.

Aber gemach, Freunde, auch dieser Kampf scheint inzwischen gewonnen: der Einbau von gesamt 4 zusätzlichen Kondensatoren in diese E-Platine brachte alle Schwinger zum Ausschwingen, rsp. zum Schweigen. Das Prob wäre erledigt - is klar - nun geht es an die anderen Fronten, hier der Software, zu besichtigen demnächst.
Grüße, picass
#28
P
Projekte und Eigenbau / Zweidimensionales Feld in c in...
Letzter Beitrag von pic18 - 03.05.2022, 22:17:33 CEST
Hallo, ich habe schon lange nichts mehr in C programmiert. Nun möchte ich in meinem größeren Projekt ein Menü programmieren um Einstellungen vorzunehmen. Da sich die Reihenfolge noch ändert möchte ich die Initialisierung flexibel halten.

ich habe folgenden Programmcode geschrieben:

typedef enum test{
    hk2_schpr,
    hk2_pause,
    hk2_party,
    hk2_tag,
    hk2_nacht,
    hk2_betr,
    ww_solltemp,
    ww_betr,
    ww_einmal,
    zp_betr,
    ascii,
    }
    ausw_menu_t;
   
ausw_menu_t ausw_aktuell=hk2_schpr; //0
menu_ems_buffer_t menu_ems_buffer[buffer_size];

void ausw_mark(uint8_t zeile);
void ausw_delmark(uint8_t zeile);

};

const rom char menu_txt[ausw_max+1][18] = {
     {"HK2 Schaltprogr."},  //0
    "HK2 Pause",
    "HK2 Party",
    "HK2 Temp Tag",
    "HK2 Temp Nacht",
    "HK2 Betr. Art",
    "WW Solltemp",
    "WW Betr. Art",
    "WW Einmalladung",
    "ZP Betriebsart",
    "UBA MAX Leistung",
    "ASCII Code" //11
};

//https://learntutorials.net/de/c/topic/4547/initialisierung
//int array[] = { [4] = 29, [5] = 31, [17] = 101, [18] = 103, [19] = 107, [20] = 109

Nun möchte ich das Array wie in learntutorials.net beschrieben initialisieren.
Dabei bekomme ich aber immer eine Syntax Error Meldung. Weiß jemand wie ich das bewerkstelligen kann? Folgende Zeilen gehen nicht:

const rom char menu_txt[ausw_max+1][18] = {
     {[0]="HK2 Schaltprogr."},  //0
     {[1] []="HK2 Pause"}
     };

ich benutze den Compiler C18


#29
P
Projekte und Eigenbau / Aw: Feuchten Keller trocknen
Letzter Beitrag von picass - 28.04.2022, 10:10:02 CEST
Zu ermitteln wären als Beispiele die Logarithmen zur Basis 10 von diesen Zahlen:
0,6031 oder 3,6835 oder 10,8668  :(
Habe bislang im Inet nur ein Misch-Verfahren gefunden. Da wird zunächst aus einer Tabelle für die nächst niedrige "ganze" Zahl der Logaritmus ausgelesen und dann interpoliert. Das könnte zu einer Lösung führen. Habe das aber noch nicht versucht, in ein Programm umzusetzen.... per Papier klappt es. Ist aber halt keine Formel. Wobei es ja eh' fraglich ist, ob die sich in Assembler überhaupt bearbeiten lassen würde.
Mist, mein Mathezeit am Gimmy ist viel zu lange her, früher konnte ich das vermutlich mal. Leider sind meine entsprechenden Mathe-Bücher schon längst entsorgt..... und im Inet findet man massenhaft "automatische Rechner", aber keiner hinterlegt eine griffige Formel.
Grüße, picass
#30
avatar_Peter
Projekte und Eigenbau / Aw: Feuchten Keller trocknen
Letzter Beitrag von Peter - 28.04.2022, 09:49:19 CEST
Wenn du nur ganze Zahlen haben willst, dann teile z.b log1000 immer durch 10.
Das machst du solange bis du auf 0 kommst. Die Anzahl wie oft du geteilt hast
ist dan dein Ergebniss. Hier also 3.