Hallo zusammen.
Ich habe die Aufgabe erhalten einen Mikrocontroller mit mehreren
Sensoren zu erweitern. Der aktuelle Stand ist schon als
"Platinenversion" vorhanden.
Bevor ich jedoch an der Platine rumlöte, wollte ich das ganze erst
einmal auf dem Breadboard nachbauen.
Das Problem: Es funktioniert nicht.
Auf der Platine ist ein ATMEGA644P-20MU verbaut. Dieser hat 3 Sensoren
angeschlossen und ein nRF24L01+ Modul zur Kommunikation mit der
Empfängereinheit. Die Empfängereinheit sendet einen Startbefehl an den
Atmega, woraufhin der Daten der Sensoren sammelt und sekündlich
zurückschickt.
Für das Breadboard hab ich einen ATMEGA644P-20AU besorgt und auf eine
Adapterplatine gelötet.
Original "platinencode" überspielt. Verbindungen gesteckt. 10 Mal schon
nachgeschaut ob ich mich vertan habe, aber leider bringt das alles
nichts. Der MC antwortet nicht dem Empfänger.
Gibt es unterschiede bei der Pinbelegung der beiden MCs? Soweit ich weiß
nicht.
Muss man was bei der rf24 config.h oder in der rf24.h ändern?
https://github.com/iot-playground/Arduino/blob/master/external_libraries/MySensors/utility/RF24_config.h
Codeschnipsel bzgl Wifi:
Atmega:
radio.setRetries(0,30);// Smallest time between retries, max no. of retries
18
radio.setPayloadSize(32);// Here we are sending 1-byte payloads to test the call-response speed
19
radio.openWritingPipe(addresses[1]);// Both radios listen on the same pipes by default, and switch when writing
20
radio.openReadingPipe(1,addresses[0]);// Open a reading pipe on address 0, pipe 1
21
22
23
radio.powerUp();
24
//radio.printDetails(); // Dump the configuration of the rf unit for debugging
25
radio.write(&hello,4);
26
27
28
29
// Start the radio listening for data
30
radio.startListening();
Verbunden ist das ganze wie folgt:
nRF24L01+ - Atmega
1 GND - GND
2 VCC - 3.3V (mit 0.1uF Kondesator zu GND)
3 CE - PCINT21
4 CS - PCINT22
5 SCK - SCK
6 MOSI - MOSI
7 MISO - MISO
8 IRQ - Keine Verbindung
Ist irgendetwas falsch? Vielen Dank schon einmal für den Aufwand.
Pete K. schrieb:> Kann der ATMega auch 20Mhz mit 3,3V?
Können schon, aber nicht garantiert.
Pete K. schrieb:> Die 0,1µF sollten bestimmt 0,1nF heissen.
Nein, 0.1uF. Es darf auch gerne mehr sein, denn die Versorgung
ist meist so wackelig dass ein 10uF Elko und 0.1uF Kerko
empfehlenswert sind.
Siehe auch meine Wirings und Beispiel-Aufbauten in den Links oben!
Hui, da sind ja schon die ersten antworten.
Den Schaltplan kann ich morgen mal bereit stellen.
Ich weiß ,dass der empfänger, also der mc der die messdaten erhält,
funktioniert. Schließlich funktioniert die platinenversion mit dem
empfänger ja. Ich benutzt auch den selben Mc als empfänger und änder an
dem nichts.
Weiß nicht ob der atmega auch 20mhz kann, er ist jedenfalls auf 8mhz mit
3,3v programmiert.
Es sind in der tat 100 nF also 0,1 uF zwischen gnd und vcc. Kein
Schreibfehler. Ebenso bei sämtlichen vcc und gnd des Mc.
Zur info vorweg: das ganze Projekt ist mehr oder weniger von amateuren
zusammengebastelt worden. Hässliche codes und nen komischen schaltplan
inklusive. Ich selber hab auch wenig erfahrung mit arduinos und mcs.
Hi,
also ich habe herausgefunden, dass es definitiv ein Problem mit dem Wifi
gibt. ich kann zum Beispiel nicht den Befehl radio.printDetails();
ausführen. Es kommt einfach nichts zurück.
Deshalb wollte ich mal das testprogramm drüber laufen lassen. Wie genau
bekommt man den hex code auf den microcontroller? Ich hab noch nen
arduino pro mini hier rumliegen, geht das damit auch?
vg