Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß??

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von marcov »

mschnell hat geschrieben:
marcov hat geschrieben:Ich denke der kann das schon ja. Aber ist mehr etwas wie PIC32MZ, aber dan mit etwas Motorkontrol.

Den BeagleBone gibt es für ein paar Euro fertig auf Platine.


Mit fertig Platine kann ich nichts wenn nicht Industriell. Galvanische Entkopplung ist unbedingt Nötig.

inzwischen in mehreren Ausführungen, beginnend mit "Pocket" für $25 bis zum X15 mit 1.5 GHz Dual Core ARM und vier "PRUS"-Koprozessoren und zwei "C66" DSPs.
Da gebe ich mich doch nicht mit Arduino o..ä. ab...
Wenn Du natürlich ein embedded Device in größerer Stückzahl auflegen willst, ist ein Controller-Chip günstiger, wobei auch hier der "Octavio" Chip, der auf dem Pocket Beagle ist, sehr interessant erscheint.
-Michael


Das groster Problem ist aber nicht Preis, aber mehr aufwendige Programmierung. Das Linux löst nichts für mich, ist nur ein Problem das man herum arbeiten muss.

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von Timm Thaler »

mschnell hat geschrieben:Den BeagleBone gibt es für ein paar Euro fertig auf Platine. inzwischen in mehreren Ausführungen, beginnend mit "Pocket" für $25 bis zum X15 mit 1.5 GHz Dual Core ARM und vier "PRUS"-Koprozessoren und zwei "C66" DSPs.
Da gebe ich mich doch nicht mit Arduino o..ä. ab...


Entschuldigung, aber ist das wirklich so schwer zu verstehen, dass ein Prozessorsystem egal ob Beagle oder Raspi ganz andere Anwendungsgebiete hat als ein Controller wie der ATmega328 auf nem Arduino Nano?

Das fängt schon beim Stromverbrauch an, ich hab zwar in der total übersichtlichen Doku zum Pocket nichts zum Stromverbrauch gefunden, aber ich glaube kaum, dass der mehrere Monate an einem LiIon Akku laufen könnte wie ein ATmega328 unter Ausnutzung der PowerSaving Modes.

Dann: Das Linux-Board muss booten. Wenn ich es einfach ausschalte, gehen eventuell Daten verloren, die Software wird korrumpiert. Einen ATmega328 kann ich jederzeit ausschalten und neu starten, der rennt einfach los, und wenn ich den BOD aktiviert habe machen nicht mal Eeprom-Schreibzugriffe Schaden.

Ein Hersteller hat für eine komplexe "Maschine" mit Controllpanel und zig Aktoren eine Ansteuerung mit PC und IO-Karten. Da muss man jedesmal, wenn man das Gerät ausschalten will, erst den PC runterfahren, beim Einschalten hochfahren. Ich hab für so ein Gerät eine alternative Steuerung gebaut mit mehreren ATmegas über RS485 Bus. Die kann ich einfach ausschalten, einschalten, die rennen los und ich muss nix booten oder beim Ausschalten auf die richtige Reihenfolge achten. Die "Maschine" wird von Studenten bedient, das muss "idiotensicher" sein.

Zwischendurch kam mal die Frage auf, ob man das für weitere Geräte auch mit einem Raspi machen könnte. Und nach meinen Erfahrungen mit meinen Raspis: Ich würde es wieder mit der Multicontroller-Lösung machen.

Dann: Die Größe. Ich hab Schrittmotor-Steuerungen mit ATmega und TMC Motorcontroller gebaut, für Teleskopnachführungen. Da sitzt der Controller huckepack auf dem Schrittmotor anstelle des vorher dort verbauten Synchronmotors. Dort würdest Du den Beagle Pocket nicht mal reinbekommen, und hättest noch keine Stromversorgung und keinen Motortreiber.

Die Zuverlässigkeit: Im Rapsi-Forum schlagen ja regelmäßig Leute auf, die ihre Heizung mit dem Raspi steuern wollen. Mein Grundsatz: Keine wichtigen Systeme an den Raspi. Da muss nur mal der Strom ausfallen, und die Bude bleibt kalt, weil die SD-Karte nen Schuss hat. Smart Home gerne, hätte ich auch gern mehr, nur zuwenig Zeit dafür. Aber immer mit Fallback oder so, dass die lebenswichtigen Systeme - Heizung, Wasser, Strom - zumindest in einem Grundmodus auch laufen können, wenn das Smarthome ausfällt.

Es gibt eine Menge Anwendungen, wo es auch heute noch sinnvoll ist einen einfachen Controller zu verbauen statt eines Prozessorsystems.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von pluto »

Timm Thaler hat geschrieben:Das fängt schon beim Stromverbrauch an, ich hab zwar in der total übersichtlichen Doku zum Pocket nichts zum Stromverbrauch gefunden, aber ich glaube kaum, dass der mehrere Monate an einem LiIon Akku laufen könnte wie ein ATmega328 unter Ausnutzung der PowerSaving Modes.

