การบรรลุมรรคผล#ทางบรรลุมรรคผล#การเกิดอริยมรรค เลือกบล็อกที่จะแชร์ไป ธรรมทั้งหลายมีใจเป็นหัวหน้ามีใจเป็นใหญ่สำเร็จด้วยใจ กลับบ้านเราพระพุทธเจ้ารออยู่ วิมุตติ ๕ ประการนี้ ซึ่งเป็นเหตุให้จิตของภิกษุ ผู้ไม่ประมาท มีความเพียร อุทิศกายและใจอยู่ ที่ยังไม่ห ความรู้เพื่อความสินทุกข์ กราบขอบพระคุณและอนุโมทนาท่านอาจารย์มากครับที่กรุณาให้โอกาส #การบรรลุมรรคผล#ดูกรภิกษุเปรียบเหมือนประทีปน้ำมัน #อาศัยน้ำมันและไส้จึงโพลงอยู่ได้ #เพราะสิ้นน้ำมันแ ผู้ถึงฝั่งแห่งภพ โสดาบัน สกิทาคามี อนาคามี อรหันต์#ทางสิ้นทุกข์ความพ้นทุกข์ทางใจ#การบรรลุมรรคผลของจิต#การเกิดอริยมรรค การเจริญมรณสติเพื่อความสิ้นอาสวะ วืมุตติความหลุดพ้น อารมณ์พระอรหันต์_การสำเร็จมรรคผล#การเกิดมรรคผล#การทำอริยสัจจ์ให้บริบูรณ์ #การบรรลุมรรคผล#ดูกรภิกษุเปรียบเหมือนประทีปน้ำมัน #อาศัยน้ำมันและไส้จึงโพลงอยู่ได้ #เพราะสิ้นน้ำมันแ ผู้มีกระแสในเบื้องบน#เศษน้ำมันปลายขนจามรี#ตถาคตโพธิสัทธา#การบรรลุมรรคผล พอปล่อยวางกาย จิตใจก็จะพ้นจากความทุกข์ ไม่พึงด่วนทำกาละ กลับบ้านเราพระพุทธเจ้ารออยู่#ศีลนี่นะมันจะช่วยจัดระเบียบชีวิตของเราให้มันเรียบง่ายนะ สบายๆ คำพยากรณ์จากพระพุทธเจ้า โลกราบเป็นหน้ากลอง วิมุตติความหลุดพ้น#ผู้มีร่างกายสุดท้ายกายนี้เป็นตัวทุกข์ล้วนๆ #จิตนี้เป็นตัวทุกข์ล้วนๆถ้าภาวนาได้อย่ อารมณ์พระอรหันต์ ผู้ไม่มีร่องรอย ความรู้เพื่อความสินทุกข์ การเกิดอริยมรรค#เธออย่าได้กล่าวคำหยาบต่อใคร ความดับทุกข์ Bodhi Gaya- The Sacred Land of Buddhahood พระสาวกโพธิสัตว์ พระโพธิสัตว์ผู้บำเพ็ญบารมีเพื่อให้ได้เป็นพระอนุพุทธะ เลยไปหนึ่งอสงไขยข้าพระองค์หมอบลงที่ใกล้พระบาทของพระสัมมาสัมพุทธเจ้า #การเจริญมรณสติเพื่อความสิ้นอาสวะ#การเจริญมรณสติเพื่อความสิ้นอาสวะ##โดยธรรมชาติของจิตนี่ต้องเวียนอยู ทางหลุดพ้น นโม ตสฺส ภควโต อรหโต สมฺมาสมฺพุทฺธสฺส การบรรลุมรรคผล#การเกิดอริยมรรค เราไม่ทะเลาะกัน#เธออย่าได้กล่าวคำหยาบต่อใครๆคนที่ถูกเธอว่ากล่าวจะกล่าวโต้ตอบเธอ การบรรลุมรรคผลของจิต จิตหลุดพ้น tamjai #คำสอนทางพุทธศาสนา#อมตมหานครนี้มีศีลเป็นกำแพงเมืองมีปัญญาเป็นหอรบอินทรีย์สังวรเป็นทวารบาลอัษฎางคิกมร อนุปาทาปรินิพพาน#ความพ้นทุกข์#การประชุมอริยมรรค พรุ่งนี้วันพระ#ทุกอย่างแก้ไขได้ ผู้ไม่มีร่องรอย#ความบริสุทธิ์หลุดพ้น#คําสั่งสอนของพระพุทธเจ้าทั้งหลาย#คำสอนเรื่องความหลุดพ้น วิมุตติความหลุดพ้น#เกาะที่น้ำท่วมไม่ถึง#จิตอรหันต์ ทางสายกลาง#ทางพระนิพพาน#มัชฌิมาปฏิปทา คำพยากรณ์จากพระพุทธเจ้า การบรรลุมรรคผลของมนุษย์ พระอรหันต์สุกขวิปัสสโก ตั้งจิตไปพระนิพพาน จิตเราจะก้าวกระโดดเกิดอริยมรรคขึ้นมา ขั้นแรกมันจะรวม Share your videos with friends, family, and the world.#เรากล่าวบุคคลผู้ไม่มีกิเลสเครื่องกังวล เกาะที่น้ำท่วมไม่ถึง ทางโลกุตระ#การบรรลุมรรคผล #จิตเวลาที่เกิดมรรคเกิดผลจะไม่เกิดในจิตของคนธรรมดาที่เรียกว่ากามาวจรจิตกามาวจรภูมิ ไม่เป็นอย่างนั้น พระพุทธเจ้า kartaykrangsudtai #เราไม่ได้มุ่งพุทธภูมิ #เราไม่ได้ทำกรรมชั่วหยาบมา วิมุตติความหลุดพ้น ติดในทิฏฐิว่าโลกนี้ว่างเปล่า pornpimon tungmepol Pin Builder Uploaded image Choose a board Search Top board suggestions ความดับท ปาฏิโมกข์ การเจริญมรณสติเพื่อความสิ้นอาสวะ#อารมณ์พระอรหันต์#มหาปรินิพพานสูตรและพระสาวกภาษิต Ghabraye jab man anmol ผู้ไม่มีร่องรอย#ความบริสุทธิ์หลุดพ้น#คําสั่งสอนของพระพุทธเจ้าทั้งหลาย#คำสอนเรื่องความหลุดพ้น คุณแห่งศีลมีอยู่ในโลกความสัตย์ความสะอาดและความเอ็นดูมีอยู่ในโลก ด้วยความสัจนั้น ประโยชน์ของศีลในขั้นพื้นฐานคือทำให้กาย วาจา ใจ สงบไม่เบียดเบียนตนเองและผู้อื่น ทำให้สามารถที่จะทำให้ พระราชพรหมยานเถระ#ความหลุดพ้นทางจิต#การเจริญมรณสติเพื่อความสิ้นอาสวะ#จิตหมดความปรุงแต่ง#ทางไม่เกิด นะโมพุทธายะ นะมะพะทะ เราไม่ลอยขึ้น เราไม่จมลง เมื่อใดแล เหล่ามนุษย์ผู้ถือตนว่าเป็นสัตว์ประเสริฐ ได้เกิดความหวาดกลัว หรือว่า เกิดหัวใจสะดุ้งหวั่นไห มรรคผล นิพพาน วันทามิ ภันเต เจติยัง สัพพัง สัพพัฏฐาเน จึงมุ่งสู่พุทธภูมิ วิมุตติความหลุดพ้น#จิตเกิดมรรคผล#เวลาที่จิตจะเกิดมรรคผลนั้นจิตจะรวมเข้าอัปนาสมาธิ คำพยากรณ์จากพระพุทธเจ้า#โลกุตตรกุศลจิตสุทธิกปฏิปทามรรคจิตดวงที่๑ #สภาวธรรมที่เป็นกุศลเป็นไฉน วิมุตติความหลุดพ้น #คาถาธรรมบทว่าด้วยเรื่องพระพุทธเจ้า อารมณ์พระนิพพาน วิมุตติความหลุดพ้น#จากเทวโลกมาเกิดเป็นมนุษย์#ได้บรรลุความสิ้นอาสวะ#เกาะที่น้ำท่วมไม่ถึง#จิตอรหันต์ กระบวนการเกิดอริยมรรค#`จิตเกิดมรรคผล#การเกิดมรรคผล#ทางของพระพุทธเจ้า วันนี้วันพระ#ทุกอย่างแก้ไขได้ #ดูก่อนนายโจรทุกข์ทางใจย่อมไม่มีแก่ผู้ไม่ห่วงใยในชีวิตความกลัวทั้งปวงอันเราผู้สิ้นสังโยชน์ล่วงพ้นได้ พุทธัง สรณัง คัจฉามิ ข้าพเจ้าขอยึดพระพุทธเจ้าเป็นที่พึ่ง ธัมมัง สรณัง คัจฉามิ ข้าพเจ้าขอยึดพระธรรมเป #เราไม่ได้มุ่งพุทธภูมิ #เราไม่ได้ทำกรรมชั่วหยาบมา #ตเราจะก้าวกระโดดเกิดอริยมรรค #ดูก่อนสุทัตตะผู้ตื่นอยู่มิได้หลับย่อมรู้สึกว่าราตรีหนึ่งยาวนานผู้ที่เดินทางจนเมื่อยล้าแล้วรู้สึกว่า กายนี้เป็นตัวทุกข์ล้วนๆ จิตนี้เป็นตัวทุกข์ล้วนๆ ถ้าภาวนาได้อย่างนี้นะมันจะเกิดอาการของจิตที่อัศจรรย การรู้แจ้งอริยสัจ#เพราะสิ้นน้ำมันและไส้นั้นและไม่เติมน้ำมันและไส้อื่น #ย่อมเป็นประทีปหมดเชื้อดับไป การเกิดมรรคผล#การทำอริยสัจจ์ให้บริบูรณ์ การระลึกถึงคุณพระพุทธเจ้า#การระลึกถึงคุณพระธรรม#การระลึกถึงคุณพระสงฆ์#การระลึกถึงคุณพ่อแม่ครูอาจารย์ #มรรคจิตผลจิต#ธาตุรู้ก็จิตนั่นแหละมันเป็นจิตอีกอย่างหนึ่งพอจิตดวงเก่ามันดับไปจิตที่อยู่ในภพภูมิต่างๆ sodabun-sakataka-anaka-arhant เราจะก้าวกระโดดเกิดอริยมรรคขึ้นมา ทางพระนิพพาน#เธออย่าได้กล่าวคำหยาบต่อใครๆคนที่ถูกเธอว่ากล่าวจะกล่าวโต้ตอบเธอ เสียงสั่งจิต#ธรรมะคือยาขนานเอก#ยกจิตในสมัยที่ควรยก#การเกิดอริยมรรค#พุทธภูมิปัจเจกภูมิสาวกภูมิ#คำสอนเ 1:07:20 กำลังเล่น สถานที่ตรัสรู้อนุตตรสัมมาสัมโพธิญาณ พุทธคยา - Bodhgaya P.Santipalo 1:03:33 กำล ทางหลุดพ้นจากความทุกข์อย่างสิ้นเชิง #จิตหมดความปรุงแต่ง#ทางไม่เกิด#ถ้าหลุดออกจากกามภพนะก็เข้าไปรูปภพหรือว่ารูปภูมิก็คือเข้าไปสงบอยู่กับก ผู้ไม่มีร่องรอย#ความบริสุทธิ์หลุดพ้น#คําสั่งสอนของพระพุทธเจ้าทั้งหลาย#คำสอนเรื่องความหลุดพ้น ถ้ารู้ว่าเราหลงทางเราจะกลับบ้านถูก ดวงตาเห็นธรรม โลกราบเป็นหน้ากลอง#พรุ่งนี้วันพระ#ทุกอย่างแก้ไขได้ การเกิดมรรคผล #พุทธภูมิปัจเจกภูมิสาวกภูมิ #คำสอนเรื่องนิพพาน #วิมุตติความหลุดพ้นแนวทางบรรลุธรรม การทำที่สุดแห่งทุกข์#การเห็นแจ้งพระนิพพาน#การเกิดมรรคผล
Goo//Arduino Atmega 1280 Atmega 2560 3 phase induction motor Variable Speed Controller //Code
}?gle โห//Arduino Atmega 1280 Atmega 2560 3 phase induction motor Variable Speed Controller //Code
}มดการค้นหา
ทั้งหมด
วิดีโอ
ค้นรูป
ข่าวสาร
Maps
เพิ่มเติม
เครื่องมือ
ผลการค้นหาประมาณ 11,500 รายการ (0.40 วินาที)
Looking for results in English?
Change to English
ใช้ภาษาภาษาไทยต่อไป
การตั้งค่าภาษา
ผลการค้นหา
ผลการค้นเว็บ
การบรรลุมรรคผล#ทางบรรลุมรรคผล#การเกิดอริยมรรค - YouTube
www.youtube.com › watch
วิดีโอสำหรับ การบรรลุมรรคผล
2:52:12
เรากล่าวบุคคลผู้ไม่มีกิเลสเครื่องกังวลผู้ไม่ถือมั่นนั้นว่าเป็นพราหมณ์เรากล่าวผู้ที่ตัดสังโยชน์ทั้งหมดได้ไม่สะดุ้งผู้ล่วงกิเลสเป็นเครื่องข้อง ...
1 พ.ย. 2563 · อัปโหลดโดย การบรรลุมรรคผลของมนุษย์
การบรรลุมรรคผลของมนุษย์ - YouTube
www.youtube.com › watch
วิดีโอสำหรับ การบรรลุมรรคผล
2:44
การเกิดอริยมรรค#พุทธภูมิปัจเจกภูมิสาวกภูมิ#คำสอนเรื่องนิพพาน#วิมุตติความหลุดพ้นแนวทางบรรลุธรรม#การเกิดอริยมรรค#เธออย่าได้กล่าวคำหยาบต่อใครๆ ...
17 พ.ย. 2563 · อัปโหลดโดย การบรรลุมรรคผลของมนุษย์
การบรรลุมรรคผล#การเกิดอริยมรรค - YouTube
www.youtube.com › watch
วิดีโอสำหรับ การบรรลุมรรคผล
52:38
การบรรลุมรรคผลของมนุษย์ ... ได้เหมือนกังสดาลที่ตัดขอบปากออกแล้วเธอก็จะบรรลุนิพพานได้การโต้เถียงกันก็จะไม่มีแก่เธอ#เวลาที่จิตจะเกิดมรรคผลนั้น ...
11 มิ.ย. 2563 · อัปโหลดโดย การบรรลุมรรคผลของมนุษย์
การบรรลุมรรคผล - YouTube
www.youtube.com › watch
วิดีโอสำหรับ การบรรลุมรรคผล
8:41
วิมุตติความหลุดพ้นแนวทางบรรลุธรรม#การเกิดอริยมรรค#เธออย่าได้กล่าวคำหยาบต่อใครๆคนที่ถูกเธอว่ากล่าวจะกล่าวโต้ตอบเธอเพราะว่าถ้อยคำที่โต้เถียง ...
3 พ.ค. 2563 · อัปโหลดโดย การบรรลุมรรคผลของมนุษย์
การบรรลุมรรคผลของมนุษย์#ทางหมดทุกข์#มรรคจิตผลจิต#ท่าพระโคดม
www.youtube.com › watch
วิดีโอสำหรับ การบรรลุมรรคผล
7:08
เธออย่าได้กล่าวคำหยาบต่อใครๆคนที่ถูกเธอว่ากล่าวจะกล่าวโต้ตอบเธอเพราะว่าถ้อยคำที่โต้เถียงกันก่อให้เกิดทุกข์และการทำร้ายโต้ตอบกันจะมาถึงเธอ# ...
21 ต.ค. 2563 · อัปโหลดโดย การบรรลุมรรคผลของมนุษย์
การบรรลุมรรคผลของมนุษย์ - YouTube
www.youtube.com › watch
วิดีโอสำหรับ การบรรลุมรรคผล
3:52
ข้ามเข้ามาทวนเข้ามาถึงจิตแท้ถึงวิญญาณธาตุธาตุรู้แท้ๆแล้วธรรมธาตุตัวนี้แล้วอริยมรรคก็จะเกิด#วิมุตติความหลุดพ้น#แนวทางบรรลุธรรม#การเกิด ...
9 พ.ค. 2564 · อัปโหลดโดย การบรรลุมรรคผลของมนุษย์
การบรรลุมรรคผล - YouTube
www.youtube.com › watch
วิดีโอสำหรับ การบรรลุมรรคผล
3:56
การบรรลุมรรคผล#เธออย่าได้กล่าวคำหยาบต่อใครๆคนที่ถูกเธอว่ากล่าวจะกล่าวโต้ตอบเธอเพราะว่าถ้อยคำที่โต้เถียงกันก่อให้เกิดทุกข์และการทำร้ายโต้ตอบ ...
12 ส.ค. 2563 · อัปโหลดโดย pornpimon tungmepol
การบรรลุมรรคผล#ทางนิพพาน#การเกิดอริยมรรค#มรรคจิตผลจิต
www.youtube.com › watch
วิดีโอสำหรับ การบรรลุมรรคผล
7:08
เธออย่าได้กล่าวคำหยาบต่อใครๆคนที่ถูกเธอว่ากล่าวจะกล่าวโต้ตอบเธอเพราะว่าถ้อยคำที่โต้เถียงกันก่อให้เกิดทุกข์และการทำร้ายโต้ตอบกันจะมาถึงเธอ# ...
3 ก.ย. 2563 · อัปโหลดโดย การบรรลุมรรคผลของมนุษย์
การบรรลุมรรคผลของมนุษย์#คำสอนเรื่องนิพพาน - YouTube
www.youtube.com › watch
วิดีโอสำหรับ การบรรลุมรรคผล
7:08
คำสอนเรื่องนิพพาน#วิมุตติความหลุดพ้นแนวทางบรรลุธรรม#การเกิดอริยมรรค#เธออย่าได้กล่าวคำหยาบต่อใครๆคนที่ถูกเธอว่ากล่าวจะกล่าวโต้ตอบเธอเพราะว่า ...
16 มิ.ย. 2563 · อัปโหลดโดย การบรรลุมรรคผลของมนุษย์
การบรรลุมรรคผลของมนุษย์ - YouTube
www.youtube.com › watch
วิดีโอสำหรับ การบรรลุมรรคผล
5:18
การบรรลุมรรคผลของมนุษย์#เธออย่าได้กล่าวคำหยาบต่อใครๆคนที่ถูกเธอว่ากล่าวจะกล่าวโต้ตอบเธอเพราะว่าถ้อยคำที่โต้เถียงกันก่อให้เกิดทุกข์และการ ...
17 มิ.ย. 2563 · อัปโหลดโดย การบรรลุมรรคผลของมนุษย์
การนำทางหน้าเว็บ
1
2
3
4
5
6
7
8
9
10
ถัดไป
ลิงก์ส่วนท้าย
ไทย
ความช่วยเหลือส่งความคิดเห็นความเป็นส่วนตัวข้อกำหนด
// Complier By Arduino Version 101 Version 106 Software
//?????????????? AUTO RE RUN ????????????????? 5KB ????????????????? ??? -??? ??????? ?????? R //4K7 ??? ??+5Vdc ??????????? ?????????? + MAX ??? VR ??? R 1K-10 K ??? ???? A3 ??? //ATmega 168 ATmega 328 P
#include "arduino.h" //Store data in flash (program) memory instead of SRAM
#include "avr/pgmspace.h"
#include "avr/io.h"
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#define UN (400.0)
#define FN (50.0)
#define P (UN/FN)
#define T_PWM (0.000255)
#define T_MAX (4.0)
#define T_MIN (0.02)
#define K_MAX floor(T_MAX/T_PWM)
#define K_MIN ceil(T_MIN/T_PWM)
volatile static unsigned int dlugosc_tab_sin; //okresie napiecia wyjsciowego
static unsigned int i = 0;
volatile static unsigned int licznik_glowny = 0;
static unsigned int next_value_sin = 0;
static double t_param=100;
static float t = T_PWM;
static float omega_t;
static float t_out;
static float U_o_param;
static unsigned int ocr0a, ocr0b, ocr1a;
static unsigned int ocr1b, ocr2a, ocr2b;
static unsigned int ocr3a, ocr3b, ocr3c;
static unsigned int ocr4a, ocr4b, ocr4c;//^
static unsigned int ocr5a, ocr5b, ocr5c;//
static double sin_in;
static double blad = 1;
static unsigned int analog=0;
static double U_in = 0;
static double U_rms_max;
static bool a=0;
int main()
{
io_init();
timers_init(); //inicjalizacja licznikow PWM
adc_init(); //inicjalizacja przetwornika ADC
while(1) //nieskonczona petla z programem glownym
{
if(i==185) //warunek okreslajacy wejscie do funkcji zmiany
{ //parametrow napiecia wysjciowego, wywolanie co okolo 100ms
zmien_predkosc(); //funkcja zmiany parametrow napiecia wyjsciowego
i=0;
}
next_value_sin = licznik_glowny%dlugosc_tab_sin; //kolejna wartoœ? sinusa do obliczenia
sin_in=omega_t*next_value_sin;
//obliczenie wartosci do rejestrow okreslajacych wypelnienie sygnalu wyjscioweg/
ocr0a = round(blad*(U_o_param*(sin(sin_in)+1)*254/2)+1);//pin D 13
ocr0b = ocr0a - 1;//pin D 4
ocr1a = round(blad*(U_o_param*(sin(sin_in-2.09)+1)*254/2)+1);//pin D 11
ocr1b = ocr1a - 1;//pin D 12
ocr2a = round(blad*(U_o_param*(sin(sin_in+2.09)+1)*254/2)+1);//pin D 10
ocr2b = ocr2a - 1;//pin D 9
ocr3a = round(blad*(U_o_param*(sin(sin_in)+1)*254/2)+1);//pin D 5
ocr3b = ocr0b;//ocr3a - 1;//pin D 2
ocr3c = round(blad*(U_o_param*(sin(sin_in-2.09)+1)*254/2)+1);//pin D 3
ocr4a = ocr2b;//ocr3c - 1;//pin D 6
ocr4b = round(blad*(U_o_param*(sin(sin_in+2.09)+1)*254/2)+1);//pin D 7
ocr4c = ocr1b ; //pin D 8
ocr5a = ocr0b;//round(blad*(U_o_param*(sin(sin_in)+1)*254/2)+1);//pin D 46
ocr5b = ocr1b;//round(blad*(U_o_param*(sin(sin_in+2.09)+1)*254/2)+1);//pin D 45
ocr5c = ocr2b;//round(blad*(U_o_param*(sin(sin_in-2.09)+1)*254/2)+1);//pin D 44
//uaktualnienie wartosci w rejestrach/
cli(); //zabronienie na obsloge przerwan na wypadek gdyby
//podczas uaktualniania wystapilo przerwanie
OCR0A = ocr0a; //pin 6
OCR0B = ocr0b; //pin 5
OCR1AL = ocr1a; //pin 9
OCR1BL = ocr1b; //pin 10
OCR2A = ocr2a; //pin 11
OCR2B = ocr2b; //pin 3
OCR3A = ocr3a; //pin 6
OCR3B = ocr3b; //pin 5
OCR3CL = ocr3c; //pin 3
OCR4AL = ocr4a; //pin 10
OCR4B = ocr4b; //pin 11
OCR4C = ocr4c; //pin 8
OCR5A = ocr5a; //pin 10
OCR5B = ocr5b; //pin 11
OCR5C = ocr5c; //pin 8
sei(); //zezwolenie na obsloge przerwan
i++;
}
}
void adc_init()
{
ADCSRA |= _BV(ADEN);//uruchomienie przetwornika
ADCSRA |= _BV(ADPS2);//ustawienie preskalera
ADCSRA |= _BV(ADPS1);//^
ADCSRA |= _BV(ADPS0);//^
ADMUX |= _BV(REFS0);// napiecie odniesienia ustawione jako napiecie zasilania
ADMUX |= ADMUX &= 0b11110000; //wybranie wejscia ADC0 do pomiaru
}
void timers_init()
{
cli(); // obsloga przerwan zabroniona
TCCR0A |= _BV(COM0A1) | _BV(COM0B0) | _BV(COM0B1) | _BV(WGM00);
TCCR0B |= _BV(CS01); //preskaler 8
TIMSK0 |= _BV(TOIE0); //flaga od wartosci 0 wlaczona
//timer1 init
TCCR1A |= _BV(COM1A1) | _BV(COM1B0) | _BV(COM1B1) | _BV(WGM10);
TCCR1B |= _BV(CS11); //preskaler 8
//timer2 init
TCCR2A |= _BV(COM2A1) | _BV(COM2B0) | _BV(COM2B1) | _BV(WGM20);
TCCR2B |= _BV(CS21); //preskaler 8
//timer3 init
TCCR3A |= _BV(COM3A1) | _BV(COM3B0) | _BV(COM3B1) | _BV(WGM30);
TCCR3B |= _BV(CS31);
TCCR3C |= _BV(COM3A1) | _BV(COM3B0) | _BV(COM3B1) | _BV(WGM33);
TCCR3C |= _BV(CS31);//;|(1 << CS00); //preskaler 8
cbi (TCCR3A, COM3C0);
sbi (TCCR3A, COM3C1);
//timer4 init
TCCR4A |= _BV(COM4A1) | _BV(COM4B0) | _BV(COM4B1) | _BV(WGM40);
TCCR4B |= _BV(CS41);
TCCR4C |= _BV(CS40); //preskaler 8
cbi (TCCR4A, COM4C0);
sbi (TCCR4A, COM4C1);
//timer5 init
TCCR5A |= _BV(COM5A1) | _BV(COM5B0) | _BV(COM5B1) | _BV(WGM50);
TCCR5B |= _BV(CS51); //preskaler 8
TCCR5C |= _BV(CS51);
cbi (TCCR5A, COM5C0);
sbi (TCCR5A, COM5C1);
//zerowanie wartosci licznik?w
TCNT0 = 0;
TCNT1L = 0;
TCNT2 = 0;
sei(); //zezwolenie na obsloge przerwan
}
void io_init()
{
pinMode(6, OUTPUT); //OC0A
pinMode(5, OUTPUT); //OC0B
pinMode(9, OUTPUT); //OC1A
pinMode(10, OUTPUT);//OC1B
pinMode(11, OUTPUT);//OC2A
pinMode(3, OUTPUT); //OC3C
pinMode(52, INPUT);
pinMode(53, INPUT);
pinMode(50, OUTPUT);
pinMode(2, OUTPUT); //OC3B
pinMode(4, OUTPUT); //OC0B
pinMode(7, OUTPUT); //OC1A
pinMode(8, OUTPUT);//OC4C
pinMode(12, OUTPUT);//OC2A
pinMode(13, OUTPUT); //OC2B
pinMode(44, OUTPUT);//OC4C
pinMode(45, OUTPUT);//OC2A
pinMode(46, OUTPUT); //OC2B
pinMode(A3, INPUT); //OC1A
pinMode(A4, OUTPUT);//OC1B
pinMode(A5, OUTPUT);//OC2A
pinMode(A6, OUTPUT); //OC3C
pinMode(A1, OUTPUT);
pinMode(A0, OUTPUT);
pinMode(A9, OUTPUT);
pinMode(A10, OUTPUT); //OC0A
pinMode(A11, OUTPUT); //OC0B
pinMode(A12, OUTPUT); //OC1A
pinMode(A13, OUTPUT);//OC4C
pinMode(A14, OUTPUT);//OC2A
pinMode(A15, OUTPUT); //OC2B
}
ISR(TIMER0_OVF_vect) //przerwanie przy wartosci 0 licznika0
{
analog = ADC;
if(a)
{
U_in = 0.0709*analog;
ADMUX |= _BV(MUX0); //wybranie wejscia ADC1 do pomiaru pradu
}
else
{
ADMUX |= ADMUX &= 0b11110000; //wybranie wejscia ADC0 do pomiaru napiecia
if(analog>579)
{
blad = 0; //jezeli przeciazenie wylaczenie generacji napiecia
digitalWrite(50, HIGH); //zapalenie diody
}
}
ADCSRA |= _BV(ADSC);//start odczytywania pomiaru
a=a^1; //bramka XOR neguje wartosc logiczna a
licznik_glowny++;
if(licznik_glowny>=dlugosc_tab_sin) licznik_glowny = 0;
}
void zmien_predkosc()
{
t_param = map(analogRead(3),0,1023,0,100);
U_rms_max = U_in*0.62;
bool up;
bool down;
up = digitalRead(52);
down = digitalRead(53);
if(up==1) t_param--;
if(down==1) t_param++;
if(t_param<0) t_param=0;
if(t_param>100) t_param=100;//^
dlugosc_tab_sin = ceil((K_MAX-K_MIN)*t_param/500+K_MIN);//ilosc wartosci wypelnien w jednym okresie
t_out = T_PWM*dlugosc_tab_sin; //obliczenie okresu napiecia wyjsciowego
omega_t = t*2*PI/t_out; //obliczenie pulsacji napiecia wyjsciowego
U_o_param = (P/t_out)/U_rms_max; //obliczenie parametru okreslajacego wielkosc napiecia wyjsciowego
if(t_out>1) U_o_param = 0.5*(18.5/U_rms_max); //napi?cie na wyjsciu przy niskiej czestotliwosci 10V
if(U_o_param>1) U_o_param=1;
//zabezpieczenie przekroczenia wartosci skrajnych
blad = 1; //jezeli przeciazenie wylaczenie generacji napiecia
digitalWrite(50, LOW); //zapalenie diody
}?gle โห//Arduino Atmega 1280 Atmega 2560 3 phase induction motor Variable Speed Controller //Code
// Complier By Arduino Version 101 Version 106 Software
//รุ่นนี้เป็นแบบ AUTO RE RUN โค๊ดนี้ใช้วอลลุ่ม 5KB ตัวเดียวทำหน้าที่ ปิด -ปิด ปรับรอบ ให้ใช้ R //4K7 ต่อ ไฟ+5Vdc แล้วต่อเข้า ขาข้างด้าน + MAX ของ VR ต่อ R 1K-10 K ต่อ เข้า A3 ของ //ATmega 168 ATmega 328 P
#include "arduino.h" //Store data in flash (program) memory instead of SRAM
#include "avr/pgmspace.h"
#include "avr/io.h"
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#define UN (400.0)
#define FN (50.0)
#define P (UN/FN)
#define T_PWM (0.000255)
#define T_MAX (4.0)
#define T_MIN (0.02)
#define K_MAX floor(T_MAX/T_PWM)
#define K_MIN ceil(T_MIN/T_PWM)
volatile static unsigned int dlugosc_tab_sin; //okresie napiecia wyjsciowego
static unsigned int i = 0;
volatile static unsigned int licznik_glowny = 0;
static unsigned int next_value_sin = 0;
static double t_param=100;
static float t = T_PWM;
static float omega_t;
static float t_out;
static float U_o_param;
static unsigned int ocr0a, ocr0b, ocr1a;
static unsigned int ocr1b, ocr2a, ocr2b;
static unsigned int ocr3a, ocr3b, ocr3c;
static unsigned int ocr4a, ocr4b, ocr4c;//^
static unsigned int ocr5a, ocr5b, ocr5c;//
static double sin_in;
static double blad = 1;
static unsigned int analog=0;
static double U_in = 0;
static double U_rms_max;
static bool a=0;
int main()
{
io_init();
timers_init(); //inicjalizacja licznikow PWM
adc_init(); //inicjalizacja przetwornika ADC
while(1) //nieskonczona petla z programem glownym
{
if(i==185) //warunek okreslajacy wejscie do funkcji zmiany
{ //parametrow napiecia wysjciowego, wywolanie co okolo 100ms
zmien_predkosc(); //funkcja zmiany parametrow napiecia wyjsciowego
i=0;
}
next_value_sin = licznik_glowny%dlugosc_tab_sin; //kolejna wartoœๆ sinusa do obliczenia
sin_in=omega_t*next_value_sin;
//obliczenie wartosci do rejestrow okreslajacych wypelnienie sygnalu wyjscioweg/
ocr0a = round(blad*(U_o_param*(sin(sin_in)+1)*254/2)+1);//pin D 13
ocr0b = ocr0a - 1;//pin D 4
ocr1a = round(blad*(U_o_param*(sin(sin_in-2.09)+1)*254/2)+1);//pin D 11
ocr1b = ocr1a - 1;//pin D 12
ocr2a = round(blad*(U_o_param*(sin(sin_in+2.09)+1)*254/2)+1);//pin D 10
ocr2b = ocr2a - 1;//pin D 9
ocr3a = round(blad*(U_o_param*(sin(sin_in)+1)*254/2)+1);//pin D 5
ocr3b = ocr0b;//ocr3a - 1;//pin D 2
ocr3c = round(blad*(U_o_param*(sin(sin_in-2.09)+1)*254/2)+1);//pin D 3
ocr4a = ocr2b;//ocr3c - 1;//pin D 6
ocr4b = round(blad*(U_o_param*(sin(sin_in+2.09)+1)*254/2)+1);//pin D 7
ocr4c = ocr1b ; //pin D 8
ocr5a = ocr0b;//round(blad*(U_o_param*(sin(sin_in)+1)*254/2)+1);//pin D 46
ocr5b = ocr1b;//round(blad*(U_o_param*(sin(sin_in+2.09)+1)*254/2)+1);//pin D 45
ocr5c = ocr2b;//round(blad*(U_o_param*(sin(sin_in-2.09)+1)*254/2)+1);//pin D 44
//uaktualnienie wartosci w rejestrach/
cli(); //zabronienie na obsloge przerwan na wypadek gdyby
//podczas uaktualniania wystapilo przerwanie
OCR0A = ocr0a; //pin 6
OCR0B = ocr0b; //pin 5
OCR1AL = ocr1a; //pin 9
OCR1BL = ocr1b; //pin 10
OCR2A = ocr2a; //pin 11
OCR2B = ocr2b; //pin 3
OCR3A = ocr3a; //pin 6
OCR3B = ocr3b; //pin 5
OCR3CL = ocr3c; //pin 3
OCR4AL = ocr4a; //pin 10
OCR4B = ocr4b; //pin 11
OCR4C = ocr4c; //pin 8
OCR5A = ocr5a; //pin 10
OCR5B = ocr5b; //pin 11
OCR5C = ocr5c; //pin 8
sei(); //zezwolenie na obsloge przerwan
i++;
}
}
void adc_init()
{
ADCSRA |= _BV(ADEN);//uruchomienie przetwornika
ADCSRA |= _BV(ADPS2);//ustawienie preskalera
ADCSRA |= _BV(ADPS1);//^
ADCSRA |= _BV(ADPS0);//^
ADMUX |= _BV(REFS0);// napiecie odniesienia ustawione jako napiecie zasilania
ADMUX |= ADMUX &= 0b11110000; //wybranie wejscia ADC0 do pomiaru
}
void timers_init()
{
cli(); // obsloga przerwan zabroniona
TCCR0A |= _BV(COM0A1) | _BV(COM0B0) | _BV(COM0B1) | _BV(WGM00);
TCCR0B |= _BV(CS01); //preskaler 8
TIMSK0 |= _BV(TOIE0); //flaga od wartosci 0 wlaczona
//timer1 init
TCCR1A |= _BV(COM1A1) | _BV(COM1B0) | _BV(COM1B1) | _BV(WGM10);
TCCR1B |= _BV(CS11); //preskaler 8
//timer2 init
TCCR2A |= _BV(COM2A1) | _BV(COM2B0) | _BV(COM2B1) | _BV(WGM20);
TCCR2B |= _BV(CS21); //preskaler 8
//timer3 init
TCCR3A |= _BV(COM3A1) | _BV(COM3B0) | _BV(COM3B1) | _BV(WGM30);
TCCR3B |= _BV(CS31);
TCCR3C |= _BV(COM3A1) | _BV(COM3B0) | _BV(COM3B1) | _BV(WGM33);
TCCR3C |= _BV(CS31);//;|(1 << CS00); //preskaler 8
cbi (TCCR3A, COM3C0);
sbi (TCCR3A, COM3C1);
//timer4 init
TCCR4A |= _BV(COM4A1) | _BV(COM4B0) | _BV(COM4B1) | _BV(WGM40);
TCCR4B |= _BV(CS41);
TCCR4C |= _BV(CS40); //preskaler 8
cbi (TCCR4A, COM4C0);
sbi (TCCR4A, COM4C1);
//timer5 init
TCCR5A |= _BV(COM5A1) | _BV(COM5B0) | _BV(COM5B1) | _BV(WGM50);
TCCR5B |= _BV(CS51); //preskaler 8
TCCR5C |= _BV(CS51);
cbi (TCCR5A, COM5C0);
sbi (TCCR5A, COM5C1);
//zerowanie wartosci licznik๓w
TCNT0 = 0;
TCNT1L = 0;
TCNT2 = 0;
sei(); //zezwolenie na obsloge przerwan
}
void io_init()
{
pinMode(6, OUTPUT); //OC0A
pinMode(5, OUTPUT); //OC0B
pinMode(9, OUTPUT); //OC1A
pinMode(10, OUTPUT);//OC1B
pinMode(11, OUTPUT);//OC2A
pinMode(3, OUTPUT); //OC3C
pinMode(52, INPUT);
pinMode(53, INPUT);
pinMode(50, OUTPUT);
pinMode(2, OUTPUT); //OC3B
pinMode(4, OUTPUT); //OC0B
pinMode(7, OUTPUT); //OC1A
pinMode(8, OUTPUT);//OC4C
pinMode(12, OUTPUT);//OC2A
pinMode(13, OUTPUT); //OC2B
pinMode(44, OUTPUT);//OC4C
pinMode(45, OUTPUT);//OC2A
pinMode(46, OUTPUT); //OC2B
pinMode(A3, INPUT); //OC1A
pinMode(A4, OUTPUT);//OC1B
pinMode(A5, OUTPUT);//OC2A
pinMode(A6, OUTPUT); //OC3C
pinMode(A1, OUTPUT);
pinMode(A0, OUTPUT);
pinMode(A9, OUTPUT);
pinMode(A10, OUTPUT); //OC0A
pinMode(A11, OUTPUT); //OC0B
pinMode(A12, OUTPUT); //OC1A
pinMode(A13, OUTPUT);//OC4C
pinMode(A14, OUTPUT);//OC2A
pinMode(A15, OUTPUT); //OC2B
}
ISR(TIMER0_OVF_vect) //przerwanie przy wartosci 0 licznika0
{
analog = ADC;
if(a)
{
U_in = 0.0709*analog;
ADMUX |= _BV(MUX0); //wybranie wejscia ADC1 do pomiaru pradu
}
else
{
ADMUX |= ADMUX &= 0b11110000; //wybranie wejscia ADC0 do pomiaru napiecia
if(analog>579)
{
blad = 0; //jezeli przeciazenie wylaczenie generacji napiecia
digitalWrite(50, HIGH); //zapalenie diody
}
}
ADCSRA |= _BV(ADSC);//start odczytywania pomiaru
a=a^1; //bramka XOR neguje wartosc logiczna a
licznik_glowny++;
if(licznik_glowny>=dlugosc_tab_sin) licznik_glowny = 0;
}
void zmien_predkosc()
{
t_param = map(analogRead(3),0,1023,0,100);
U_rms_max = U_in*0.62;
bool up;
bool down;
up = digitalRead(52);
down = digitalRead(53);
if(up==1) t_param--;
if(down==1) t_param++;
if(t_param<0) t_param=0;
if(t_param>100) t_param=100;//^
dlugosc_tab_sin = ceil((K_MAX-K_MIN)*t_param/500+K_MIN);//ilosc wartosci wypelnien w jednym okresie
t_out = T_PWM*dlugosc_tab_sin; //obliczenie okresu napiecia wyjsciowego
omega_t = t*2*PI/t_out; //obliczenie pulsacji napiecia wyjsciowego
U_o_param = (P/t_out)/U_rms_max; //obliczenie parametru okreslajacego wielkosc napiecia wyjsciowego
if(t_out>1) U_o_param = 0.5*(18.5/U_rms_max); //napi๊cie na wyjsciu przy niskiej czestotliwosci 10V
if(U_o_param>1) U_o_param=1;
//zabezpieczenie przekroczenia wartosci skrajnych
blad = 1; //jezeli przeciazenie wylaczenie generacji napiecia
digitalWrite(50, LOW); //zapalenie diody
ความคิดเห็น
แสดงความคิดเห็น