Forum: Markt Atmega8 Programmierer gesucht


von Julia K. (Gast)


Lesenswert?

Guten Tag liebes Team,

leider hat mich mein Programmierer verlassen :(

Ich habe ein kleines "mini" Projekt wofür ich jemanden benötige der mir 
einen Atmega8 programmiert

Schaltung verfügt über atmega8, rtc, relais, lcd, taster, ds18b20

Aufgabe:

-Zeitschaltuhr Programmieren.
-Temperaturregelung
-kleines LCD Menü zum einstellen der Werte.

Leider gehts nicht detailhafter in der öffentlichkeit :)

LG

: Verschoben durch Moderator
von Cyblord -. (cyblord)


Lesenswert?

Julia K. schrieb:
> Guten Tag liebes Team,

Ähm welches Team? Gehts noch?
>
> leider hat mich mein Programmierer verlassen :(
>
> Ich habe ein kleines "mini" Projekt wofür ich jemanden benötige der mir
> einen Atmega8 programmiert
>
> Schaltung verfügt über atmega8, rtc, relais, lcd, taster, ds18b20
>
> Aufgabe:
>
> -Zeitschaltuhr Programmieren.
> -Temperaturregelung
> -kleines LCD Menü zum einstellen der Werte.

Hört sich jetzt nicht soooo "Mini" an.

> Leider gehts nicht detailhafter in der öffentlichkeit :)

Auch nichts zur angedachten Entlohnung? So ne Hausnummer wenigstens?

von Sascha W. (sascha-w)


Lesenswert?

Und wo soll programmiert werden?

Sascha

von Crazy Harry (crazy_h)


Lesenswert?

Ein defekter Progger hält ja nicht vom programmieren ab ;o)

..... ok ist zweideutig formuliert :oD

: Bearbeitet durch User
von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Julia K. schrieb:
> Leider gehts nicht detailhafter in der öffentlichkeit :)

 Selbstverständlich. Muss ja etwas ungeheuer kompliziertes und
 revolutionäres sein.
 Aber da der MEGA8 ein ganz neuer Prozessortyp ist, ,wirst du wohl
 kaum jemanden finden der sich damit auskennt.

von Karl M. (Gast)


Lesenswert?

@Mod und Julia,

ist für dieses Jobangebot nicht der Marktplatz das richtige ?

Man würde dort auch die max. Stundenanzahl, evtl. Programmiersprache und 
den Stundensatz angeben.

Das/ ein Pflichtenheft muss man auch dem Jobber zur Verfügung stellen.

von Nemesis (Gast)


Lesenswert?

Julia K. schrieb:
> leider hat mich mein Programmierer verlassen :(

Nennt man das so heute? Das ihr Mädels immer alles so verfälschend
umschreiben müsst.

> Ich habe ein kleines "mini" Projekt wofür ich jemanden benötige der mir
> einen Atmega8 programmiert

Na, hoffentlich soll das Baby nachher nicht so heißen?
Warum lernst du nicht programmieren und schreibst es selbst?
Im Internet gibts reichlich Material um das sich selbst bei
zu bringen.

> -Zeitschaltuhr Programmieren.
> -Temperaturregelung
> -kleines LCD Menü zum einstellen der Werte.

So einfach ist das nicht zu realisieren. Das hat schon einen
gehobenen Anspruch. Ohne Lastenheft wird das unrealistisch.

> Leider gehts nicht detailhafter in der öffentlichkeit :)

So lange es nicht um Firmengeheimnisse geht, kannst du ruhig
etwas detaillierter werden, ansonsten sehe ich schwarz.
Wenn du es beruflich oder gewerblich brauchst, dann muss
du schon einen korrekten Job ausschreiben, oder du suchst
dir einen Studenten oder einen Freiberufler, aber das kostet.
Ansonsten kannst du als Arbeitgeber im Unterforum Ausbildung
und Beruf auch eine Stellenanzeige schalten. Soll doch wohl
keine Schwarzarbeit sein?