Das ist natürlich war. So ein PI wird mit ca 500 mA angeben... mein BananaPI verbraucht zwischen 220 mA und ca 300 mA(je nach Leistung, müsste ich mir noch mal die logs anschauen..).
Der BPI hat ein Stromsensor verbaut, ob das auch bei anderen PI'S verbaut ist weiß ich nicht sicher.
Der Stromverbrauch wird aber ähnlich sein.

Ein atMega328 läuft mit ca 20mA oder weniger... je nach dem. mein Wemos D1 Mini läuft bei ca 80 mA(Gut der Einschalt strom kann höher sein)....

Timm Thaler hat geschrieben:Dann: Das Linux-Board muss booten. Wenn ich es einfach ausschalte, gehen eventuell Daten verloren, die Software wird korrumpiert. Einen ATmega328 kann ich jederzeit ausschalten und neu starten, der rennt einfach los, und wenn ich den BOD aktiviert habe machen nicht mal Eeprom-Schreibzugriffe Schaden.

Wenn ich mit einem Arduino und SD Karten Slots Arbeite kann das hier im Prinzip auch passieren, dass Daten verloren gehen.... aber es ist eher unwahrscheinlicher denke ich.
Meine LED Steuerung für das Treppenhaus braucht ca 2 bis 4 Sekunden(ich weiß allerdings nicht genau warum), es sind WS2812B LED Streifen.
Ein PI braucht wie lange zum Booten(wenn er überhaupt hoch kommt)?
Im Verein haben wir ein PI, den schalten wir einfach nur ein(zwischendurch) und klauen ihn dann den Strom(Weil er kein Aus Taster hat). Bisher kein Problem und das geht schon eine ganze weile so.

Timm Thale hat geschrieben:Zwischendurch kam mal die Frage auf, ob man das für weitere Geräte auch mit einem Raspi machen könnte. Und nach meinen Erfahrungen mit meinen Raspis: Ich würde es wieder mit der Multicontroller-Lösung machen.

Warum sollte das dann wieder mit einem PI gemacht werden, wenn deine Lösung so gut läuft und vor allem so viele Vorteile hat.

Timm Thale hat geschrieben:Es gibt eine Menge Anwendungen, wo es auch heute noch sinnvoll ist einen einfachen Controller zu verbauen statt eines Prozessorsystems.

Aufjedenfall. Alleine schon die Größe und der Stromverbrauch. Dafür nehme ich gerne ein paar Nachteile hin.... Einer hier im Forum hat in jedem Raum ein PI installiert... Aus Gründen der Einfach halt.... Sowas geht bestimmt auch anders...

Ich bin der Meinung, man sollte es nicht übertreiben.
MFG
Michael Springwald

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von mschnell »

Timm Thaler hat geschrieben:...ganz andere Anwendungsgebiete....
Zu "Anwendungsgebiet" gehört neben der grundsätzlich zu lösenden technischen Aufgabe auch die geplante Stückzahl, die adressierte User-Gruppe, die Bedienung, die Konfiguration, ... Bootzeit, Stromverbrauch, usw kann sehr wichtig sein, u.U. aber auch ziemlich egal.

Bei der Berücksichtigung des Umfeldes kann man zu ganz anderen Entscheidungen kommen !

Wenn ich z.B. eine Funk-Armbanduhr konstruiere, die in Millionen Stück verkauft werden soll, wird die natürlich keinen ATMega und auch keinen PIC32 und erst recht keinen BeagleBone bekommen, sondern einen 4-Bit Prozessor. Und mit Lazarus wird das Projekt überhaupt nichts zu tun haben.

Mache ich aber (unter Verwendung der 3-Farb LEDs, die es in LED-Ketten gibt) eine super-hübsche LED-Uhr mit farbigem Blinkeffekt zu jeder vollen Stunde, und mit DCF-77 Empfänger, im Einzelstück um sie auf meinen Wohnzimmerschrank zu stellen, ist ein BeagleBone sehr gut geeignet, obwohl ein 4-Bit Prozessor die Aufgabe durchaus erledigen könnte und statt 40 Euro nur 40 Cent kostet. Die Uhr hat dann - zusätzlich zur eigentlichen Aufgabe - einen Webserver, damit ich mir irgendwelche Bedienungs-Elemente zum Einstellen des Weckers und zur Konfiguration des Blink-Effekts sparen kann. Und Lazarus ist als Programmier-System gut geeignet, während die Ansteuerung der LED-Kette (die ein striktes relativ schnelles Timing verlangt) prima vom "PRUS" - Coprozessor erledigt werden kann. Die Stromversorgung geschieht natürlich per Power over Ethernet :) .

-Michael
Zuletzt geändert von mschnell am Do 6. Jun 2019, 15:15, insgesamt 1-mal geändert.

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von marcov »

