Neueste Beiträge

#11
^
Mikrocontroller / Aw: Steuerung für Heizungsunte...
Letzter Beitrag von ^Cobra - 27.04.2025, 09:48:10 CEST
Moin Männers,

Die soweit funktioniert alles aber es gibt noch paar unschöne Dinge:
1. Wenn ich mit dem Schalter ausschalte und die Spannung wieder hoch genug ist schaltet das Relais kurz ein und wieder aus.
2. Da der Akku im Grunde gar nicht mehr voll wird sind die ein bzw. Ausschalt Zeiten sehr kurz.

Punkt 1 wird in der Software zu finden sein und ist im Grunde nur Fleißarbeit.

Punkt 2 ist türkisch: ich habe gestern die dritte Heitstufe ebenfalls in Reihe geschaltet. Somit sind es nun ca 1100W. Somit wird es zwar etwas ruhigere aber das Grund Problem bleibt. Meine erste Idee dazu war es eine ne Verzögerung in die Software zu schreiben. Dabei kommt aber das Problem das der Ladestrom geringer ist als der maximal mögliche. Ich würde also weniger Energie rausziehen können. Und nun kommt's, Grade kam mir die Idee eine Phasenanschnitt Steuerung einzubauen. Damit könnte ich die Abgabeleistung so regeln das die Spannung bei ca 25v bleibt. Somit wird der Akku immer geladen. 
Was meint ihr dazu? Es gab Mal ic für so ne Geschichte aber zumindest am f die schnelle nichts gefunden. Oder sollte der Pic das gleich komplett machen? 

Gruß 
Cobra
#12
P
Projekte und Eigenbau / Aw: JOY-CAR Roboter von Anfang...
Letzter Beitrag von picass - 26.04.2025, 11:16:33 CEST
Das Zusammenfügen der vielen Einzelteile ist erfolgreich abgeschlossen. Auch im Nachhinein stellt sich die Frage: lieber Bausatz oder gleich Fertiggerät? Um da Argumente zu liefern, folgt hier meine persönliche Erfahrung mit diesem Bausatz.
Auch wenn nach dem Auspacken der vielen Einzelteile zunächst sich ein ungutes Gefühl einschleichen sollte: die Dokumentation ist wirklich gut. Es entstehen kaum Fragen über die Positionierung beim Zusammenfügen. Jeder Schritt ist bebildert und mit Worten erklärt und auch die sinnvolle Reihenfolge dargelegt. Die Passgenauigeit ist angesichts der vielen Bohrungen und Öffnungen erstaunlich gut. Es ist allerdings sehr wichtig, dass man – wie empfohlen  - wirklich von allen, also auch den kleinen Montage-Teilen beidseitig die Schutzhaut vom Acrylglas abzieht. Nur an 2 Langlochbohrungen mussten die langen Schrauben kräftig rein geschoben, rsp. anfangs auch rein gedreht werden. Das waren dann aber auch die einzigen ,,Klemmer".
Als Werkzeug werden nur benötigt: ein eher feiner Kreuzschlitz-Dreher, eine mittelprächtige Kombizange zum Festhalten der Muttern beim Festziehen, und ein Pinzette ist hilfreich beim Verlegen der Kabel.

Die Befestigung der vielen Sensoren erfolgt mittels je einer Schraube. Das sollte man nicht mit aller verfügbaren Gewalt vornehmen, denn die Platinchen sind schon irgendwie niedlich klein und dünn. Eine einzige solche Befestigung war kritisch, Bild 1: für die spätere Kontrolle, bzw. Regelung der Geschwindigkeit ist an einer seitlich aus dem Getriebe ragenden Welle ein kleines Rad mit Längsschlitzen zu montieren. Is klar, das wird dann von einer Lichtschranke (LS) genutzt und deren Montage soll so erfolgen, dass sie platt auf der Unterseite montiert wird und die LS soll dann in den darüber liegenden Raum hinein ragen. Das ist aus meiner Sicht eine Schwachstelle, weil die Gabel-LS nicht weit genug zu reichen scheint. Ausgerechnet ein SMD-IC behindert die Planlage. Da bin ich von der Schraubenbefestigung abgewichen und habe stattdessen die Platine schräg angesetzt, sodass die LS weiter hoch kommt. Da hatte ich dann zum Heißkleber (HK) gegriffen. Die wenigen Klebepunkte fallen nun wirklich nicht auf und so ist es wenigstens betriebssicher. Weil die HK-Pistole gerade heiß war, gab es auch noch ein paar winzige Kleckse an den 4 Lampen. Die sollen mit Kabelbinder befestigt werden, aber dann wackeln sie noch. Das Wackeln wäre sicher egal, aber nu' hat es sich aus gewackelt.

