Forum: Mikrocontroller und Digitale Elektronik Atmega Programm ändern?


von Tom B. (tom2003)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe eine Gießanzeige mit einem Atmega 48V. Diese ermittelt die 
Feuchtigkeit durch erwärmen und abkühlen eines Sensors im Erdreich.

Man kann zwischen 3 und 6 Stunden Messzyklus wählen.

Ich hätte aber gern einen Zyklus von einer Stunde, oder auch 30 Minuten.

Kann mir das Jemand gegen Bezahlung ändern? Es handelt sich um 8 Stück.

Falls das möglich ist wäre ich über Hilfe sehr dankbar.


Tom2003

: Bearbeitet durch User
von Oliver S. (oliverso)


Lesenswert?

Wenn das ein gekauftes Gerät mit gelocktem Prozessor ist, wird das 
nichts.

Oliver

von Nick S. (c0re)


Lesenswert?

Oliver S. schrieb:
> Wenn das ein gekauftes Gerät mit gelocktem Prozessor ist, wird das
> nichts.
>
> Oliver

Interessanterweise sind viele das nicht.

Tom B. schrieb:
> Kann mir das Jemand gegen Bezahlung ändern? Es handelt sich um 8 Stück.

HEX auslesen wäre kein Problem.
HEX verstehen wohl eher, und HEX zu C Code umzuwandeln noch mehr.

Es wäre vllt sogar einfacher ein neues Programm zu schreiben.

von Karl M. (Gast)


Lesenswert?

Hallo,

Liegt denn der Programmcode Dir vor ?

Hast Du mal getestet, ob man den atmega48 per ISP lesen kann ?
Und sind nicht alle Byte FF ?

von Tom B. (tom2003)


Lesenswert?

Ich habe leider keinerlei Ahnung auf diesem Gebiet.

Wenn sich jemand damit befassen möchte schicke ich gern so ein Teil zu.



Tom2003

von Robin (Gast)


Lesenswert?

Nick S. schrieb:
> Es wäre vllt sogar einfacher ein neues Programm zu schreiben.

Wenn man weiß, wie die Messung mit Erwärmung / Kühlung funktioniert 
bestimmt einfacher. Ansonsten stellt sich aber auch die Frage, ob die 
Messung in einem kurzen Intervall sinnvoll ist.

Wenn du zu der Messung ein bisschen erklären könntest, wäre das schonmal 
gut. Zudem ist es wichtig, dass die ISP Pins des Controllers zugänglich 
sind.

Karl M. schrieb:
> Liegt denn der Programmcode Dir vor ?

Wohl eher nicht. Auf dem ersten Bild ist eine Internetadresse zu 
erkennen. Ich würde sie als http://www.plant-care.ch/ deuten.

Sofern du nicht die Möglichkeit hast die Pins zu prüfen und zu versuchen 
den Controller auszulesen, könntest du ihn mir zuschicken. Sofern ich 
dann nichts machen kann, kommt er gegen Porto wieder zurück.

von Tom B. (tom2003)


Lesenswert?

Hallo Robin,

danke für Deine Antwort.

Zur Funktion habe ich Mal von dieser Seite die Beschreibung kopiert:

http://www.plant-care.ch/produkte/moistick-digital/index.html

Ich hoffe dass ich damit nicht gegen irgendwelche Rechte verstoße.

<<<<<<

Moistick® digital ist ein Bodenfeuchtesensor, der mit einem blinkenden 
roten Licht meldet, sobald die Pflanze Wasser benötigt.

Ein neuartiger elektronischer Sensor an der Spitze des Moistick® digital 
ermittelt periodisch den Feuchtegrad im Pflanzensubstrat. Im 
Indoor-Modus wird alle 6 Stunden gemessen und im Outdoor-Modus alle 3 
Stunden. Dazu wird der Sensor für kurze Zeit erwärmt. Die Zeit für das 
anschliessende Abkühlen ist ein Mass für den Feuchtegrad im Substrat. Je 
schneller der Sensor abkühlt, umso feuchter ist das Substrat. Dauert die 
Abkühlzeit länger als der einprogrammierte Grenzwert, gibt der Moistick® 
digital Trockenalarm. Zusätzlich kann die aktuelle Feuchte im Substrat 
über eine im Display integrierte Anzeige abgelesen werden. Der Moistick® 
digital erlaubt die Einstellung von drei verschiedenen Feuchtegraden, 
abhängig vom Wasserbedarf der Pflanze.

<<<<<<
Hier noch die Anleitung:

http://www.plant-care.ch/downloads/moistickdigitalplantcare.pdf

