Forum: Mikrocontroller und Digitale Elektronik Wie Prozessor dimensionieren?


von Florian K. (flo_ww)


Angehängte Dateien:

Lesenswert?

Hallo,

hier liegt ein Brose FlipDot und möchte zum leben erweckt werden.
Am Ende soll eine Uhr dabei heraus kommen.

Aktuell bin ich dabei mir einen Überblick zu verschaffen welche 
Funktionen das Projekt haben soll. Im Bild seht Ihr was dabei heraus 
gekommen ist.
Die Bauteilbezeichnungen auf der linken Seite sind so noch nicht Final. 
Das spielt aber erst mal keine Rolle, es soll nur verdeutlicht werden 
über welche Schnittstelle die Daten dem Chip zugeführt werden.

Die I/O Situation ist recht übersichtlich und auch das Timing sehe ich 
als nicht Kritisch an. Die FlipDots benötigen einige Zeit um gesetzt zu 
werden.


Ich frage mich nach welchen Kriterien ich den Prozessor auswählen soll.


Mir fehlt an dieser Stelle einfach die Erfahrung. Bis jetzt nur mit 
einem MyAVR Board experimentiert. Die Programme waren auch immer recht 
übersichtlich. Ich kann nicht abschätzen wie viel Code bei diesem 
Projekt entstehen wird und an welchen Stellen es im Prozessor eng werden 
könnte.

Sicherlich wäre es einfach sich den größten bei Reichelt zu bestellen, 
der Lernfaktor dabei ist aber gleich 0.

Das ganze ist reines Hobby, soll Spaß machen und ich möchte dabei etwas 
lernen.
Daher würde ich mich freuen wenn Ihr mir ein paar Tipps geben könntet 
auf was ich bei der Prozessor auswahl achten sollte.

Lg

Flo

von Michael B. (laberkopp)


Lesenswert?

Florian K. schrieb:
> Ich frage mich nach welchen Kriterien ich den Prozessor auswählen soll.

Jeder geht, deine Anwendung ist langsam und einfach.

Florian K. schrieb:
> MyAVR Board

Kannste nehmen. Ist halt arschteuer aber immerhin USB programmierbar.

Ein Arduino wäre billiger.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

I2C ist ein Bus. Du brauchst also nicht vier, sondern nur einen davon.

Was soll Dein 5msec-Updateintervall bei der das Flipdot-Display 
ansteuernden SPI-Schnittstelle bedeuten? Was willst Du da in 5msec 
aktualisieren? Den kompletten Displayinhalt etwa?

von Florian K. (flo_ww)


Lesenswert?

Das mit dem I²C ist mir bekannt. Ist vielleicht in wenig unglücklich 
dargestellt.

Die 5ms sind die Totzeit während ein Dot flippt, die Zeit in der nichts 
passiert und man auf die Mechanik warten muss. Es gibt unterschiedliche 
Angaben im Internet, zwischen wenigen ms und 200ms hab ich alles 
gefunden. Das wird am Wochenende mal gemessen, wie viel Zeit wirklich 
erforderlich ist um ein Dot sicher kippen zu lassen.
Es sollen auch nur die Dots gesetzt werden die sich wirklich ändern. 
Alles andere behält den Zustand von selbst.

Dadurch wird der SPI sich ziemlich langweilen und im Prozessor bleibt 
sehr viel Zeit übrig während eigentlich gar nichts passiert

von Mw E. (Firma: fritzler-avr.de) (fritzler)


Lesenswert?

Mal ein paar andere Anregungen:

Mit dem DS1337 wirste nicht viel SPaß haben der ist sehr ungenau.
Nimm den DS3231 dank seinem TCXO geht der um einiges genauer.

Der BME280 misst nicht wirklich die Umgebungstemperatur sondern die 
Membrantemperatur des Feuchtesensors zur Kompensation.
Siehe hier: Beitrag "China-BME280 Problem"
Mit etwas Aufwand kommt man aber nah genug ran.
Oder nen LM75 verbauen.