Nach dem Zusammenbau blieben etliche Schrauben übrig und zwei Servos. Das eine davon ist für die alternative Montage des Ultraschall-Sensors oben auf der Stirn des Fahrzeugs vorgesehen. Das habe ich wie empfohlen erst mal ausgelassen. Der zweite Servo ist für eventuelle eigene, spätere Anwendungen.

Bausatz also ja oder nein? Is klar: wer es eilig hat oder wer angesichts von drei Lego-Bausteinen schon fremdelt, greift zum Fertiggerät. Falls da was nicht funktioniert, ist man in anscheinend bequemer Situation für eine Reklamation. Der Bausatz verschlingt natürlich etliche Stunden, aber er verlangt wirklich keine bastlerische Begabung oder Erfahrung. Geduld sollte schon vorhanden sein.
Das Zusammenfügen halte ich für einen rechten Vorteil. Die Gründe:
- man lernt jeden einzelnen Sensor kennen und vor allem auch die Verlegung jedes einzelnen Kabels.
- Zudem gibt es nur so die Möglichkeit, die Sensoren vor ihrem Einbau auf Funktion zu testen. Das ist tatsächlich möglich, denn deren Beschriftung und halt die verwendeten Bauteile lassen es zu, eine Betriebsspannung zwischen 3 bis 5 Volt anzulegen und dann die Lichtschranken halt mit z.B. Papier zu testen. Auf jeder Platine zeigt eine LED die Funktion an, also LS unterbrochen oder LS nicht unterbrochen.
- So könnte man auch bei Bedarf an den vorhandenen Trimmern die Empfindlichkeit nach justieren. Das schien mir aber nicht notwendig. Ich halte es nicht für einen Zufall, dass bei keinem einzigen Sensor ein Justieren nötig war. Bei allen scheint eine Grundjustierung ausgeführt zu sein.
- Sollte sich bei der Inbetriebnahme doch die Notwendigkeit für irgendeinen Eingriff – und sei es auch nur das Justieren auf persönliche Vorstellung hin – ergeben, sind die Bausatz-Fertiger (BF) natürlich klar im Vorteil, sie kenne jede Schraube!
- Würde irgendein elektrisch betriebenes Teil nicht oder nicht mehr funktionieren, kennen die BFs die Verlegung und vor allem den Anschluss der Kabel. Bei dem unvermeidbaren Drahtverhau des fertigen Gerätes ist es für Nicht-BFs ungleich schwerer, da den Durchblick zu erreichen.
- weil die Nicht-BFs sich nicht in die Problematik der (richtigen) Stecker-Anschluss-Belegung einarbeiten mussten, sind sie sehr viel anfälliger für fatale Stecker-Vertauschungen.

Um eine vor dem Kauf nirgends dokumentierte Information zu geben: die Bausätze werden per Bild immer so beworben, dass sie die Ultraschallsensoren an der Front zwischen der unteren und oberen Trägerplatte montiert zeigen, während das Fertiggerät diese oben drüber auf einem drehbaren Servo-Arm zeigen. Das ist eine ungute und missverständliche Bewerbung. Man könnte oder soll (?) annehmen, dass Bausatz und Fertiggeräte zu zwei unterschiedlichen Fahrzeugen führen. Dem ist aber nicht so, auch der Bausatz enthält sämtliche Teile und auch mit dem ist die attraktive Montage auf dem Servo-Arm möglich.