Ich nutze den Moistick für meine Bonsai, und da sind drei Stunden schon 
ziemlich viel.

Mein Urwelt-Mamutbaum zum Bleistift ist ein regelrechter Säufer.

Wenn das Display halbvoll anzeigt und ich gieße, muss ich im 
ungünstigsten Fall drei Stunden bis zur nächsten Messung warten, da erst 
dann Anzeige aktualisiert wird.

Bei einem Baum geht das ja noch, aber ich habe 8 Stück und dann kommt 
man schnell durcheinander wo schon gegossen wurde und wo nicht.

Optimal wäre eine manuelle Messung, damit die Anzeige sofort wieder 
aktualisiert wird.

Wärend der Messung fließen 12mA, ohne Messung habe ich 10µA gemessen. 
Betrieb erfolgt durch zwei 1,5V Batterien. Ich betreibe die Sticks aber 
mit einem 3,3V Netzteil.

Vielleicht habe ich mir da nur Was in den Kopf gesetzt, zumal ich das 
selber nicht machen kann.

Danke

Tom2003

von Robin (Gast)


Lesenswert?

Wenn du die Stromaufnahme bei der Messung bestimmen kannst, dann kannst 
du auch bestimmen, wie lange die Messung dauert. Das wäre wichtig, um 
festzustellen, ob sich das Messverfahren überhaupt für ein so kurzes 
Intervall eignet.

Außerdem wäre es wichtig mehr über den Sensor zu erfahren. Kannst du den 
auch öffnen und ein Bild davon machen? Ist der Sensor an dem grauen 
Kabel angeschlossen?

Da dir der Source Code nicht vorliegt, läuft die Sache auf eine 
Neuentwicklung der Software hinaus. Die ist vorallem aufgrund der 
notwendingen Tests nicht mal eben gemacht. Da solltest du mit ~300€ 
rechnen. Würde also bedeuten ca. 40€ pro Sensor.

Ob das umsetzbar ist entscheidet sich erst, wenn ich mir die Platine 
ansehen kann. Schwierig ist die Anzeige auf dem Display. Dafür wird es 
ja irgendwelche Limits geben, ab wann welcher Balken an geht. Sollten 
diese Limits linear sein, müsste man den Sensor nur einmal auf den 
Warnzustand und den Gießzustand kalibrieren. Ansonsten ließe sich wohl 
nur die Warnanzeige umsetzen.

von Stefan K. (stefan64)


Lesenswert?

Macht der Sensor nach dem Einschalten als erstes eine Messung?
Dann wäre ein Workaround: Stromversorgung für eine Messung einschalten 
und danach wieder aus. Dann musst Du nur die Stromversorgung über ein 
Relais o.ä. kontrollieren und kannst den Zeitpunkt der Messung damit 
selber bestimmen.

Eventuell hilft auch eine Rücksprache beim Hersteller. beschreibe Dein 
Problem genau bzw. was Du erreichen willst.

Viele Grüße, Stefan

von Stefan F. (Gast)


Lesenswert?

Ich halte das für nahezu unmöglich. Der Programmquelltext liegt nicht 
vor, ebenso fehlt der Schaltplan, die technischen Unterlagen zu dem 
Display und das detaillierte technische Konzept, wie das Ding überhaupt 
funktioniert.

Wenn das jemand ändern kann, wird er damit sicher mehr als ein 
Wochenende beschäftigt sind. Hattets du vor, mehrere Tagessätze zu 
bezahlen?

Ich schlage Dir vor, diese Geräte durch andere zu ersetzen, die deine 
Anforderungen erfüllen.

Meine Tochter verwendet für ein Glückskastanien-Bäumchen diese 
Schaltung: http://stefanfrings.de/giessmelder/index.html

Die ist ziemlich praktikabel. Wenn man messen will, drückt man den 
Taster und steckt das Gerät in die Erde. rotes Licht = nicht gießen, 
grünes Licht = Wasser Marsch. Mehr braucht man nicht.

von Sören (Gast)


Lesenswert?

Also, ich würde einfach mal mit den Leuten dort Kontakt aufnehmen und 
meinen Wunsch formulieren.

Die Firma scheint nicht sehr groß zu sein und Du hast gute Chancen, dass 
sie Deine Geräte patchen.

Derartige Rückmeldungen und Wünsche von Kunden sind oft gerne gesehen, 
um diese Ideen in spätere Produktvarianten einfließen zu lassen.

Falls die Firma nicht darauf eingeht, kann erklärt sie vielleicht 
wenigstens, warum die Intervalle wie oben beschrieben gewählt wurden. 
Der Weg, die Software selbst zu ändern steht dann immer noch offen.