von Nemesis (Gast)


Lesenswert?

Marc V. schrieb:
> Aber da der MEGA8 ein ganz neuer Prozessortyp ist, ,wirst du wohl
>  kaum jemanden finden der sich damit auskennt.

Du hast deinen Smilie vergessen ;-b

Karl M. schrieb:
> Das/ ein Pflichtenheft muss man auch dem Jobber zur Verfügung stellen.

Ein Pflichtenheft wird auf der Grundlage eines Lastenhefts vom
Programmierer ausgearbeitet. Der Auftraggeber ist für das Lastenheft
verantwortlich.

von Julia K. (Gast)


Lesenswert?

Hallo zusammen,

ich habe mir schon gedacht dass hier einige Fragen auftauchen da ich es 
wirklich nicht so "super" formuliert bzw. ausgeschrieben habe.

Wie gesagt ich habe einfach keine Zeit dass ich programmieren lerne (was 
nicht heißt das ich es nicht gerne lernen würde) nur geht es momentan 
wirklich nicht.

Ich habe "mini" Projekt geschrieben da ich durchs Forum gebraust bin und 
hier wirklich unglaubliche Sachen umgesetzt werden/wurden. Deshalb habe 
ich es mal bescheiden "mini" getauft!

Im "größeren" Detail:

Die Schaltung steht zu ca: 80% (Deshalb 80% da ich noch auf INPUTS des 
Progers. warten wollte und nicht gleich zum Bestücker (Onkel > glück 
gehabt) laufen wollte!

Es soll eine Zeitschaltuhr (die nur mit der Uhrzeit und Wochentagen klar 
kommen muss keine Jahre / Schaltjahre) die mehrere Zeitpaare (zb:. 3 am 
Tag) schalten kann. Zusätzlich soll im Zeitpaar eine eingestellte 
Temperatur geregelt werden können...

Das ganze Ding hat einen LCD das per Menüführung (Einstellung Zeit/Temp) 
eingegestellt wird. Das wäre ein Teil der mir noch fehlt und bei dem ich 
jemanden um Unterstützung bitte...

Viele Grüße

von Chr. M. (snowfly)


Lesenswert?

So Dinger gibt es doch schon zur Genüge.

Schau mal bei Aquariumsteuerungen.

von Nemesis (Gast)


Lesenswert?

Vorstellungen was das ganze kosten darf? Hardware ist ja auch
noch unklar.
Allerdings kann man den Aufwand nach dem Informationsstand
so kaum abschätzen. Da muss schon ein ausführliches Lastenheft
her.

von Volker B. (Firma: L-E-A) (vobs)


Lesenswert?

Julia K. schrieb:

(...)
> Es soll eine Zeitschaltuhr (die nur mit der Uhrzeit und Wochentagen klar
> kommen muss keine Jahre / Schaltjahre) die mehrere Zeitpaare (zb:. 3 am
> Tag) schalten kann. Zusätzlich soll im Zeitpaar eine eingestellte
> Temperatur geregelt werden können...

Hallo Julia,

warum nicht dieses Projekt modifizieren?

https://www.mikrocontroller.net/articles/Heizungssteuerung_mit_Honeywell_HR20

Die Hardware existiert schon und kann günstig gebraucht erworben werden, 
die Firmware beinhaltet alles was Du Dir wünscht, also 7-Tage-Timer, 
einstellbare Schaltzeitpunkte und die Temperaturregelung. Sie liegt im 
Quellcode vor und kann an die persönlichen Wünsche angepasst werden.

Grüßle,
Volker.

von Julia K. (Gast)


Lesenswert?

Hi Volker,

danke für den Tip.

Ich sehe es mir an.
VG

von stefan (Gast)


Lesenswert?

Bist du auf den mikrocontroller
Festgelegt ?

von Timmy (Gast)


Lesenswert?

Warum die blöden Frage nach dem Preis? Natürlich darf es nichts kosten! 
Geld wächst doch nicht auf Bäumen! Die gute Frau will doch nur was ganz 
einfaches. Sie hat doch schon fast alles zusammen! Da kann man doch den 
Rest auch mal aus Gefälligkeit machen? Geht doch schnell....








;)