mschnell hat geschrieben:
Mache ich aber (unter Verwendung der 3-Farb LEDs, die es in LED-Ketten gibt) eine super-hübsche LED-Uhr mit farbigem Blinkeffekt zu jeder vollen Stunde, und mit DCF-77 Empfänger, im Einzelstück um sie auf meinen Wohnzimmerschrank zu stellen, ist ein BeagleBone sehr gut geeignet, obwohl ein 4-Bit Prozessor die Aufgabe durchaus erledigen könnte und statt 40 Euro nur 40 Cent kostet. Die Uhr hat dann - zusätzlich zur eigentlichen Aufgabe - einen Webserver, damit ich mir irgendwelche Bedienungs-Elemente zum Einstellen des Weckers und zur Konfiguration des Blink-Effekts sparen kann. Und Lazarus ist als Programmier-System gut geeignet, während die Ansteuerung der LED-Kette (die ein striktes relativ schnelles Timing verlangt) prima vom "PRUS" - Coprozessor erledigt werden kann. Die Stromversorgung geschieht natürlich per Power over Ethernet :) .


Kann alle ja. Wenn man farb LED PLUS Webserver als notwendige Bedingung sieht. Und eben dann sind er viele Möglichkeiten. (Wie RPI+Arduino ueber i2C).

Aber nicht alle lazarus freepascal embedded arbeit brauchen webserver.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von pluto »

marcov hat geschrieben:Kann alle ja. Wenn man farb LED PLUS Webserver als notwendige Bedingung sieht. Und eben dann sind er viele Möglichkeiten. (Wie RPI+Arduino ueber i2C).

Ich habe für meine Geschwister und meine Eltern(5 Personen) jeweils ein LED-Modul gebaut mit einem Holz Sockel(gelasert) und einem Plexiglas. Das Plexiglas wurde geschnitten und graviert.
Der Contoller war ein einfacher atTiny85 der hat dann bis zu 12 WS2812B LED'S gesteuert(Je nach dem wie breit das LED Modul war).
Ich selbst habe ebenfalls so ein Modul und das kann ich per Fernbedienung bedienen. Die anderen haben 6 Tasten(über Spannungsteiler sind sie an einem AC Pin vom atTiny angeschlossen), dass geht prima.
Kosten Punkt: ca 10 bis 15€ pro Modul... Das Teuerste war wohl das Plexiglas. Außerdem sind die Platinen(Lochraster) relativ klein.

Edit: Durch ein Programmier Fehler, können die Module leider nur 5 Stunden am Stück laufen... ein blöder Fehler mit millis().... auf den ich gestoßen bin...
Es kommt wohl zu einem Integer Überlauf...bei der Programmhinweise... inzwischen mache ich die Zeitschleifen auch anders.
MFG
Michael Springwald

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von marcov »

Meine einzige LED Lampe Projekt hat 224 Leds (14x16 Matrix), individuel an/aus zu setzen, ein PWM(Intensität) pro (16er) Linie und wechselt das Muster und Intensität 160 Mal pro Sekunde. Pro Linie gibst auch einen Schalter um dieser Linie ganz aus zu setzen (weil pwm=0 noch immer was leuchtet ) Konfiguration und Triggering passiert über CAN. Ein Print hat etwa 1000 Komponenten.

3 solche Prints in einer Lampe also 42*16 Matrix. CAN und 12V rein.

Benutzeravatar
six1
Beiträge: 782
Registriert: Do 1. Jul 2010, 19:01

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von six1 »

8) da wir gerade bei "Laternen" sind...

Ich habe mal, weil ich das testen wollte, eine kleine App mit dem AppInventor2 "produziert"...
(ATMega 328, HC-05 oder HC-06)

Image1.png


..geht auch, aber sehr gewöhnungsbedürftig :)

https://www.youtube.com/watch?v=h2xtUNN ... e=youtu.be
Gruß, Michael

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von pluto »

six1 hat geschrieben:(ATMega 328, HC-05 oder HC-06)

Andere hätten vielleicht lieber ein beaglebone genommen oder vielleicht sogar ein PI...
Wie hast du die "Flamme" erzeugt? Habe es selbst mal versucht, war nicht so angetan, habe auch im Internet gesucht gehabt, aber so recht gefiel mir das nicht, was ich gesucht habe... Deine Flamme sieht ja auch aus wie eine Flamme...
MFG
Michael Springwald

Benutzeravatar
six1
Beiträge: 782
Registriert: Do 1. Jul 2010, 19:01

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von six1 »

Projekt Files kannst du haben...

Ist in Bascom geschrieben... kann man leicht lesen und verstehen.

Laterne-2.zip
(1.53 MiB) 112-mal heruntergeladen
Gruß, Michael

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von pluto »

Danke!
Was für LED'S hast du genommen?
MFG
Michael Springwald


pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von pluto »

Cool, die habe ich auch. Mal sehen ob ich Teile von deinem code nach C Portieren kann.... bzw. verwenden kann.
MFG
Michael Springwald

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von mschnell »

marcov hat geschrieben: Galvanische Entkopplung ist unbedingt Nötig.

Dafür kommt der BeagleBone mit 2.45-Raster Stecker auf ein Trägerboard. Man muss da aber dann kein SMS etc verbauen und kann von Hand Löten oder sogar Lochraster verwenden.
-Michael

Antworten