Kommunikation mellan microprocessorer?
-
- Inlägg: 109
- Blev medlem: 1 november 2005, 15:31:18
- Ort: Hemma
efter lite letande har jag kommit fram till PIC16F873 och någon kristall under
"microprocessorkristall, 12 smx, lågprofil" på elfa, passar mej bra
Om någon skulle ha några tankar om mitt val skulle jag gärna veta vad det är för tankar, med andra ord, skriv svar om du har har något att tillägga
Om det är någon som tycker att jag inte frågar tillräckligt specifikt behöver den personen däremot inte svara, om ingen svarar får kommer jag nog allt på någon specifikare fråga
"microprocessorkristall, 12 smx, lågprofil" på elfa, passar mej bra
Om någon skulle ha några tankar om mitt val skulle jag gärna veta vad det är för tankar, med andra ord, skriv svar om du har har något att tillägga
Om det är någon som tycker att jag inte frågar tillräckligt specifikt behöver den personen däremot inte svara, om ingen svarar får kommer jag nog allt på någon specifikare fråga
-
- Inlägg: 109
- Blev medlem: 1 november 2005, 15:31:18
- Ort: Hemma
förlåt, jag ber om ursäkt, inte för att jag tror att det gör dig gladar utan för att jag åtmonstånd förstår att jag har sagt något som jag inte skulla ha sagt...sodjan skrev:Varför i h---te är *dina* läxor viktigare än det vi *andra* skulle
kunna ha gjort om vi inte hade svarat på dina frågor ????
.
Fråga på bara, men håll läxorna utanför... 
Angående 16F873, en ganska "kompetent" modell, även om den inte
kommer från de senaste generationerna. Men säkert helt OK.
Hur många I/O behöver du ?
Har du valt utifrån ELFA's sortiment ? Notera att det sortimentet
inte är mycket att hänga i granen, de saknar många av de nya
trevliga modellerna (se min lista i tidigare inlägg).
Kristall beror lite på vilket "fart" du vill ha. Om det inte
är batteridrivet så finns det väll ingen anledning att inte köra
i full fart, d.v.s 20 Mhz. Glöm inte 2x 22pF. För färdiga kristall-set
inkl 22 pF kondingar, se : http://www.jescab.se/Prod_PIC.html .
Sedan tillkommer lite prylar runtomkring, men det beror mycket
på vad du redan har liggandes. Några motstånd för t.ex
pullup till MCLR, kondingar för avkoppling av matningsspänning,
lite passiva komponenter för skydd av PIC pinnarna (om du
fortfarade skall koppla ihop flera processorer) o.s.v...