Gruß
Sören

von Amateur (Gast)


Lesenswert?

Eine ganze Tüte voll Probleme:
1. Meist ist der Programmieradapter nicht erreichbar. Der wird aber
   zum Auslesen benötigt. Wahrscheinlich löten...
2. Viele kommerzielle Programmierer sichern ihren Code. Bei den Atmels
   heißt dass, Überschreiben ja; auslesen nein.
3. Sollte es doch gehen, so bekommst Du ein meist sehr unstrukturiertes
   Durcheinander an Bytes. Das will erst mal "sortiert" werden, um dann
   die Stelle(n) zu finden, an denen das Programm kitzlig ist.
4. Erst jetzt kann was geändert werden.
5. Nach der Änderung: Ins Flash zurückschreiben.
6. Wenn es nicht auf Anhieb geht, weiter bei 3.

Wenn Du keinen Kumpel hast, der unter chronischer Langeweile leidet, so 
kannst Du Dir ja vorstellen, was all' die Zeit kostet, die hierfür nötig 
ist.

von Tom B. (tom2003)


Lesenswert?

Hallo,

ich habe dem Hersteller angeschrieben und ihm mein Problem beschrieben 
und
um den Programmcode gebeten.

Viel Hoffnung habe ich nicht, aber vielleicht habe ich Glück.

Alles andere ist viel zu aufwändig und zu teuer.


Angenommen ich bekomme den Code, dann muss der Atmega einfach nur 
überschrieben werden?


Ich bedanke mich für Eure Hilfe und Vorschläge, wenn ich was vom 
Hersteller höre dann melde ich mich.


Tom2003

von Stefan F. (Gast)


Lesenswert?

> Angenommen ich bekomme den Code, dann muss der Atmega einfach
> nur überschrieben werden?

Wenn du den Quelltext bekommst, brauchst den dazu passenden Compiler. 
Wir arbeiten hier zwar fast alle mit dem gcc aber es ist nicht ganz 
auszuschließen, daß dieser Code einen anderen Compiler benötigt, der 
möglicherweise sehr teuer ist.

von Amateur (Gast)


Lesenswert?

>Angenommen ich bekomme den Code, dann muss der Atmega einfach nur
>überschrieben werden?

Jein!

Hast Du z.B. den C-Code oder das Assemblerlisting bekommen, so must 
dieses erst mal in die Form bringen, die der Prozessor auch frisst.

1. Compiler oder Assembler!

2. Dann musst Du das Resultat erst mal in den Prozessor bringen (laden).
   Ohne Programmieranschluss nicht machbar.

+ Normalerweise kann man den Prozessor, auch wenn der Code gesichert
  war, überschreiben.

von Peter D. (peda)


Lesenswert?

Die Wärmemethode klingt besser als die Leitfähigkeitsmethode. Sie 
bewirkt keine elektrolytische Zersetzung und ist unabhängig vom PH-Wert.
Allerdings wird der Entwickler ne Menge Zeitaufwand in die 
Kennlinienermittlung gesteckt haben, d.h. kaum den Code rausgeben.

von Stefan F. (Gast)


Lesenswert?

Solange der Strom nur kurzzeitig fließt (wegen dem Taster) spielt die 
Elektrolytische Wirkung keine Rolle. Außerdem halten so die Batterien 
länger.

Warum soll eine Anzeige etwas anzeigen, während niemand drauf schaut?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Es ist schon besser, wenn eine Bodenfeuchteanzeige beispielsweise fies 
blitzt, denn der Mensch ist vergesslich und wenn er nicht die Taste 
drückt, wird er nie erfahren, wie trocken die Erde wirklich ist. Gerade 
bei größeren Töpfen kann es durch zu spartanisches Gießen zur 
Austrocknung tiefer gelegener Schichten kommen, während es obenrum noch 
feucht genug erscheint. Umgekehrt ersäuft im geschlossenen Topf das 
Bäumchen schon mal, obgleich die obere Erdschicht krümelig ist. Ich 
finde die Methodik mit dem erwärmten Sensor auch klasse. Das lässt sich 
mit einem kurz überlasteten NTC auch super einfach umsetzen, einfach mal 
20mA 'reindrücken und während dessen und eine Weile danach die 
Temperaturabweichung pro Zeiteinheit messen. Schon hat man 2 Werte, die 
man in's Verhältnis setzen kann. Der NTC muss natürlich niederohmig 
genug sein, sonst braucht man eine zu hohe Spannung, um den Sensor zu 
erwärmen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.