Meine Antwort auf die Wahl: Bausatz nehmen!
Dieser ist ein zweifelsohne gut durchdachtes System und mit Liebe zum kleinsten Detail sehr verbraucherfreundlich erstellt. Eher als kleiner Nebeneffekt: man spart 40 Euro.
Grüße, picass
joycar6.jpgjoycar9.jpgjoycar10.jpg
#13
P
Projekte und Eigenbau / JOY-CAR Roboter von Anfang an
Letzter Beitrag von picass - 25.04.2025, 15:25:30 CEST
Ab gestern Nachmittag war ,,Land unter", nachdem das Paket mit dem Bausatz eines zu programmierenden Roboters in der Gestalt des Joy-Cars der Firma ,,joy-it" angekommen war. Der fertige Roboter besteht aus 2 Plexiglas-Scheiben, mehreren Sensoren, zwei Rädern, einer kleinen Sammel-Platine für die Anschlusskabel und dem Steckplatz für den MicroController und halt dem µC selbst. Dieser µC  ist der bekannte ,,microbit", ein 32-bit-Controller. Der gehört nicht zum regulären  Umfang des Bausatzes. Der Joy-Car-Bausatz kostet 59 €, der µC im Set mit seinem Grundmaterial 19 €.
Der Clou bei dieser Kombi ist die überwältigend gute Unterstützung für seine Fertigstellung und vor allem bei den ersten Anwendungen. Es gibt auf der Homepage von ,,www.joy-it.net" ausführliche Anleitungen sowohl für den Zusammenbau als auch die Anwendungen. Als leichte Programmier-Sprachen für Jüngere oder µC-Anfänger wird ,,Makecode" geboten, was die Auslösung von Funktionen über grafische Blöcke auf einer Entwicklungsumgebung auf einem PC ermöglicht. Für gehobenere Ansprüche gibt es dann die Einführung in MicroPython. Beide Sprachversionen werden mit zahlreichen fertigen Programmen angeboten. Sowohl für blutige Anfänger des Programmieren als auch für Unblutige gibt es sofort Erfolgserlebnisse. Dazu gibt es auf der Hompage diverse weitere Unterstützung.

Genug der Vorrede, natürlich erfolgte umgehend der Start des Zusammenbaus des Bausatzes. Gleich vorweg: es war tatsächlich alles enthalten und bis auf kleine Nickligkeiten passte auch (fast) alles. Bild4 zeigt die Fertigstellung der ersten Stufe, des Grundchassis. Anzuflanschen waren dann 4x ,,Leuchten" (LEDs), ein Ultraschall-Sensor, zwei Infrarot-Reflex-Lichtschranken vorne als weitere Abstands-Erkenner,   2x Gabel-Lichtschranken für die Überwachung der Motorendrehzahlen, 3x Reflex-Lichtschranken für das Aufspüren von Leitlinien auf dem Fahr-Untergrund, halt 2 Motoren mit ihrem Getriebe und zwei Räder seitlich. Vorne und hinten wird das Fahrzeug durch je eine kugelgelagerte Kugel schlicht gerollt, rsp. gestützt. Die kleine Platine mit dem µC wird als Letztes in ihren Steckplatz eingeschoben.
Soviel fürs Erste, Grüße, picass
joycar1.jpgjoycar2.jpgjoycar3.jpgjoycar4.jpgjoycar5.jpg
#14
P
Compiler Software / Aw: printf() in C
Letzter Beitrag von pic18 - 24.04.2025, 15:40:07 CEST
So wie beschrieben funktioniert die Umleitung von printf zur Anzeige. Aber leider kennt der alten C18 Compiler keine Float-Ausgabe ("%f..") in printf. Da ich schon alle anderen Ausgabefunktionen selbst erstellt habe, und ich keine Lust habe, aus einer Fließkommazahl die Integerzahl herauszufiltern und aus den Nachkommastellen auch eine Integerzahl zu generieren, werde ich die printf -Funktion aus meinen Projekt verbannen und bei dringenden Bedarf meine bestehende Output - Routine erweitern. 
#15
P
Mikrocontroller / Aw: LCD-Ansteuerung
Letzter Beitrag von pic18 - 24.04.2025, 14:07:02 CEST
So wie ich das in Erinnerung habe, hatten die alten 16er kein LAT- Register