Angående 16F873, en ganska "kompetent" modell, även om den inte
kommer från de senaste generationerna. Men säkert helt OK.
Hur många I/O behöver du ?
Har du valt utifrån ELFA's sortiment ? Notera att det sortimentet
inte är mycket att hänga i granen, de saknar många av de nya
trevliga modellerna (se min lista i tidigare inlägg).
Kristall beror lite på vilket "fart" du vill ha. Om det inte
är batteridrivet så finns det väll ingen anledning att inte köra
i full fart, d.v.s 20 Mhz. Glöm inte 2x 22pF. För färdiga kristall-set
inkl 22 pF kondingar, se : http://www.jescab.se/Prod_PIC.html .
Sedan tillkommer lite prylar runtomkring, men det beror mycket
på vad du redan har liggandes. Några motstånd för t.ex
pullup till MCLR, kondingar för avkoppling av matningsspänning,
lite passiva komponenter för skydd av PIC pinnarna (om du
fortfarade skall koppla ihop flera processorer) o.s.v...
-
- Inlägg: 109
- Blev medlem: 1 november 2005, 15:31:18
- Ort: Hemma
Mitt mål är att bygga är en robot som främst ska åka omkring och undvika hinder, när det är klart tänker jag göra den mer avancerad, vi får se hur det blir.
För att klara detta kommer jag behöva koppla in två legomotorer, IR- eller trycksensorer,
några enkla knappar som "användarinterface" och kanske några servon.
Det borde ge en finger visning av hur många I/U-pinnar som behövs, 22 I/U-pinnar borde
räcka enligt min bedömning.
Eftersom roboten måste kunna röra sig måste den vara batteridriven, hur mycket kommer
en högre "fart" påverka batteriförbrukningen? Du sa att "farten" inte spelade någon roll
om det inte är batteridrivet, men nu är det det.
En µp har väl en försummbar energiförbrukning så vitt jag vet, eller?
Dum fråga: Du sa "För färdiga kristall-set inkl 22 pF kondingar, se : http://www.jescab.se/Prod_PIC.html"
Vad är kondingar? Är det samma/nästan lika som kondensatorer?
En till dum fråga: Du säger att jag behöver "Några motstånd för t.ex
pullup till MCLR"
Jag vet vad motstånd är, men pullup till MCLR har jag inte hört talas om, med undantag av den engelska frasen "pull up" =dra upp.
För att klara detta kommer jag behöva koppla in två legomotorer, IR- eller trycksensorer,
några enkla knappar som "användarinterface" och kanske några servon.
Det borde ge en finger visning av hur många I/U-pinnar som behövs, 22 I/U-pinnar borde
räcka enligt min bedömning.
Eftersom roboten måste kunna röra sig måste den vara batteridriven, hur mycket kommer
en högre "fart" påverka batteriförbrukningen? Du sa att "farten" inte spelade någon roll
om det inte är batteridrivet, men nu är det det.
En µp har väl en försummbar energiförbrukning så vitt jag vet, eller?
Dum fråga: Du sa "För färdiga kristall-set inkl 22 pF kondingar, se : http://www.jescab.se/Prod_PIC.html"
Vad är kondingar? Är det samma/nästan lika som kondensatorer?
En till dum fråga: Du säger att jag behöver "Några motstånd för t.ex
pullup till MCLR"
Jag vet vad motstånd är, men pullup till MCLR har jag inte hört talas om, med undantag av den engelska frasen "pull up" =dra upp.
-
- Inlägg: 109
- Blev medlem: 1 november 2005, 15:31:18
- Ort: Hemma
Pullup = Pull-up = motstånd som används för att dra "upp" en ingång. Värdet beror på vad som ska drivas men jag använder 10K till en hel del som standart.
Pulldown = pull-down = samma sak, fast till GND.
Vad jag har förstådd kan vispgrädden det samma som ISP-PRO fast mycket billigare, jag har inte själv någondera men jag skulle satsa på vispgrädden.....
Det kan löna sig att ha en ICSP-programmeringsenhet (In-Circuit Serial Programming), man kan då låta den hänga kvar, mickla med programmet, tanka ner det och köra direkt utan strul.
Pulldown = pull-down = samma sak, fast till GND.
Vad jag har förstådd kan vispgrädden det samma som ISP-PRO fast mycket billigare, jag har inte själv någondera men jag skulle satsa på vispgrädden.....
Det kan löna sig att ha en ICSP-programmeringsenhet (In-Circuit Serial Programming), man kan då låta den hänga kvar, mickla med programmet, tanka ner det och köra direkt utan strul.
[quote="ny börjare"]Mitt mål är att bygga är en robot som främst ska åka omkring och undvika hinder, när det är klart tänker jag göra den mer avancerad, vi får se hur det blir.
Du bör nog sänka din ambitionsnivå en del. Det du vill göra är mycket svårare än du tror. Börja experimentera med PIC In/out med lysdioder och knappar på kopplingsdäck och läs igenom databladen. Tips är att börja använda PIC16F84 med 4 MHz kristall, ganska lätt att använda. Lär dig timer och interupt.
Ska du göra så att roboten undviker hinder bör du använda ultraljud, vilket kan vara svårt att bygga utan "en del elektronikkunnande" och oscilloskop. Alt. köp svindyr ultraljud sändare/mottagre på ELFA, men det blir fortfarande lite klurigt att får den att "smart" undvika hinder.
Tips: börja med att att konstruera 2 H bryggor, en för varje motor och lär dig använda PICs inbyggda PWM, perfekt för detta ändamål. Gör en simpel kofångare som aktiverar en I/O vid kollision och gör så att roboten backar och svänger åt slumpmässigt håll. Detta är inte så svårt att göra.
En hyfsat kraftfull PIC ex 16F877 borde räcka, så slipper du kommunikation mellan olika mikroprocessor.
Du bör nog sänka din ambitionsnivå en del. Det du vill göra är mycket svårare än du tror. Börja experimentera med PIC In/out med lysdioder och knappar på kopplingsdäck och läs igenom databladen. Tips är att börja använda PIC16F84 med 4 MHz kristall, ganska lätt att använda. Lär dig timer och interupt.
Ska du göra så att roboten undviker hinder bör du använda ultraljud, vilket kan vara svårt att bygga utan "en del elektronikkunnande" och oscilloskop. Alt. köp svindyr ultraljud sändare/mottagre på ELFA, men det blir fortfarande lite klurigt att får den att "smart" undvika hinder.
Tips: börja med att att konstruera 2 H bryggor, en för varje motor och lär dig använda PICs inbyggda PWM, perfekt för detta ändamål. Gör en simpel kofångare som aktiverar en I/O vid kollision och gör så att roboten backar och svänger åt slumpmässigt håll. Detta är inte så svårt att göra.
En hyfsat kraftfull PIC ex 16F877 borde räcka, så slipper du kommunikation mellan olika mikroprocessor.
- Greensilver
- Inlägg: 1305
- Blev medlem: 21 januari 2005, 21:24:57
- Ort: Sverige
- Kontakt:
Köp en Butterfly (kostar ca. 200 kronor) och lek med den. Då kan du lära dig UART (kontrollers som pratar med varandra - till en början kan du testa med att kommunicera mellan datorn till uC'n), ADC (att göra om en analog spänning till digital data - tex. mäta temp och ljus) och så får du ju samtidigt lära dig programmera - för det måste du kunnna om du skall få uC att göra något vettigt.
Ett litet tips innan du köper en programmerare och en massa dyra uC's. Börja med CMOS!
Jag tycker att det var jättebra att börja med enklare CMOS kretsar (små svarta IC kretsar med en massa ben som kan göra begränsade saker) och bygga lite räknare, blinkande saker och annat. Då lär man sig vad VCC och alla andra knepiga förkortningar är och kopplar man fel bränner man bara en krets för några kronor till skillnad från när man leker med uC då de normalt kostar betydligt mer. Man lär sig också läsa datablad och det måste man vara en fena på när man börjar leka med uC's. När jag lekt "klart" med CMOS hade jag lärt mig basic elektronik (motstånd, transistrore, kondensatorer) och då kpte jag en programmerare för Atmels uC som heter STK500 men det var nog lite ooverkill inser jag nu så här efteråt. Jag skulle köpt en Butterfly istället och börjat med den.
En sak till - de uC och programmerare jag nämnde ovan kommer från ett företag som heter Atmel. (www.atmel.com) men du kan ju lika gärna köra med Microchips (Pic) - det är lite som bråket mellan Atari och Amiga på 90'talet.
Så fråga inte vilka som är bäst... 
Ett litet tips innan du köper en programmerare och en massa dyra uC's. Börja med CMOS!

En sak till - de uC och programmerare jag nämnde ovan kommer från ett företag som heter Atmel. (www.atmel.com) men du kan ju lika gärna köra med Microchips (Pic) - det är lite som bråket mellan Atari och Amiga på 90'talet.


> Tips är att börja använda PIC16F84...
Verkar lite konstigt att man skall börja med den dyrasta och absolut sämsta modellen. F84(A) är stendöd...
16F628A eller 16F88 om man vill ha en 18-pinnare, eller något i 16F87x
serien om man vill ha en med fler ben...
(Eller motsvarande från Atmel, om man föredrar det...)
Verkar lite konstigt att man skall börja med den dyrasta och absolut sämsta modellen. F84(A) är stendöd...
16F628A eller 16F88 om man vill ha en 18-pinnare, eller något i 16F87x
serien om man vill ha en med fler ben...
(Eller motsvarande från Atmel, om man föredrar det...)
Jepp och det kan man med PIC18F-serien också.....
Jag har samplat PIC16F628A och den slår PIC16F84A med hästlängder (int. oscillator & UART, de saknas på PIC16F84A) så varför ska man alls pilla på en 'F84A???
Om man ska lära sig PIC är 'F84A ju utdaterat, att som nybörjare skulla bit-banga en UART-funktion är ju hopplöst, det är så mycket enklare att ställa in ett par registre och sedan skicka den byte till serieporten som säger "YESSSSSS! Det gick ta mig fan!" enkom vid att skriva ett värde till ett register.
Så nej, 'F84A är död som en sill! Nackskott!
Riktpris från Microchip:
PIC16F84A: $2,71 (1,75Kb flash, 64 byte EEPROM, 68 byte RAM, 1 st 8-bit timer)
PIC16F628A: $1,29 (3,5Kb flash, 128 byte EEPROM, 224 byte RAM, 2 st 8-bit timer, 1 st 16-bit timer)
Fler argumenter _för_ 'F84A? ..... näpp, trodde inte det.
Javisst, den gamla: "men jag har ett färdigt projekt här till 'F84A....."
Joo...det kan såklart vara en anledning...,fast varför inte dekoda hex-filen, göra ett par ändringer och få till det med en billigare processor?
Men OK, om man inte vill lära sig men enbart kopiera kan det ju vara vägen fram.
Jag har samplat PIC16F628A och den slår PIC16F84A med hästlängder (int. oscillator & UART, de saknas på PIC16F84A) så varför ska man alls pilla på en 'F84A???
Om man ska lära sig PIC är 'F84A ju utdaterat, att som nybörjare skulla bit-banga en UART-funktion är ju hopplöst, det är så mycket enklare att ställa in ett par registre och sedan skicka den byte till serieporten som säger "YESSSSSS! Det gick ta mig fan!" enkom vid att skriva ett värde till ett register.
Så nej, 'F84A är död som en sill! Nackskott!
Riktpris från Microchip:
PIC16F84A: $2,71 (1,75Kb flash, 64 byte EEPROM, 68 byte RAM, 1 st 8-bit timer)
PIC16F628A: $1,29 (3,5Kb flash, 128 byte EEPROM, 224 byte RAM, 2 st 8-bit timer, 1 st 16-bit timer)
Fler argumenter _för_ 'F84A? ..... näpp, trodde inte det.
Javisst, den gamla: "men jag har ett färdigt projekt här till 'F84A....."
Joo...det kan såklart vara en anledning...,fast varför inte dekoda hex-filen, göra ett par ändringer och få till det med en billigare processor?
Men OK, om man inte vill lära sig men enbart kopiera kan det ju vara vägen fram.
Senast redigerad av Icecap 19 februari 2006, 08:09:01, redigerad totalt 1 gång.