Hi Leute Ich hab mir im Web einen Arduino Klon besorgt (das BTE RoBoT MCB), kostet gerade mal die Hälfte des Originals, funzt aber soweit prima. Was mir aufgefallen ist: Anstatt des FTDI ist ein Prolific 2303 verbaut, und auf der Platine sitzt ein atmega328, kein ~328P. Der Chip liefert allerdings wider erwarten die Device signature = 0x1e950f, die eigentlich einem 328P vorbehalten ist, der 328er ohne Picopower sollte sich mit 0x1e9514 ankündigen. Eigenartig. Falsch bedruckter Chip oder Plagiat?
Tom M. schrieb: > Was mir aufgefallen ist: Anstatt des FTDI ist ein Prolific 2303 verbaut, > und auf der Platine sitzt ein atmega328, kein ~328P. Die Chinesen bauen bei den Arduino-Klones fast immer billigere USB-TTL Chips ein als den schweineteuren FTDI-Chip, den die Italiener sich für das Referenzdesign des Boards ausgedacht haben. Dann läuft der USB-TTL-Teil zwar mit anderen Treibern, aber zumindest unter Linux und Windows sollte es keine Probleme geben. Und die Boards lassen sich billiger fertigen und verkaufen. > Der Chip liefert allerdings wider erwarten die Device signature = > 0x1e950f, die eigentlich einem 328P vorbehalten ist, der 328er ohne > Picopower sollte sich mit 0x1e9514 ankündigen. > > Eigenartig. Falsch bedruckter Chip oder Plagiat? Wie ist denn Dein Chip bedruckt? Mit dieser Kriegsbemalung auf dem Chip: http://www.dipmicro.com/img/1/BTE-RCB2011-1.jpg Das wäre auf jeden Fall nicht die originale Chipbeschriftung und wenn Du so einen Chip mit nachträglicher Sonderlackierung hast, würde ich eher der Device Signature glauben als der nicht-originalen Bemalung. Oder meinst Du eine originale AVR Atmega-Beschriftung, in der das P fehlt? Ich habe mehrere Arduino-Klone aus China, die sind alle mit Atmega328P-PU beschriftet. Aber nicht mit Robot-Control-Sonderlackierung, sondern Originalbeschriftung.
... wenn er doch dann so viel billiger ist ... Auf einem Arduino hab ich einen Zif gebaut und da mach ich auch die 328 rein (sind 50Cent günstiger, mit ihren 2 Euro.) und auch 168ziger. Gerade so viel, wie ich Speicher brauch. Laufen alle auf dem Uno. Gruß Frank
Jürgen S. schrieb: > Wie ist denn Dein Chip bedruckt? > Mit dieser Kriegsbemalung auf dem Chip: > http://www.dipmicro.com/img/1/BTE-RCB2011-1.jpg Nein, der Chip sieht ganz "normal" aus; atmel logo und Typenbezeichnung sind drauf gedruckt. Äusserlich sehe ich da keinen Unterschied zu den anderen megas, die ich hier so rumliegen habe. > Oder meinst Du eine originale AVR Atmega-Beschriftung, in der das P > fehlt? Genau so sieht's für mich aus.
Wenns Dich stört, nimm einen Stift und male ein P drauf. Peter
Peter Dannegger schrieb: > Wenns Dich stört, nimm einen Stift und male ein P drauf. Da ist leider kein Platz. ;) Nee ist schon okay, wollte nur kurz hören, ob jmd Ähnliches erlebt hat (falsch bedruckter atmega). Funktionieren tut das Teil jedenfalls und es ist mir für Bastelzwecke egal, ob ich ein Modell "mit Picopower" habe oder nicht.
Tom M. schrieb: > Nee ist schon okay, wollte nur kurz hören, ob jmd Ähnliches erlebt hat > (falsch bedruckter atmega). Funktionieren tut das Teil jedenfalls und es > ist mir für Bastelzwecke egal, ob ich ein Modell "mit Picopower" habe > oder nicht. Ich glaube, ich habe was gefunden, wie man die Pico-Power 328er von den normalen unterscheiden kann, falls Du eventuell von einer gefälschten Signatur-ID ausgehst (keine Ahnung, ob es das gibt). Und zwar sollte die Unterscheidung über das eingebaute "geheime Thermometer" der P-Chips funktionieren. Das "geheime Thermometer" haben wohl nur die 328P, aber nicht die 328er ohne das P. Lade Dir mal folgenden Arduino-Sketch auf Dein Board: [code] long readTemp() { long result; // Read temperature sensor against 1.1V reference ADMUX = _BV(REFS1) | _BV(REFS0) | _BV(MUX3); delay(2); // Wait for Vref to settle ADCSRA |= _BV(ADSC); // Convert while (bit_is_set(ADCSRA,ADSC)); result = ADCL; result |= ADCH<<8; result = (result - 125) * 1075; return result; } void setup() { Serial.begin(9600); } void loop() { Serial.println( readTemp(), DEC ); delay(1000); } [/code} Auf einem Atmega168P oder Atmega328P sollte dann ein temperaturabhängiger Wert ausgegeben werden. Auf einem Controller ohne das P (Atmega168 oder Atmega328) funktioniert das Thermometer nicht und Du bekommst immer denselben konstanten Wert angezeigt. Außer diesem Thermometer-Gimmik fällt mir momentan nichts ein, wie man die Chips sonst softwaretechnisch unterscheiden könnte.
Hi >Und zwar sollte die Unterscheidung über das eingebaute "geheime >Thermometer" der P-Chips funktionieren. Das "geheime Thermometer" haben >wohl nur die 328P, aber nicht die 328er ohne das P. Im nicht geheimen Datenblatt wird in der Beziehung nicht zwischen ATMega328 und 328P unterschieden. MfG Spess
Spess53 schrieb: > Im nicht geheimen Datenblatt wird in der Beziehung nicht zwischen > ATMega328 und 328P unterschieden. In welchem "nicht geheimen Datenblatt" wird der eingebaute Thermosensor des Controllers erwähnt und nicht zwischen Atmega328 und Atmega328P unterschieden? Ich stehe da gerade auf dem Schlauch. Hast Du mal einen Link?
Spess53 schrieb: > http://www.atmel.com/Images/doc8271.pdf Alles klar, Du hast Recht! Der Atmega328 hat laut Datenblatt denselben Temperatursensor wie der Atmega328p. Die von mir vorgeschlagene Unterscheidung per Code würde nur zwischen Atmega168P/168A (mit Temperatursensor) und Atmega168 (ohne Temperatursensor) funktionieren, nicht aber zur Unterscheidung von 328ern mit und ohne "P".
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.