von Frank K. (fchk)


Lesenswert?

Florian K. schrieb:

> Ich frage mich nach welchen Kriterien ich den Prozessor auswählen soll.

Zuerst einmal nach der benötigten Peripherie.

> Sicherlich wäre es einfach sich den größten bei Reichelt zu bestellen,
> der Lernfaktor dabei ist aber gleich 0.

Diese Vorgehensweise ist normal. Man sucht sich den Prozessor mit der 
passenden Rechenleistung, der passenden Bauform, Pinanzahl und 
Peripherie heraus, nimmt dann für die Entwicklung den mit dem meisten 
Speicher, und am Ende der Entwicklung schaut man, welches der kleinste 
Prozessor aus der Serie ist, in den der Code noch hineinpasst. Ggf. wird 
dann noch etwas optimiert und gequetscht, bis es passt.

Bei einem Einzelstück unterbleibt der letzte Schritt halt.

fchk

PS: Die DCF77-Dekodierung passt auch noch in den Prozessor rein. Die 
DS3231/DS3232 sind wirklich gut, und für Temperatur/Luftfeuchte habe ich 
einfach einen AM2302/DHT22 verwendet, der eine bidirektionale 1-Bit 
Schnittstelle verwendet.

von Jacko (Gast)


Lesenswert?

Keine Ahnung, warum da alles über I²C aufbereitet
ankommen muss.
Eine (DCF-)Uhr hat doch fast NIX zu tun.

- DCF-Decodierung: ein digital Input
- Temperatur, Feuchte, Helligkeit: je ein ADC-Input
  und entsprechende Sensoren.
- RTC: Überflüssig, wenn ein ausreichend genauer Quarztakt
  zur Überbrückung von DCF-Störungen vorliegt. (1..2 Pins)
- PWM für Beleuchtung: ein PWM-Out
- SPI: 4..?  Port-Pins?
- User Interface: 8 Port-Pins

Dürfte eine langweilige Aufgabe für einen ATMega8 sein.

von Joachim B. (jar)



Lesenswert?

Jacko schrieb:
> Dürfte eine langweilige Aufgabe für einen ATMega8 sein.

mir ist zu oft schon ein Arduino nano 328p zu dünne

zur Entwicklung nehme ich gene den Arduino mighty mini 1284p

http://www.ebay.de/itm/Mighty-Mini-ATMega1284p-compatible-with-Arduino-/331463717483

wenn der Code steht und man abspeckt passt vielleicht auch ein Nano 328p

Beitrag "Re: Arduino Pro Micro"

von Jacko (Gast)


Lesenswert?

Na dann doch lieber paar gebrauchte Solaris-Server mit 4 Routern
der neuesten Generation verknüpfen. Könnte GERADE SO reichen.

Overhead? - Kann man nie genug haben!
Strom? - Kommt doch aus der Steckdose!
Wenn nicht? USV und NEA müssen sich ja auch mal beweisen...

 ;-)

von Florian K. (flo_ww)


Lesenswert?

Jacko schrieb:
> Overhead? - Kann man nie genug haben!

Sehe ich auch so. Meine Oma hat mir immer gesagt "Viel hilft viel!"
Wirtschaftlich muss ich im Hobby zum Glück nicht arbeiten :)

Die Frage warum alles über Bus kommen muss ist wirklich berechtigt. Der 
Grundgedanke war Faulheit. Aber du hast mich gerade davon überzeugt das 
ganze wirklich per ADC zu machen. Einzig auf die RTC möchte ich nicht 
verzichten da die Batteriegepuffert laufen soll um nach dem Einschalten 
nicht auf den Sync zu warten zu müssen. Ob es das 8€ Luxusmodel sein 
muss, ich denke eher nicht. Sekunden sollen eh nicht angezeigt werden.

Vielen dank Euch allen für die Info´s und Anregungen.

Die Entscheidung ist gerade auf den 1284p gefallen - viel hilft viel :)

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.