von MaWin (Gast)


Lesenswert?


von Bellis Perennis (Gast)


Lesenswert?

Timmy schrieb:
> Warum die blöden Frage nach dem Preis? Natürlich darf es nichts kosten!
> Geld wächst doch nicht auf Bäumen! Die gute Frau will doch nur was ganz
> einfaches. Sie hat doch schon fast alles zusammen! Da kann man doch den
> Rest auch mal aus Gefälligkeit machen? Geht doch schnell....

Bitte Ironie kennzeichnen, damit man den Schwachsinn nicht für Getrolle 
und Suche nach Stunk hält.

MaWin schrieb:
> Seitenweise:
> https://www.gulp.de/gulp2/spezialisten/suche?1&query=avr

Ein sinnvoller Link und das erste Brauchbare.

von Julia K. (Gast)


Lesenswert?

Hallo,

danke für die vielen Antworten.

Ich bin auf den ATMEGA8 und die Temperatursensoren angewiesen.

Danke auch an den Vorschlag mit GULP.de

Zum Preis: Ich kann das nicht einschätzen deshalb halte ich mich da 
zurück. "Ihr" wisst besser wie lange man Daumen mal pi hier für eine 
solche Aufgabe benötigt. Deshalb würde mich eine Hausnummer 
intressieren.