#16
O
Mikrocontroller / Aw: LCD-Ansteuerung
Letzter Beitrag von Ottmar - 24.04.2025, 13:25:34 CEST
..man kann nicht oft genug gegenlesen!
..die Ausgabe beginnt in digit 13!
Falsch: movlw LINE1+d'11'
Richtig: movlw LINE1+d'13' ;(Ausgabe "2")
..
grummel... >:( Ottmar
#17
O
Mikrocontroller / Aw: LCD-Ansteuerung
Letzter Beitrag von Ottmar - 24.04.2025, 13:09:26 CEST
Tippfehlerberichtigung im vorgenannten File:
Falsch: xorlw SET_DDRAM_ADDR
Richtig: IORLW SET_DDRA_ADDR
Ottmar
#18
P
Mikrocontroller / Aw: LCD-Ansteuerung
Letzter Beitrag von picass - 24.04.2025, 11:41:00 CEST
Habe es geschafft..... nunmehr wird auch in die zweite Zeile geschrieben! Bin ja so stolz auf mich! Räusper......., ähm......., allerdings geht der Lorbeerkranz selbstredend an pic18, dessen Prog-Schnipsel:
movlw adresse; (0x40)
movwf LcdDaten
bsf LCDDaten,7; (0xc0) bit 7 setzen, kann auch mit oder 0x80 gesetzt werden
call OutLcdControl

den Durchbruch brachte. Danke pic18. Der Grund, warum das im ersten Anlauf nicht funktionierte und zu der unvollkomenen Anzeige "lcd1" führte, war ein trivialer: nach Abarbeitung der ersten drei Zeilen sollte ja in die Zwischenroutine "OutLcdControl" gecallt werden. Und diese erwartete die LCDDaten nicht im Register "LcdDaten", sondern schlicht im W-Reg. Das hätte ja auch fast hin gehauen, aber so wurde die dritte Zeile mit dem Setzen des Bits 7 unterschlagen. Nachdem nun diese Unterschlagung beseitigt ist, kommt es zur passenden Anzeige im Bild "lcd3".
Super....., diese jahrzehnte-lang klaffende Lücke ist nun gefüllt. Also fast. Da ist sicher noch Weiteres nötig. Aber: Jubel, es ist geschafft und ich bin ja so stolz auf ...... ähm....!

@Ottmar : deinen obigen Beitrag entdeckte ich gerade eben, als ich den vorbereiteten Text schon verfasst hatte. Dein Prog-Beispiel werde ich gleich runter laden und mir heute Nachmittag anschauen. Schon mal vorausschauend: danke für dein Hilfe-Angebot.
Nein, der Sprut ist kein Heiliger. Hatte gestern nochmal in seinen anderen Beispielen gesucht und nichts Zweizeiliges gefunden. Und seine Darstellung der Einzeiligkeit krankt - wie dargestellt daran - , dass keine echte Darstellung der Zeilenauswahl beschrieben ist. Reset und das wars, daraus kann man mitnichten auf Positionierung für Zweizeiler schließen. Zudem hatte der alte Knabe einen schlimmen Fehler in seinem Prog. Er hat gegen die u.a. Microsoft-Regel verstoßen:" read from the port and write to the latch". Die galt damals auch schon und mithin war Schreiben auf den Port möglicherweise erfolgreich, aber eben ein Prinzipenverstoß.
Grüße, picass
lcd1.jpglcd2.jpglcd3.jpg

#19
O
Mikrocontroller / Aw: LCD-Ansteuerung
Letzter Beitrag von Ottmar - 24.04.2025, 10:58:25 CEST
Hallo
beigefuegt ist meine Vorgehensweise zum Schreiben in ein HD44780-LCD per ASM. Ich hoffe das einigermassen verstaendlich und möglichst fehlerfrei dargestellt zu haben. Der Text kann mit korrekter Formatierung in den MPLAB-Editor geladen werden.
Fuer picass:
wichtig bei Dir erscheint mir das Verstaendnis fuer die Adressierung.
Zur Ehrenrettung von sprut: Aus meiner Sicht hat er das Thema "LCD" damals hervorragend, übersichtlich, leicht verständlich und sehr ausführlich dargestellt!

MfG Ottmar
#20
P
Mikrocontroller / Aw: LCD-Ansteuerung
Letzter Beitrag von pic18 - 23.04.2025, 19:43:52 CEST
der Code sollte eigentlich laufen, zeig mal den aktuellen kompletten Code. Welche Anzeige hast Du denn? Hat diese nur zwei Zeilen?
🡱 🡳