www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wer kann Programm schreiben um eine Taste zu Emulieren


Autor: Michael N. (monimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
Ich habe ein, mit einem Mikrocontroller, gesteuertes Ladegerät für 12V
Bleibatterien mit 0-2-20-40 Ampere Ladestrom. Leider speichert das Gerät
nach einem Stromausfall nicht den zuletzt eingestellten Ladestrom und
startet immer mit 2 A Ladestrom.
Deshalb möchte ich, dass ein zweiter Mikrocontroller nach einem
Stromausfall den von mir gewünschten Ladestrom einstellt.
Um die Ladestufe am Gerät zu verstellen, muss eine Taste gedrückt
werden. Ein erneutes Drücken der Taste wählt die nächste Stufe usw.
Diesen Tastendruck bzw. mehrere hintereinander möchte ich mit dem
Controller und einem Optokoppler ausführen.

Vorgestellt habe ich mir die Realisierung mit einem Stufenschalter, der
den von mir gewünschten Ladestrom dem Mikrocontroller über mehrere
Port-Pins mitteilt, welche mit dem Stufenschalter entsprechend der
Ladestufe auf High oder Low gesetzt werden.

Eine andere Möglichkeit währe:
An 3 Pins 3 Dioden zum Anzeigen anschließen.
An 1 Pin einen Taster anschließen
An 1 Pin den Optokoppler anschließen
Mit dem Taster wählt man den Strom aus, so dass Led Nr:1-2 -3 oder keine
Led leuchtet.
im Prinzip genauso, wie es auch das Ladegerät macht.
Der eingestellte Wert wird im EEPROM des PICs gespeichert und beim
nächsten Einschalten am Ladegerät eingestellt.

Was ich brauche, ist ein Programm, welches den Optokoppler 1 mal, 2 mal
oder 3 mal einschaltet und ausschaltet.

Folgendes sollte der Prozessor selbständig machen wenn er Strom bekommt,
je nachdem was ich für eine Ladestufe ich gewählt habe.
Ladestufe 0 A: brauche ich nicht!
Ladestufe 2 A: 1 mal einschalten und ausschalten des Optokopplers
Ladestufe 20 A: 2 mal einschalten und ausschalten des Optokopplers
Ladestufe 40 A: 3 mal einschalten und ausschalten des Optokopplers

Als Controller habe ich mir den Attiny13 oder den 12F629 von Microchip
vorgestellt.

Autor: Micha R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst als Ausgang nur den nackten Optokoppler?
Um den Rest kümmerst du dich selbst?

Wie dringend brauchst du das?
Brauchst du ein professionelles Layout?
Geht auch ein Mega8 erstmal?
Was hast du preislich für Vorstellungen?

Autor: Micha R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie soll die Schaltung mit Spannung versorgt werden?

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist für einen Tiny12/13/15 kein Problem.

Ich nehme an, Du willst die Hardware (Platine mit Stromversorgung, 
Controller, Optokoppler, Stufenschalter oder Taster und LEDs) selbst 
bauen und brauchst nur das Programm, oder?

Die Stromversorgung kann ja vom bereits vorhandenen Controller 
abgezweigt werden.

...

Autor: Michael N. (monimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich brauche nur das Programm, alles andere mache ich selbst.
Die Stromversorgung nehme ich vom vorhandenen Controller.
Es sollte nach Möglichkeit schon der Attiny13 oder der PIC12F629 sein, 
da ich die schon habe.
Ich lebe in der DomRep und komme nur sehr schwer an Bauteile.
Meine preislichen Vorstellungen sind klein = kleiner Preis.

Autor: Micha R. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut,

wann brauchst du das?

Autor: Michael N. (monimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Es eilt nicht. Ob ich das Programm in 2 Std. oder 14 Tagen bekomme, ist 
nicht wichtig. Ich kann das Gerät ja benutzen, muss es nur immer von 
Hand verstellen. Ich habe keine Ahnung von Programmierung. Wie lange 
braucht jemand der sich damit auskennt, um so ein Programm zu schreiben?

Mfg
Michael

Autor: Paul Baumann (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Michael
Probier mal das Programm im Anhang. (Bascom)
Taster an PB0
Optokoppler an PB1
LEDs an PB2-PB5

Ich konnte es nur simulieren, da ich keinen Tiny13 habe. Vor dem 
Kompilieren mußt Du noch die $sim - Anweisung ganz oben rauswerfen.

MfG Paul

Autor: Michael N. (monimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Paul,

danke erstmal für das Programm. Leider kann ich es noch nicht auf einem 
Tiny13 testen, da ich zur Zeit noch keinen habe. Die Person, die ihn mir 
mitbringt, fliegt aber heute Samstag in die DomRep. Es kann sich dann 
nur noch um Tage handeln, bis ich ihn erhalte. Auch einen  Programmierer 
für den Parallel-Port muss ich mir noch löten. Dafür warte ich ebenfalls 
auf ein Teil.
Ich habe mir inzwischen schon mal die BASCOM-AVR Demo Version 1.11.8.7 
geladen und versucht eine Simulation zu machen. Leider bekomme ich eine 
Fehlermeldung, wenn ich auf Simulation klicke. Die Meldung ist (OBJ or 
DBG file not found). Hast du den  integrierten Simulator benutzt oder 
den vom  AVR Studio?


Mfg
Michael

Autor: Markus Schuster (markusch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier gabs vor ein paar Monaten einen Typen, der ein paar Dumme gesucht 
hat, die mit ihm auswandern. Ich weiß nicht, ob es Dominikanische 
Republik war, Argentinien, Chile, oder sonstwas in der Gegend.

Garantien gabs keine außer dem Versprechen, daß die Lebenshaltungskosten 
dort sehr gering sind, und um ein Vielfaches abgedeckt würden, wenn sich 
die Zusammenarbeit positiv entwickeln würde.

Der Typ machte den Eindruck, daß er keine Ahnung von dem 
Elektronikgeschäft hätte, das ihm vorschwebte, mit Ausnahme der fixen 
Idee, daß er damit reich werden könnte, wenn andere für ihn die Arbeit 
machen.

Ich unterstelle natürlich nicht, daß jetzt der gleiche Typ hier um Hilfe 
ruft, weil er alleine nicht in der Lage ist, einen Auftrag zu erfüllen. 
Ich wurde halt nur gerade an die lustige Geschichte erinnert.

Markus

Autor: Michael N. (monimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Markus,

wie du schon vermutet hast, bin ich nicht der gleiche Typ, der in deiner 
so „lustigen Geschichte“ vorkommt. Ich lebe schon 7 Jahre in diesem Land 
und habe weder ein Geschäft noch einen Auftrag zu erfüllen.
Meine Frage in diesem Forum ist rein privat. Es ist auch nicht so, dass 
ich keine Ahnung habe, sonst hätte ich ja nicht in meinem Thread zwei 
Lösungsmöglichkeiten beschrieben. Ich kann es nur nicht programmieren!
Leider hat deine Antwort nicht zur Lösung meines Problems beigetragen, 
sondern, wie leicht zwischen den Zeilen zu lesen ist, versuchst du 
andere davon abzuhalten mir zu helfen. Ich hoffe, dass nicht alle 
Mitglieder dieses Forums so denken wie du und mir trotzdem jemand hilft.

Mfg
Michael

Autor: Markus Schuster (markusch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Es ist auch nicht so, dass ich keine Ahnung habe, sonst hätte ich ja nicht >in 
meinem Thread zwei Lösungsmöglichkeiten beschrieben.

Wenn du selbst Lösungsmöglichkeiten hast, wieso brauchst du dann noch 
jemanden, der das für dich programmiert?

>Ich kann es nur nicht programmieren!

Du kannst ES nicht programmieren, oder du kannst GAR nicht 
programmieren? Wohl eher letzteres. Dann fang doch einfach an, es zu 
lernen. Deine Aufgabe kommt gleich nach "Eine Leuchtdiode blinken 
lassen". Wenn du deinen uC hast, ein Programmiergerät herumsteht, und du 
weißt, wie du ein fremdgeschriebenes Programm in deinen uC schreibst, 
dann ist es für einen völligen Anfänger 1/2 Stunde Arbeit, das 
LED-Blink-Tutorial durchzuarbeiten und eine weitere Stunde Arbeit, es 
auf dein Problem anzupassen. Es sei denn es fehlt einem an Wissensdrang 
und das Gehirn ist vom vielen BILD-Lesen verkümmert. Dann stellt man 
sich lieber dumm (natürlich nicht ganz so dumm wie du tatsächlich bist, 
denn du hast ja schließlich noch deinen Stolz) und bettelt andere 
Forumsteilnehmer an, die zwar selbst nichts auf die Beine stellen 
können, die dir aber darum gerne beweisen, daß sie einen uC ein paar 
Pulse senden lassen können.

Wenn du nicht programmieren lernen willst, aber anscheinend sowas tolles 
bauen kannst wie eine Mikrocontrollerschaltung, dann virgiß deinen uC 
einfach und baue deine Akku-Steuerung aus ein paar Logikgattern. Ist ja 
sicher ein Leichtes für dich, und die findesst du sogar in der DomRep 
... Hahahahahah...

Autor: Paul Baumann (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Michael
Hier sind noch mal alle Dateien, die Du brauchen könntest. Simuliert 
habe ich es im Bascom-Simulator.

FF! (Fiel Fergnügen)

MfG Paul

Autor: Markus Schuster (markusch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na, dann fiel Spaß beim Support, Paul! Oder denkst du im Ernst, Michael 
ist selbständig in der Lage, dein Programm in Betrieb zu nehmen?

Aber damit auch du, Paul, etwas von der Sache hast, schlage ich vor, daß 
ihr jeden Schritt hier im Forum diskutiert, dann kann jeder sehen, was 
für ein toller Typ du bist, daß du dem armen, unfähigen Michael hilfst.
Das törnt dich doch sicher an, was?

Autor: Jack Braun (jackbraun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das törnt dich doch sicher an, was?

Was ist denn das für ein Trottel? Kennt den jemand?

Autor: Markus Schuster (markusch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kennt jemand den Trottel jackbraun?

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Markus
Sag mal: Geht´s wieder, oder soll ich einen Arzt holen?

Das Programm ist kommentiert, wie Du vielleicht gesehen hast. Es ist 
allein meine Sache, ob und wie ich jemandem zu helfen versuche.

Hast Du schon mal darüber nachgedacht, daß es Leute geben könnte, die 
nur
einmal in ihrem Leben eine Aufgabe mittels MC lösén wollen und dann nie 
wieder?

In der Zeit, in der Du hier "Stimmung" erzeugen willst, hättest Du Dich 
auch mit der Umsetzung der Problemstellung in ein Programm befassen 
können.

....Leute gibt´s!

Paul

Autor: Markus Schuster (markusch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>In der Zeit, in der Du hier "Stimmung" erzeugen willst, hättest Du Dich
>auch mit der Umsetzung der Problemstellung in ein Programm befassen
>können.

Ach ja? Ich bin aber der Meinung, daß man Leuten mehr hilft, wenn man 
sie vor die Wahl stellt, dumm zu sterben oder selbst mit dem Denken 
anzufangen. Deine Selbstdarstellung führt dazu, daß Michael in ein paar 
Wochen mit seinem nächsten Problem angekrochen kommt.

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Paul

volle Zustimmung.

Autor: Meister der Insel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leute nicht doch.
Habt Euch lieb!

Autor: Tcf Kat (tcfkat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh Gott, was ist das denn für ein Thread?
Irgendwann braucht man noch einen µC, um mit einem Taster eine LED 
aufleuchten zu lassen...

Das baut man diskret auf, mit NE555 und Zähler oder Schieberegister! 
Diese Teile gibt es auch in der DomRep!

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tcf Kat
...dann lies mal den obersten Artikel im Thread. Einen NE555 mit 
internem
EEPROM habe ich noch nicht zu kaufen bekommen. ;-)))

Paul

Autor: Tcf Kat (tcfkat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da hast Du die falsche Quelle... ;))
Anzahl Pulse per Stufenschalter-Abgriff am Schieberegister auswählen, 
der dann den NE555 im Reset hält, der Out-Pin des NE555 liefert dann die 
gewünschte Pulszahl... das Schieberegister kriegt nen POR über 
R/C-Glied. Soll ich noch nen Schaltplan malen? ;)

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So ganz unrecht hat der Markus nicht, wie ich finde. Wenn jemand ohne 
Probleme die Schaltung aufbauen, das Programm kompilieren und evtl. 
simulieren kann, weiß, wie man es dann in den Controller bekommt und 
dergleichen, sollte die Stunde um das Tutorial zu lesen auch drin sein. 
Ich finde die Frage bei all dem nötigen und offensichtlich vothandenen 
Hintergrundwissen zumindest seltsam.

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Tcf Kat

Ja, kannst Du machen. Den Schaltplan meine ich. Wird sicher ein 
geringerer
Aufwand werden. Braucht ja nur zusätzlichen Stufenschalter, 
Schieberegister
und Timer - IC.

....wie in der Heilanstalt ;-)

Paul

Autor: Tcf Kat (tcfkat)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ob er sich nun den Prommer für LPT lötet, oder das hier, sehe ich keinen 
Unterschied... ich würde das diskret aufbauen.

Autor: Michael N. (monimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Paul,

ich habe die Teile jetzt erhalten und die Schaltung aufgebaut. Das 
Brennen des µC hat sofort ohne Probleme funktioniert. Leider läuft das 
Programm nicht richtig auf dem tiny13 oder ich habe etwas falsch 
gemacht.
Ich habe die 4 LEDs an PB2-PB5 angeschlossen.
Die Anode an +5V über 1k Ohm Widerstände und die Kathode direkt an die 
Pins des  µC. Anstelle des Optokopplers  habe ich an  PB1 eine LED auf 
die selbe weise angeschlossen. Den Taster habe ich an  PB0 und GND 
angeschlossen. Als ich die Schaltung in Betrieb genommen habe, hat nur 
die LED für den Optokoppler langsam geblinkt.  Die 4 anderen haben 
nichts gemacht. Auch das Drücken auf den Taster änderte nichts.
Da ich mir nicht sicher war ob alles richtig funktioniert,  habe ich das 
Senso-Spiel http://www.meinemullemaus.de/lesen/avr/seite2.html#6.1  in 
den  tiny13 gebrannt und die Schaltung so abgeändert wie auf der Seite 
angegeben. Das Senso-Spiel funktionierte einwandfrei.

Leider ist jetzt nach dem ich ca. 15 mal den  µC mit  PonyProg gebrannt 
habe ein Fehler aufgetreten, so dass der  µC jetzt nicht mehr von 
PonyProg  und anderen Programmen erkannt wird.
Ich habe an den Fuse Bits nicht geändert und genauso gebrannt wie 14 mal 
vorher. Das Senso Programm auf dem µC  läuft. Jedoch wird der µC nicht 
mehr erkannt. Auch der zweite µC wurde auf diese Weise unbrauchbar. So 
kann ich im Moment keine weiteren Tests durchführen.
Als Programmer habe ich diese Schaltung nachgebaut 
http://rumil.de/hardware/avrisp.html
Da ich jetzt erst mal  neue µC kaufen muss, kann ich natürlich einen 
kaufen, auf dem du das Programm auch testen kannst. Ich würde mich 
freuen wenn du mir einen µC nennen kannst auf dem dein Programm läuft.

Mfg
Michael

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das Programm für einen Attiny13 im Auslieferungszustand 
geschrieben,
aber nur im Simulator testen können. Wenn es gestartet wird, hast Du 
einen
Moment Zeit, die Taste 1,2 oder 3 mal zu drücken, je nachdem, wie oft Du
den Starttaster an Deinem Ladegerät drücken würdest. Der Zählerstand 
Deiner Tastendrücke wird dann im EEPROM gespeichert und anschließend 
über den Optokoppler ausgegeben. (eventuell mußt Du die Wartezeit "loop 
until N=400" vergrößern.

Drückst Du die Taste nicht, wird der zuletzt gespeicherte Wert aus dem 
EEPROM ausgegeben.

MfG Paul

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich habe die 4 LEDs an PB2-PB5 angeschlossen.

Was hat PB5 damit zu tun?
PB5 ist der Reset-Pin, wenn man den benutzen möchte, muss man auf ISP 
verzichten.

Die zerschossenen Controller kann ich Dir mit dem STK500 wieder auf 
Werkszustand zurückfusen, wenn es Dir das Porto (und Rückporto) wert 
ist.

Die Billig-ISP-Adapter neigen mit Ponyprog bei instabilen Verhältnissen 
(lange Strippen, ungeeigneter PC-Schnittstellenschaltkreis) dazu, scon 
mal die Fuses zu verstellen, obwohl man keinen Befehl dazu gegeben hat. 
Da reichen schon ein paar kippende Bits.

...

Autor: Michael N. (monimi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Hannes,

inzwischen habe ich wieder 4 Attiny13 nach langem Warten erhalten. Ich 
habe den Fehler gefunden, warum die anderen 2  Attiny13 nach dem Brennen 
nicht mehr erkannt wurden. Es war der SN74HC244, welcher defekt war und 
den ich gleich sicherheitshalber auch ausgewechselt habe. Wahrscheinlich 
hat eine statische Entladung den 74HC244 geschädigt.

Danke für dein Angebot mir die zerschossenen Controller wieder auf 
Werkszustand zurückzufusen. Dazu warte ich aber bis ich mehr habe, da es 
sich sonst nicht rentiert. Es ist jetzt ein weiterer hinzugekommen bei 
dem ich das Fuse Bit "Int. RC Osc. 128 kHz; Start-up time: 14 CK + 64 
ms" eingestellt habe. Seitdem will er nicht mehr.

Ich habe das Programm von Paul jetzt nach ein paar Anpassungen bei mir 
zum Laufen gebracht. Danke nochmals an Paul der mir das Programm 
geschrieben hat.

Mfg
Michael

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Int. RC Osc. 128 kHz; Start-up time: 14 CK + 64 ms

Der will schon noch. Du musst halt die ISP-Frequenz entsprechend 
reduzieren (max 25% der Taktfrequenz). Ich habe da betreffs Pony mal was 
von "veryslow" in der Configurationsdatei gelesen, soll aber nicht oder 
nur schlecht dokumentiert sein.

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.