Bitte nicht falsch verstehen aber ich habe von der Programmierung 
wirklich 0,0 Ahnung.... LEIDER :(

VG

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Auf Basis deiner spärlichen Angaben kann aber nunmal niemand hier eine 
realistische Aufwandsschätzung abgeben. So bekommst du höchstens 
Stundenlöhne von bis, aber das hilft dir auch nichts, wenn du nicht 
weist, wie lange das dauert.

Mit freundlichen Grüßen
Thorsten Ostermann

von Christopher J. (christopher_j23)


Lesenswert?

Ich kann dir keinen Preis nennen aber sicherlich wird sich der Preis 
mehr als halbieren wenn du von der Forderung mit dem Mega8 abrückst. Der 
hat nämlich nur 8kB Flash und 1kB RAM. Da muss schon ungemein viel 
Optimierung betrieben werden um alle Forderungen, wie z.B. das LCD und 
den 1-Wire Bus unterzubringen. Vermutlich wird auch auf 
handgeschriebenen Assembler nicht verzichtet werden können. Hier im 
Forum gibt es definitv ein paar Leute die zu so etwas fähig sind aber 
die Frage ist ob die Zeit und/oder Lust auf so ein Projekt haben und ob 
ihr euch beim Preis einig werdet.
Nehmt ihr dagegen z.B. einen STM32F030C8 mit 64kB Flash und 8kB RAM 
(0,90€ @ 1k) hat der Programmierer nur noch die halbe Arbeit, da hier 
ohne Probleme vorhandene Bibliotheken verwendet werden können und es 
muss deutlich weniger optimiert werden. Die RTC könnt ihr euch auch noch 
sparen, da die beim STM32 mit dabei ist. "Calendar RTC with alarm and 
periodic wakeup from Stop/Standby" klingt nach dem was ihr sucht. Im 
Standby braucht das Teil übrigens nur 2µA bei aktivierter RTC.

von Flip (Gast)


Lesenswert?

Ließt du deine Mails?

von m.n. (Gast)


Lesenswert?

Christopher J. schrieb:
> Ich kann dir keinen Preis nennen aber sicherlich wird sich der Preis
> mehr als halbieren wenn du von der Forderung mit dem Mega8 abrückst. Der
> hat nämlich nur 8kB Flash und 1kB RAM.

Völlig neu: es gibt jetzt auch einen ATmega328 mit viel mehr Speicher!
Aber gut, ein F746 dürfte die Entwicklung deutlich vereinfachen :-(

Julia K. schrieb:
> Die Schaltung steht zu ca: 80%

Erfahrungsgemäß wird davon nur ein Bruchteil brauchbar sein. Davon läßt 
man besser die Finger.

von Timmy (Gast)


Lesenswert?

@Julia: Bitte schreib doch wenigstens eine Obergrenze hin, was du bereit 
bist, auszugeben. Ich denke nämlich, dass wir hier von 50 Euro reden, 
die ganzen Berufsfrickler hier jedoch eher professionelle Sätze 
annehmen.

Professionell = Man gibt es danach in die Fertigung für grosse 
Stückzahlen. Du willst aber eine EINZELLÖSUNG. Zumindest habe ich es so 
verstanden.

von Michael B. (laberkopp)


Lesenswert?

Mangels Arduino kann ich es nicht ausprobieren, aber so aufwändig ist so 
ein Programm nicht
1
// Zeitschaltuhr mit 24 Relais Ein- und Ausschaltzeiten und Solltemperatur Zweipunktregelung
2
// Arduino UNO
3
// DFRobot LCD Keypad Shield
4
5
#include <LiquidCrystal.h>
6
#include <Time.h>
7
#include <EEPROM.h>
8
9
// Select the pins used on the LCD panel:
10
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
11
12
// Define some values used by the LCD panel and buttons:
13
#define KEYS 0 // Analogeingang an dem die Tasten hängen
14
#define SENSOR 1 // Analogeingang an dem der Temperatursensor hängt, liefert 10 pro GradC
15
#define RELAY 2 // Ausgangspin an dem das Zeitschalt-Relais hängt
16
#define HEATER 3  // Ausgangspin an dem das Heizrelais hängt
17
18
// Navigation
19
// Tasten werden jede Sekunde abgefragt, dadurch Key-Repeat im Sekundentakt, ebenso der Temperatursensor
20
// Es werden 4 Tasten verwendet: UP DOWN LEFT RIGHT
21
// Zu Beginn wird die aktuelle Uhrzeit angezeigt (Mo 00:00:00)
22
// Mit LEFT RIGHT kann man den Cursor auf Wochentag, Stunden (Zehner und Einer), Minuten (Zehner und Einer), Sekunden (Zehner und Einer) stellen
23
// Mit UP DOWN kann man die jeweilige Ziffer bzw. Wochentag einstellen
24
// Steht der Cursor in Spalte 0, wird mit UP DOWN zwischen (der aktuellen Uhrzeit und Temperatur und Relaiszustand) und
25
// (den 24 Timerzeiten und dort jeweils zwischen Einschalt- und Ausschaltzeit) gewechselt um die Timer und bei der Einschaltzeit die Temperatur einzustellen
26
27
unsigned long prev_time;          // Last display cycle
28
29
uint8_t mode; // 0=running 1=set 1on 2=set 1off 3=set 2on 4=set 2off ... 41=set 21on 42=set 21off
30
uint8_t pos; // 0=wday 1=h10 2=h1 3=m10 4=m1 5=s10 6=s1 7=temp10 8=temp1
31
uint8_t w[43],h[43],m[43],s[43],t[43]; // whms [0] speichert die aktuelle Uhrzeit
32
// whmst[1] speichert Wochentag und Uhrzeit und Temperatur zum 1. Einschaltzeitpunkt
33
// whms[2] speichert Wochentag und Uhrzeit von dessen Auschaltzeitpunkt u.s.w.
34
uint8_t *ptr[10]={&mode,w,h,h,m,m,s,s,t,t}; // in welchem mode wird welcher Wert beeinflusst
35
uint8_t limit[10]={48,6,23,23,59,59,59,59,99,99}; // welcher Wert hat welchen Maximalwert
36
uint8_t cursor[10]={0,6,9,10,12,13,15,16,18,19}; // wo steht der Cursor
37
uint8_t step,used,i,lastmode,modified; // wird um 1 oder 10 erhöht/verringert und sind 7 oder 9 Werte veränderbar
38
int adc_key_in;
39
char lcdtext[24];
40
41
void setup()
42
{
43
  lcd.begin(24, 1);  // starts the LCD display (1 line by 24 chars)
44
  prev_time=millis();
45
  digitalWrite(HEATER,0);
46
  pinMode(HEATER,OUPUT);
47
  digitalWrite(RELAY,0);
48
  pinMode(RELAY,OUTPUT);
49
  for(i=1;i<43;i++) for(pos=0;pos<5;pos++) ptr[pos+pos+1][i]=EEPROM.read(43*pos+i);
50
  lastmode=mode=0;
51
  pos=0;
52
  modified=0;
53
}
54
55
void loop()
56
{
57
  if((millis()-prev_time)>999)
58
  {
59
    
60
    prev_time=millis();
61
    // aktuelle Uhrzeit um 1 Sekunde hochzählen
62
    if(s[0]<59) s[0]++; else { s[0]=0; if(m[0]<59) m[0]++; else { m[0]=0; if(h[0]<24) h[0]++; else { h[0]=0; if(w[0]<6) w[0]++; else w[0]=0; }}};
63
    // prüfe ob aktuelle Uhrzeit in einem Timerzeitbereich liegt
64
    for(i=1;i<43;i+=2) if(((s[i]*60UL+m[i])*60+h[i])*24+w[i]<=((s[0]*60UL+m[0])*60+h[0])*24+w[0]&&((s[0]*60UL+m[0])*60+h[0])*24+w[0]<((s[i+1]*60UL+m[i+1])*60+h[i+1])*24+w[i+1]) break;
65
    if(i==43) i=0; // nein
66
    digitalWrite(RELAY,i>0);
67
    digitalWrite(HEATER,i?(t[0]=analogRead(SENSOR)/10)<t[i]:0);
68
    if(mode>0) i=mode&1; // Einschalt- oder Auschaltzeitmoment
69
    lcdtext[0]=mode?'0'+(mode-1)/20:' ';
70
    lcdtext[1]=mode?'0'+((mode-1)/2)%10:' ';
71
    lcdtext[2]='o';
72
    lcdtext[3]=i?'n':'f';
73
    lcdtext[4]=i?' ':'f';
74
    lcdtext[5]=' ';
75
    lcdtext[6]="MDMDFSS"[w[mode]];
76
    lcdtext[7]="oiiorao"[w[mode]];
77
    lcdtext[8]=' ';
78
    lcdtext[9]='0'+h[mode]/10;
79
    lcdtext[10]='0'+h[mode]%10;
80
    lcdtext[11]=':';
81
    lcdtext[12]='0'+m[mode]/10;
82
    lcdtext[13]='0'+m[mode]%10;
83
    lcdtext[14]=':';
84
    lcdtext[15]='0'+s[mode]/10;
85
    lcdtext[16]='0'+s[mode]%10;
86
    lcdtext[17]=' ';
87
    if(i)
88
    {
89
      lcdtext[18]='0'+t[mode]/10;
90
      lcdtext[19]='0'+t[mode]%10;
91
      lcdtext[20]='°';
92
      lcdtext[21]='C';
93
    }
94
    else
95
    {
96
      lcdtext[18]=' ';
97
      lcdtext[19]=' ';
98
      lcdtext[20]=' ';
99
      lcdtext[21]=' ';
100
    }
101
    lcdtext[22]='\0';
102
    lcd.setCursor(0,0);
103
    lcd.print(lcdtext);
104
    lcd.setCursor(cursor[pos],0);
105
    step=pos&1?1:10;
106
    used=mode&1?9:7;
107
    adc_key_in = analogRead(KEYS);      // read the value of the key
108
    if (adc_key_in < 50) // btnRIGHT
109
    {
110
      if(pos<=used) pos++; else pos=0;
111
    }
112
    else if (adc_key_in < 195)  // btnUP
113
    {
114
      if(pos==0) if(mode<limit[pos]) mode++; else mode=0;
115
      else
116
      {
117
        if(ptr[mode][pos]+step<=limit[pos]) ptr[mode][pos]+=step; else ptr[mode][pos]=0;
118
        modified=mode;
119
      }
120
    }
121
    else if (adc_key_in < 380) // btnDOWN
122
    {
123
      if(pos==0) if(mode>0) mode--; else mode=limit[pos];
124
      else
125
      {
126
        if(ptr[mode][pos]>=step) ptr[mode][pos]-=step; else ptr[mode][pos]=limit[pos];
127
        modified=mode;
128
      }
129
    }
130
    else if (adc_key_in < 555) // btnLEFT
131
    {
132
      if(pos>0) pos--; else pos=used;
133
    }
134
    if(lastmode!=mode&&modified)
135
    {
136
      if(lastmode>0) for(i=0;i<5;i++) EEPROM.write(43*i+mode,ptr[mode][i+i+1]);
137
      modified=0;
138
      lastmode=mode;
139
    }
140
  }
141
}
macht das alles. Fehler left as an exercise to the reader, ich will 
Julia ja hier nicht die Lösung liefern, nur damit man einen Eindruck 
bekommt wie einfach eine Zeitschaltuhr mit 21 einstellbaren 
Wochentags-Zeiten und Temperaturregelung zu implementieren ist.

: Bearbeitet durch User
von Vitalij L. (ge-nka)


Lesenswert?

Falls es wirklich nur Einzellösung sein soll wofür auch immer,
kann man mini-SPS nehmen kommt man viel billiger weg.

-Zeitschaltuhr Programmieren.
-Temperaturregelung
-kleines LCD Menü zum einstellen der Werte.

Das hat alles z.B. Milenium 3 Steuerung von Crouzet onboard, aktuell ist 
das EM4-Steuerung. (Preis je nach Auslegung (Anzahl I/O) von 150€ bis 
450€)
Ach ja die Software zumindestens für M3 ist kostenlos und kann bei 
Homepage nach Registrierung heruntergeladen werden. Man hat auch im 
Editor einen Simulator dabei der fast alle Funktionen simulieren kann.
http://www.conrad.biz/ce/de/product/197662/SPS-Steuerungsmodul-Crouzet-Millenium-3-Smart-XD10-S-88974142-24-VDC?ref=list

Programmierung geht mit FB-Bausteinen, wenn man Grundkenntnisse in 
SPS-Sprachen hat geschätzter Lernaufwand etwa 1-2 Wochen nach 
Feierabend.(steht alles in der Hilfe zu den FBs)

: Bearbeitet durch User
von Ben B. (Firma: Funkenflug Industries) (stromkraft)


Lesenswert?

@Thread-Ersteller
Also ich würd mich anbieten, das zu machen. Der ATMega8 reicht locker 
dafür.

Allerdings beteilige ich mich nicht an der öffentlichen Diskussion hier. 
Weil jeder kann es am besten und Vorschläge zerreißen kann ich alleine.

Kannst mir ja eine Mail schreiben, wenn Du Interesse hast. Bitte mit 
weiteren Infos, z.B. wieviele Zeitpaare maximal am Tag möglich sein 
sollen (die muß man ja irgendwo speichern, evtl. sogar dauerhaft in 512 
Byte EEPROM), welcher Temperaturbereich, was da für eine Heizung dran 
soll (Ansteuerung PWM oder Phasenanschnitt), bereits vorhandene 
Beschaltung des ATMega, welche RTC ist vorhanden - DCF oder Quarz 
gewünscht, und mal ein konkreter Wert was es kosten darf wäre auch nicht 
verkehrt.

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.